diff --git a/core/contracts/Admin.sol b/core/contracts/Admin.sol index 082bf3d..b35014e 100644 --- a/core/contracts/Admin.sol +++ b/core/contracts/Admin.sol @@ -99,8 +99,11 @@ contract Admin { function deployERC721ExtensionSignature( string memory _name, string memory _symbol, + address _comissioner, + uint256 _maxSupply, + uint256 _commissions, uint256 _cappedSupply, - address _devWallet + uint256 _redemptionTariff ) public returns(address) @@ -108,7 +111,7 @@ contract Admin { /// @dev Get selector. bytes4 _selector = bytes4( abi.encodeWithSignature( - "deployERC721ExtensionSignature(string,string,uint256,address)" + "deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)" ) ); /// @dev Require that the selector for the function exists. @@ -119,10 +122,13 @@ contract Admin { (bool sent, bytes memory data) = _delegate.delegatecall( abi.encodeWithSelector( _selector, - _name, + _name, _symbol, + _comissioner, + _maxSupply, + _commissions, _cappedSupply, - _devWallet + _redemptionTariff ) ); /// @dev Require the call was sent. @@ -297,7 +303,7 @@ contract Admin { /// @dev Get selector. bytes4 _selector = bytes4( abi.encodeWithSignature( - "deploySoulboundRedeemable(string,string,address,uint256)" + "deploySoulboundWithSignature(string,string,address,uint256)" ) ); /// @dev Require that the selector for the function exists. diff --git a/core/contracts/facets/DeployerERC721.sol b/core/contracts/facets/DeployerERC721.sol index c86d216..e3ed9e9 100644 --- a/core/contracts/facets/DeployerERC721.sol +++ b/core/contracts/facets/DeployerERC721.sol @@ -66,8 +66,11 @@ contract DeployerERC721 is Pausable { function deployERC721ExtensionSignature( string memory _name, string memory _symbol, + address _comissioner, + uint256 _maxSupply, + uint256 _commissions, uint256 _cappedSupply, - address _devWallet + uint256 _redemptionTariff ) external nonReentrant @@ -78,8 +81,11 @@ contract DeployerERC721 is Pausable { ERC721ExtensionSignature _erc721ExtensionSignature = new ERC721ExtensionSignature( _name, _symbol, + _comissioner, + _maxSupply, + _commissions, _cappedSupply, - _devWallet + _redemptionTariff ); /// @dev Return address. contractAddress = address(_erc721ExtensionSignature); diff --git a/packages/soulbound/contracts/Allowlist.sol b/packages/common/Allowlist.sol similarity index 99% rename from packages/soulbound/contracts/Allowlist.sol rename to packages/common/Allowlist.sol index 7699630..ee94905 100644 --- a/packages/soulbound/contracts/Allowlist.sol +++ b/packages/common/Allowlist.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.8; -import "../interfaces/IAllowlist.sol"; +import "./IAllowlist.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; /** diff --git a/packages/soulbound/interfaces/IAllowlist.sol b/packages/common/IAllowlist.sol similarity index 100% rename from packages/soulbound/interfaces/IAllowlist.sol rename to packages/common/IAllowlist.sol diff --git a/packages/nft/contracts/POAP.sol b/packages/nft/contracts/POAP.sol new file mode 100644 index 0000000..4d32e80 --- /dev/null +++ b/packages/nft/contracts/POAP.sol @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: GPL-3.0 + +/// _____ ______ ______ ______ ______ ______ _____ +/// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +/// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +/// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +/// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.8; + +import {IPOAP} from "./interfaces/IPOAP.sol"; +import {ERC721A} from "./ERC721A.sol"; + +/** + * @title POAP [Proof Of Attendance Protocol] Interface. + * @author Daccred. + * @dev + * POAPs are a type of NFTs minted to addresses, showing that they attended a particular event or activity. + * These NFTs are minted on a POAP minting smart contract, then transferred free to the attenders of the events. + * [Ref: https://www.fool.com/investing/stock-market/market-sectors/financials/non-fungible-tokens/poap-nfts/]. + * This unique type of NFT is a free digital gift from the organizers of an event to the attendees. + * Sample Metadata: https://poap.xyz/events/jsons/28.json. +*/ +abstract contract POAP is IPOAP, ERC721A { + /// @dev Constructor. + constructor(string memory _name, string memory _symbol) + ERC721A(_name, _symbol) {} + + /** + * @dev Mints token `_tokenQuantity` for a particular event to `_eventId`. + * Emits the {EventToken} event. + * On calling this function, all tokens are minted to the caller. + * Then it can be transferred to attendees via transferToken. + * + * @param + * _eventId => The event for which the token was minted. + * _tokenQuantity => Token to be minted. + */ + function mint(address _eventId, uint256 _tokenQuantity) public { + _safeMint(_eventId, _tokenQuantity); + emit EventToken(_eventId, _tokenQuantity); + } + + /** + * @dev Transfers the POAP token `_tokenQuantity` to `_receiver`. + * + * @param + * _eventId => The event for which the token was minted. + * _receiver => Address receiving the token. + * _tokenQuantity => Token to be minted. + */ + function transferToken( + address _eventId, + address _receiver, + uint256 _tokenId + ) public + { + + require(_eventId == address(this), "Invalid event"); + + safeTransferFrom( + msg.sender, + _receiver, + _tokenId + ); + } +} \ No newline at end of file diff --git a/packages/nft/contracts/interfaces/IPOAP.sol b/packages/nft/contracts/interfaces/IPOAP.sol index 62f1763..daaaa36 100644 --- a/packages/nft/contracts/interfaces/IPOAP.sol +++ b/packages/nft/contracts/interfaces/IPOAP.sol @@ -30,32 +30,32 @@ interface IPOAP is IERC721A { // ========== E V E N T S ========== /// @dev Emitted when a token is minted for an event. - event EventToken(uint256 eventId, uint256 tokenId); + event EventToken(address eventId, uint256 tokenQuantity); // ========== E V E N T S ========== /** - * @dev Mints token `_tokenId` for a particular event `_eventId`. + * @dev Mints token `_tokenQuantity` for a particular event to `_eventId`. * Emits the {EventToken} event. * On calling this function, all tokens are minted to the caller. * Then it can be transferred to attendees via transferToken. * * @param * _eventId => The event for which the token was minted. - * _tokenId => Token to be minted. + * _tokenQuantity => Token to be minted. */ - function mintToken(uint256 _eventId, uint256 _tokenId) external; + function mint(address _eventId, uint256 _tokenQuantity) external; /** - * @dev Mints the POAP token `_tokenId` to `_receiver`. + * @dev Transfers the POAP token `_tokenQuantity` to `_receiver`. * * @param * _eventId => The event for which the token was minted. * _receiver => Address receiving the token. - * _tokenId => Token to be minted. + * _tokenQuantity => Token to be minted. */ function transferToken( - uint256 _eventId, + address _eventId, address _receiver, uint256 _tokenId ) external; diff --git a/packages/soulbound/contracts/Soulbound.sol b/packages/soulbound/contracts/Soulbound.sol index 1ac5b2f..5d8b6a7 100644 --- a/packages/soulbound/contracts/Soulbound.sol +++ b/packages/soulbound/contracts/Soulbound.sol @@ -49,18 +49,14 @@ contract Soulbound is ERC4973 { * @param _to Address to which token `_tokenId` is minted. * @param _tokenId Token to mint. * @param tokenURI Auto generated or user passed URI for minted token. - * - * @return bool true or false. */ - function issue( + function mint( address _to, uint256 _tokenId, string memory tokenURI - ) internal returns (bool) { + ) internal { /// @dev Mint Soulbound token to `_to` using ERC4973 _mint(). - mintSoulboundToken(_to, _tokenId, tokenURI); - /// @dev Return true. - return true; + _mint(_to, _tokenId, tokenURI); } /** @@ -79,18 +75,14 @@ contract Soulbound is ERC4973 { * * @param _from Address which owns token `_tokenId`. * @param _tokenId Token to revoke. - * - * @return bool true or false. */ - function revoke(address _from, uint256 _tokenId) internal returns (bool) { + function burn(address _from, uint256 _tokenId) internal { /// @dev Require token exists. require(_exists(_tokenId), "Non-existent token."); /// @dev Require _tokenId is owned by _from. require(ownerOf(_tokenId) == _from, "Token not owned by address"); /// @dev Burn the token. - burnSoulboundToken(_tokenId); - /// @dev Return true. - return true; + _burn(_tokenId); } /** @@ -150,21 +142,28 @@ contract Soulbound is ERC4973 { * @param tokenId Amount to be minted, GT 0. * @param tokenURI URI of token minted. */ - function mintSoulboundToken( + function _mint( address to, uint256 tokenId, string memory tokenURI - ) private { + ) + internal + virtual + override + returns (uint256) + { /// @dev Require the address receiving is not a zero address. require(to != address(0), "Mint to zero address."); /// @dev ERC-4973 doesn't include checks for empty tokenURIs /// but they should be necessary. require(bytes(tokenURI).length != 0, "Empty tokenURI."); - /// @dev Mint to the `to` address. - /// ERC4973 runs check for existent token. - _mint(to, tokenId, tokenURI); /// @dev Set record of owner to true; mints[to][tokenId] = true; + /// @dev Mint to the `to` address. + /// ERC4973 runs check for existent token. + super._mint(to, tokenId, tokenURI); + /// @dev Return tokenID. + return tokenId; } /** @@ -173,15 +172,19 @@ contract Soulbound is ERC4973 { * * @param tokenId Token to be burnt. */ - function burnSoulboundToken(uint256 tokenId) private { + function _burn(uint256 tokenId) + internal + virtual + override + { /// @dev Checks that the token actually exists. require(_exists(tokenId), "Burn of inexistent token"); /// @dev Get owner of token tokenId. address _tokenOwner = ownerOf(tokenId); - /// @dev Burn the token. - _burn(tokenId); /// @dev Set record of owner to false. mints[_tokenOwner][tokenId] = false; + /// @dev Burn the token. + super._burn(tokenId); } /** diff --git a/packages/soulbound/contracts/SoulboundCore.sol b/packages/soulbound/contracts/SoulboundCore.sol index 34924f7..9553fa6 100644 --- a/packages/soulbound/contracts/SoulboundCore.sol +++ b/packages/soulbound/contracts/SoulboundCore.sol @@ -9,8 +9,8 @@ pragma solidity ^0.8.8; import "./Soulbound.sol"; -import "./Ownable.sol"; -import "./Allowlist.sol"; +import "../../common/Allowlist.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; /** * @title Soulbound Core Contract. @@ -78,7 +78,7 @@ contract SoulboundCore is Ownable, Soulbound, Allowlist { bytes memory sig, uint256 tokenId, string memory tokenURI - ) public { + ) public virtual { /// @dev Require that the address is not a zero address. require(addr != address(0), "Mint to zero address."); /// @dev Require that the hash is actually 32 [64 characters] @@ -89,11 +89,11 @@ contract SoulboundCore is Ownable, Soulbound, Allowlist { /// @dev Verifies that the address was actually signed by the /// allowlistOwner. require(verifySignature(hash, sig), "Hash not signed by owner."); - /// @dev Mint the tokens to address. - /// [Ref Soulbound.sol]. - issue(addr, tokenId, tokenURI); /// @dev Emit the IssueWithSignature event. emit IssueWithSignature(addr, tokenId); + /// @dev Mint the tokens to address. + /// [Ref Soulbound.sol]. + super._mint(addr, tokenId, tokenURI); } /** @@ -112,7 +112,7 @@ contract SoulboundCore is Ownable, Soulbound, Allowlist { bytes32 hash, bytes memory sig, uint256 tokenId - ) public { + ) public virtual { /// @dev Require that the token exists. require(_exists(tokenId), "Revoke of inexistent token."); /// @dev Require that the hash is actually 32 [64 characters] @@ -123,11 +123,11 @@ contract SoulboundCore is Ownable, Soulbound, Allowlist { /// @dev Verifies that the address was actually signed by the /// allowlistOwner. require(verifySignature(hash, sig), "Hash not signed by owner."); - /// @dev Mint the tokens to address. - /// [Ref Soulbound.sol]. - revoke(ownerOf(tokenId), tokenId); /// @dev Emit the RevokeWithSignature event. emit RevokeWithSignature(tokenId); + /// @dev Burn the tokens from address. + /// [Ref Soulbound.sol]. + burn(ownerOf(tokenId), tokenId); } /** diff --git a/packages/soulbound/contracts/SoulboundRedeemable.sol b/packages/soulbound/contracts/SoulboundRedeemable.sol index 5729f07..46a2bce 100644 --- a/packages/soulbound/contracts/SoulboundRedeemable.sol +++ b/packages/soulbound/contracts/SoulboundRedeemable.sol @@ -134,12 +134,12 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { * @param tokenId Id of token to be minted. * @param _tokenExpiryDate Set expiry date from the deployer. */ - function mintPendingRedeemableToken( + function mint( address from, address to, uint256 tokenId, uint256 _tokenExpiryDate - ) public onlyOwner onlyAllowlistOwner(from) { + ) external onlyOwner onlyAllowlistOwner(from) { /// @dev Ensure that the supply is not crossed. /// @dev Should all soulbound tokens need to be limited, /// copy this code and paste in Soulboundcore.sol @@ -170,7 +170,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { * @param _receiver Receiver of the token. * @param tokenId Pending tokenId for the receiver. */ - function payToReceiveToken(address _receiver, uint256 tokenId) + function pay(address _receiver, uint256 tokenId) public payable onlyOwner @@ -206,7 +206,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { /// @dev Generate tokenURI. string memory _tokenURI = generateTokenURI(tokenId); /// @dev Finally issue the token to the `_receiver`. - issue(_receiver, tokenId, _tokenURI); + super._mint(_receiver, tokenId, _tokenURI); /// @dev Increment totalSales. totalSales++; /// @dev Add to the total Revenue. @@ -229,7 +229,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { * @param tokenId Pending tokenId for the receiver. * @param _tokenExpiryDate New expiry date for tokens. */ - function redeemPendingToken( + function redeemPending( address _receiver, uint256 tokenId, uint256 _tokenExpiryDate @@ -280,7 +280,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { * @param tokenId Pending tokenId for the receiver. * @param _tokenExpiryDate New expiry date for tokens. */ - function redeemMintedToken( + function redeemMinted( address _receiver, uint256 tokenId, uint256 _tokenExpiryDate @@ -330,7 +330,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { * @param hash Hash of message. * @param sig Signature. */ - function redeemPendingTokenWithSignature( + function redeemPendingWithSignature( address _caller, address _receiver, uint256 tokenId, @@ -341,7 +341,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { /// @dev Require that the signer is the allowlistowner. require(verifySignature(hash, sig), "Hash not signed by you."); /// @dev RedeemToken. - redeemPendingToken(_receiver, tokenId, _tokenExpiryDate); + redeemPending(_receiver, tokenId, _tokenExpiryDate); } /** @@ -358,7 +358,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { * @param hash Hash of message. * @param sig Signature. */ - function redeemMintedTokenWithSignature( + function redeemMintedWithSignature( address _caller, address _receiver, uint256 tokenId, @@ -369,7 +369,7 @@ contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { /// @dev Require that the signer is the allowlistowner. require(verifySignature(hash, sig), "Hash not signed by you."); /// @dev RedeemToken. - redeemMintedToken(_receiver, tokenId, _tokenExpiryDate); + redeemMinted(_receiver, tokenId, _tokenExpiryDate); } /** diff --git a/packages/soulbound/contracts/SoulboundWithSignature.sol b/packages/soulbound/contracts/SoulboundWithSignature.sol index e910cc6..f164dd1 100644 --- a/packages/soulbound/contracts/SoulboundWithSignature.sol +++ b/packages/soulbound/contracts/SoulboundWithSignature.sol @@ -37,22 +37,22 @@ contract SoulboundWithSignature is SoulboundCore { * @param tokenId TokenId to be issued. * @param tokenURI URI of token to be issued. */ - function ownerIssueWithSignature( + function issueWithSignature( address addr, bytes32 hash, bytes memory sig, uint256 tokenId, string memory tokenURI - ) public onlyOwner { + ) public virtual override onlyOwner { /// @dev Ensure that the supply is not crossed. /// @dev Should all soulbound tokens need to be limited, /// copy this code and paste in Soulboundcore.sol /// issueWithSignature function. require(supply < totalSupply, "Issue Cap Reached."); - /// @dev Issue With Signature. - issueWithSignature(addr, hash, sig, tokenId, tokenURI); /// @dev Incrememt supply on successful issue. supply++; + /// @dev Issue With Signature. + super.issueWithSignature(addr, hash, sig, tokenId, tokenURI); } /** @@ -71,11 +71,11 @@ contract SoulboundWithSignature is SoulboundCore { * @param sig Signature. * @param tokenId TokenId to be issued. */ - function ownerRevokeWithSignature( + function revokeWithSignature( bytes32 hash, bytes memory sig, uint256 tokenId - ) public onlyOwner { + ) public virtual override onlyOwner { /// @dev If the supply control is not 0, /// decrement the supply. /// Should all soulbound tokens need to be limited, @@ -90,6 +90,6 @@ contract SoulboundWithSignature is SoulboundCore { } /// @dev Revoke With Signature. - revokeWithSignature(hash, sig, tokenId); + super.revokeWithSignature(hash, sig, tokenId); } } diff --git a/tests/a.py b/tests/a.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/a.py @@ -0,0 +1 @@ + diff --git a/tests/brownie-config.yaml b/tests/brownie-config.yaml new file mode 100644 index 0000000..15e6770 --- /dev/null +++ b/tests/brownie-config.yaml @@ -0,0 +1,7 @@ +dotenv: .env +wallet: + from_key: ${PRIVATE_KEY} +compiler: + solc: + remappings: + - "@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.6.0" \ No newline at end of file diff --git a/tests/build/contracts/Admin.json b/tests/build/contracts/Admin.json new file mode 100644 index 0000000..4832521 --- /dev/null +++ b/tests/build/contracts/Admin.json @@ -0,0 +1,22588 @@ +{ + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_facet", + "type": "address" + }, + { + "internalType": "bytes4", + "name": "_selector", + "type": "bytes4" + } + ], + "name": "addDeployerSelector", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "deployERC721ExtensionCore", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_comissioner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_commissions", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_cappedSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_redemptionTariff", + "type": "uint256" + } + ], + "name": "deployERC721ExtensionSignature", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "deploySoulbound", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + } + ], + "name": "deploySoulboundCore", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_priceLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenPrice", + "type": "uint256" + } + ], + "name": "deploySoulboundRedeemable", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + } + ], + "name": "deploySoulboundWithSignature", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "contracts/contracts/core/contracts/Admin.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/core/contracts/Admin.sol", + "exportedSymbols": { + "Admin": [ + 526 + ] + }, + "id": 527, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".14" + ], + "nodeType": "PragmaDirective", + "src": "36:24:0" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Admin", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2, + "nodeType": "StructuredDocumentation", + "src": "62:425:0", + "text": " @title Admin contract.\n @author Daccred.\n @dev The admin contract aims at taking all the deployer contracts\n and mapping all the deployer function selectors to the respective \n addresses, then in turn, calling the selectors via delegatecall\n whenever the relevant deployment is needed.\n In turn, whenever a new change is made to a contract, we can\n easily, redeploy and remap." + }, + "fullyImplemented": true, + "id": 526, + "linearizedBaseContracts": [ + 526 + ], + "name": "Admin", + "nameLocation": "499:5:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 3, + "nodeType": "StructuredDocumentation", + "src": "511:23:0", + "text": "@dev Owner address." + }, + "id": 5, + "mutability": "mutable", + "name": "owner", + "nameLocation": "555:5:0", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "539:21:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "539:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 6, + "nodeType": "StructuredDocumentation", + "src": "566:61:0", + "text": "@dev Mapping of all function signatures to the addresses." + }, + "id": 10, + "mutability": "mutable", + "name": "deployerSelectors", + "nameLocation": "667:17:0", + "nodeType": "VariableDeclaration", + "scope": 526, + "src": "632:52:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + }, + "typeName": { + "id": 9, + "keyType": { + "id": 7, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "640:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Mapping", + "src": "632:26:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + }, + "valueType": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "650:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 22, + "nodeType": "Block", + "src": "778:125:0", + "statements": [ + { + "documentation": "@dev Require that the sender is the owner.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 17, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 14, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "851:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 15, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "851:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 16, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "865:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "851:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f74204f776e65722e", + "id": 18, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "872:12:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_efa02c29bb197b7a0447d40361320bfa5255fd893957ed62cd5121913e3aa9cf", + "typeString": "literal_string \"Not Owner.\"" + }, + "value": "Not Owner." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_efa02c29bb197b7a0447d40361320bfa5255fd893957ed62cd5121913e3aa9cf", + "typeString": "literal_string \"Not Owner.\"" + } + ], + "id": 13, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "843:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 19, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "843:42:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 20, + "nodeType": "ExpressionStatement", + "src": "843:42:0" + }, + { + "id": 21, + "nodeType": "PlaceholderStatement", + "src": "895:1:0" + } + ] + }, + "documentation": { + "id": 11, + "nodeType": "StructuredDocumentation", + "src": "691:61:0", + "text": "@dev Making sure only the owner can call these functions." + }, + "id": 23, + "name": "onlyOwner", + "nameLocation": "766:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [], + "src": "775:2:0" + }, + "src": "757:146:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 32, + "nodeType": "Block", + "src": "949:63:0", + "statements": [ + { + "documentation": "@dev Set owner.", + "expression": { + "id": 30, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 27, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "987:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 28, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "995:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 29, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "995:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "987:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 31, + "nodeType": "ExpressionStatement", + "src": "987:18:0" + } + ] + }, + "documentation": { + "id": 24, + "nodeType": "StructuredDocumentation", + "src": "909:21:0", + "text": "@dev Constructor." + }, + "id": 33, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 25, + "nodeType": "ParameterList", + "parameters": [], + "src": "946:2:0" + }, + "returnParameters": { + "id": 26, + "nodeType": "ParameterList", + "parameters": [], + "src": "949:0:0" + }, + "scope": 526, + "src": "935:77:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 59, + "nodeType": "Block", + "src": "1376:217:0", + "statements": [ + { + "documentation": "@dev Make sure facet is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 44, + "name": "_facet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1450:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1468:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 46, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1460:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 45, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1460:7:0", + "typeDescriptions": {} + } + }, + "id": 48, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1460:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1450:20:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "46616365742053657420546f205a65726f20416464726573732e", + "id": 50, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1472:28:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_81efc8e384cd08a35c40e77ed1622bc9a51b36ab28f18aa217ed61bd6e7ed17a", + "typeString": "literal_string \"Facet Set To Zero Address.\"" + }, + "value": "Facet Set To Zero Address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_81efc8e384cd08a35c40e77ed1622bc9a51b36ab28f18aa217ed61bd6e7ed17a", + "typeString": "literal_string \"Facet Set To Zero Address.\"" + } + ], + "id": 43, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1442:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1442:59:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 52, + "nodeType": "ExpressionStatement", + "src": "1442:59:0" + }, + { + "documentation": "@dev Add selector to map.", + "expression": { + "id": 57, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 53, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "1549:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 55, + "indexExpression": { + "id": 54, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1567:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1549:28:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 56, + "name": "_facet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1580:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1549:37:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 58, + "nodeType": "ExpressionStatement", + "src": "1549:37:0" + } + ] + }, + "documentation": { + "id": 34, + "nodeType": "StructuredDocumentation", + "src": "1018:260:0", + "text": " @dev This function adds a new selector or replaces a particular\n selector from the selector map.\n @param _facet Facet address containing the function we need.\n @param _selector Selector of the function desired." + }, + "functionSelector": "aa621cde", + "id": 60, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 41, + "kind": "modifierInvocation", + "modifierName": { + "id": 40, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 23, + "src": "1362:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "1362:9:0" + } + ], + "name": "addDeployerSelector", + "nameLocation": "1292:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 39, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 36, + "mutability": "mutable", + "name": "_facet", + "nameLocation": "1320:6:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "1312:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 35, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1312:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 38, + "mutability": "mutable", + "name": "_selector", + "nameLocation": "1335:9:0", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "1328:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 37, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1328:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1311:34:0" + }, + "returnParameters": { + "id": 42, + "nodeType": "ParameterList", + "parameters": [], + "src": "1376:0:0" + }, + "scope": 526, + "src": "1283:310:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 127, + "nodeType": "Block", + "src": "1958:1004:0", + "statements": [ + { + "assignments": [ + 72 + ], + "declarations": [ + { + "constant": false, + "id": 72, + "mutability": "mutable", + "name": "_selector", + "nameLocation": "2006:9:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "1999:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 71, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1999:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get selector.", + "id": 80, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6465706c6f79455243373231457874656e73696f6e436f726528737472696e672c737472696e6729", + "id": 77, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2079:42:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ab7fabfa04000567ec014ddcdfcb2356872c91dd74287b420459bd1e8061dbe", + "typeString": "literal_string \"deployERC721ExtensionCore(string,string)\"" + }, + "value": "deployERC721ExtensionCore(string,string)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2ab7fabfa04000567ec014ddcdfcb2356872c91dd74287b420459bd1e8061dbe", + "typeString": "literal_string \"deployERC721ExtensionCore(string,string)\"" + } + ], + "expression": { + "id": 75, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2038:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 76, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2038:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2038:97:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2018:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 73, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2018:6:0", + "typeDescriptions": {} + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2018:127:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1999:146:0" + }, + { + "documentation": "@dev Require that the selector for the function exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 83, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "2238:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 82, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "2231:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 84, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2231:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656c6563746f7220496e6578697374656e742e", + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2250:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + }, + "value": "Selector Inexistent." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + } + ], + "id": 81, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2223:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 86, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2223:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 87, + "nodeType": "ExpressionStatement", + "src": "2223:50:0" + }, + { + "assignments": [ + 90 + ], + "declarations": [ + { + "constant": false, + "id": 90, + "mutability": "mutable", + "name": "_delegate", + "nameLocation": "2361:9:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "2353:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 89, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2353:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get the address of the facet mapped to the selector.", + "id": 94, + "initialValue": { + "baseExpression": { + "id": 91, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "2373:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 93, + "indexExpression": { + "id": 92, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "2391:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2373:28:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2353:48:0" + }, + { + "assignments": [ + 96, + 98 + ], + "declarations": [ + { + "constant": false, + "id": 96, + "mutability": "mutable", + "name": "sent", + "nameLocation": "2490:4:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "2485:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 95, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2485:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 98, + "mutability": "mutable", + "name": "data", + "nameLocation": "2509:4:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "2496:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 97, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2496:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Delegate call to the facet using the parameters passed.", + "id": 108, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 103, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 72, + "src": "2593:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 104, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 63, + "src": "2620:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 105, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "2643:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 101, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2553:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "2553:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2553:111:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 99, + "name": "_delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 90, + "src": "2517:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "2517:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2517:157:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2484:190:0" + }, + { + "documentation": "@dev Require the call was sent.", + "expression": { + "arguments": [ + { + "id": 110, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "2736:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "44656c656761746563616c6c204661696c656421", + "id": 111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2742:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + }, + "value": "Delegatecall Failed!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + } + ], + "id": 109, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2728:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2728:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 113, + "nodeType": "ExpressionStatement", + "src": "2728:37:0" + }, + { + "assignments": [ + 116 + ], + "declarations": [ + { + "constant": false, + "id": 116, + "mutability": "mutable", + "name": "_deployedAddress", + "nameLocation": "2843:16:0", + "nodeType": "VariableDeclaration", + "scope": 127, + "src": "2835:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 115, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2835:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Decode returned address from delegatecall.", + "id": 124, + "initialValue": { + "arguments": [ + { + "id": 119, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 98, + "src": "2873:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2880:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2880:7:0", + "typeDescriptions": {} + } + } + ], + "id": 122, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2879:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 117, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2862:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2862:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2862:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2835:54:0" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 125, + "name": "_deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 116, + "src": "2939:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 69, + "id": 126, + "nodeType": "Return", + "src": "2932:23:0" + } + ] + }, + "documentation": { + "id": 61, + "nodeType": "StructuredDocumentation", + "src": "1599:239:0", + "text": " @dev Deploys the ERC721ExtensionCore with a set name\n and symbol using delegatecall to its facet.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @return address" + }, + "functionSelector": "2ab7fabf", + "id": 128, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployERC721ExtensionCore", + "nameLocation": "1852:25:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 66, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 63, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1892:5:0", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "1878:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 62, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1878:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 65, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1913:7:0", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "1899:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 64, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1899:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1877:44:0" + }, + "returnParameters": { + "id": 69, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 68, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 128, + "src": "1945:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 67, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1945:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1944:9:0" + }, + "scope": 526, + "src": "1843:1119:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 210, + "nodeType": "Block", + "src": "3519:1204:0", + "statements": [ + { + "assignments": [ + 150 + ], + "declarations": [ + { + "constant": false, + "id": 150, + "mutability": "mutable", + "name": "_selector", + "nameLocation": "3567:9:0", + "nodeType": "VariableDeclaration", + "scope": 210, + "src": "3560:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 149, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3560:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get selector.", + "id": 158, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6465706c6f79455243373231457874656e73696f6e5369676e617475726528737472696e672c737472696e672c616464726573732c75696e743235362c75696e743235362c75696e743235362c75696e7432353629", + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3640:87:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9181d92d71a05ce2baa188afdc829a974e06cf6a89c43655e6bca4f6d55b21f", + "typeString": "literal_string \"deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)\"" + }, + "value": "deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e9181d92d71a05ce2baa188afdc829a974e06cf6a89c43655e6bca4f6d55b21f", + "typeString": "literal_string \"deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)\"" + } + ], + "expression": { + "id": 153, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3599:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3599:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3599:142:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3579:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 151, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3579:6:0", + "typeDescriptions": {} + } + }, + "id": 157, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3579:172:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3560:191:0" + }, + { + "documentation": "@dev Require that the selector for the function exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 161, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "3844:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 160, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "3837:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3837:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656c6563746f7220496e6578697374656e742e", + "id": 163, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3856:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + }, + "value": "Selector Inexistent." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + } + ], + "id": 159, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3829:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3829:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 165, + "nodeType": "ExpressionStatement", + "src": "3829:50:0" + }, + { + "assignments": [ + 168 + ], + "declarations": [ + { + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "_delegate", + "nameLocation": "3967:9:0", + "nodeType": "VariableDeclaration", + "scope": 210, + "src": "3959:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 167, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3959:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get the address of the facet mapped to the selector.", + "id": 172, + "initialValue": { + "baseExpression": { + "id": 169, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "3979:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 171, + "indexExpression": { + "id": 170, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "3997:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3979:28:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3959:48:0" + }, + { + "assignments": [ + 174, + 176 + ], + "declarations": [ + { + "constant": false, + "id": 174, + "mutability": "mutable", + "name": "sent", + "nameLocation": "4096:4:0", + "nodeType": "VariableDeclaration", + "scope": 210, + "src": "4091:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 173, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4091:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 176, + "mutability": "mutable", + "name": "data", + "nameLocation": "4115:4:0", + "nodeType": "VariableDeclaration", + "scope": 210, + "src": "4102:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 175, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4102:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Delegate call to the facet using the parameters passed.", + "id": 191, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 181, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 150, + "src": "4199:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 182, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 131, + "src": "4226:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 183, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 133, + "src": "4250:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 184, + "name": "_comissioner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 135, + "src": "4275:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 185, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 137, + "src": "4305:10:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 186, + "name": "_commissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "4333:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 187, + "name": "_cappedSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 141, + "src": "4363:13:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 188, + "name": "_redemptionTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 143, + "src": "4394:17:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 179, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4159:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "4159:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4159:266:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 177, + "name": "_delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "4123:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "4123:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4123:312:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4090:345:0" + }, + { + "documentation": "@dev Require the call was sent.", + "expression": { + "arguments": [ + { + "id": 193, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 174, + "src": "4497:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "44656c656761746563616c6c204661696c656421", + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4503:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + }, + "value": "Delegatecall Failed!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + } + ], + "id": 192, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4489:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4489:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 196, + "nodeType": "ExpressionStatement", + "src": "4489:37:0" + }, + { + "assignments": [ + 199 + ], + "declarations": [ + { + "constant": false, + "id": 199, + "mutability": "mutable", + "name": "_deployedAddress", + "nameLocation": "4604:16:0", + "nodeType": "VariableDeclaration", + "scope": 210, + "src": "4596:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 198, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4596:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Decode returned address from delegatecall.", + "id": 207, + "initialValue": { + "arguments": [ + { + "id": 202, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 176, + "src": "4634:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 204, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4641:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4641:7:0", + "typeDescriptions": {} + } + } + ], + "id": 205, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4640:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 200, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4623:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "4623:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4623:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4596:54:0" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 208, + "name": "_deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 199, + "src": "4700:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 147, + "id": 209, + "nodeType": "Return", + "src": "4693:23:0" + } + ] + }, + "documentation": { + "id": 129, + "nodeType": "StructuredDocumentation", + "src": "2968:249:0", + "text": " @dev Deploys the ERC721ExtensionSignature with its constructor\n parameters using delegatecall to its facet.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @return address" + }, + "functionSelector": "e9181d92", + "id": 211, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deployERC721ExtensionSignature", + "nameLocation": "3231:30:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 131, + "mutability": "mutable", + "name": "_name", + "nameLocation": "3285:5:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3271:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 130, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3271:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 133, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "3315:7:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3301:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 132, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3301:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 135, + "mutability": "mutable", + "name": "_comissioner", + "nameLocation": "3340:12:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3332:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 134, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3332:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 137, + "mutability": "mutable", + "name": "_maxSupply", + "nameLocation": "3370:10:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3362:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 136, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3362:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 139, + "mutability": "mutable", + "name": "_commissions", + "nameLocation": "3398:12:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3390:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 138, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3390:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 141, + "mutability": "mutable", + "name": "_cappedSupply", + "nameLocation": "3428:13:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3420:21:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 140, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3420:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "_redemptionTariff", + "nameLocation": "3459:17:0", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3451:25:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 142, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3451:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3261:221:0" + }, + "returnParameters": { + "id": 147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 146, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 211, + "src": "3506:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3506:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3505:9:0" + }, + "scope": 526, + "src": "3222:1501:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 278, + "nodeType": "Block", + "src": "5077:994:0", + "statements": [ + { + "assignments": [ + 223 + ], + "declarations": [ + { + "constant": false, + "id": 223, + "mutability": "mutable", + "name": "_selector", + "nameLocation": "5125:9:0", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "5118:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 222, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "5118:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get selector.", + "id": 231, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6465706c6f79536f756c626f756e6428737472696e672c737472696e6729", + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5198:32:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27a31dedfeda3acfd6bf37fd370b0071040d6113e3a8d20e4c11d70e1658794a", + "typeString": "literal_string \"deploySoulbound(string,string)\"" + }, + "value": "deploySoulbound(string,string)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_27a31dedfeda3acfd6bf37fd370b0071040d6113e3a8d20e4c11d70e1658794a", + "typeString": "literal_string \"deploySoulbound(string,string)\"" + } + ], + "expression": { + "id": 226, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5157:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5157:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5157:87:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5137:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 224, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "5137:6:0", + "typeDescriptions": {} + } + }, + "id": 230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5137:117:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5118:136:0" + }, + { + "documentation": "@dev Require that the selector for the function exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 234, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "5347:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 233, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "5340:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5340:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656c6563746f7220496e6578697374656e742e", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5359:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + }, + "value": "Selector Inexistent." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + } + ], + "id": 232, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5332:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5332:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 238, + "nodeType": "ExpressionStatement", + "src": "5332:50:0" + }, + { + "assignments": [ + 241 + ], + "declarations": [ + { + "constant": false, + "id": 241, + "mutability": "mutable", + "name": "_delegate", + "nameLocation": "5470:9:0", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "5462:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5462:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get the address of the facet mapped to the selector.", + "id": 245, + "initialValue": { + "baseExpression": { + "id": 242, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "5482:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 244, + "indexExpression": { + "id": 243, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "5500:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5482:28:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5462:48:0" + }, + { + "assignments": [ + 247, + 249 + ], + "declarations": [ + { + "constant": false, + "id": 247, + "mutability": "mutable", + "name": "sent", + "nameLocation": "5599:4:0", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "5594:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 246, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5594:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 249, + "mutability": "mutable", + "name": "data", + "nameLocation": "5618:4:0", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "5605:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 248, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5605:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Delegate call to the facet using the parameters passed.", + "id": 259, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 254, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 223, + "src": "5702:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 255, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 214, + "src": "5729:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 256, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 216, + "src": "5752:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 252, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5662:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "5662:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5662:111:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 250, + "name": "_delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 241, + "src": "5626:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "5626:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5626:157:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5593:190:0" + }, + { + "documentation": "@dev Require the call was sent.", + "expression": { + "arguments": [ + { + "id": 261, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "5845:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "44656c656761746563616c6c204661696c656421", + "id": 262, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5851:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + }, + "value": "Delegatecall Failed!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + } + ], + "id": 260, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5837:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5837:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 264, + "nodeType": "ExpressionStatement", + "src": "5837:37:0" + }, + { + "assignments": [ + 267 + ], + "declarations": [ + { + "constant": false, + "id": 267, + "mutability": "mutable", + "name": "_deployedAddress", + "nameLocation": "5952:16:0", + "nodeType": "VariableDeclaration", + "scope": 278, + "src": "5944:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 266, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5944:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Decode returned address from delegatecall.", + "id": 275, + "initialValue": { + "arguments": [ + { + "id": 270, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "5982:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5989:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5989:7:0", + "typeDescriptions": {} + } + } + ], + "id": 273, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5988:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 268, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5971:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "5971:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5971:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5944:54:0" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 276, + "name": "_deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 267, + "src": "6048:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 220, + "id": 277, + "nodeType": "Return", + "src": "6041:23:0" + } + ] + }, + "documentation": { + "id": 212, + "nodeType": "StructuredDocumentation", + "src": "4729:238:0", + "text": " @dev Deploys the Soulbound Contract with a set name\n and symbol using delegatecall to its facet.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @return address" + }, + "functionSelector": "27a31ded", + "id": 279, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deploySoulbound", + "nameLocation": "4981:15:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 214, + "mutability": "mutable", + "name": "_name", + "nameLocation": "5011:5:0", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "4997:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 213, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4997:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 216, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "5032:7:0", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "5018:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 215, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5018:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4996:44:0" + }, + "returnParameters": { + "id": 220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 219, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 279, + "src": "5064:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5064:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5063:9:0" + }, + "scope": 526, + "src": "4972:1099:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 352, + "nodeType": "Block", + "src": "6665:1077:0", + "statements": [ + { + "assignments": [ + 295 + ], + "declarations": [ + { + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "_selector", + "nameLocation": "6713:9:0", + "nodeType": "VariableDeclaration", + "scope": 352, + "src": "6706:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 294, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "6706:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get selector.", + "id": 303, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6465706c6f79536f756c626f756e64436f726528737472696e672c737472696e672c616464726573732c75696e7432353629", + "id": 300, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6786:52:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d4152170e06873df3c3ad88163578b7aebed789fc4690509b3ce521d3d4f7f20", + "typeString": "literal_string \"deploySoulboundCore(string,string,address,uint256)\"" + }, + "value": "deploySoulboundCore(string,string,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d4152170e06873df3c3ad88163578b7aebed789fc4690509b3ce521d3d4f7f20", + "typeString": "literal_string \"deploySoulboundCore(string,string,address,uint256)\"" + } + ], + "expression": { + "id": 298, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6745:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6745:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6745:107:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6725:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 296, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "6725:6:0", + "typeDescriptions": {} + } + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6725:137:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6706:156:0" + }, + { + "documentation": "@dev Require that the selector for the function exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 306, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "6955:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 305, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "6948:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 307, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6948:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656c6563746f7220496e6578697374656e742e", + "id": 308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6967:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + }, + "value": "Selector Inexistent." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + } + ], + "id": 304, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6940:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6940:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 310, + "nodeType": "ExpressionStatement", + "src": "6940:50:0" + }, + { + "assignments": [ + 313 + ], + "declarations": [ + { + "constant": false, + "id": 313, + "mutability": "mutable", + "name": "_delegate", + "nameLocation": "7078:9:0", + "nodeType": "VariableDeclaration", + "scope": 352, + "src": "7070:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 312, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7070:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get the address of the facet mapped to the selector.", + "id": 317, + "initialValue": { + "baseExpression": { + "id": 314, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "7090:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 316, + "indexExpression": { + "id": 315, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "7108:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7090:28:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7070:48:0" + }, + { + "assignments": [ + 319, + 321 + ], + "declarations": [ + { + "constant": false, + "id": 319, + "mutability": "mutable", + "name": "sent", + "nameLocation": "7207:4:0", + "nodeType": "VariableDeclaration", + "scope": 352, + "src": "7202:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 318, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7202:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 321, + "mutability": "mutable", + "name": "data", + "nameLocation": "7226:4:0", + "nodeType": "VariableDeclaration", + "scope": 352, + "src": "7213:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 320, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7213:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Delegate call to the facet using the parameters passed.", + "id": 333, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 326, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "7310:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 327, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 282, + "src": "7337:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 328, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "7360:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 329, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 286, + "src": "7385:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 330, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 288, + "src": "7418:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 324, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7270:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "7270:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7270:174:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 322, + "name": "_delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 313, + "src": "7234:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "7234:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7234:220:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7201:253:0" + }, + { + "documentation": "@dev Require the call was sent.", + "expression": { + "arguments": [ + { + "id": 335, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 319, + "src": "7516:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "44656c656761746563616c6c204661696c656421", + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7522:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + }, + "value": "Delegatecall Failed!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + } + ], + "id": 334, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7508:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 337, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7508:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 338, + "nodeType": "ExpressionStatement", + "src": "7508:37:0" + }, + { + "assignments": [ + 341 + ], + "declarations": [ + { + "constant": false, + "id": 341, + "mutability": "mutable", + "name": "_deployedAddress", + "nameLocation": "7623:16:0", + "nodeType": "VariableDeclaration", + "scope": 352, + "src": "7615:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7615:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Decode returned address from delegatecall.", + "id": 349, + "initialValue": { + "arguments": [ + { + "id": 344, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 321, + "src": "7653:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7660:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 345, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7660:7:0", + "typeDescriptions": {} + } + } + ], + "id": 347, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7659:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 342, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7642:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "7642:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7642:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7615:54:0" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 350, + "name": "_deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 341, + "src": "7719:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 292, + "id": 351, + "nodeType": "Return", + "src": "7712:23:0" + } + ] + }, + "documentation": { + "id": 280, + "nodeType": "StructuredDocumentation", + "src": "6077:388:0", + "text": " @dev Deploys the SoulboundCore Contract with its constructor\n parameters using delegatecall to its facet.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @param _allowlistOwner Desired owner of the contrat for sigs.\n @param _totalSupply Desired total supply.\n @return address" + }, + "functionSelector": "d4152170", + "id": 353, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deploySoulboundCore", + "nameLocation": "6479:19:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 282, + "mutability": "mutable", + "name": "_name", + "nameLocation": "6522:5:0", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "6508:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 281, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6508:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 284, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "6552:7:0", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "6538:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 283, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6538:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 286, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "6577:15:0", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "6569:23:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 285, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6569:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 288, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "6610:12:0", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "6602:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 287, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6602:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6498:130:0" + }, + "returnParameters": { + "id": 292, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 291, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 353, + "src": "6652:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 290, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6652:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6651:9:0" + }, + "scope": 526, + "src": "6470:1272:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 432, + "nodeType": "Block", + "src": "8512:1157:0", + "statements": [ + { + "assignments": [ + 373 + ], + "declarations": [ + { + "constant": false, + "id": 373, + "mutability": "mutable", + "name": "_selector", + "nameLocation": "8560:9:0", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "8553:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 372, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8553:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get selector.", + "id": 381, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6465706c6f79536f756c626f756e6452656465656d61626c6528737472696e672c737472696e672c616464726573732c75696e743235362c75696e743235362c75696e7432353629", + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8633:74:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab1849321206d752204cb2fcef8b5f5b9fa9b38e8187091351138563a74c4189", + "typeString": "literal_string \"deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)\"" + }, + "value": "deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ab1849321206d752204cb2fcef8b5f5b9fa9b38e8187091351138563a74c4189", + "typeString": "literal_string \"deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)\"" + } + ], + "expression": { + "id": 376, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8592:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8592:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8592:129:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 375, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8572:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 374, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "8572:6:0", + "typeDescriptions": {} + } + }, + "id": 380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8572:159:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8553:178:0" + }, + { + "documentation": "@dev Require that the selector for the function exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 384, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "8824:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 383, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "8817:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8817:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656c6563746f7220496e6578697374656e742e", + "id": 386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8836:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + }, + "value": "Selector Inexistent." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + } + ], + "id": 382, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8809:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8809:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 388, + "nodeType": "ExpressionStatement", + "src": "8809:50:0" + }, + { + "assignments": [ + 391 + ], + "declarations": [ + { + "constant": false, + "id": 391, + "mutability": "mutable", + "name": "_delegate", + "nameLocation": "8947:9:0", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "8939:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8939:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get the address of the facet mapped to the selector.", + "id": 395, + "initialValue": { + "baseExpression": { + "id": 392, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "8959:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 394, + "indexExpression": { + "id": 393, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "8977:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8959:28:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8939:48:0" + }, + { + "assignments": [ + 397, + 399 + ], + "declarations": [ + { + "constant": false, + "id": 397, + "mutability": "mutable", + "name": "sent", + "nameLocation": "9076:4:0", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "9071:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 396, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9071:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 399, + "mutability": "mutable", + "name": "data", + "nameLocation": "9095:4:0", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "9082:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 398, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9082:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Delegate call to the facet using the parameters passed.", + "id": 413, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 404, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 373, + "src": "9179:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 405, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 356, + "src": "9206:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 406, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 358, + "src": "9229:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 407, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 360, + "src": "9254:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 408, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 362, + "src": "9287:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 409, + "name": "_priceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 364, + "src": "9317:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 410, + "name": "_tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 366, + "src": "9346:11:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 402, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9139:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "9139:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9139:232:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 400, + "name": "_delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 391, + "src": "9103:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "9103:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9103:278:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9070:311:0" + }, + { + "documentation": "@dev Require the call was sent.", + "expression": { + "arguments": [ + { + "id": 415, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 397, + "src": "9443:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "44656c656761746563616c6c204661696c656421", + "id": 416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9449:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + }, + "value": "Delegatecall Failed!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + } + ], + "id": 414, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9435:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9435:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 418, + "nodeType": "ExpressionStatement", + "src": "9435:37:0" + }, + { + "assignments": [ + 421 + ], + "declarations": [ + { + "constant": false, + "id": 421, + "mutability": "mutable", + "name": "_deployedAddress", + "nameLocation": "9550:16:0", + "nodeType": "VariableDeclaration", + "scope": 432, + "src": "9542:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 420, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9542:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Decode returned address from delegatecall.", + "id": 429, + "initialValue": { + "arguments": [ + { + "id": 424, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 399, + "src": "9580:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 426, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9587:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 425, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9587:7:0", + "typeDescriptions": {} + } + } + ], + "id": 427, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "9586:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 422, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9569:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "9569:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 428, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9569:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9542:54:0" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 430, + "name": "_deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "9646:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 370, + "id": 431, + "nodeType": "Return", + "src": "9639:23:0" + } + ] + }, + "documentation": { + "id": 354, + "nodeType": "StructuredDocumentation", + "src": "7748:500:0", + "text": " @dev Deploys the SoulboundRedeemable Contract with its constructor\n parameters using delegatecall to its facet.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @param _allowlistOwner Desired owner of the contrat for sigs.\n @param _totalSupply Desired total supply.\n @param _priceLimit Desired price limit.\n @param _tokenPrice Desired token price.\n @return address" + }, + "functionSelector": "ab184932", + "id": 433, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deploySoulboundRedeemable", + "nameLocation": "8262:25:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 356, + "mutability": "mutable", + "name": "_name", + "nameLocation": "8311:5:0", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "8297:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 355, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8297:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 358, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "8341:7:0", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "8327:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 357, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8327:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 360, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "8366:15:0", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "8358:23:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8358:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 362, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "8399:12:0", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "8391:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 361, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8391:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 364, + "mutability": "mutable", + "name": "_priceLimit", + "nameLocation": "8429:11:0", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "8421:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8421:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 366, + "mutability": "mutable", + "name": "_tokenPrice", + "nameLocation": "8458:11:0", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "8450:19:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 365, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8450:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8287:188:0" + }, + "returnParameters": { + "id": 370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 369, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 433, + "src": "8499:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8499:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8498:9:0" + }, + "scope": 526, + "src": "8253:1416:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 506, + "nodeType": "Block", + "src": "10281:1086:0", + "statements": [ + { + "assignments": [ + 449 + ], + "declarations": [ + { + "constant": false, + "id": 449, + "mutability": "mutable", + "name": "_selector", + "nameLocation": "10329:9:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "10322:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 448, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "10322:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get selector.", + "id": 457, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6465706c6f79536f756c626f756e64576974685369676e617475726528737472696e672c737472696e672c616464726573732c75696e7432353629", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10402:61:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b33c33a2a5170f8ea67cee091b3de34be504387318bf664a8f3726d1e6aa7cd", + "typeString": "literal_string \"deploySoulboundWithSignature(string,string,address,uint256)\"" + }, + "value": "deploySoulboundWithSignature(string,string,address,uint256)" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0b33c33a2a5170f8ea67cee091b3de34be504387318bf664a8f3726d1e6aa7cd", + "typeString": "literal_string \"deploySoulboundWithSignature(string,string,address,uint256)\"" + } + ], + "expression": { + "id": 452, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10361:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10361:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10361:116:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10341:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes4_$", + "typeString": "type(bytes4)" + }, + "typeName": { + "id": 450, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "10341:6:0", + "typeDescriptions": {} + } + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10341:146:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10322:165:0" + }, + { + "documentation": "@dev Require that the selector for the function exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 460, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "10580:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 459, + "name": "exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 525, + "src": "10573:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10573:17:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656c6563746f7220496e6578697374656e742e", + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10592:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + }, + "value": "Selector Inexistent." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d11bba8c0aef6b1a6c8a50c1f410132c5b9eced8048b007561f6353528e0a9e1", + "typeString": "literal_string \"Selector Inexistent.\"" + } + ], + "id": 458, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10565:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10565:50:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 464, + "nodeType": "ExpressionStatement", + "src": "10565:50:0" + }, + { + "assignments": [ + 467 + ], + "declarations": [ + { + "constant": false, + "id": 467, + "mutability": "mutable", + "name": "_delegate", + "nameLocation": "10703:9:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "10695:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 466, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10695:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get the address of the facet mapped to the selector.", + "id": 471, + "initialValue": { + "baseExpression": { + "id": 468, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "10715:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 470, + "indexExpression": { + "id": 469, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "10733:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10715:28:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10695:48:0" + }, + { + "assignments": [ + 473, + 475 + ], + "declarations": [ + { + "constant": false, + "id": 473, + "mutability": "mutable", + "name": "sent", + "nameLocation": "10832:4:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "10827:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 472, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10827:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 475, + "mutability": "mutable", + "name": "data", + "nameLocation": "10851:4:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "10838:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 474, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10838:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Delegate call to the facet using the parameters passed.", + "id": 487, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 480, + "name": "_selector", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 449, + "src": "10935:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + { + "id": 481, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 436, + "src": "10962:5:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 482, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "10985:7:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 483, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 440, + "src": "11010:15:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 484, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 442, + "src": "11043:12:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 478, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10895:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "10895:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10895:174:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 476, + "name": "_delegate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 467, + "src": "10859:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "10859:22:0", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10859:220:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10826:253:0" + }, + { + "documentation": "@dev Require the call was sent.", + "expression": { + "arguments": [ + { + "id": 489, + "name": "sent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 473, + "src": "11141:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "44656c656761746563616c6c204661696c656421", + "id": 490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11147:22:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + }, + "value": "Delegatecall Failed!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c1e39b8841efe8f3b462eb131607576e705515805a2ea43aabad4deeff6c0670", + "typeString": "literal_string \"Delegatecall Failed!\"" + } + ], + "id": 488, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11133:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11133:37:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 492, + "nodeType": "ExpressionStatement", + "src": "11133:37:0" + }, + { + "assignments": [ + 495 + ], + "declarations": [ + { + "constant": false, + "id": 495, + "mutability": "mutable", + "name": "_deployedAddress", + "nameLocation": "11248:16:0", + "nodeType": "VariableDeclaration", + "scope": 506, + "src": "11240:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11240:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Decode returned address from delegatecall.", + "id": 503, + "initialValue": { + "arguments": [ + { + "id": 498, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 475, + "src": "11278:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11285:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11285:7:0", + "typeDescriptions": {} + } + } + ], + "id": 501, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "11284:9:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 496, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11267:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "11267:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11267:27:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11240:54:0" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 504, + "name": "_deployedAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 495, + "src": "11344:16:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 446, + "id": 505, + "nodeType": "Return", + "src": "11337:23:0" + } + ] + }, + "documentation": { + "id": 434, + "nodeType": "StructuredDocumentation", + "src": "9675:397:0", + "text": " @dev Deploys the SoulboundWithSignature Contract with its constructor\n parameters using delegatecall to its facet.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @param _allowlistOwner Desired owner of the contrat for sigs.\n @param _totalSupply Desired total supply.\n @return address" + }, + "functionSelector": "0b33c33a", + "id": 507, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deploySoulboundWithSignature", + "nameLocation": "10086:28:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 436, + "mutability": "mutable", + "name": "_name", + "nameLocation": "10138:5:0", + "nodeType": "VariableDeclaration", + "scope": 507, + "src": "10124:19:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 435, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10124:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 438, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "10168:7:0", + "nodeType": "VariableDeclaration", + "scope": 507, + "src": "10154:21:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 437, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10154:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 440, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "10193:15:0", + "nodeType": "VariableDeclaration", + "scope": 507, + "src": "10185:23:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 439, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10185:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 442, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "10226:12:0", + "nodeType": "VariableDeclaration", + "scope": 507, + "src": "10218:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 441, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10218:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10114:130:0" + }, + "returnParameters": { + "id": 446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 445, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 507, + "src": "10268:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10268:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10267:9:0" + }, + "scope": 526, + "src": "10077:1290:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 524, + "nodeType": "Block", + "src": "11626:222:0", + "statements": [ + { + "documentation": "@dev Return true if it is mapped to a valid address.\n OR Return true if it is not mapped to a zero \n address.", + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 515, + "name": "deployerSelectors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10, + "src": "11806:17:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes4_$_t_address_$", + "typeString": "mapping(bytes4 => address)" + } + }, + "id": 517, + "indexExpression": { + "id": 516, + "name": "_s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "11824:2:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11806:21:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 520, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11839:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11831:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 518, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11831:7:0", + "typeDescriptions": {} + } + }, + "id": 521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11831:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11806:35:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 514, + "id": 523, + "nodeType": "Return", + "src": "11799:42:0" + } + ] + }, + "documentation": { + "id": 508, + "nodeType": "StructuredDocumentation", + "src": "11373:194:0", + "text": " @dev Returns true if a selector `_s` is mapped to a valid\n address in the deployerSelector mapping.\n @param _s Function selector.\n @return bool" + }, + "id": 525, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "exists", + "nameLocation": "11581:6:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 511, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "_s", + "nameLocation": "11595:2:0", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "11588:9:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 509, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "11588:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "11587:11:0" + }, + "returnParameters": { + "id": 514, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 513, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 525, + "src": "11620:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 512, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11620:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11619:6:0" + }, + "scope": 526, + "src": "11572:276:0", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + } + ], + "scope": 527, + "src": "490:11360:0", + "usedErrors": [] + } + ], + "src": "36:11815:0" + }, + "bytecode": "608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610dcb806100326000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063aa621cde1161005b578063aa621cde146100d7578063ab184932146100ec578063d4152170146100ff578063e9181d921461011257600080fd5b80630b33c33a1461008257806327a31ded146100b15780632ab7fabf146100c4575b600080fd5b6100956100903660046108f4565b610125565b6040516001600160a01b03909116815260200160405180910390f35b6100956100bf366004610972565b610294565b6100956100d2366004610972565b6103f4565b6100ea6100e53660046109d6565b61042b565b005b6100956100fa366004610a1c565b610500565b61009561010d3660046108f4565b61066c565b610095610120366004610aae565b6106a3565b6040805160048152602481019091526020810180516001600160e01b0316630599e19d60e11b179052600090819061015c90610b49565b905061016781610812565b61018c5760405162461bcd60e51b815260040161018390610b80565b60405180910390fd5b6001600160e01b031981166000908152600160205260408082205490516001600160a01b0390911691908190839085906101d0908c908c908c908c90602401610c0a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161020e9190610c4c565b600060405180830381855af49150503d8060008114610249576040519150601f19603f3d011682016040523d82523d6000602084013e61024e565b606091505b5091509150816102705760405162461bcd60e51b815260040161018390610c68565b6000818060200190518101906102869190610c96565b9a9950505050505050505050565b6040805160048152602481019091526020810180516001600160e01b03166327a31ded60e01b17905260009081906102cb90610b49565b90506102d681610812565b6102f25760405162461bcd60e51b815260040161018390610b80565b6001600160e01b031981166000908152600160205260408082205490516001600160a01b039091169190819083908590610332908a908a90602401610cba565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516103709190610c4c565b600060405180830381855af49150503d80600081146103ab576040519150601f19603f3d011682016040523d82523d6000602084013e6103b0565b606091505b5091509150816103d25760405162461bcd60e51b815260040161018390610c68565b6000818060200190518101906103e89190610c96565b98975050505050505050565b6040805160048152602481019091526020810180516001600160e01b0316632ab7fabf60e01b17905260009081906102cb90610b49565b6000546001600160a01b031633146104725760405162461bcd60e51b815260206004820152600a6024820152692737ba1027bbb732b91760b11b6044820152606401610183565b6001600160a01b0382166104c85760405162461bcd60e51b815260206004820152601a60248201527f46616365742053657420546f205a65726f20416464726573732e0000000000006044820152606401610183565b6001600160e01b031916600090815260016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160048152602481019091526020810180516001600160e01b031663558c249960e11b179052600090819061053790610b49565b905061054281610812565b61055e5760405162461bcd60e51b815260040161018390610b80565b6001600160e01b031981166000908152600160205260408082205490516001600160a01b0390911691908190839085906105a6908e908e908e908e908e908e90602401610ce8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516105e49190610c4c565b600060405180830381855af49150503d806000811461061f576040519150601f19603f3d011682016040523d82523d6000602084013e610624565b606091505b5091509150816106465760405162461bcd60e51b815260040161018390610c68565b60008180602001905181019061065c9190610c96565b9c9b505050505050505050505050565b6040805160048152602481019091526020810180516001600160e01b0316630d41521760e41b179052600090819061015c90610b49565b6040805160048152602481019091526020810180516001600160e01b031663748c0ec960e11b17905260009081906106da90610b49565b90506106e581610812565b6107015760405162461bcd60e51b815260040161018390610b80565b6001600160e01b031981166000908152600160205260408082205490516001600160a01b03909116919081908390859061074b908f908f908f908f908f908f908f90602401610d3c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516107899190610c4c565b600060405180830381855af49150503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b5091509150816107eb5760405162461bcd60e51b815260040161018390610c68565b6000818060200190518101906108019190610c96565b9d9c50505050505050505050505050565b6001600160e01b0319166000908152600160205260409020546001600160a01b0316151590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261086057600080fd5b813567ffffffffffffffff8082111561087b5761087b610839565b604051601f8301601f19908116603f011681019082821181831017156108a3576108a3610839565b816040528381528660208588010111156108bc57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b03811681146108f157600080fd5b50565b6000806000806080858703121561090a57600080fd5b843567ffffffffffffffff8082111561092257600080fd5b61092e8883890161084f565b9550602087013591508082111561094457600080fd5b506109518782880161084f565b9350506040850135610962816108dc565b9396929550929360600135925050565b6000806040838503121561098557600080fd5b823567ffffffffffffffff8082111561099d57600080fd5b6109a98683870161084f565b935060208501359150808211156109bf57600080fd5b506109cc8582860161084f565b9150509250929050565b600080604083850312156109e957600080fd5b82356109f4816108dc565b915060208301356001600160e01b031981168114610a1157600080fd5b809150509250929050565b60008060008060008060c08789031215610a3557600080fd5b863567ffffffffffffffff80821115610a4d57600080fd5b610a598a838b0161084f565b97506020890135915080821115610a6f57600080fd5b50610a7c89828a0161084f565b9550506040870135610a8d816108dc565b959894975094956060810135955060808101359460a0909101359350915050565b600080600080600080600060e0888a031215610ac957600080fd5b873567ffffffffffffffff80821115610ae157600080fd5b610aed8b838c0161084f565b985060208a0135915080821115610b0357600080fd5b50610b108a828b0161084f565b9650506040880135610b21816108dc565b969995985095966060810135965060808101359560a0820135955060c0909101359350915050565b805160208201516001600160e01b03198082169291906004831015610b785780818460040360031b1b83161693505b505050919050565b60208082526014908201527329b2b632b1ba37b91024b732bc34b9ba32b73a1760611b604082015260600190565b60005b83811015610bc9578181015183820152602001610bb1565b83811115610bd8576000848401525b50505050565b60008151808452610bf6816020860160208601610bae565b601f01601f19169290920160200192915050565b608081526000610c1d6080830187610bde565b8281036020840152610c2f8187610bde565b6001600160a01b0395909516604084015250506060015292915050565b60008251610c5e818460208701610bae565b9190910192915050565b60208082526014908201527344656c656761746563616c6c204661696c65642160601b604082015260600190565b600060208284031215610ca857600080fd5b8151610cb3816108dc565b9392505050565b604081526000610ccd6040830185610bde565b8281036020840152610cdf8185610bde565b95945050505050565b60c081526000610cfb60c0830189610bde565b8281036020840152610d0d8189610bde565b6001600160a01b0397909716604084015250506060810193909352608083019190915260a09091015292915050565b60e081526000610d4f60e083018a610bde565b8281036020840152610d61818a610bde565b6001600160a01b0398909816604084015250506060810194909452608084019290925260a083015260c0909101529291505056fea26469706673582212206845af5d33b87c7ac1e50a65c5fe8f47661e700547046d5f58d1a2dfa2fd4b2964736f6c634300080f0033", + "bytecodeSha1": "63bf4ddaf73a55a7407006cf662f55a2c018e522", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Admin", + "coverageMap": { + "branches": { + "0": { + "Admin.addDeployerSelector": { + "15": [ + 1450, + 1470, + true + ] + }, + "Admin.deployERC721ExtensionSignature": { + "18": [ + 3837, + 3854, + true + ], + "19": [ + 4497, + 4501, + true + ] + }, + "Admin.deploySoulbound": { + "13": [ + 5340, + 5357, + true + ], + "14": [ + 5845, + 5849, + true + ] + }, + "Admin.deploySoulboundRedeemable": { + "16": [ + 8817, + 8834, + true + ], + "17": [ + 9443, + 9447, + true + ] + }, + "Admin.deploySoulboundWithSignature": { + "11": [ + 10573, + 10590, + true + ], + "12": [ + 11141, + 11145, + true + ] + } + } + }, + "statements": { + "0": { + "Admin.addDeployerSelector": { + "4": [ + 1442, + 1501 + ], + "5": [ + 1549, + 1586 + ] + }, + "Admin.deployERC721ExtensionSignature": { + "8": [ + 3829, + 3879 + ], + "9": [ + 4489, + 4526 + ] + }, + "Admin.deploySoulbound": { + "2": [ + 5332, + 5382 + ], + "3": [ + 5837, + 5874 + ] + }, + "Admin.deploySoulboundRedeemable": { + "6": [ + 8809, + 8859 + ], + "7": [ + 9435, + 9472 + ] + }, + "Admin.deploySoulboundWithSignature": { + "0": [ + 10565, + 10615 + ], + "1": [ + 11133, + 11170 + ] + }, + "Admin.exists": { + "10": [ + 11799, + 11841 + ] + } + } + } + }, + "dependencies": [], + "deployedBytecode": "608060405234801561001057600080fd5b506004361061007d5760003560e01c8063aa621cde1161005b578063aa621cde146100d7578063ab184932146100ec578063d4152170146100ff578063e9181d921461011257600080fd5b80630b33c33a1461008257806327a31ded146100b15780632ab7fabf146100c4575b600080fd5b6100956100903660046108f4565b610125565b6040516001600160a01b03909116815260200160405180910390f35b6100956100bf366004610972565b610294565b6100956100d2366004610972565b6103f4565b6100ea6100e53660046109d6565b61042b565b005b6100956100fa366004610a1c565b610500565b61009561010d3660046108f4565b61066c565b610095610120366004610aae565b6106a3565b6040805160048152602481019091526020810180516001600160e01b0316630599e19d60e11b179052600090819061015c90610b49565b905061016781610812565b61018c5760405162461bcd60e51b815260040161018390610b80565b60405180910390fd5b6001600160e01b031981166000908152600160205260408082205490516001600160a01b0390911691908190839085906101d0908c908c908c908c90602401610c0a565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161020e9190610c4c565b600060405180830381855af49150503d8060008114610249576040519150601f19603f3d011682016040523d82523d6000602084013e61024e565b606091505b5091509150816102705760405162461bcd60e51b815260040161018390610c68565b6000818060200190518101906102869190610c96565b9a9950505050505050505050565b6040805160048152602481019091526020810180516001600160e01b03166327a31ded60e01b17905260009081906102cb90610b49565b90506102d681610812565b6102f25760405162461bcd60e51b815260040161018390610b80565b6001600160e01b031981166000908152600160205260408082205490516001600160a01b039091169190819083908590610332908a908a90602401610cba565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516103709190610c4c565b600060405180830381855af49150503d80600081146103ab576040519150601f19603f3d011682016040523d82523d6000602084013e6103b0565b606091505b5091509150816103d25760405162461bcd60e51b815260040161018390610c68565b6000818060200190518101906103e89190610c96565b98975050505050505050565b6040805160048152602481019091526020810180516001600160e01b0316632ab7fabf60e01b17905260009081906102cb90610b49565b6000546001600160a01b031633146104725760405162461bcd60e51b815260206004820152600a6024820152692737ba1027bbb732b91760b11b6044820152606401610183565b6001600160a01b0382166104c85760405162461bcd60e51b815260206004820152601a60248201527f46616365742053657420546f205a65726f20416464726573732e0000000000006044820152606401610183565b6001600160e01b031916600090815260016020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6040805160048152602481019091526020810180516001600160e01b031663558c249960e11b179052600090819061053790610b49565b905061054281610812565b61055e5760405162461bcd60e51b815260040161018390610b80565b6001600160e01b031981166000908152600160205260408082205490516001600160a01b0390911691908190839085906105a6908e908e908e908e908e908e90602401610ce8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516105e49190610c4c565b600060405180830381855af49150503d806000811461061f576040519150601f19603f3d011682016040523d82523d6000602084013e610624565b606091505b5091509150816106465760405162461bcd60e51b815260040161018390610c68565b60008180602001905181019061065c9190610c96565b9c9b505050505050505050505050565b6040805160048152602481019091526020810180516001600160e01b0316630d41521760e41b179052600090819061015c90610b49565b6040805160048152602481019091526020810180516001600160e01b031663748c0ec960e11b17905260009081906106da90610b49565b90506106e581610812565b6107015760405162461bcd60e51b815260040161018390610b80565b6001600160e01b031981166000908152600160205260408082205490516001600160a01b03909116919081908390859061074b908f908f908f908f908f908f908f90602401610d3c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516107899190610c4c565b600060405180830381855af49150503d80600081146107c4576040519150601f19603f3d011682016040523d82523d6000602084013e6107c9565b606091505b5091509150816107eb5760405162461bcd60e51b815260040161018390610c68565b6000818060200190518101906108019190610c96565b9d9c50505050505050505050505050565b6001600160e01b0319166000908152600160205260409020546001600160a01b0316151590565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261086057600080fd5b813567ffffffffffffffff8082111561087b5761087b610839565b604051601f8301601f19908116603f011681019082821181831017156108a3576108a3610839565b816040528381528660208588010111156108bc57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6001600160a01b03811681146108f157600080fd5b50565b6000806000806080858703121561090a57600080fd5b843567ffffffffffffffff8082111561092257600080fd5b61092e8883890161084f565b9550602087013591508082111561094457600080fd5b506109518782880161084f565b9350506040850135610962816108dc565b9396929550929360600135925050565b6000806040838503121561098557600080fd5b823567ffffffffffffffff8082111561099d57600080fd5b6109a98683870161084f565b935060208501359150808211156109bf57600080fd5b506109cc8582860161084f565b9150509250929050565b600080604083850312156109e957600080fd5b82356109f4816108dc565b915060208301356001600160e01b031981168114610a1157600080fd5b809150509250929050565b60008060008060008060c08789031215610a3557600080fd5b863567ffffffffffffffff80821115610a4d57600080fd5b610a598a838b0161084f565b97506020890135915080821115610a6f57600080fd5b50610a7c89828a0161084f565b9550506040870135610a8d816108dc565b959894975094956060810135955060808101359460a0909101359350915050565b600080600080600080600060e0888a031215610ac957600080fd5b873567ffffffffffffffff80821115610ae157600080fd5b610aed8b838c0161084f565b985060208a0135915080821115610b0357600080fd5b50610b108a828b0161084f565b9650506040880135610b21816108dc565b969995985095966060810135965060808101359560a0820135955060c0909101359350915050565b805160208201516001600160e01b03198082169291906004831015610b785780818460040360031b1b83161693505b505050919050565b60208082526014908201527329b2b632b1ba37b91024b732bc34b9ba32b73a1760611b604082015260600190565b60005b83811015610bc9578181015183820152602001610bb1565b83811115610bd8576000848401525b50505050565b60008151808452610bf6816020860160208601610bae565b601f01601f19169290920160200192915050565b608081526000610c1d6080830187610bde565b8281036020840152610c2f8187610bde565b6001600160a01b0395909516604084015250506060015292915050565b60008251610c5e818460208701610bae565b9190910192915050565b60208082526014908201527344656c656761746563616c6c204661696c65642160601b604082015260600190565b600060208284031215610ca857600080fd5b8151610cb3816108dc565b9392505050565b604081526000610ccd6040830185610bde565b8281036020840152610cdf8185610bde565b95945050505050565b60c081526000610cfb60c0830189610bde565b8281036020840152610d0d8189610bde565b6001600160a01b0397909716604084015250506060810193909352608083019190915260a09091015292915050565b60e081526000610d4f60e083018a610bde565b8281036020840152610d61818a610bde565b6001600160a01b0398909816604084015250506060810194909452608084019290925260a083015260c0909101529291505056fea26469706673582212206845af5d33b87c7ac1e50a65c5fe8f47661e700547046d5f58d1a2dfa2fd4b2964736f6c634300080f0033", + "deployedSourceMap": "490:11360:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10077:1290;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1922:32:1;;;1904:51;;1892:2;1877:18;10077:1290:0;;;;;;;4972:1099;;;;;;:::i;:::-;;:::i;1843:1119::-;;;;;;:::i;:::-;;:::i;1283:310::-;;;;;;:::i;:::-;;:::i;:::-;;8253:1416;;;;;;:::i;:::-;;:::i;6470:1272::-;;;;;;:::i;:::-;;:::i;3222:1501::-;;;;;;:::i;:::-;;:::i;10077:1290::-;10361:116;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10361:116:0;-1:-1:-1;;;10361:116:0;;;10268:7;;;;10341:146;;;:::i;:::-;10322:165;;10573:17;10580:9;10573:6;:17::i;:::-;10565:50;;;;-1:-1:-1;;;10565:50:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;;10715:28:0;;10695:17;10715:28;;;:17;:28;;;;;;;10895:174;;-1:-1:-1;;;;;10715:28:0;;;;10695:17;;;10715:28;;10733:9;;10895:174;;10962:5;;10985:7;;11010:15;;11043:12;;10895:174;;;:::i;:::-;;;;-1:-1:-1;;10895:174:0;;;;;;;;;;;;;;-1:-1:-1;;;;;10895:174:0;-1:-1:-1;;;;;;10895:174:0;;;;;;;;;;10859:220;;;;10895:174;10859:220;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10826:253;;;;11141:4;11133:37;;;;-1:-1:-1;;;11133:37:0;;;;;;;:::i;:::-;11240:24;11278:4;11267:27;;;;;;;;;;;;:::i;:::-;11240:54;10077:1290;-1:-1:-1;;;;;;;;;;10077:1290:0:o;4972:1099::-;5157:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5157:87:0;-1:-1:-1;;;5157:87:0;;;5064:7;;;;5137:117;;;:::i;:::-;5118:136;;5340:17;5347:9;5340:6;:17::i;:::-;5332:50;;;;-1:-1:-1;;;5332:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;5482:28:0;;5462:17;5482:28;;;:17;:28;;;;;;;5662:111;;-1:-1:-1;;;;;5482:28:0;;;;5462:17;;;5482:28;;5500:9;;5662:111;;5729:5;;5752:7;;5662:111;;;:::i;:::-;;;;-1:-1:-1;;5662:111:0;;;;;;;;;;;;;;-1:-1:-1;;;;;5662:111:0;-1:-1:-1;;;;;;5662:111:0;;;;;;;;;;5626:157;;;;5662:111;5626:157;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5593:190;;;;5845:4;5837:37;;;;-1:-1:-1;;;5837:37:0;;;;;;;:::i;:::-;5944:24;5982:4;5971:27;;;;;;;;;;;;:::i;:::-;5944:54;4972:1099;-1:-1:-1;;;;;;;;4972:1099:0:o;1843:1119::-;2038:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2038:97:0;-1:-1:-1;;;2038:97:0;;;1945:7;;;;2018:127;;;:::i;1283:310::-;865:5;;-1:-1:-1;;;;;865:5:0;851:10;:19;843:42;;;;-1:-1:-1;;;843:42:0;;8078:2:1;843:42:0;;;8060:21:1;8117:2;8097:18;;;8090:30;-1:-1:-1;;;8136:18:1;;;8129:40;8186:18;;843:42:0;7876:334:1;843:42:0;-1:-1:-1;;;;;1450:20:0;::::1;1442:59;;;::::0;-1:-1:-1;;;1442:59:0;;8417:2:1;1442:59:0::1;::::0;::::1;8399:21:1::0;8456:2;8436:18;;;8429:30;8495:28;8475:18;;;8468:56;8541:18;;1442:59:0::1;8215:350:1::0;1442:59:0::1;-1:-1:-1::0;;;;;;1549:28:0::1;;::::0;;;:17:::1;:28;::::0;;;;:37;;-1:-1:-1;;;;;;1549:37:0::1;-1:-1:-1::0;;;;;1549:37:0;;;::::1;::::0;;;::::1;::::0;;1283:310::o;8253:1416::-;8592:129;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8592:129:0;-1:-1:-1;;;8592:129:0;;;8499:7;;;;8572:159;;;:::i;:::-;8553:178;;8817:17;8824:9;8817:6;:17::i;:::-;8809:50;;;;-1:-1:-1;;;8809:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;8959:28:0;;8939:17;8959:28;;;:17;:28;;;;;;;9139:232;;-1:-1:-1;;;;;8959:28:0;;;;8939:17;;;8959:28;;8977:9;;9139:232;;9206:5;;9229:7;;9254:15;;9287:12;;9317:11;;9346;;9139:232;;;:::i;:::-;;;;-1:-1:-1;;9139:232:0;;;;;;;;;;;;;;-1:-1:-1;;;;;9139:232:0;-1:-1:-1;;;;;;9139:232:0;;;;;;;;;;9103:278;;;;9139:232;9103:278;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9070:311;;;;9443:4;9435:37;;;;-1:-1:-1;;;9435:37:0;;;;;;;:::i;:::-;9542:24;9580:4;9569:27;;;;;;;;;;;;:::i;:::-;9542:54;8253:1416;-1:-1:-1;;;;;;;;;;;;8253:1416:0:o;6470:1272::-;6745:107;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6745:107:0;-1:-1:-1;;;6745:107:0;;;6652:7;;;;6725:137;;;:::i;3222:1501::-;3599:142;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3599:142:0;-1:-1:-1;;;3599:142:0;;;3506:7;;;;3579:172;;;:::i;:::-;3560:191;;3837:17;3844:9;3837:6;:17::i;:::-;3829:50;;;;-1:-1:-1;;;3829:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;;3979:28:0;;3959:17;3979:28;;;:17;:28;;;;;;;4159:266;;-1:-1:-1;;;;;3979:28:0;;;;3959:17;;;3979:28;;3997:9;;4159:266;;4226:5;;4250:7;;4275:12;;4305:10;;4333:12;;4363:13;;4394:17;;4159:266;;;:::i;:::-;;;;-1:-1:-1;;4159:266:0;;;;;;;;;;;;;;-1:-1:-1;;;;;4159:266:0;-1:-1:-1;;;;;;4159:266:0;;;;;;;;;;4123:312;;;;4159:266;4123:312;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4090:345;;;;4497:4;4489:37;;;;-1:-1:-1;;;4489:37:0;;;;;;;:::i;:::-;4596:24;4634:4;4623:27;;;;;;;;;;;;:::i;:::-;4596:54;3222:1501;-1:-1:-1;;;;;;;;;;;;;3222:1501:0:o;11572:276::-;-1:-1:-1;;;;;;11806:21:0;11620:4;11806:21;;;:17;:21;;;;;;-1:-1:-1;;;;;11806:21:0;:35;;;11572:276::o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:719;189:5;242:3;235:4;227:6;223:17;219:27;209:55;;260:1;257;250:12;209:55;296:6;283:20;322:18;359:2;355;352:10;349:36;;;365:18;;:::i;:::-;440:2;434:9;408:2;494:13;;-1:-1:-1;;490:22:1;;;514:2;486:31;482:40;470:53;;;538:18;;;558:22;;;535:46;532:72;;;584:18;;:::i;:::-;624:10;620:2;613:22;659:2;651:6;644:18;705:3;698:4;693:2;685:6;681:15;677:26;674:35;671:55;;;722:1;719;712:12;671:55;786:2;779:4;771:6;767:17;760:4;752:6;748:17;735:54;833:1;826:4;821:2;813:6;809:15;805:26;798:37;853:6;844:15;;;;;;146:719;;;;:::o;870:131::-;-1:-1:-1;;;;;945:31:1;;935:42;;925:70;;991:1;988;981:12;925:70;870:131;:::o;1006:747::-;1112:6;1120;1128;1136;1189:3;1177:9;1168:7;1164:23;1160:33;1157:53;;;1206:1;1203;1196:12;1157:53;1246:9;1233:23;1275:18;1316:2;1308:6;1305:14;1302:34;;;1332:1;1329;1322:12;1302:34;1355:50;1397:7;1388:6;1377:9;1373:22;1355:50;:::i;:::-;1345:60;;1458:2;1447:9;1443:18;1430:32;1414:48;;1487:2;1477:8;1474:16;1471:36;;;1503:1;1500;1493:12;1471:36;;1526:52;1570:7;1559:8;1548:9;1544:24;1526:52;:::i;:::-;1516:62;;;1628:2;1617:9;1613:18;1600:32;1641:31;1666:5;1641:31;:::i;:::-;1006:747;;;;-1:-1:-1;1691:5:1;;1743:2;1728:18;1715:32;;-1:-1:-1;;1006:747:1:o;1966:543::-;2054:6;2062;2115:2;2103:9;2094:7;2090:23;2086:32;2083:52;;;2131:1;2128;2121:12;2083:52;2171:9;2158:23;2200:18;2241:2;2233:6;2230:14;2227:34;;;2257:1;2254;2247:12;2227:34;2280:50;2322:7;2313:6;2302:9;2298:22;2280:50;:::i;:::-;2270:60;;2383:2;2372:9;2368:18;2355:32;2339:48;;2412:2;2402:8;2399:16;2396:36;;;2428:1;2425;2418:12;2396:36;;2451:52;2495:7;2484:8;2473:9;2469:24;2451:52;:::i;:::-;2441:62;;;1966:543;;;;;:::o;2514:429::-;2581:6;2589;2642:2;2630:9;2621:7;2617:23;2613:32;2610:52;;;2658:1;2655;2648:12;2610:52;2697:9;2684:23;2716:31;2741:5;2716:31;:::i;:::-;2766:5;-1:-1:-1;2823:2:1;2808:18;;2795:32;-1:-1:-1;;;;;;2858:34:1;;2846:47;;2836:75;;2907:1;2904;2897:12;2836:75;2930:7;2920:17;;;2514:429;;;;;:::o;2948:885::-;3072:6;3080;3088;3096;3104;3112;3165:3;3153:9;3144:7;3140:23;3136:33;3133:53;;;3182:1;3179;3172:12;3133:53;3222:9;3209:23;3251:18;3292:2;3284:6;3281:14;3278:34;;;3308:1;3305;3298:12;3278:34;3331:50;3373:7;3364:6;3353:9;3349:22;3331:50;:::i;:::-;3321:60;;3434:2;3423:9;3419:18;3406:32;3390:48;;3463:2;3453:8;3450:16;3447:36;;;3479:1;3476;3469:12;3447:36;;3502:52;3546:7;3535:8;3524:9;3520:24;3502:52;:::i;:::-;3492:62;;;3604:2;3593:9;3589:18;3576:32;3617:31;3642:5;3617:31;:::i;:::-;2948:885;;;;-1:-1:-1;3667:5:1;;3719:2;3704:18;;3691:32;;-1:-1:-1;3770:3:1;3755:19;;3742:33;;3822:3;3807:19;;;3794:33;;-1:-1:-1;2948:885:1;-1:-1:-1;;2948:885:1:o;3838:954::-;3971:6;3979;3987;3995;4003;4011;4019;4072:3;4060:9;4051:7;4047:23;4043:33;4040:53;;;4089:1;4086;4079:12;4040:53;4129:9;4116:23;4158:18;4199:2;4191:6;4188:14;4185:34;;;4215:1;4212;4205:12;4185:34;4238:50;4280:7;4271:6;4260:9;4256:22;4238:50;:::i;:::-;4228:60;;4341:2;4330:9;4326:18;4313:32;4297:48;;4370:2;4360:8;4357:16;4354:36;;;4386:1;4383;4376:12;4354:36;;4409:52;4453:7;4442:8;4431:9;4427:24;4409:52;:::i;:::-;4399:62;;;4511:2;4500:9;4496:18;4483:32;4524:31;4549:5;4524:31;:::i;:::-;3838:954;;;;-1:-1:-1;4574:5:1;;4626:2;4611:18;;4598:32;;-1:-1:-1;4677:3:1;4662:19;;4649:33;;4729:3;4714:19;;4701:33;;-1:-1:-1;4781:3:1;4766:19;;;4753:33;;-1:-1:-1;3838:954:1;-1:-1:-1;;3838:954:1:o;4797:361::-;4914:12;;4962:4;4951:16;;4945:23;-1:-1:-1;;;;;;5025:11:1;;;;4914:12;4945:23;5059:1;5048:13;;5045:107;;;5139:2;5133;5123:6;5120:1;5116:14;5113:1;5109:22;5105:31;5101:2;5097:40;5093:49;5084:58;;5045:107;;;;4797:361;;;:::o;5163:344::-;5365:2;5347:21;;;5404:2;5384:18;;;5377:30;-1:-1:-1;;;5438:2:1;5423:18;;5416:50;5498:2;5483:18;;5163:344::o;5512:258::-;5584:1;5594:113;5608:6;5605:1;5602:13;5594:113;;;5684:11;;;5678:18;5665:11;;;5658:39;5630:2;5623:10;5594:113;;;5725:6;5722:1;5719:13;5716:48;;;5760:1;5751:6;5746:3;5742:16;5735:27;5716:48;;5512:258;;;:::o;5775:::-;5817:3;5855:5;5849:12;5882:6;5877:3;5870:19;5898:63;5954:6;5947:4;5942:3;5938:14;5931:4;5924:5;5920:16;5898:63;:::i;:::-;6015:2;5994:15;-1:-1:-1;;5990:29:1;5981:39;;;;6022:4;5977:50;;5775:258;-1:-1:-1;;5775:258:1:o;6038:553::-;6291:3;6280:9;6273:22;6254:4;6318:46;6359:3;6348:9;6344:19;6336:6;6318:46;:::i;:::-;6412:9;6404:6;6400:22;6395:2;6384:9;6380:18;6373:50;6440:33;6466:6;6458;6440:33;:::i;:::-;-1:-1:-1;;;;;6509:32:1;;;;6504:2;6489:18;;6482:60;-1:-1:-1;;6573:2:1;6558:18;6551:34;6432:41;6038:553;-1:-1:-1;;6038:553:1:o;6596:274::-;6725:3;6763:6;6757:13;6779:53;6825:6;6820:3;6813:4;6805:6;6801:17;6779:53;:::i;:::-;6848:16;;;;;6596:274;-1:-1:-1;;6596:274:1:o;6875:344::-;7077:2;7059:21;;;7116:2;7096:18;;;7089:30;-1:-1:-1;;;7150:2:1;7135:18;;7128:50;7210:2;7195:18;;6875:344::o;7224:259::-;7302:6;7355:2;7343:9;7334:7;7330:23;7326:32;7323:52;;;7371:1;7368;7361:12;7323:52;7403:9;7397:16;7422:31;7447:5;7422:31;:::i;:::-;7472:5;7224:259;-1:-1:-1;;;7224:259:1:o;7488:383::-;7685:2;7674:9;7667:21;7648:4;7711:45;7752:2;7741:9;7737:18;7729:6;7711:45;:::i;:::-;7804:9;7796:6;7792:22;7787:2;7776:9;7772:18;7765:50;7832:33;7858:6;7850;7832:33;:::i;:::-;7824:41;7488:383;-1:-1:-1;;;;;7488:383:1:o;8570:697::-;8879:3;8868:9;8861:22;8842:4;8906:46;8947:3;8936:9;8932:19;8924:6;8906:46;:::i;:::-;9000:9;8992:6;8988:22;8983:2;8972:9;8968:18;8961:50;9028:33;9054:6;9046;9028:33;:::i;:::-;-1:-1:-1;;;;;9097:32:1;;;;9092:2;9077:18;;9070:60;-1:-1:-1;;9161:2:1;9146:18;;9139:34;;;;9204:3;9189:19;;9182:35;;;;9117:3;9233:19;;;9226:35;9097:32;9020:41;-1:-1:-1;;8570:697:1:o;9272:769::-;9609:3;9598:9;9591:22;9572:4;9636:46;9677:3;9666:9;9662:19;9654:6;9636:46;:::i;:::-;9730:9;9722:6;9718:22;9713:2;9702:9;9698:18;9691:50;9758:33;9784:6;9776;9758:33;:::i;:::-;-1:-1:-1;;;;;9827:32:1;;;;9822:2;9807:18;;9800:60;-1:-1:-1;;9891:2:1;9876:18;;9869:34;;;;9934:3;9919:19;;9912:35;;;;9847:3;9963:19;;9956:35;10022:3;10007:19;;;10000:35;9750:41;9272:769;-1:-1:-1;;9272:769:1:o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "The admin contract aims at taking all the deployer contracts and mapping all the deployer function selectors to the respective addresses, then in turn, calling the selectors via delegatecall whenever the relevant deployment is needed. In turn, whenever a new change is made to a contract, we can easily, redeploy and remap.", + "kind": "dev", + "methods": { + "addDeployerSelector(address,bytes4)": { + "details": "This function adds a new selector or replaces a particular selector from the selector map.", + "params": { + "_facet": "Facet address containing the function we need.", + "_selector": "Selector of the function desired." + } + }, + "constructor": { + "details": "Constructor." + }, + "deployERC721ExtensionCore(string,string)": { + "details": "Deploys the ERC721ExtensionCore with a set name and symbol using delegatecall to its facet.", + "params": { + "_name": "Name of token.", + "_symbol": "Desired symbol." + }, + "returns": { + "_0": "address" + } + }, + "deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)": { + "details": "Deploys the ERC721ExtensionSignature with its constructor parameters using delegatecall to its facet.", + "params": { + "_name": "Name of token.", + "_symbol": "Desired symbol." + }, + "returns": { + "_0": "address" + } + }, + "deploySoulbound(string,string)": { + "details": "Deploys the Soulbound Contract with a set name and symbol using delegatecall to its facet.", + "params": { + "_name": "Name of token.", + "_symbol": "Desired symbol." + }, + "returns": { + "_0": "address" + } + }, + "deploySoulboundCore(string,string,address,uint256)": { + "details": "Deploys the SoulboundCore Contract with its constructor parameters using delegatecall to its facet.", + "params": { + "_allowlistOwner": "Desired owner of the contrat for sigs.", + "_name": "Name of token.", + "_symbol": "Desired symbol.", + "_totalSupply": "Desired total supply." + }, + "returns": { + "_0": "address" + } + }, + "deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)": { + "details": "Deploys the SoulboundRedeemable Contract with its constructor parameters using delegatecall to its facet.", + "params": { + "_allowlistOwner": "Desired owner of the contrat for sigs.", + "_name": "Name of token.", + "_priceLimit": "Desired price limit.", + "_symbol": "Desired symbol.", + "_tokenPrice": "Desired token price.", + "_totalSupply": "Desired total supply." + }, + "returns": { + "_0": "address" + } + }, + "deploySoulboundWithSignature(string,string,address,uint256)": { + "details": "Deploys the SoulboundWithSignature Contract with its constructor parameters using delegatecall to its facet.", + "params": { + "_allowlistOwner": "Desired owner of the contrat for sigs.", + "_name": "Name of token.", + "_symbol": "Desired symbol.", + "_totalSupply": "Desired total supply." + }, + "returns": { + "_0": "address" + } + } + }, + "stateVariables": { + "deployerSelectors": { + "details": "Mapping of all function signatures to the addresses." + }, + "owner": { + "details": "Owner address." + } + }, + "title": "Admin contract.", + "version": 1 + }, + "offset": [ + 490, + 11850 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAA621CDE GT PUSH2 0x5B JUMPI DUP1 PUSH4 0xAA621CDE EQ PUSH2 0xD7 JUMPI DUP1 PUSH4 0xAB184932 EQ PUSH2 0xEC JUMPI DUP1 PUSH4 0xD4152170 EQ PUSH2 0xFF JUMPI DUP1 PUSH4 0xE9181D92 EQ PUSH2 0x112 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB33C33A EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x27A31DED EQ PUSH2 0xB1 JUMPI DUP1 PUSH4 0x2AB7FABF EQ PUSH2 0xC4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x90 CALLDATASIZE PUSH1 0x4 PUSH2 0x8F4 JUMP JUMPDEST PUSH2 0x125 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x95 PUSH2 0xBF CALLDATASIZE PUSH1 0x4 PUSH2 0x972 JUMP JUMPDEST PUSH2 0x294 JUMP JUMPDEST PUSH2 0x95 PUSH2 0xD2 CALLDATASIZE PUSH1 0x4 PUSH2 0x972 JUMP JUMPDEST PUSH2 0x3F4 JUMP JUMPDEST PUSH2 0xEA PUSH2 0xE5 CALLDATASIZE PUSH1 0x4 PUSH2 0x9D6 JUMP JUMPDEST PUSH2 0x42B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x95 PUSH2 0xFA CALLDATASIZE PUSH1 0x4 PUSH2 0xA1C JUMP JUMPDEST PUSH2 0x500 JUMP JUMPDEST PUSH2 0x95 PUSH2 0x10D CALLDATASIZE PUSH1 0x4 PUSH2 0x8F4 JUMP JUMPDEST PUSH2 0x66C JUMP JUMPDEST PUSH2 0x95 PUSH2 0x120 CALLDATASIZE PUSH1 0x4 PUSH2 0xAAE JUMP JUMPDEST PUSH2 0x6A3 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x599E19D PUSH1 0xE1 SHL OR SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH2 0x15C SWAP1 PUSH2 0xB49 JUMP JUMPDEST SWAP1 POP PUSH2 0x167 DUP2 PUSH2 0x812 JUMP JUMPDEST PUSH2 0x18C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SLOAD SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 SWAP1 DUP2 SWAP1 DUP4 SWAP1 DUP6 SWAP1 PUSH2 0x1D0 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 DUP13 SWAP1 PUSH1 0x24 ADD PUSH2 0xC0A JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x20E SWAP2 SWAP1 PUSH2 0xC4C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x249 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x24E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x270 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xC68 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x286 SWAP2 SWAP1 PUSH2 0xC96 JUMP JUMPDEST SWAP11 SWAP10 POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x27A31DED PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH2 0x2CB SWAP1 PUSH2 0xB49 JUMP JUMPDEST SWAP1 POP PUSH2 0x2D6 DUP2 PUSH2 0x812 JUMP JUMPDEST PUSH2 0x2F2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SLOAD SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 SWAP1 DUP2 SWAP1 DUP4 SWAP1 DUP6 SWAP1 PUSH2 0x332 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH1 0x24 ADD PUSH2 0xCBA JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x370 SWAP2 SWAP1 PUSH2 0xC4C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x3AB JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x3B0 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x3D2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xC68 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x3E8 SWAP2 SWAP1 PUSH2 0xC96 JUMP JUMPDEST SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x2AB7FABF PUSH1 0xE0 SHL OR SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH2 0x2CB SWAP1 PUSH2 0xB49 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x472 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x2737BA1027BBB732B917 PUSH1 0xB1 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x183 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x46616365742053657420546F205A65726F20416464726573732E000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x183 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x558C2499 PUSH1 0xE1 SHL OR SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH2 0x537 SWAP1 PUSH2 0xB49 JUMP JUMPDEST SWAP1 POP PUSH2 0x542 DUP2 PUSH2 0x812 JUMP JUMPDEST PUSH2 0x55E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SLOAD SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 SWAP1 DUP2 SWAP1 DUP4 SWAP1 DUP6 SWAP1 PUSH2 0x5A6 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 DUP15 SWAP1 PUSH1 0x24 ADD PUSH2 0xCE8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x5E4 SWAP2 SWAP1 PUSH2 0xC4C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x61F JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x624 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x646 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xC68 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x65C SWAP2 SWAP1 PUSH2 0xC96 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xD415217 PUSH1 0xE4 SHL OR SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH2 0x15C SWAP1 PUSH2 0xB49 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x4 DUP2 MSTORE PUSH1 0x24 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x20 DUP2 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x748C0EC9 PUSH1 0xE1 SHL OR SWAP1 MSTORE PUSH1 0x0 SWAP1 DUP2 SWAP1 PUSH2 0x6DA SWAP1 PUSH2 0xB49 JUMP JUMPDEST SWAP1 POP PUSH2 0x6E5 DUP2 PUSH2 0x812 JUMP JUMPDEST PUSH2 0x701 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xB80 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 SLOAD SWAP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP2 SWAP1 DUP2 SWAP1 DUP4 SWAP1 DUP6 SWAP1 PUSH2 0x74B SWAP1 DUP16 SWAP1 DUP16 SWAP1 DUP16 SWAP1 DUP16 SWAP1 DUP16 SWAP1 DUP16 SWAP1 DUP16 SWAP1 PUSH1 0x24 ADD PUSH2 0xD3C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 DUP2 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP5 AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 MSTORE SWAP1 MLOAD PUSH2 0x789 SWAP2 SWAP1 PUSH2 0xC4C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x7C4 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x7C9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 PUSH2 0x7EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x183 SWAP1 PUSH2 0xC68 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x801 SWAP2 SWAP1 PUSH2 0xC96 JUMP JUMPDEST SWAP14 SWAP13 POP POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x860 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x87B JUMPI PUSH2 0x87B PUSH2 0x839 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x8A3 JUMPI PUSH2 0x8A3 PUSH2 0x839 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x8BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x8F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x90A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x922 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x92E DUP9 DUP4 DUP10 ADD PUSH2 0x84F JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x944 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x951 DUP8 DUP3 DUP9 ADD PUSH2 0x84F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH2 0x962 DUP2 PUSH2 0x8DC JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP3 SWAP4 PUSH1 0x60 ADD CALLDATALOAD SWAP3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x985 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x99D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9A9 DUP7 DUP4 DUP8 ADD PUSH2 0x84F JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x9BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x9CC DUP6 DUP3 DUP7 ADD PUSH2 0x84F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x9E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x9F4 DUP2 PUSH2 0x8DC JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xA11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0xA35 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xA4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA59 DUP11 DUP4 DUP12 ADD PUSH2 0x84F JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xA6F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xA7C DUP10 DUP3 DUP11 ADD PUSH2 0x84F JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 DUP8 ADD CALLDATALOAD PUSH2 0xA8D DUP2 PUSH2 0x8DC JUMP JUMPDEST SWAP6 SWAP9 SWAP5 SWAP8 POP SWAP5 SWAP6 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP6 POP PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP5 PUSH1 0xA0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH2 0xAC9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0xAE1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAED DUP12 DUP4 DUP13 ADD PUSH2 0x84F JUMP JUMPDEST SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0xB03 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xB10 DUP11 DUP3 DUP12 ADD PUSH2 0x84F JUMP JUMPDEST SWAP7 POP POP PUSH1 0x40 DUP9 ADD CALLDATALOAD PUSH2 0xB21 DUP2 PUSH2 0x8DC JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP6 SWAP7 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP7 POP PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP6 PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP6 POP PUSH1 0xC0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP1 DUP3 AND SWAP3 SWAP2 SWAP1 PUSH1 0x4 DUP4 LT ISZERO PUSH2 0xB78 JUMPI DUP1 DUP2 DUP5 PUSH1 0x4 SUB PUSH1 0x3 SHL SHL DUP4 AND AND SWAP4 POP JUMPDEST POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH20 0x29B2B632B1BA37B91024B732BC34B9BA32B73A17 PUSH1 0x61 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBC9 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xBB1 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xBD8 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xBF6 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xBAE JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH2 0xC1D PUSH1 0x80 DUP4 ADD DUP8 PUSH2 0xBDE JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xC2F DUP2 DUP8 PUSH2 0xBDE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0xC5E DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0xBAE JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH20 0x44656C656761746563616C6C204661696C656421 PUSH1 0x60 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0xCB3 DUP2 PUSH2 0x8DC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0xCCD PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0xBDE JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xCDF DUP2 DUP6 PUSH2 0xBDE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0xCFB PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0xBDE JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xD0D DUP2 DUP10 PUSH2 0xBDE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 SWAP1 SWAP8 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x80 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xE0 DUP2 MSTORE PUSH1 0x0 PUSH2 0xD4F PUSH1 0xE0 DUP4 ADD DUP11 PUSH2 0xBDE JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0xD61 DUP2 DUP11 PUSH2 0xBDE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP9 SWAP1 SWAP9 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x80 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH9 0x45AF5D33B87C7AC1E5 EXP PUSH6 0xC5FE8F47661E PUSH17 0x547046D5F58D1A2DFA2FD4B2964736F6C PUSH4 0x4300080F STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "MSTORE", + "path": "0" + }, + "5": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "CALLVALUE", + "path": "0" + }, + "6": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "7": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "ISZERO", + "path": "0" + }, + "8": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "12": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "REVERT", + "path": "0" + }, + "16": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPDEST", + "path": "0" + }, + "17": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "POP", + "path": "0" + }, + "18": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "21": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "LT", + "path": "0" + }, + "22": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7D" + }, + "25": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "26": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "CALLDATALOAD", + "path": "0" + }, + "29": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "SHR", + "path": "0" + }, + "32": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "33": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0xAA621CDE" + }, + "38": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "GT", + "path": "0" + }, + "39": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0x5B" + }, + "42": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "43": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "44": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0xAA621CDE" + }, + "49": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "EQ", + "path": "0" + }, + "50": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0xD7" + }, + "53": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "54": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "55": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0xAB184932" + }, + "60": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "EQ", + "path": "0" + }, + "61": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0xEC" + }, + "64": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "65": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "66": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0xD4152170" + }, + "71": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "EQ", + "path": "0" + }, + "72": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0xFF" + }, + "75": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "76": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "77": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0xE9181D92" + }, + "82": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "EQ", + "path": "0" + }, + "83": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0x112" + }, + "86": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "87": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "89": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "90": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "REVERT", + "path": "0" + }, + "91": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPDEST", + "path": "0" + }, + "92": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "93": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0xB33C33A" + }, + "98": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "EQ", + "path": "0" + }, + "99": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0x82" + }, + "102": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "103": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "104": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0x27A31DED" + }, + "109": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "EQ", + "path": "0" + }, + "110": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB1" + }, + "113": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "114": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "115": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH4", + "path": "0", + "value": "0x2AB7FABF" + }, + "120": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "EQ", + "path": "0" + }, + "121": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC4" + }, + "124": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPI", + "path": "0" + }, + "125": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "JUMPDEST", + "path": "0" + }, + "126": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "128": { + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "DUP1", + "path": "0" + }, + "129": { + "first_revert": true, + "fn": null, + "offset": [ + 490, + 11850 + ], + "op": "REVERT", + "path": "0" + }, + "130": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "JUMPDEST", + "path": "0" + }, + "131": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "PUSH2", + "path": "0", + "value": "0x95" + }, + "134": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "PUSH2", + "path": "0", + "value": "0x90" + }, + "137": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "138": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "140": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "PUSH2", + "path": "0", + "value": "0x8F4" + }, + "143": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 10077, + 11367 + ], + "op": "JUMP", + "path": "0" + }, + "144": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "JUMPDEST", + "path": "0" + }, + "145": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "PUSH2", + "path": "0", + "value": "0x125" + }, + "148": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 10077, + 11367 + ], + "op": "JUMP", + "path": "0" + }, + "149": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "JUMPDEST", + "path": "0" + }, + "150": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "152": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "MLOAD", + "path": "0" + }, + "153": { + "op": "PUSH1", + "value": "0x1" + }, + "155": { + "op": "PUSH1", + "value": "0x1" + }, + "157": { + "op": "PUSH1", + "value": "0xA0" + }, + "159": { + "op": "SHL" + }, + "160": { + "op": "SUB" + }, + "161": { + "op": "SWAP1" + }, + "162": { + "op": "SWAP2" + }, + "163": { + "op": "AND" + }, + "164": { + "op": "DUP2" + }, + "165": { + "op": "MSTORE" + }, + "166": { + "op": "PUSH1", + "value": "0x20" + }, + "168": { + "op": "ADD" + }, + "169": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "171": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "MLOAD", + "path": "0" + }, + "172": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "DUP1", + "path": "0" + }, + "173": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "SWAP2", + "path": "0" + }, + "174": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "SUB", + "path": "0" + }, + "175": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "SWAP1", + "path": "0" + }, + "176": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "RETURN", + "path": "0" + }, + "177": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "178": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x95" + }, + "181": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "PUSH2", + "path": "0", + "value": "0xBF" + }, + "184": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "185": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "187": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x972" + }, + "190": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 4972, + 6071 + ], + "op": "JUMP", + "path": "0" + }, + "191": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "192": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x294" + }, + "195": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 4972, + 6071 + ], + "op": "JUMP", + "path": "0" + }, + "196": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "JUMPDEST", + "path": "0" + }, + "197": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "PUSH2", + "path": "0", + "value": "0x95" + }, + "200": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "PUSH2", + "path": "0", + "value": "0xD2" + }, + "203": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "204": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "206": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "PUSH2", + "path": "0", + "value": "0x972" + }, + "209": { + "fn": "Admin.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 1843, + 2962 + ], + "op": "JUMP", + "path": "0" + }, + "210": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "JUMPDEST", + "path": "0" + }, + "211": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "PUSH2", + "path": "0", + "value": "0x3F4" + }, + "214": { + "fn": "Admin.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 1843, + 2962 + ], + "op": "JUMP", + "path": "0" + }, + "215": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "JUMPDEST", + "path": "0" + }, + "216": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "PUSH2", + "path": "0", + "value": "0xEA" + }, + "219": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "PUSH2", + "path": "0", + "value": "0xE5" + }, + "222": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "223": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "225": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "PUSH2", + "path": "0", + "value": "0x9D6" + }, + "228": { + "fn": "Admin.addDeployerSelector", + "jump": "i", + "offset": [ + 1283, + 1593 + ], + "op": "JUMP", + "path": "0" + }, + "229": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "JUMPDEST", + "path": "0" + }, + "230": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "PUSH2", + "path": "0", + "value": "0x42B" + }, + "233": { + "fn": "Admin.addDeployerSelector", + "jump": "i", + "offset": [ + 1283, + 1593 + ], + "op": "JUMP", + "path": "0" + }, + "234": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "JUMPDEST", + "path": "0" + }, + "235": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "STOP", + "path": "0" + }, + "236": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "JUMPDEST", + "path": "0" + }, + "237": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "PUSH2", + "path": "0", + "value": "0x95" + }, + "240": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "PUSH2", + "path": "0", + "value": "0xFA" + }, + "243": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "244": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "246": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "PUSH2", + "path": "0", + "value": "0xA1C" + }, + "249": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 8253, + 9669 + ], + "op": "JUMP", + "path": "0" + }, + "250": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "JUMPDEST", + "path": "0" + }, + "251": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "PUSH2", + "path": "0", + "value": "0x500" + }, + "254": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 8253, + 9669 + ], + "op": "JUMP", + "path": "0" + }, + "255": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "JUMPDEST", + "path": "0" + }, + "256": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "PUSH2", + "path": "0", + "value": "0x95" + }, + "259": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "PUSH2", + "path": "0", + "value": "0x10D" + }, + "262": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "263": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "265": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "PUSH2", + "path": "0", + "value": "0x8F4" + }, + "268": { + "fn": "Admin.deploySoulboundCore", + "jump": "i", + "offset": [ + 6470, + 7742 + ], + "op": "JUMP", + "path": "0" + }, + "269": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "JUMPDEST", + "path": "0" + }, + "270": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "PUSH2", + "path": "0", + "value": "0x66C" + }, + "273": { + "fn": "Admin.deploySoulboundCore", + "jump": "i", + "offset": [ + 6470, + 7742 + ], + "op": "JUMP", + "path": "0" + }, + "274": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "JUMPDEST", + "path": "0" + }, + "275": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "PUSH2", + "path": "0", + "value": "0x95" + }, + "278": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "PUSH2", + "path": "0", + "value": "0x120" + }, + "281": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "282": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "284": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "PUSH2", + "path": "0", + "value": "0xAAE" + }, + "287": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 3222, + 4723 + ], + "op": "JUMP", + "path": "0" + }, + "288": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "JUMPDEST", + "path": "0" + }, + "289": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6A3" + }, + "292": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 3222, + 4723 + ], + "op": "JUMP", + "path": "0" + }, + "293": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "JUMPDEST", + "path": "0" + }, + "294": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "296": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "DUP1", + "path": "0" + }, + "297": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "MLOAD", + "path": "0" + }, + "298": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "300": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "DUP2", + "path": "0" + }, + "301": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "MSTORE", + "path": "0" + }, + "302": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "304": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "DUP2", + "path": "0" + }, + "305": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "ADD", + "path": "0" + }, + "306": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "SWAP1", + "path": "0" + }, + "307": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "SWAP2", + "path": "0" + }, + "308": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "MSTORE", + "path": "0" + }, + "309": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "311": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "DUP2", + "path": "0" + }, + "312": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "ADD", + "path": "0" + }, + "313": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "DUP1", + "path": "0" + }, + "314": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "MLOAD", + "path": "0" + }, + "315": { + "op": "PUSH1", + "value": "0x1" + }, + "317": { + "op": "PUSH1", + "value": "0x1" + }, + "319": { + "op": "PUSH1", + "value": "0xE0" + }, + "321": { + "op": "SHL" + }, + "322": { + "op": "SUB" + }, + "323": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "AND", + "path": "0" + }, + "324": { + "op": "PUSH4", + "value": "0x599E19D" + }, + "329": { + "op": "PUSH1", + "value": "0xE1" + }, + "331": { + "op": "SHL" + }, + "332": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "OR", + "path": "0" + }, + "333": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "SWAP1", + "path": "0" + }, + "334": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10361, + 10477 + ], + "op": "MSTORE", + "path": "0" + }, + "335": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10268, + 10275 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "337": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10268, + 10275 + ], + "op": "SWAP1", + "path": "0" + }, + "338": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10268, + 10275 + ], + "op": "DUP2", + "path": "0" + }, + "339": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10268, + 10275 + ], + "op": "SWAP1", + "path": "0" + }, + "340": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10341, + 10487 + ], + "op": "PUSH2", + "path": "0", + "value": "0x15C" + }, + "343": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10341, + 10487 + ], + "op": "SWAP1", + "path": "0" + }, + "344": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10341, + 10487 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB49" + }, + "347": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 10341, + 10487 + ], + "op": "JUMP", + "path": "0" + }, + "348": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10341, + 10487 + ], + "op": "JUMPDEST", + "path": "0" + }, + "349": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10322, + 10487 + ], + "op": "SWAP1", + "path": "0" + }, + "350": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10322, + 10487 + ], + "op": "POP", + "path": "0" + }, + "351": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10573, + 10590 + ], + "op": "PUSH2", + "path": "0", + "statement": 0, + "value": "0x167" + }, + "354": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10580, + 10589 + ], + "op": "DUP2", + "path": "0" + }, + "355": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10573, + 10579 + ], + "op": "PUSH2", + "path": "0", + "value": "0x812" + }, + "358": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 10573, + 10590 + ], + "op": "JUMP", + "path": "0" + }, + "359": { + "branch": 11, + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10573, + 10590 + ], + "op": "JUMPDEST", + "path": "0" + }, + "360": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "PUSH2", + "path": "0", + "value": "0x18C" + }, + "363": { + "branch": 11, + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "JUMPI", + "path": "0" + }, + "364": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "366": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "MLOAD", + "path": "0" + }, + "367": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "371": { + "op": "PUSH1", + "value": "0xE5" + }, + "373": { + "op": "SHL" + }, + "374": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "DUP2", + "path": "0" + }, + "375": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "MSTORE", + "path": "0" + }, + "376": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "378": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "ADD", + "path": "0" + }, + "379": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "382": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "SWAP1", + "path": "0" + }, + "383": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB80" + }, + "386": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 10565, + 10615 + ], + "op": "JUMP", + "path": "0" + }, + "387": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "JUMPDEST", + "path": "0" + }, + "388": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "390": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "MLOAD", + "path": "0" + }, + "391": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "DUP1", + "path": "0" + }, + "392": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "SWAP2", + "path": "0" + }, + "393": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "SUB", + "path": "0" + }, + "394": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "SWAP1", + "path": "0" + }, + "395": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "0" + }, + "396": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10565, + 10615 + ], + "op": "JUMPDEST", + "path": "0" + }, + "397": { + "op": "PUSH1", + "value": "0x1" + }, + "399": { + "op": "PUSH1", + "value": "0x1" + }, + "401": { + "op": "PUSH1", + "value": "0xE0" + }, + "403": { + "op": "SHL" + }, + "404": { + "op": "SUB" + }, + "405": { + "op": "NOT" + }, + "406": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "DUP2", + "path": "0" + }, + "407": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "AND", + "path": "0" + }, + "408": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10695, + 10712 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "410": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "SWAP1", + "path": "0" + }, + "411": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "DUP2", + "path": "0" + }, + "412": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "MSTORE", + "path": "0" + }, + "413": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10732 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1" + }, + "415": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "417": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "MSTORE", + "path": "0" + }, + "418": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "420": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "DUP1", + "path": "0" + }, + "421": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "DUP3", + "path": "0" + }, + "422": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "KECCAK256", + "path": "0" + }, + "423": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "SLOAD", + "path": "0" + }, + "424": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP1", + "path": "0" + }, + "425": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "MLOAD", + "path": "0" + }, + "426": { + "op": "PUSH1", + "value": "0x1" + }, + "428": { + "op": "PUSH1", + "value": "0x1" + }, + "430": { + "op": "PUSH1", + "value": "0xA0" + }, + "432": { + "op": "SHL" + }, + "433": { + "op": "SUB" + }, + "434": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "SWAP1", + "path": "0" + }, + "435": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "SWAP2", + "path": "0" + }, + "436": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "AND", + "path": "0" + }, + "437": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "SWAP2", + "path": "0" + }, + "438": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10695, + 10712 + ], + "op": "SWAP1", + "path": "0" + }, + "439": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10695, + 10712 + ], + "op": "DUP2", + "path": "0" + }, + "440": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10695, + 10712 + ], + "op": "SWAP1", + "path": "0" + }, + "441": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "DUP4", + "path": "0" + }, + "442": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10715, + 10743 + ], + "op": "SWAP1", + "path": "0" + }, + "443": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10733, + 10742 + ], + "op": "DUP6", + "path": "0" + }, + "444": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10733, + 10742 + ], + "op": "SWAP1", + "path": "0" + }, + "445": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1D0" + }, + "448": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP1", + "path": "0" + }, + "449": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10962, + 10967 + ], + "op": "DUP13", + "path": "0" + }, + "450": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10962, + 10967 + ], + "op": "SWAP1", + "path": "0" + }, + "451": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10985, + 10992 + ], + "op": "DUP13", + "path": "0" + }, + "452": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10985, + 10992 + ], + "op": "SWAP1", + "path": "0" + }, + "453": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11010, + 11025 + ], + "op": "DUP13", + "path": "0" + }, + "454": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11010, + 11025 + ], + "op": "SWAP1", + "path": "0" + }, + "455": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11043, + 11055 + ], + "op": "DUP13", + "path": "0" + }, + "456": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11043, + 11055 + ], + "op": "SWAP1", + "path": "0" + }, + "457": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "459": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "ADD", + "path": "0" + }, + "460": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC0A" + }, + "463": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 10895, + 11069 + ], + "op": "JUMP", + "path": "0" + }, + "464": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "JUMPDEST", + "path": "0" + }, + "465": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "467": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "DUP1", + "path": "0" + }, + "468": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "MLOAD", + "path": "0" + }, + "469": { + "op": "PUSH1", + "value": "0x1F" + }, + "471": { + "op": "NOT" + }, + "472": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "DUP2", + "path": "0" + }, + "473": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "DUP5", + "path": "0" + }, + "474": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SUB", + "path": "0" + }, + "475": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "ADD", + "path": "0" + }, + "476": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "DUP2", + "path": "0" + }, + "477": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "MSTORE", + "path": "0" + }, + "478": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP2", + "path": "0" + }, + "479": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "DUP2", + "path": "0" + }, + "480": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "MSTORE", + "path": "0" + }, + "481": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "483": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "DUP3", + "path": "0" + }, + "484": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "ADD", + "path": "0" + }, + "485": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "DUP1", + "path": "0" + }, + "486": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "MLOAD", + "path": "0" + }, + "487": { + "op": "PUSH1", + "value": "0x1" + }, + "489": { + "op": "PUSH1", + "value": "0x1" + }, + "491": { + "op": "PUSH1", + "value": "0xE0" + }, + "493": { + "op": "SHL" + }, + "494": { + "op": "SUB" + }, + "495": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "AND", + "path": "0" + }, + "496": { + "op": "PUSH1", + "value": "0x1" + }, + "498": { + "op": "PUSH1", + "value": "0x1" + }, + "500": { + "op": "PUSH1", + "value": "0xE0" + }, + "502": { + "op": "SHL" + }, + "503": { + "op": "SUB" + }, + "504": { + "op": "NOT" + }, + "505": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP1", + "path": "0" + }, + "506": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP5", + "path": "0" + }, + "507": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "AND", + "path": "0" + }, + "508": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP4", + "path": "0" + }, + "509": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP1", + "path": "0" + }, + "510": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP4", + "path": "0" + }, + "511": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "OR", + "path": "0" + }, + "512": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP1", + "path": "0" + }, + "513": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP3", + "path": "0" + }, + "514": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "MSTORE", + "path": "0" + }, + "515": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "SWAP1", + "path": "0" + }, + "516": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "MLOAD", + "path": "0" + }, + "517": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH2", + "path": "0", + "value": "0x20E" + }, + "520": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "SWAP2", + "path": "0" + }, + "521": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10895, + 11069 + ], + "op": "SWAP1", + "path": "0" + }, + "522": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC4C" + }, + "525": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 10859, + 11079 + ], + "op": "JUMP", + "path": "0" + }, + "526": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "JUMPDEST", + "path": "0" + }, + "527": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "529": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "531": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "MLOAD", + "path": "0" + }, + "532": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP1", + "path": "0" + }, + "533": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP4", + "path": "0" + }, + "534": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "SUB", + "path": "0" + }, + "535": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP2", + "path": "0" + }, + "536": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP6", + "path": "0" + }, + "537": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "GAS", + "path": "0" + }, + "538": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DELEGATECALL", + "path": "0" + }, + "539": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "SWAP2", + "path": "0" + }, + "540": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "POP", + "path": "0" + }, + "541": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "POP", + "path": "0" + }, + "542": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "543": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP1", + "path": "0" + }, + "544": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "546": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP2", + "path": "0" + }, + "547": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "EQ", + "path": "0" + }, + "548": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH2", + "path": "0", + "value": "0x249" + }, + "551": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "JUMPI", + "path": "0" + }, + "552": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "554": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "MLOAD", + "path": "0" + }, + "555": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "SWAP2", + "path": "0" + }, + "556": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "POP", + "path": "0" + }, + "557": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1F" + }, + "559": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "NOT", + "path": "0" + }, + "560": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x3F" + }, + "562": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "563": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "ADD", + "path": "0" + }, + "564": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "AND", + "path": "0" + }, + "565": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP3", + "path": "0" + }, + "566": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "ADD", + "path": "0" + }, + "567": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "569": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "MSTORE", + "path": "0" + }, + "570": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "571": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP3", + "path": "0" + }, + "572": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "MSTORE", + "path": "0" + }, + "573": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "574": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "576": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "578": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "DUP5", + "path": "0" + }, + "579": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "ADD", + "path": "0" + }, + "580": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "RETURNDATACOPY", + "path": "0" + }, + "581": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH2", + "path": "0", + "value": "0x24E" + }, + "584": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "JUMP", + "path": "0" + }, + "585": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "JUMPDEST", + "path": "0" + }, + "586": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "PUSH1", + "path": "0", + "value": "0x60" + }, + "588": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "SWAP2", + "path": "0" + }, + "589": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "POP", + "path": "0" + }, + "590": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "JUMPDEST", + "path": "0" + }, + "591": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10859, + 11079 + ], + "op": "POP", + "path": "0" + }, + "592": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10826, + 11079 + ], + "op": "SWAP2", + "path": "0" + }, + "593": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10826, + 11079 + ], + "op": "POP", + "path": "0" + }, + "594": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10826, + 11079 + ], + "op": "SWAP2", + "path": "0" + }, + "595": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10826, + 11079 + ], + "op": "POP", + "path": "0" + }, + "596": { + "branch": 12, + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11141, + 11145 + ], + "op": "DUP2", + "path": "0", + "statement": 1 + }, + "597": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "PUSH2", + "path": "0", + "value": "0x270" + }, + "600": { + "branch": 12, + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "JUMPI", + "path": "0" + }, + "601": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "603": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "MLOAD", + "path": "0" + }, + "604": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "608": { + "op": "PUSH1", + "value": "0xE5" + }, + "610": { + "op": "SHL" + }, + "611": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "DUP2", + "path": "0" + }, + "612": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "MSTORE", + "path": "0" + }, + "613": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "615": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "ADD", + "path": "0" + }, + "616": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "619": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "SWAP1", + "path": "0" + }, + "620": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC68" + }, + "623": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 11133, + 11170 + ], + "op": "JUMP", + "path": "0" + }, + "624": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11133, + 11170 + ], + "op": "JUMPDEST", + "path": "0" + }, + "625": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11240, + 11264 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "627": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11278, + 11282 + ], + "op": "DUP2", + "path": "0" + }, + "628": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "DUP1", + "path": "0" + }, + "629": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "631": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "ADD", + "path": "0" + }, + "632": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "SWAP1", + "path": "0" + }, + "633": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "MLOAD", + "path": "0" + }, + "634": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "DUP2", + "path": "0" + }, + "635": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "ADD", + "path": "0" + }, + "636": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "SWAP1", + "path": "0" + }, + "637": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "PUSH2", + "path": "0", + "value": "0x286" + }, + "640": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "SWAP2", + "path": "0" + }, + "641": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "SWAP1", + "path": "0" + }, + "642": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC96" + }, + "645": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 11267, + 11294 + ], + "op": "JUMP", + "path": "0" + }, + "646": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11267, + 11294 + ], + "op": "JUMPDEST", + "path": "0" + }, + "647": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 11240, + 11294 + ], + "op": "SWAP11", + "path": "0" + }, + "648": { + "fn": "Admin.deploySoulboundWithSignature", + "offset": [ + 10077, + 11367 + ], + "op": "SWAP10", + "path": "0" + }, + "649": { + "op": "POP" + }, + "650": { + "op": "POP" + }, + "651": { + "op": "POP" + }, + "652": { + "op": "POP" + }, + "653": { + "op": "POP" + }, + "654": { + "op": "POP" + }, + "655": { + "op": "POP" + }, + "656": { + "op": "POP" + }, + "657": { + "op": "POP" + }, + "658": { + "op": "POP" + }, + "659": { + "fn": "Admin.deploySoulboundWithSignature", + "jump": "o", + "offset": [ + 10077, + 11367 + ], + "op": "JUMP", + "path": "0" + }, + "660": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "661": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "663": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "DUP1", + "path": "0" + }, + "664": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "MLOAD", + "path": "0" + }, + "665": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "667": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "DUP2", + "path": "0" + }, + "668": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "MSTORE", + "path": "0" + }, + "669": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "671": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "DUP2", + "path": "0" + }, + "672": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "ADD", + "path": "0" + }, + "673": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "SWAP1", + "path": "0" + }, + "674": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "SWAP2", + "path": "0" + }, + "675": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "MSTORE", + "path": "0" + }, + "676": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "678": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "DUP2", + "path": "0" + }, + "679": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "ADD", + "path": "0" + }, + "680": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "DUP1", + "path": "0" + }, + "681": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "MLOAD", + "path": "0" + }, + "682": { + "op": "PUSH1", + "value": "0x1" + }, + "684": { + "op": "PUSH1", + "value": "0x1" + }, + "686": { + "op": "PUSH1", + "value": "0xE0" + }, + "688": { + "op": "SHL" + }, + "689": { + "op": "SUB" + }, + "690": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "AND", + "path": "0" + }, + "691": { + "op": "PUSH4", + "value": "0x27A31DED" + }, + "696": { + "op": "PUSH1", + "value": "0xE0" + }, + "698": { + "op": "SHL" + }, + "699": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "OR", + "path": "0" + }, + "700": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "SWAP1", + "path": "0" + }, + "701": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5157, + 5244 + ], + "op": "MSTORE", + "path": "0" + }, + "702": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5064, + 5071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "704": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5064, + 5071 + ], + "op": "SWAP1", + "path": "0" + }, + "705": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5064, + 5071 + ], + "op": "DUP2", + "path": "0" + }, + "706": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5064, + 5071 + ], + "op": "SWAP1", + "path": "0" + }, + "707": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5137, + 5254 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2CB" + }, + "710": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5137, + 5254 + ], + "op": "SWAP1", + "path": "0" + }, + "711": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5137, + 5254 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB49" + }, + "714": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 5137, + 5254 + ], + "op": "JUMP", + "path": "0" + }, + "715": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5137, + 5254 + ], + "op": "JUMPDEST", + "path": "0" + }, + "716": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5118, + 5254 + ], + "op": "SWAP1", + "path": "0" + }, + "717": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5118, + 5254 + ], + "op": "POP", + "path": "0" + }, + "718": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5340, + 5357 + ], + "op": "PUSH2", + "path": "0", + "statement": 2, + "value": "0x2D6" + }, + "721": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5347, + 5356 + ], + "op": "DUP2", + "path": "0" + }, + "722": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5340, + 5346 + ], + "op": "PUSH2", + "path": "0", + "value": "0x812" + }, + "725": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 5340, + 5357 + ], + "op": "JUMP", + "path": "0" + }, + "726": { + "branch": 13, + "fn": "Admin.deploySoulbound", + "offset": [ + 5340, + 5357 + ], + "op": "JUMPDEST", + "path": "0" + }, + "727": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2F2" + }, + "730": { + "branch": 13, + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "JUMPI", + "path": "0" + }, + "731": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "733": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "MLOAD", + "path": "0" + }, + "734": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "738": { + "op": "PUSH1", + "value": "0xE5" + }, + "740": { + "op": "SHL" + }, + "741": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "DUP2", + "path": "0" + }, + "742": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "MSTORE", + "path": "0" + }, + "743": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "745": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "ADD", + "path": "0" + }, + "746": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "749": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "SWAP1", + "path": "0" + }, + "750": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB80" + }, + "753": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 5332, + 5382 + ], + "op": "JUMP", + "path": "0" + }, + "754": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5332, + 5382 + ], + "op": "JUMPDEST", + "path": "0" + }, + "755": { + "op": "PUSH1", + "value": "0x1" + }, + "757": { + "op": "PUSH1", + "value": "0x1" + }, + "759": { + "op": "PUSH1", + "value": "0xE0" + }, + "761": { + "op": "SHL" + }, + "762": { + "op": "SUB" + }, + "763": { + "op": "NOT" + }, + "764": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "DUP2", + "path": "0" + }, + "765": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "AND", + "path": "0" + }, + "766": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5462, + 5479 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "768": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "SWAP1", + "path": "0" + }, + "769": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "DUP2", + "path": "0" + }, + "770": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "MSTORE", + "path": "0" + }, + "771": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5499 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1" + }, + "773": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "775": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "MSTORE", + "path": "0" + }, + "776": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "778": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "DUP1", + "path": "0" + }, + "779": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "DUP3", + "path": "0" + }, + "780": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "KECCAK256", + "path": "0" + }, + "781": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "SLOAD", + "path": "0" + }, + "782": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP1", + "path": "0" + }, + "783": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "MLOAD", + "path": "0" + }, + "784": { + "op": "PUSH1", + "value": "0x1" + }, + "786": { + "op": "PUSH1", + "value": "0x1" + }, + "788": { + "op": "PUSH1", + "value": "0xA0" + }, + "790": { + "op": "SHL" + }, + "791": { + "op": "SUB" + }, + "792": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "SWAP1", + "path": "0" + }, + "793": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "SWAP2", + "path": "0" + }, + "794": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "AND", + "path": "0" + }, + "795": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "SWAP2", + "path": "0" + }, + "796": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5462, + 5479 + ], + "op": "SWAP1", + "path": "0" + }, + "797": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5462, + 5479 + ], + "op": "DUP2", + "path": "0" + }, + "798": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5462, + 5479 + ], + "op": "SWAP1", + "path": "0" + }, + "799": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "DUP4", + "path": "0" + }, + "800": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5482, + 5510 + ], + "op": "SWAP1", + "path": "0" + }, + "801": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5500, + 5509 + ], + "op": "DUP6", + "path": "0" + }, + "802": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5500, + 5509 + ], + "op": "SWAP1", + "path": "0" + }, + "803": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "PUSH2", + "path": "0", + "value": "0x332" + }, + "806": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP1", + "path": "0" + }, + "807": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5729, + 5734 + ], + "op": "DUP11", + "path": "0" + }, + "808": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5729, + 5734 + ], + "op": "SWAP1", + "path": "0" + }, + "809": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5752, + 5759 + ], + "op": "DUP11", + "path": "0" + }, + "810": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5752, + 5759 + ], + "op": "SWAP1", + "path": "0" + }, + "811": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "813": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "ADD", + "path": "0" + }, + "814": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "PUSH2", + "path": "0", + "value": "0xCBA" + }, + "817": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 5662, + 5773 + ], + "op": "JUMP", + "path": "0" + }, + "818": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "JUMPDEST", + "path": "0" + }, + "819": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "821": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "DUP1", + "path": "0" + }, + "822": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "MLOAD", + "path": "0" + }, + "823": { + "op": "PUSH1", + "value": "0x1F" + }, + "825": { + "op": "NOT" + }, + "826": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "DUP2", + "path": "0" + }, + "827": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "DUP5", + "path": "0" + }, + "828": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SUB", + "path": "0" + }, + "829": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "ADD", + "path": "0" + }, + "830": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "DUP2", + "path": "0" + }, + "831": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "MSTORE", + "path": "0" + }, + "832": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP2", + "path": "0" + }, + "833": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "DUP2", + "path": "0" + }, + "834": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "MSTORE", + "path": "0" + }, + "835": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "837": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "DUP3", + "path": "0" + }, + "838": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "ADD", + "path": "0" + }, + "839": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "DUP1", + "path": "0" + }, + "840": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "MLOAD", + "path": "0" + }, + "841": { + "op": "PUSH1", + "value": "0x1" + }, + "843": { + "op": "PUSH1", + "value": "0x1" + }, + "845": { + "op": "PUSH1", + "value": "0xE0" + }, + "847": { + "op": "SHL" + }, + "848": { + "op": "SUB" + }, + "849": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "AND", + "path": "0" + }, + "850": { + "op": "PUSH1", + "value": "0x1" + }, + "852": { + "op": "PUSH1", + "value": "0x1" + }, + "854": { + "op": "PUSH1", + "value": "0xE0" + }, + "856": { + "op": "SHL" + }, + "857": { + "op": "SUB" + }, + "858": { + "op": "NOT" + }, + "859": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP1", + "path": "0" + }, + "860": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP5", + "path": "0" + }, + "861": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "AND", + "path": "0" + }, + "862": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP4", + "path": "0" + }, + "863": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP1", + "path": "0" + }, + "864": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP4", + "path": "0" + }, + "865": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "OR", + "path": "0" + }, + "866": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP1", + "path": "0" + }, + "867": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP3", + "path": "0" + }, + "868": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "MSTORE", + "path": "0" + }, + "869": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "SWAP1", + "path": "0" + }, + "870": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "MLOAD", + "path": "0" + }, + "871": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH2", + "path": "0", + "value": "0x370" + }, + "874": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "SWAP2", + "path": "0" + }, + "875": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5662, + 5773 + ], + "op": "SWAP1", + "path": "0" + }, + "876": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC4C" + }, + "879": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 5626, + 5783 + ], + "op": "JUMP", + "path": "0" + }, + "880": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "JUMPDEST", + "path": "0" + }, + "881": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "883": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "885": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "MLOAD", + "path": "0" + }, + "886": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP1", + "path": "0" + }, + "887": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP4", + "path": "0" + }, + "888": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "SUB", + "path": "0" + }, + "889": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP2", + "path": "0" + }, + "890": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP6", + "path": "0" + }, + "891": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "GAS", + "path": "0" + }, + "892": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DELEGATECALL", + "path": "0" + }, + "893": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "SWAP2", + "path": "0" + }, + "894": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "POP", + "path": "0" + }, + "895": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "POP", + "path": "0" + }, + "896": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "897": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP1", + "path": "0" + }, + "898": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "900": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP2", + "path": "0" + }, + "901": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "EQ", + "path": "0" + }, + "902": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH2", + "path": "0", + "value": "0x3AB" + }, + "905": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "JUMPI", + "path": "0" + }, + "906": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "908": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "MLOAD", + "path": "0" + }, + "909": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "SWAP2", + "path": "0" + }, + "910": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "POP", + "path": "0" + }, + "911": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1F" + }, + "913": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "NOT", + "path": "0" + }, + "914": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x3F" + }, + "916": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "917": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "ADD", + "path": "0" + }, + "918": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "AND", + "path": "0" + }, + "919": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP3", + "path": "0" + }, + "920": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "ADD", + "path": "0" + }, + "921": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "923": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "MSTORE", + "path": "0" + }, + "924": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "925": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP3", + "path": "0" + }, + "926": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "MSTORE", + "path": "0" + }, + "927": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "928": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "930": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "932": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "DUP5", + "path": "0" + }, + "933": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "ADD", + "path": "0" + }, + "934": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "RETURNDATACOPY", + "path": "0" + }, + "935": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH2", + "path": "0", + "value": "0x3B0" + }, + "938": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "JUMP", + "path": "0" + }, + "939": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "JUMPDEST", + "path": "0" + }, + "940": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "PUSH1", + "path": "0", + "value": "0x60" + }, + "942": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "SWAP2", + "path": "0" + }, + "943": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "POP", + "path": "0" + }, + "944": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "JUMPDEST", + "path": "0" + }, + "945": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5626, + 5783 + ], + "op": "POP", + "path": "0" + }, + "946": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5593, + 5783 + ], + "op": "SWAP2", + "path": "0" + }, + "947": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5593, + 5783 + ], + "op": "POP", + "path": "0" + }, + "948": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5593, + 5783 + ], + "op": "SWAP2", + "path": "0" + }, + "949": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5593, + 5783 + ], + "op": "POP", + "path": "0" + }, + "950": { + "branch": 14, + "fn": "Admin.deploySoulbound", + "offset": [ + 5845, + 5849 + ], + "op": "DUP2", + "path": "0", + "statement": 3 + }, + "951": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "PUSH2", + "path": "0", + "value": "0x3D2" + }, + "954": { + "branch": 14, + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "JUMPI", + "path": "0" + }, + "955": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "957": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "MLOAD", + "path": "0" + }, + "958": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "962": { + "op": "PUSH1", + "value": "0xE5" + }, + "964": { + "op": "SHL" + }, + "965": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "DUP2", + "path": "0" + }, + "966": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "MSTORE", + "path": "0" + }, + "967": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "969": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "ADD", + "path": "0" + }, + "970": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "973": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "SWAP1", + "path": "0" + }, + "974": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC68" + }, + "977": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 5837, + 5874 + ], + "op": "JUMP", + "path": "0" + }, + "978": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5837, + 5874 + ], + "op": "JUMPDEST", + "path": "0" + }, + "979": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5944, + 5968 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "981": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5982, + 5986 + ], + "op": "DUP2", + "path": "0" + }, + "982": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "DUP1", + "path": "0" + }, + "983": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "985": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "ADD", + "path": "0" + }, + "986": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "SWAP1", + "path": "0" + }, + "987": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "MLOAD", + "path": "0" + }, + "988": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "DUP2", + "path": "0" + }, + "989": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "ADD", + "path": "0" + }, + "990": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "SWAP1", + "path": "0" + }, + "991": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "PUSH2", + "path": "0", + "value": "0x3E8" + }, + "994": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "SWAP2", + "path": "0" + }, + "995": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "SWAP1", + "path": "0" + }, + "996": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC96" + }, + "999": { + "fn": "Admin.deploySoulbound", + "jump": "i", + "offset": [ + 5971, + 5998 + ], + "op": "JUMP", + "path": "0" + }, + "1000": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5971, + 5998 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1001": { + "fn": "Admin.deploySoulbound", + "offset": [ + 5944, + 5998 + ], + "op": "SWAP9", + "path": "0" + }, + "1002": { + "fn": "Admin.deploySoulbound", + "offset": [ + 4972, + 6071 + ], + "op": "SWAP8", + "path": "0" + }, + "1003": { + "op": "POP" + }, + "1004": { + "op": "POP" + }, + "1005": { + "op": "POP" + }, + "1006": { + "op": "POP" + }, + "1007": { + "op": "POP" + }, + "1008": { + "op": "POP" + }, + "1009": { + "op": "POP" + }, + "1010": { + "op": "POP" + }, + "1011": { + "fn": "Admin.deploySoulbound", + "jump": "o", + "offset": [ + 4972, + 6071 + ], + "op": "JUMP", + "path": "0" + }, + "1012": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1843, + 2962 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1013": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1015": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "DUP1", + "path": "0" + }, + "1016": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "MLOAD", + "path": "0" + }, + "1017": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1019": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "DUP2", + "path": "0" + }, + "1020": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "MSTORE", + "path": "0" + }, + "1021": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "1023": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "DUP2", + "path": "0" + }, + "1024": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "ADD", + "path": "0" + }, + "1025": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "SWAP1", + "path": "0" + }, + "1026": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "SWAP2", + "path": "0" + }, + "1027": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "MSTORE", + "path": "0" + }, + "1028": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1030": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "DUP2", + "path": "0" + }, + "1031": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "ADD", + "path": "0" + }, + "1032": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "DUP1", + "path": "0" + }, + "1033": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "MLOAD", + "path": "0" + }, + "1034": { + "op": "PUSH1", + "value": "0x1" + }, + "1036": { + "op": "PUSH1", + "value": "0x1" + }, + "1038": { + "op": "PUSH1", + "value": "0xE0" + }, + "1040": { + "op": "SHL" + }, + "1041": { + "op": "SUB" + }, + "1042": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "AND", + "path": "0" + }, + "1043": { + "op": "PUSH4", + "value": "0x2AB7FABF" + }, + "1048": { + "op": "PUSH1", + "value": "0xE0" + }, + "1050": { + "op": "SHL" + }, + "1051": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "OR", + "path": "0" + }, + "1052": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "SWAP1", + "path": "0" + }, + "1053": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2038, + 2135 + ], + "op": "MSTORE", + "path": "0" + }, + "1054": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1945, + 1952 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1056": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1945, + 1952 + ], + "op": "SWAP1", + "path": "0" + }, + "1057": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1945, + 1952 + ], + "op": "DUP2", + "path": "0" + }, + "1058": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 1945, + 1952 + ], + "op": "SWAP1", + "path": "0" + }, + "1059": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2018, + 2145 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2CB" + }, + "1062": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2018, + 2145 + ], + "op": "SWAP1", + "path": "0" + }, + "1063": { + "fn": "Admin.deployERC721ExtensionCore", + "offset": [ + 2018, + 2145 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB49" + }, + "1066": { + "fn": "Admin.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 2018, + 2145 + ], + "op": "JUMP", + "path": "0" + }, + "1067": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1283, + 1593 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1068": { + "offset": [ + 865, + 870 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1070": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 865, + 870 + ], + "op": "SLOAD", + "path": "0" + }, + "1071": { + "op": "PUSH1", + "value": "0x1" + }, + "1073": { + "op": "PUSH1", + "value": "0x1" + }, + "1075": { + "op": "PUSH1", + "value": "0xA0" + }, + "1077": { + "op": "SHL" + }, + "1078": { + "op": "SUB" + }, + "1079": { + "offset": [ + 865, + 870 + ], + "op": "AND", + "path": "0" + }, + "1080": { + "offset": [ + 851, + 861 + ], + "op": "CALLER", + "path": "0" + }, + "1081": { + "offset": [ + 851, + 870 + ], + "op": "EQ", + "path": "0" + }, + "1082": { + "offset": [ + 843, + 885 + ], + "op": "PUSH2", + "path": "0", + "value": "0x472" + }, + "1085": { + "offset": [ + 843, + 885 + ], + "op": "JUMPI", + "path": "0" + }, + "1086": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 843, + 885 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1088": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 843, + 885 + ], + "op": "MLOAD", + "path": "0" + }, + "1089": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1093": { + "op": "PUSH1", + "value": "0xE5" + }, + "1095": { + "op": "SHL" + }, + "1096": { + "offset": [ + 843, + 885 + ], + "op": "DUP2", + "path": "0" + }, + "1097": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 843, + 885 + ], + "op": "MSTORE", + "path": "0" + }, + "1098": { + "op": "PUSH1", + "value": "0x20" + }, + "1100": { + "offset": [ + 843, + 885 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1102": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 843, + 885 + ], + "op": "DUP3", + "path": "0" + }, + "1103": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 843, + 885 + ], + "op": "ADD", + "path": "0" + }, + "1104": { + "op": "MSTORE" + }, + "1105": { + "op": "PUSH1", + "value": "0xA" + }, + "1107": { + "op": "PUSH1", + "value": "0x24" + }, + "1109": { + "op": "DUP3" + }, + "1110": { + "op": "ADD" + }, + "1111": { + "op": "MSTORE" + }, + "1112": { + "op": "PUSH10", + "value": "0x2737BA1027BBB732B917" + }, + "1123": { + "op": "PUSH1", + "value": "0xB1" + }, + "1125": { + "op": "SHL" + }, + "1126": { + "op": "PUSH1", + "value": "0x44" + }, + "1128": { + "op": "DUP3" + }, + "1129": { + "op": "ADD" + }, + "1130": { + "op": "MSTORE" + }, + "1131": { + "op": "PUSH1", + "value": "0x64" + }, + "1133": { + "op": "ADD" + }, + "1134": { + "offset": [ + 843, + 885 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "1137": { + "op": "JUMP" + }, + "1138": { + "offset": [ + 843, + 885 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1139": { + "op": "PUSH1", + "value": "0x1" + }, + "1141": { + "op": "PUSH1", + "value": "0x1" + }, + "1143": { + "op": "PUSH1", + "value": "0xA0" + }, + "1145": { + "op": "SHL" + }, + "1146": { + "op": "SUB" + }, + "1147": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1450, + 1470 + ], + "op": "DUP3", + "path": "0", + "statement": 4 + }, + "1148": { + "branch": 15, + "fn": "Admin.addDeployerSelector", + "offset": [ + 1450, + 1470 + ], + "op": "AND", + "path": "0" + }, + "1149": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "PUSH2", + "path": "0", + "value": "0x4C8" + }, + "1152": { + "branch": 15, + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "JUMPI", + "path": "0" + }, + "1153": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1155": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "MLOAD", + "path": "0" + }, + "1156": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1160": { + "op": "PUSH1", + "value": "0xE5" + }, + "1162": { + "op": "SHL" + }, + "1163": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "DUP2", + "path": "0" + }, + "1164": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "MSTORE", + "path": "0" + }, + "1165": { + "op": "PUSH1", + "value": "0x20" + }, + "1167": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1169": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "DUP3", + "path": "0" + }, + "1170": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "ADD", + "path": "0" + }, + "1171": { + "op": "MSTORE" + }, + "1172": { + "op": "PUSH1", + "value": "0x1A" + }, + "1174": { + "op": "PUSH1", + "value": "0x24" + }, + "1176": { + "op": "DUP3" + }, + "1177": { + "op": "ADD" + }, + "1178": { + "op": "MSTORE" + }, + "1179": { + "op": "PUSH32", + "value": "0x46616365742053657420546F205A65726F20416464726573732E000000000000" + }, + "1212": { + "op": "PUSH1", + "value": "0x44" + }, + "1214": { + "op": "DUP3" + }, + "1215": { + "op": "ADD" + }, + "1216": { + "op": "MSTORE" + }, + "1217": { + "op": "PUSH1", + "value": "0x64" + }, + "1219": { + "op": "ADD" + }, + "1220": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "1223": { + "op": "JUMP" + }, + "1224": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1442, + 1501 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1225": { + "op": "PUSH1", + "value": "0x1" + }, + "1227": { + "op": "PUSH1", + "value": "0x1" + }, + "1229": { + "op": "PUSH1", + "value": "0xE0" + }, + "1231": { + "op": "SHL" + }, + "1232": { + "op": "SUB" + }, + "1233": { + "op": "NOT" + }, + "1234": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "AND", + "path": "0", + "statement": 5 + }, + "1235": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1237": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "SWAP1", + "path": "0" + }, + "1238": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "DUP2", + "path": "0" + }, + "1239": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "MSTORE", + "path": "0" + }, + "1240": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1566 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1" + }, + "1242": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1244": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "MSTORE", + "path": "0" + }, + "1245": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1247": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "SWAP1", + "path": "0" + }, + "1248": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1577 + ], + "op": "KECCAK256", + "path": "0" + }, + "1249": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "DUP1", + "path": "0" + }, + "1250": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SLOAD", + "path": "0" + }, + "1251": { + "op": "PUSH1", + "value": "0x1" + }, + "1253": { + "op": "PUSH1", + "value": "0x1" + }, + "1255": { + "op": "PUSH1", + "value": "0xA0" + }, + "1257": { + "op": "SHL" + }, + "1258": { + "op": "SUB" + }, + "1259": { + "op": "NOT" + }, + "1260": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "AND", + "path": "0" + }, + "1261": { + "op": "PUSH1", + "value": "0x1" + }, + "1263": { + "op": "PUSH1", + "value": "0x1" + }, + "1265": { + "op": "PUSH1", + "value": "0xA0" + }, + "1267": { + "op": "SHL" + }, + "1268": { + "op": "SUB" + }, + "1269": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SWAP3", + "path": "0" + }, + "1270": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SWAP1", + "path": "0" + }, + "1271": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SWAP3", + "path": "0" + }, + "1272": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "AND", + "path": "0" + }, + "1273": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SWAP2", + "path": "0" + }, + "1274": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SWAP1", + "path": "0" + }, + "1275": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SWAP2", + "path": "0" + }, + "1276": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "OR", + "path": "0" + }, + "1277": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SWAP1", + "path": "0" + }, + "1278": { + "fn": "Admin.addDeployerSelector", + "offset": [ + 1549, + 1586 + ], + "op": "SSTORE", + "path": "0" + }, + "1279": { + "fn": "Admin.addDeployerSelector", + "jump": "o", + "offset": [ + 1283, + 1593 + ], + "op": "JUMP", + "path": "0" + }, + "1280": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1281": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1283": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "DUP1", + "path": "0" + }, + "1284": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "MLOAD", + "path": "0" + }, + "1285": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1287": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "DUP2", + "path": "0" + }, + "1288": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "MSTORE", + "path": "0" + }, + "1289": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "1291": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "DUP2", + "path": "0" + }, + "1292": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "ADD", + "path": "0" + }, + "1293": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "SWAP1", + "path": "0" + }, + "1294": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "SWAP2", + "path": "0" + }, + "1295": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "MSTORE", + "path": "0" + }, + "1296": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1298": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "DUP2", + "path": "0" + }, + "1299": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "ADD", + "path": "0" + }, + "1300": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "DUP1", + "path": "0" + }, + "1301": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "MLOAD", + "path": "0" + }, + "1302": { + "op": "PUSH1", + "value": "0x1" + }, + "1304": { + "op": "PUSH1", + "value": "0x1" + }, + "1306": { + "op": "PUSH1", + "value": "0xE0" + }, + "1308": { + "op": "SHL" + }, + "1309": { + "op": "SUB" + }, + "1310": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "AND", + "path": "0" + }, + "1311": { + "op": "PUSH4", + "value": "0x558C2499" + }, + "1316": { + "op": "PUSH1", + "value": "0xE1" + }, + "1318": { + "op": "SHL" + }, + "1319": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "OR", + "path": "0" + }, + "1320": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "SWAP1", + "path": "0" + }, + "1321": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8592, + 8721 + ], + "op": "MSTORE", + "path": "0" + }, + "1322": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8499, + 8506 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1324": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8499, + 8506 + ], + "op": "SWAP1", + "path": "0" + }, + "1325": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8499, + 8506 + ], + "op": "DUP2", + "path": "0" + }, + "1326": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8499, + 8506 + ], + "op": "SWAP1", + "path": "0" + }, + "1327": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8572, + 8731 + ], + "op": "PUSH2", + "path": "0", + "value": "0x537" + }, + "1330": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8572, + 8731 + ], + "op": "SWAP1", + "path": "0" + }, + "1331": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8572, + 8731 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB49" + }, + "1334": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 8572, + 8731 + ], + "op": "JUMP", + "path": "0" + }, + "1335": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8572, + 8731 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1336": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8553, + 8731 + ], + "op": "SWAP1", + "path": "0" + }, + "1337": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8553, + 8731 + ], + "op": "POP", + "path": "0" + }, + "1338": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8817, + 8834 + ], + "op": "PUSH2", + "path": "0", + "statement": 6, + "value": "0x542" + }, + "1341": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8824, + 8833 + ], + "op": "DUP2", + "path": "0" + }, + "1342": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8817, + 8823 + ], + "op": "PUSH2", + "path": "0", + "value": "0x812" + }, + "1345": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 8817, + 8834 + ], + "op": "JUMP", + "path": "0" + }, + "1346": { + "branch": 16, + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8817, + 8834 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1347": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "PUSH2", + "path": "0", + "value": "0x55E" + }, + "1350": { + "branch": 16, + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "JUMPI", + "path": "0" + }, + "1351": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1353": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "MLOAD", + "path": "0" + }, + "1354": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1358": { + "op": "PUSH1", + "value": "0xE5" + }, + "1360": { + "op": "SHL" + }, + "1361": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "DUP2", + "path": "0" + }, + "1362": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "MSTORE", + "path": "0" + }, + "1363": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1365": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "ADD", + "path": "0" + }, + "1366": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "1369": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "SWAP1", + "path": "0" + }, + "1370": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB80" + }, + "1373": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 8809, + 8859 + ], + "op": "JUMP", + "path": "0" + }, + "1374": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8809, + 8859 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1375": { + "op": "PUSH1", + "value": "0x1" + }, + "1377": { + "op": "PUSH1", + "value": "0x1" + }, + "1379": { + "op": "PUSH1", + "value": "0xE0" + }, + "1381": { + "op": "SHL" + }, + "1382": { + "op": "SUB" + }, + "1383": { + "op": "NOT" + }, + "1384": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "DUP2", + "path": "0" + }, + "1385": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "AND", + "path": "0" + }, + "1386": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8939, + 8956 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1388": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "SWAP1", + "path": "0" + }, + "1389": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "DUP2", + "path": "0" + }, + "1390": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "MSTORE", + "path": "0" + }, + "1391": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8976 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1" + }, + "1393": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1395": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "MSTORE", + "path": "0" + }, + "1396": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1398": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "DUP1", + "path": "0" + }, + "1399": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "DUP3", + "path": "0" + }, + "1400": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "KECCAK256", + "path": "0" + }, + "1401": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "SLOAD", + "path": "0" + }, + "1402": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP1", + "path": "0" + }, + "1403": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "MLOAD", + "path": "0" + }, + "1404": { + "op": "PUSH1", + "value": "0x1" + }, + "1406": { + "op": "PUSH1", + "value": "0x1" + }, + "1408": { + "op": "PUSH1", + "value": "0xA0" + }, + "1410": { + "op": "SHL" + }, + "1411": { + "op": "SUB" + }, + "1412": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "SWAP1", + "path": "0" + }, + "1413": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "SWAP2", + "path": "0" + }, + "1414": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "AND", + "path": "0" + }, + "1415": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "SWAP2", + "path": "0" + }, + "1416": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8939, + 8956 + ], + "op": "SWAP1", + "path": "0" + }, + "1417": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8939, + 8956 + ], + "op": "DUP2", + "path": "0" + }, + "1418": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8939, + 8956 + ], + "op": "SWAP1", + "path": "0" + }, + "1419": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "DUP4", + "path": "0" + }, + "1420": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8959, + 8987 + ], + "op": "SWAP1", + "path": "0" + }, + "1421": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8977, + 8986 + ], + "op": "DUP6", + "path": "0" + }, + "1422": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8977, + 8986 + ], + "op": "SWAP1", + "path": "0" + }, + "1423": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "PUSH2", + "path": "0", + "value": "0x5A6" + }, + "1426": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP1", + "path": "0" + }, + "1427": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9206, + 9211 + ], + "op": "DUP15", + "path": "0" + }, + "1428": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9206, + 9211 + ], + "op": "SWAP1", + "path": "0" + }, + "1429": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9229, + 9236 + ], + "op": "DUP15", + "path": "0" + }, + "1430": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9229, + 9236 + ], + "op": "SWAP1", + "path": "0" + }, + "1431": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9254, + 9269 + ], + "op": "DUP15", + "path": "0" + }, + "1432": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9254, + 9269 + ], + "op": "SWAP1", + "path": "0" + }, + "1433": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9287, + 9299 + ], + "op": "DUP15", + "path": "0" + }, + "1434": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9287, + 9299 + ], + "op": "SWAP1", + "path": "0" + }, + "1435": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9317, + 9328 + ], + "op": "DUP15", + "path": "0" + }, + "1436": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9317, + 9328 + ], + "op": "SWAP1", + "path": "0" + }, + "1437": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9346, + 9357 + ], + "op": "DUP15", + "path": "0" + }, + "1438": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9346, + 9357 + ], + "op": "SWAP1", + "path": "0" + }, + "1439": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "1441": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "ADD", + "path": "0" + }, + "1442": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "PUSH2", + "path": "0", + "value": "0xCE8" + }, + "1445": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 9139, + 9371 + ], + "op": "JUMP", + "path": "0" + }, + "1446": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1447": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1449": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "DUP1", + "path": "0" + }, + "1450": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "MLOAD", + "path": "0" + }, + "1451": { + "op": "PUSH1", + "value": "0x1F" + }, + "1453": { + "op": "NOT" + }, + "1454": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "DUP2", + "path": "0" + }, + "1455": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "DUP5", + "path": "0" + }, + "1456": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SUB", + "path": "0" + }, + "1457": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "ADD", + "path": "0" + }, + "1458": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "DUP2", + "path": "0" + }, + "1459": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "MSTORE", + "path": "0" + }, + "1460": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP2", + "path": "0" + }, + "1461": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "DUP2", + "path": "0" + }, + "1462": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "MSTORE", + "path": "0" + }, + "1463": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1465": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "DUP3", + "path": "0" + }, + "1466": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "ADD", + "path": "0" + }, + "1467": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "DUP1", + "path": "0" + }, + "1468": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "MLOAD", + "path": "0" + }, + "1469": { + "op": "PUSH1", + "value": "0x1" + }, + "1471": { + "op": "PUSH1", + "value": "0x1" + }, + "1473": { + "op": "PUSH1", + "value": "0xE0" + }, + "1475": { + "op": "SHL" + }, + "1476": { + "op": "SUB" + }, + "1477": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "AND", + "path": "0" + }, + "1478": { + "op": "PUSH1", + "value": "0x1" + }, + "1480": { + "op": "PUSH1", + "value": "0x1" + }, + "1482": { + "op": "PUSH1", + "value": "0xE0" + }, + "1484": { + "op": "SHL" + }, + "1485": { + "op": "SUB" + }, + "1486": { + "op": "NOT" + }, + "1487": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP1", + "path": "0" + }, + "1488": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP5", + "path": "0" + }, + "1489": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "AND", + "path": "0" + }, + "1490": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP4", + "path": "0" + }, + "1491": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP1", + "path": "0" + }, + "1492": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP4", + "path": "0" + }, + "1493": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "OR", + "path": "0" + }, + "1494": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP1", + "path": "0" + }, + "1495": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP3", + "path": "0" + }, + "1496": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "MSTORE", + "path": "0" + }, + "1497": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "SWAP1", + "path": "0" + }, + "1498": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "MLOAD", + "path": "0" + }, + "1499": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH2", + "path": "0", + "value": "0x5E4" + }, + "1502": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "SWAP2", + "path": "0" + }, + "1503": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9139, + 9371 + ], + "op": "SWAP1", + "path": "0" + }, + "1504": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC4C" + }, + "1507": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 9103, + 9381 + ], + "op": "JUMP", + "path": "0" + }, + "1508": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1509": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1511": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1513": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "MLOAD", + "path": "0" + }, + "1514": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP1", + "path": "0" + }, + "1515": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP4", + "path": "0" + }, + "1516": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "SUB", + "path": "0" + }, + "1517": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP2", + "path": "0" + }, + "1518": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP6", + "path": "0" + }, + "1519": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "GAS", + "path": "0" + }, + "1520": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DELEGATECALL", + "path": "0" + }, + "1521": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "SWAP2", + "path": "0" + }, + "1522": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "POP", + "path": "0" + }, + "1523": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "POP", + "path": "0" + }, + "1524": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1525": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP1", + "path": "0" + }, + "1526": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1528": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP2", + "path": "0" + }, + "1529": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "EQ", + "path": "0" + }, + "1530": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH2", + "path": "0", + "value": "0x61F" + }, + "1533": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "JUMPI", + "path": "0" + }, + "1534": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1536": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "MLOAD", + "path": "0" + }, + "1537": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "SWAP2", + "path": "0" + }, + "1538": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "POP", + "path": "0" + }, + "1539": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1F" + }, + "1541": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "NOT", + "path": "0" + }, + "1542": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x3F" + }, + "1544": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1545": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "ADD", + "path": "0" + }, + "1546": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "AND", + "path": "0" + }, + "1547": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP3", + "path": "0" + }, + "1548": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "ADD", + "path": "0" + }, + "1549": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1551": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "MSTORE", + "path": "0" + }, + "1552": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1553": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP3", + "path": "0" + }, + "1554": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "MSTORE", + "path": "0" + }, + "1555": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1556": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1558": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1560": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "DUP5", + "path": "0" + }, + "1561": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "ADD", + "path": "0" + }, + "1562": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "RETURNDATACOPY", + "path": "0" + }, + "1563": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH2", + "path": "0", + "value": "0x624" + }, + "1566": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "JUMP", + "path": "0" + }, + "1567": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1568": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "PUSH1", + "path": "0", + "value": "0x60" + }, + "1570": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "SWAP2", + "path": "0" + }, + "1571": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "POP", + "path": "0" + }, + "1572": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1573": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9103, + 9381 + ], + "op": "POP", + "path": "0" + }, + "1574": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9070, + 9381 + ], + "op": "SWAP2", + "path": "0" + }, + "1575": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9070, + 9381 + ], + "op": "POP", + "path": "0" + }, + "1576": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9070, + 9381 + ], + "op": "SWAP2", + "path": "0" + }, + "1577": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9070, + 9381 + ], + "op": "POP", + "path": "0" + }, + "1578": { + "branch": 17, + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9443, + 9447 + ], + "op": "DUP2", + "path": "0", + "statement": 7 + }, + "1579": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "PUSH2", + "path": "0", + "value": "0x646" + }, + "1582": { + "branch": 17, + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "JUMPI", + "path": "0" + }, + "1583": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1585": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "MLOAD", + "path": "0" + }, + "1586": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1590": { + "op": "PUSH1", + "value": "0xE5" + }, + "1592": { + "op": "SHL" + }, + "1593": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "DUP2", + "path": "0" + }, + "1594": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "MSTORE", + "path": "0" + }, + "1595": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1597": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "ADD", + "path": "0" + }, + "1598": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "1601": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "SWAP1", + "path": "0" + }, + "1602": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC68" + }, + "1605": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 9435, + 9472 + ], + "op": "JUMP", + "path": "0" + }, + "1606": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9435, + 9472 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1607": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9542, + 9566 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1609": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9580, + 9584 + ], + "op": "DUP2", + "path": "0" + }, + "1610": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "DUP1", + "path": "0" + }, + "1611": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1613": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "ADD", + "path": "0" + }, + "1614": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "SWAP1", + "path": "0" + }, + "1615": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "MLOAD", + "path": "0" + }, + "1616": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "DUP2", + "path": "0" + }, + "1617": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "ADD", + "path": "0" + }, + "1618": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "SWAP1", + "path": "0" + }, + "1619": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "PUSH2", + "path": "0", + "value": "0x65C" + }, + "1622": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "SWAP2", + "path": "0" + }, + "1623": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "SWAP1", + "path": "0" + }, + "1624": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC96" + }, + "1627": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 9569, + 9596 + ], + "op": "JUMP", + "path": "0" + }, + "1628": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9569, + 9596 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1629": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 9542, + 9596 + ], + "op": "SWAP13", + "path": "0" + }, + "1630": { + "fn": "Admin.deploySoulboundRedeemable", + "offset": [ + 8253, + 9669 + ], + "op": "SWAP12", + "path": "0" + }, + "1631": { + "op": "POP" + }, + "1632": { + "op": "POP" + }, + "1633": { + "op": "POP" + }, + "1634": { + "op": "POP" + }, + "1635": { + "op": "POP" + }, + "1636": { + "op": "POP" + }, + "1637": { + "op": "POP" + }, + "1638": { + "op": "POP" + }, + "1639": { + "op": "POP" + }, + "1640": { + "op": "POP" + }, + "1641": { + "op": "POP" + }, + "1642": { + "op": "POP" + }, + "1643": { + "fn": "Admin.deploySoulboundRedeemable", + "jump": "o", + "offset": [ + 8253, + 9669 + ], + "op": "JUMP", + "path": "0" + }, + "1644": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6470, + 7742 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1645": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1647": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "DUP1", + "path": "0" + }, + "1648": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "MLOAD", + "path": "0" + }, + "1649": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1651": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "DUP2", + "path": "0" + }, + "1652": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "MSTORE", + "path": "0" + }, + "1653": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "1655": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "DUP2", + "path": "0" + }, + "1656": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "ADD", + "path": "0" + }, + "1657": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "SWAP1", + "path": "0" + }, + "1658": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "SWAP2", + "path": "0" + }, + "1659": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "MSTORE", + "path": "0" + }, + "1660": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1662": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "DUP2", + "path": "0" + }, + "1663": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "ADD", + "path": "0" + }, + "1664": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "DUP1", + "path": "0" + }, + "1665": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "MLOAD", + "path": "0" + }, + "1666": { + "op": "PUSH1", + "value": "0x1" + }, + "1668": { + "op": "PUSH1", + "value": "0x1" + }, + "1670": { + "op": "PUSH1", + "value": "0xE0" + }, + "1672": { + "op": "SHL" + }, + "1673": { + "op": "SUB" + }, + "1674": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "AND", + "path": "0" + }, + "1675": { + "op": "PUSH4", + "value": "0xD415217" + }, + "1680": { + "op": "PUSH1", + "value": "0xE4" + }, + "1682": { + "op": "SHL" + }, + "1683": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "OR", + "path": "0" + }, + "1684": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "SWAP1", + "path": "0" + }, + "1685": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6745, + 6852 + ], + "op": "MSTORE", + "path": "0" + }, + "1686": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6652, + 6659 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1688": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6652, + 6659 + ], + "op": "SWAP1", + "path": "0" + }, + "1689": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6652, + 6659 + ], + "op": "DUP2", + "path": "0" + }, + "1690": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6652, + 6659 + ], + "op": "SWAP1", + "path": "0" + }, + "1691": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6725, + 6862 + ], + "op": "PUSH2", + "path": "0", + "value": "0x15C" + }, + "1694": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6725, + 6862 + ], + "op": "SWAP1", + "path": "0" + }, + "1695": { + "fn": "Admin.deploySoulboundCore", + "offset": [ + 6725, + 6862 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB49" + }, + "1698": { + "fn": "Admin.deploySoulboundCore", + "jump": "i", + "offset": [ + 6725, + 6862 + ], + "op": "JUMP", + "path": "0" + }, + "1699": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1700": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1702": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "DUP1", + "path": "0" + }, + "1703": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "MLOAD", + "path": "0" + }, + "1704": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1706": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "DUP2", + "path": "0" + }, + "1707": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "MSTORE", + "path": "0" + }, + "1708": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "1710": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "DUP2", + "path": "0" + }, + "1711": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "ADD", + "path": "0" + }, + "1712": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "SWAP1", + "path": "0" + }, + "1713": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "SWAP2", + "path": "0" + }, + "1714": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "MSTORE", + "path": "0" + }, + "1715": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1717": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "DUP2", + "path": "0" + }, + "1718": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "ADD", + "path": "0" + }, + "1719": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "DUP1", + "path": "0" + }, + "1720": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "MLOAD", + "path": "0" + }, + "1721": { + "op": "PUSH1", + "value": "0x1" + }, + "1723": { + "op": "PUSH1", + "value": "0x1" + }, + "1725": { + "op": "PUSH1", + "value": "0xE0" + }, + "1727": { + "op": "SHL" + }, + "1728": { + "op": "SUB" + }, + "1729": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "AND", + "path": "0" + }, + "1730": { + "op": "PUSH4", + "value": "0x748C0EC9" + }, + "1735": { + "op": "PUSH1", + "value": "0xE1" + }, + "1737": { + "op": "SHL" + }, + "1738": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "OR", + "path": "0" + }, + "1739": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "SWAP1", + "path": "0" + }, + "1740": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3599, + 3741 + ], + "op": "MSTORE", + "path": "0" + }, + "1741": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3506, + 3513 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1743": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3506, + 3513 + ], + "op": "SWAP1", + "path": "0" + }, + "1744": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3506, + 3513 + ], + "op": "DUP2", + "path": "0" + }, + "1745": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3506, + 3513 + ], + "op": "SWAP1", + "path": "0" + }, + "1746": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3579, + 3751 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6DA" + }, + "1749": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3579, + 3751 + ], + "op": "SWAP1", + "path": "0" + }, + "1750": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3579, + 3751 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB49" + }, + "1753": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 3579, + 3751 + ], + "op": "JUMP", + "path": "0" + }, + "1754": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3579, + 3751 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1755": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3560, + 3751 + ], + "op": "SWAP1", + "path": "0" + }, + "1756": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3560, + 3751 + ], + "op": "POP", + "path": "0" + }, + "1757": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3837, + 3854 + ], + "op": "PUSH2", + "path": "0", + "statement": 8, + "value": "0x6E5" + }, + "1760": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3844, + 3853 + ], + "op": "DUP2", + "path": "0" + }, + "1761": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3837, + 3843 + ], + "op": "PUSH2", + "path": "0", + "value": "0x812" + }, + "1764": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 3837, + 3854 + ], + "op": "JUMP", + "path": "0" + }, + "1765": { + "branch": 18, + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3837, + 3854 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1766": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "PUSH2", + "path": "0", + "value": "0x701" + }, + "1769": { + "branch": 18, + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "JUMPI", + "path": "0" + }, + "1770": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1772": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "MLOAD", + "path": "0" + }, + "1773": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1777": { + "op": "PUSH1", + "value": "0xE5" + }, + "1779": { + "op": "SHL" + }, + "1780": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "DUP2", + "path": "0" + }, + "1781": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "MSTORE", + "path": "0" + }, + "1782": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1784": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "ADD", + "path": "0" + }, + "1785": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "1788": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "SWAP1", + "path": "0" + }, + "1789": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB80" + }, + "1792": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 3829, + 3879 + ], + "op": "JUMP", + "path": "0" + }, + "1793": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3829, + 3879 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1794": { + "op": "PUSH1", + "value": "0x1" + }, + "1796": { + "op": "PUSH1", + "value": "0x1" + }, + "1798": { + "op": "PUSH1", + "value": "0xE0" + }, + "1800": { + "op": "SHL" + }, + "1801": { + "op": "SUB" + }, + "1802": { + "op": "NOT" + }, + "1803": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "DUP2", + "path": "0" + }, + "1804": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "AND", + "path": "0" + }, + "1805": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3959, + 3976 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1807": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "SWAP1", + "path": "0" + }, + "1808": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "DUP2", + "path": "0" + }, + "1809": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "MSTORE", + "path": "0" + }, + "1810": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 3996 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1" + }, + "1812": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1814": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "MSTORE", + "path": "0" + }, + "1815": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1817": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "DUP1", + "path": "0" + }, + "1818": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "DUP3", + "path": "0" + }, + "1819": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "KECCAK256", + "path": "0" + }, + "1820": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "SLOAD", + "path": "0" + }, + "1821": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP1", + "path": "0" + }, + "1822": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "MLOAD", + "path": "0" + }, + "1823": { + "op": "PUSH1", + "value": "0x1" + }, + "1825": { + "op": "PUSH1", + "value": "0x1" + }, + "1827": { + "op": "PUSH1", + "value": "0xA0" + }, + "1829": { + "op": "SHL" + }, + "1830": { + "op": "SUB" + }, + "1831": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "SWAP1", + "path": "0" + }, + "1832": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "SWAP2", + "path": "0" + }, + "1833": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "AND", + "path": "0" + }, + "1834": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "SWAP2", + "path": "0" + }, + "1835": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3959, + 3976 + ], + "op": "SWAP1", + "path": "0" + }, + "1836": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3959, + 3976 + ], + "op": "DUP2", + "path": "0" + }, + "1837": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3959, + 3976 + ], + "op": "SWAP1", + "path": "0" + }, + "1838": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "DUP4", + "path": "0" + }, + "1839": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3979, + 4007 + ], + "op": "SWAP1", + "path": "0" + }, + "1840": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3997, + 4006 + ], + "op": "DUP6", + "path": "0" + }, + "1841": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3997, + 4006 + ], + "op": "SWAP1", + "path": "0" + }, + "1842": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "PUSH2", + "path": "0", + "value": "0x74B" + }, + "1845": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP1", + "path": "0" + }, + "1846": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4226, + 4231 + ], + "op": "DUP16", + "path": "0" + }, + "1847": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4226, + 4231 + ], + "op": "SWAP1", + "path": "0" + }, + "1848": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4250, + 4257 + ], + "op": "DUP16", + "path": "0" + }, + "1849": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4250, + 4257 + ], + "op": "SWAP1", + "path": "0" + }, + "1850": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4275, + 4287 + ], + "op": "DUP16", + "path": "0" + }, + "1851": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4275, + 4287 + ], + "op": "SWAP1", + "path": "0" + }, + "1852": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4305, + 4315 + ], + "op": "DUP16", + "path": "0" + }, + "1853": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4305, + 4315 + ], + "op": "SWAP1", + "path": "0" + }, + "1854": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4333, + 4345 + ], + "op": "DUP16", + "path": "0" + }, + "1855": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4333, + 4345 + ], + "op": "SWAP1", + "path": "0" + }, + "1856": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4363, + 4376 + ], + "op": "DUP16", + "path": "0" + }, + "1857": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4363, + 4376 + ], + "op": "SWAP1", + "path": "0" + }, + "1858": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4394, + 4411 + ], + "op": "DUP16", + "path": "0" + }, + "1859": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4394, + 4411 + ], + "op": "SWAP1", + "path": "0" + }, + "1860": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "PUSH1", + "path": "0", + "value": "0x24" + }, + "1862": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "ADD", + "path": "0" + }, + "1863": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "PUSH2", + "path": "0", + "value": "0xD3C" + }, + "1866": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 4159, + 4425 + ], + "op": "JUMP", + "path": "0" + }, + "1867": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1868": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1870": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "DUP1", + "path": "0" + }, + "1871": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "MLOAD", + "path": "0" + }, + "1872": { + "op": "PUSH1", + "value": "0x1F" + }, + "1874": { + "op": "NOT" + }, + "1875": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "DUP2", + "path": "0" + }, + "1876": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "DUP5", + "path": "0" + }, + "1877": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SUB", + "path": "0" + }, + "1878": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "ADD", + "path": "0" + }, + "1879": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "DUP2", + "path": "0" + }, + "1880": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "MSTORE", + "path": "0" + }, + "1881": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP2", + "path": "0" + }, + "1882": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "DUP2", + "path": "0" + }, + "1883": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "MSTORE", + "path": "0" + }, + "1884": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1886": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "DUP3", + "path": "0" + }, + "1887": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "ADD", + "path": "0" + }, + "1888": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "DUP1", + "path": "0" + }, + "1889": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "MLOAD", + "path": "0" + }, + "1890": { + "op": "PUSH1", + "value": "0x1" + }, + "1892": { + "op": "PUSH1", + "value": "0x1" + }, + "1894": { + "op": "PUSH1", + "value": "0xE0" + }, + "1896": { + "op": "SHL" + }, + "1897": { + "op": "SUB" + }, + "1898": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "AND", + "path": "0" + }, + "1899": { + "op": "PUSH1", + "value": "0x1" + }, + "1901": { + "op": "PUSH1", + "value": "0x1" + }, + "1903": { + "op": "PUSH1", + "value": "0xE0" + }, + "1905": { + "op": "SHL" + }, + "1906": { + "op": "SUB" + }, + "1907": { + "op": "NOT" + }, + "1908": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP1", + "path": "0" + }, + "1909": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP5", + "path": "0" + }, + "1910": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "AND", + "path": "0" + }, + "1911": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP4", + "path": "0" + }, + "1912": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP1", + "path": "0" + }, + "1913": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP4", + "path": "0" + }, + "1914": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "OR", + "path": "0" + }, + "1915": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP1", + "path": "0" + }, + "1916": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP3", + "path": "0" + }, + "1917": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "MSTORE", + "path": "0" + }, + "1918": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "SWAP1", + "path": "0" + }, + "1919": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "MLOAD", + "path": "0" + }, + "1920": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH2", + "path": "0", + "value": "0x789" + }, + "1923": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "SWAP2", + "path": "0" + }, + "1924": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4159, + 4425 + ], + "op": "SWAP1", + "path": "0" + }, + "1925": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC4C" + }, + "1928": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 4123, + 4435 + ], + "op": "JUMP", + "path": "0" + }, + "1929": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1930": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1932": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1934": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "MLOAD", + "path": "0" + }, + "1935": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP1", + "path": "0" + }, + "1936": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP4", + "path": "0" + }, + "1937": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "SUB", + "path": "0" + }, + "1938": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP2", + "path": "0" + }, + "1939": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP6", + "path": "0" + }, + "1940": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "GAS", + "path": "0" + }, + "1941": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DELEGATECALL", + "path": "0" + }, + "1942": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "SWAP2", + "path": "0" + }, + "1943": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "POP", + "path": "0" + }, + "1944": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "POP", + "path": "0" + }, + "1945": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1946": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP1", + "path": "0" + }, + "1947": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1949": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP2", + "path": "0" + }, + "1950": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "EQ", + "path": "0" + }, + "1951": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7C4" + }, + "1954": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "JUMPI", + "path": "0" + }, + "1955": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1957": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "MLOAD", + "path": "0" + }, + "1958": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "SWAP2", + "path": "0" + }, + "1959": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "POP", + "path": "0" + }, + "1960": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1F" + }, + "1962": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "NOT", + "path": "0" + }, + "1963": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x3F" + }, + "1965": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1966": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "ADD", + "path": "0" + }, + "1967": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "AND", + "path": "0" + }, + "1968": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP3", + "path": "0" + }, + "1969": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "ADD", + "path": "0" + }, + "1970": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1972": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "MSTORE", + "path": "0" + }, + "1973": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1974": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP3", + "path": "0" + }, + "1975": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "MSTORE", + "path": "0" + }, + "1976": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "RETURNDATASIZE", + "path": "0" + }, + "1977": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1979": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "1981": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "DUP5", + "path": "0" + }, + "1982": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "ADD", + "path": "0" + }, + "1983": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "RETURNDATACOPY", + "path": "0" + }, + "1984": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7C9" + }, + "1987": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "JUMP", + "path": "0" + }, + "1988": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1989": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "PUSH1", + "path": "0", + "value": "0x60" + }, + "1991": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "SWAP2", + "path": "0" + }, + "1992": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "POP", + "path": "0" + }, + "1993": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1994": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4123, + 4435 + ], + "op": "POP", + "path": "0" + }, + "1995": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4090, + 4435 + ], + "op": "SWAP2", + "path": "0" + }, + "1996": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4090, + 4435 + ], + "op": "POP", + "path": "0" + }, + "1997": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4090, + 4435 + ], + "op": "SWAP2", + "path": "0" + }, + "1998": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4090, + 4435 + ], + "op": "POP", + "path": "0" + }, + "1999": { + "branch": 19, + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4497, + 4501 + ], + "op": "DUP2", + "path": "0", + "statement": 9 + }, + "2000": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7EB" + }, + "2003": { + "branch": 19, + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "JUMPI", + "path": "0" + }, + "2004": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2006": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "MLOAD", + "path": "0" + }, + "2007": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2011": { + "op": "PUSH1", + "value": "0xE5" + }, + "2013": { + "op": "SHL" + }, + "2014": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "DUP2", + "path": "0" + }, + "2015": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "MSTORE", + "path": "0" + }, + "2016": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2018": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "ADD", + "path": "0" + }, + "2019": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "PUSH2", + "path": "0", + "value": "0x183" + }, + "2022": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "SWAP1", + "path": "0" + }, + "2023": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC68" + }, + "2026": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 4489, + 4526 + ], + "op": "JUMP", + "path": "0" + }, + "2027": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4489, + 4526 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2028": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4596, + 4620 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "2030": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4634, + 4638 + ], + "op": "DUP2", + "path": "0" + }, + "2031": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "DUP1", + "path": "0" + }, + "2032": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "2034": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "ADD", + "path": "0" + }, + "2035": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "SWAP1", + "path": "0" + }, + "2036": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "MLOAD", + "path": "0" + }, + "2037": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "DUP2", + "path": "0" + }, + "2038": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "ADD", + "path": "0" + }, + "2039": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "SWAP1", + "path": "0" + }, + "2040": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "PUSH2", + "path": "0", + "value": "0x801" + }, + "2043": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "SWAP2", + "path": "0" + }, + "2044": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "SWAP1", + "path": "0" + }, + "2045": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC96" + }, + "2048": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 4623, + 4650 + ], + "op": "JUMP", + "path": "0" + }, + "2049": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4623, + 4650 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2050": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 4596, + 4650 + ], + "op": "SWAP14", + "path": "0" + }, + "2051": { + "fn": "Admin.deployERC721ExtensionSignature", + "offset": [ + 3222, + 4723 + ], + "op": "SWAP13", + "path": "0" + }, + "2052": { + "op": "POP" + }, + "2053": { + "op": "POP" + }, + "2054": { + "op": "POP" + }, + "2055": { + "op": "POP" + }, + "2056": { + "op": "POP" + }, + "2057": { + "op": "POP" + }, + "2058": { + "op": "POP" + }, + "2059": { + "op": "POP" + }, + "2060": { + "op": "POP" + }, + "2061": { + "op": "POP" + }, + "2062": { + "op": "POP" + }, + "2063": { + "op": "POP" + }, + "2064": { + "op": "POP" + }, + "2065": { + "fn": "Admin.deployERC721ExtensionSignature", + "jump": "o", + "offset": [ + 3222, + 4723 + ], + "op": "JUMP", + "path": "0" + }, + "2066": { + "fn": "Admin.exists", + "offset": [ + 11572, + 11848 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2067": { + "op": "PUSH1", + "value": "0x1" + }, + "2069": { + "op": "PUSH1", + "value": "0x1" + }, + "2071": { + "op": "PUSH1", + "value": "0xE0" + }, + "2073": { + "op": "SHL" + }, + "2074": { + "op": "SUB" + }, + "2075": { + "op": "NOT" + }, + "2076": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "AND", + "path": "0", + "statement": 10 + }, + "2077": { + "fn": "Admin.exists", + "offset": [ + 11620, + 11624 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "2079": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "SWAP1", + "path": "0" + }, + "2080": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "DUP2", + "path": "0" + }, + "2081": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "MSTORE", + "path": "0" + }, + "2082": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11823 + ], + "op": "PUSH1", + "path": "0", + "value": "0x1" + }, + "2084": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "PUSH1", + "path": "0", + "value": "0x20" + }, + "2086": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "MSTORE", + "path": "0" + }, + "2087": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2089": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "SWAP1", + "path": "0" + }, + "2090": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "KECCAK256", + "path": "0" + }, + "2091": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "SLOAD", + "path": "0" + }, + "2092": { + "op": "PUSH1", + "value": "0x1" + }, + "2094": { + "op": "PUSH1", + "value": "0x1" + }, + "2096": { + "op": "PUSH1", + "value": "0xA0" + }, + "2098": { + "op": "SHL" + }, + "2099": { + "op": "SUB" + }, + "2100": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11827 + ], + "op": "AND", + "path": "0" + }, + "2101": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11841 + ], + "op": "ISZERO", + "path": "0" + }, + "2102": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11841 + ], + "op": "ISZERO", + "path": "0" + }, + "2103": { + "fn": "Admin.exists", + "offset": [ + 11806, + 11841 + ], + "op": "SWAP1", + "path": "0" + }, + "2104": { + "fn": "Admin.exists", + "jump": "o", + "offset": [ + 11572, + 11848 + ], + "op": "JUMP", + "path": "0" + }, + "2105": { + "op": "JUMPDEST" + }, + "2106": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "2111": { + "op": "PUSH1", + "value": "0xE0" + }, + "2113": { + "op": "SHL" + }, + "2114": { + "op": "PUSH1", + "value": "0x0" + }, + "2116": { + "op": "MSTORE" + }, + "2117": { + "op": "PUSH1", + "value": "0x41" + }, + "2119": { + "op": "PUSH1", + "value": "0x4" + }, + "2121": { + "op": "MSTORE" + }, + "2122": { + "op": "PUSH1", + "value": "0x24" + }, + "2124": { + "op": "PUSH1", + "value": "0x0" + }, + "2126": { + "op": "REVERT" + }, + "2127": { + "op": "JUMPDEST" + }, + "2128": { + "op": "PUSH1", + "value": "0x0" + }, + "2130": { + "op": "DUP3" + }, + "2131": { + "op": "PUSH1", + "value": "0x1F" + }, + "2133": { + "op": "DUP4" + }, + "2134": { + "op": "ADD" + }, + "2135": { + "op": "SLT" + }, + "2136": { + "op": "PUSH2", + "value": "0x860" + }, + "2139": { + "op": "JUMPI" + }, + "2140": { + "op": "PUSH1", + "value": "0x0" + }, + "2142": { + "op": "DUP1" + }, + "2143": { + "op": "REVERT" + }, + "2144": { + "op": "JUMPDEST" + }, + "2145": { + "op": "DUP2" + }, + "2146": { + "op": "CALLDATALOAD" + }, + "2147": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2156": { + "op": "DUP1" + }, + "2157": { + "op": "DUP3" + }, + "2158": { + "op": "GT" + }, + "2159": { + "op": "ISZERO" + }, + "2160": { + "op": "PUSH2", + "value": "0x87B" + }, + "2163": { + "op": "JUMPI" + }, + "2164": { + "op": "PUSH2", + "value": "0x87B" + }, + "2167": { + "op": "PUSH2", + "value": "0x839" + }, + "2170": { + "jump": "i", + "op": "JUMP" + }, + "2171": { + "op": "JUMPDEST" + }, + "2172": { + "op": "PUSH1", + "value": "0x40" + }, + "2174": { + "op": "MLOAD" + }, + "2175": { + "op": "PUSH1", + "value": "0x1F" + }, + "2177": { + "op": "DUP4" + }, + "2178": { + "op": "ADD" + }, + "2179": { + "op": "PUSH1", + "value": "0x1F" + }, + "2181": { + "op": "NOT" + }, + "2182": { + "op": "SWAP1" + }, + "2183": { + "op": "DUP2" + }, + "2184": { + "op": "AND" + }, + "2185": { + "op": "PUSH1", + "value": "0x3F" + }, + "2187": { + "op": "ADD" + }, + "2188": { + "op": "AND" + }, + "2189": { + "op": "DUP2" + }, + "2190": { + "op": "ADD" + }, + "2191": { + "op": "SWAP1" + }, + "2192": { + "op": "DUP3" + }, + "2193": { + "op": "DUP3" + }, + "2194": { + "op": "GT" + }, + "2195": { + "op": "DUP2" + }, + "2196": { + "op": "DUP4" + }, + "2197": { + "op": "LT" + }, + "2198": { + "op": "OR" + }, + "2199": { + "op": "ISZERO" + }, + "2200": { + "op": "PUSH2", + "value": "0x8A3" + }, + "2203": { + "op": "JUMPI" + }, + "2204": { + "op": "PUSH2", + "value": "0x8A3" + }, + "2207": { + "op": "PUSH2", + "value": "0x839" + }, + "2210": { + "jump": "i", + "op": "JUMP" + }, + "2211": { + "op": "JUMPDEST" + }, + "2212": { + "op": "DUP2" + }, + "2213": { + "op": "PUSH1", + "value": "0x40" + }, + "2215": { + "op": "MSTORE" + }, + "2216": { + "op": "DUP4" + }, + "2217": { + "op": "DUP2" + }, + "2218": { + "op": "MSTORE" + }, + "2219": { + "op": "DUP7" + }, + "2220": { + "op": "PUSH1", + "value": "0x20" + }, + "2222": { + "op": "DUP6" + }, + "2223": { + "op": "DUP9" + }, + "2224": { + "op": "ADD" + }, + "2225": { + "op": "ADD" + }, + "2226": { + "op": "GT" + }, + "2227": { + "op": "ISZERO" + }, + "2228": { + "op": "PUSH2", + "value": "0x8BC" + }, + "2231": { + "op": "JUMPI" + }, + "2232": { + "op": "PUSH1", + "value": "0x0" + }, + "2234": { + "op": "DUP1" + }, + "2235": { + "op": "REVERT" + }, + "2236": { + "op": "JUMPDEST" + }, + "2237": { + "op": "DUP4" + }, + "2238": { + "op": "PUSH1", + "value": "0x20" + }, + "2240": { + "op": "DUP8" + }, + "2241": { + "op": "ADD" + }, + "2242": { + "op": "PUSH1", + "value": "0x20" + }, + "2244": { + "op": "DUP4" + }, + "2245": { + "op": "ADD" + }, + "2246": { + "op": "CALLDATACOPY" + }, + "2247": { + "op": "PUSH1", + "value": "0x0" + }, + "2249": { + "op": "PUSH1", + "value": "0x20" + }, + "2251": { + "op": "DUP6" + }, + "2252": { + "op": "DUP4" + }, + "2253": { + "op": "ADD" + }, + "2254": { + "op": "ADD" + }, + "2255": { + "op": "MSTORE" + }, + "2256": { + "op": "DUP1" + }, + "2257": { + "op": "SWAP5" + }, + "2258": { + "op": "POP" + }, + "2259": { + "op": "POP" + }, + "2260": { + "op": "POP" + }, + "2261": { + "op": "POP" + }, + "2262": { + "op": "POP" + }, + "2263": { + "op": "SWAP3" + }, + "2264": { + "op": "SWAP2" + }, + "2265": { + "op": "POP" + }, + "2266": { + "op": "POP" + }, + "2267": { + "jump": "o", + "op": "JUMP" + }, + "2268": { + "op": "JUMPDEST" + }, + "2269": { + "op": "PUSH1", + "value": "0x1" + }, + "2271": { + "op": "PUSH1", + "value": "0x1" + }, + "2273": { + "op": "PUSH1", + "value": "0xA0" + }, + "2275": { + "op": "SHL" + }, + "2276": { + "op": "SUB" + }, + "2277": { + "op": "DUP2" + }, + "2278": { + "op": "AND" + }, + "2279": { + "op": "DUP2" + }, + "2280": { + "op": "EQ" + }, + "2281": { + "op": "PUSH2", + "value": "0x8F1" + }, + "2284": { + "op": "JUMPI" + }, + "2285": { + "op": "PUSH1", + "value": "0x0" + }, + "2287": { + "op": "DUP1" + }, + "2288": { + "op": "REVERT" + }, + "2289": { + "op": "JUMPDEST" + }, + "2290": { + "op": "POP" + }, + "2291": { + "jump": "o", + "op": "JUMP" + }, + "2292": { + "op": "JUMPDEST" + }, + "2293": { + "op": "PUSH1", + "value": "0x0" + }, + "2295": { + "op": "DUP1" + }, + "2296": { + "op": "PUSH1", + "value": "0x0" + }, + "2298": { + "op": "DUP1" + }, + "2299": { + "op": "PUSH1", + "value": "0x80" + }, + "2301": { + "op": "DUP6" + }, + "2302": { + "op": "DUP8" + }, + "2303": { + "op": "SUB" + }, + "2304": { + "op": "SLT" + }, + "2305": { + "op": "ISZERO" + }, + "2306": { + "op": "PUSH2", + "value": "0x90A" + }, + "2309": { + "op": "JUMPI" + }, + "2310": { + "op": "PUSH1", + "value": "0x0" + }, + "2312": { + "op": "DUP1" + }, + "2313": { + "op": "REVERT" + }, + "2314": { + "op": "JUMPDEST" + }, + "2315": { + "op": "DUP5" + }, + "2316": { + "op": "CALLDATALOAD" + }, + "2317": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2326": { + "op": "DUP1" + }, + "2327": { + "op": "DUP3" + }, + "2328": { + "op": "GT" + }, + "2329": { + "op": "ISZERO" + }, + "2330": { + "op": "PUSH2", + "value": "0x922" + }, + "2333": { + "op": "JUMPI" + }, + "2334": { + "op": "PUSH1", + "value": "0x0" + }, + "2336": { + "op": "DUP1" + }, + "2337": { + "op": "REVERT" + }, + "2338": { + "op": "JUMPDEST" + }, + "2339": { + "op": "PUSH2", + "value": "0x92E" + }, + "2342": { + "op": "DUP9" + }, + "2343": { + "op": "DUP4" + }, + "2344": { + "op": "DUP10" + }, + "2345": { + "op": "ADD" + }, + "2346": { + "op": "PUSH2", + "value": "0x84F" + }, + "2349": { + "jump": "i", + "op": "JUMP" + }, + "2350": { + "op": "JUMPDEST" + }, + "2351": { + "op": "SWAP6" + }, + "2352": { + "op": "POP" + }, + "2353": { + "op": "PUSH1", + "value": "0x20" + }, + "2355": { + "op": "DUP8" + }, + "2356": { + "op": "ADD" + }, + "2357": { + "op": "CALLDATALOAD" + }, + "2358": { + "op": "SWAP2" + }, + "2359": { + "op": "POP" + }, + "2360": { + "op": "DUP1" + }, + "2361": { + "op": "DUP3" + }, + "2362": { + "op": "GT" + }, + "2363": { + "op": "ISZERO" + }, + "2364": { + "op": "PUSH2", + "value": "0x944" + }, + "2367": { + "op": "JUMPI" + }, + "2368": { + "op": "PUSH1", + "value": "0x0" + }, + "2370": { + "op": "DUP1" + }, + "2371": { + "op": "REVERT" + }, + "2372": { + "op": "JUMPDEST" + }, + "2373": { + "op": "POP" + }, + "2374": { + "op": "PUSH2", + "value": "0x951" + }, + "2377": { + "op": "DUP8" + }, + "2378": { + "op": "DUP3" + }, + "2379": { + "op": "DUP9" + }, + "2380": { + "op": "ADD" + }, + "2381": { + "op": "PUSH2", + "value": "0x84F" + }, + "2384": { + "jump": "i", + "op": "JUMP" + }, + "2385": { + "op": "JUMPDEST" + }, + "2386": { + "op": "SWAP4" + }, + "2387": { + "op": "POP" + }, + "2388": { + "op": "POP" + }, + "2389": { + "op": "PUSH1", + "value": "0x40" + }, + "2391": { + "op": "DUP6" + }, + "2392": { + "op": "ADD" + }, + "2393": { + "op": "CALLDATALOAD" + }, + "2394": { + "op": "PUSH2", + "value": "0x962" + }, + "2397": { + "op": "DUP2" + }, + "2398": { + "op": "PUSH2", + "value": "0x8DC" + }, + "2401": { + "jump": "i", + "op": "JUMP" + }, + "2402": { + "op": "JUMPDEST" + }, + "2403": { + "op": "SWAP4" + }, + "2404": { + "op": "SWAP7" + }, + "2405": { + "op": "SWAP3" + }, + "2406": { + "op": "SWAP6" + }, + "2407": { + "op": "POP" + }, + "2408": { + "op": "SWAP3" + }, + "2409": { + "op": "SWAP4" + }, + "2410": { + "op": "PUSH1", + "value": "0x60" + }, + "2412": { + "op": "ADD" + }, + "2413": { + "op": "CALLDATALOAD" + }, + "2414": { + "op": "SWAP3" + }, + "2415": { + "op": "POP" + }, + "2416": { + "op": "POP" + }, + "2417": { + "jump": "o", + "op": "JUMP" + }, + "2418": { + "op": "JUMPDEST" + }, + "2419": { + "op": "PUSH1", + "value": "0x0" + }, + "2421": { + "op": "DUP1" + }, + "2422": { + "op": "PUSH1", + "value": "0x40" + }, + "2424": { + "op": "DUP4" + }, + "2425": { + "op": "DUP6" + }, + "2426": { + "op": "SUB" + }, + "2427": { + "op": "SLT" + }, + "2428": { + "op": "ISZERO" + }, + "2429": { + "op": "PUSH2", + "value": "0x985" + }, + "2432": { + "op": "JUMPI" + }, + "2433": { + "op": "PUSH1", + "value": "0x0" + }, + "2435": { + "op": "DUP1" + }, + "2436": { + "op": "REVERT" + }, + "2437": { + "op": "JUMPDEST" + }, + "2438": { + "op": "DUP3" + }, + "2439": { + "op": "CALLDATALOAD" + }, + "2440": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2449": { + "op": "DUP1" + }, + "2450": { + "op": "DUP3" + }, + "2451": { + "op": "GT" + }, + "2452": { + "op": "ISZERO" + }, + "2453": { + "op": "PUSH2", + "value": "0x99D" + }, + "2456": { + "op": "JUMPI" + }, + "2457": { + "op": "PUSH1", + "value": "0x0" + }, + "2459": { + "op": "DUP1" + }, + "2460": { + "op": "REVERT" + }, + "2461": { + "op": "JUMPDEST" + }, + "2462": { + "op": "PUSH2", + "value": "0x9A9" + }, + "2465": { + "op": "DUP7" + }, + "2466": { + "op": "DUP4" + }, + "2467": { + "op": "DUP8" + }, + "2468": { + "op": "ADD" + }, + "2469": { + "op": "PUSH2", + "value": "0x84F" + }, + "2472": { + "jump": "i", + "op": "JUMP" + }, + "2473": { + "op": "JUMPDEST" + }, + "2474": { + "op": "SWAP4" + }, + "2475": { + "op": "POP" + }, + "2476": { + "op": "PUSH1", + "value": "0x20" + }, + "2478": { + "op": "DUP6" + }, + "2479": { + "op": "ADD" + }, + "2480": { + "op": "CALLDATALOAD" + }, + "2481": { + "op": "SWAP2" + }, + "2482": { + "op": "POP" + }, + "2483": { + "op": "DUP1" + }, + "2484": { + "op": "DUP3" + }, + "2485": { + "op": "GT" + }, + "2486": { + "op": "ISZERO" + }, + "2487": { + "op": "PUSH2", + "value": "0x9BF" + }, + "2490": { + "op": "JUMPI" + }, + "2491": { + "op": "PUSH1", + "value": "0x0" + }, + "2493": { + "op": "DUP1" + }, + "2494": { + "op": "REVERT" + }, + "2495": { + "op": "JUMPDEST" + }, + "2496": { + "op": "POP" + }, + "2497": { + "op": "PUSH2", + "value": "0x9CC" + }, + "2500": { + "op": "DUP6" + }, + "2501": { + "op": "DUP3" + }, + "2502": { + "op": "DUP7" + }, + "2503": { + "op": "ADD" + }, + "2504": { + "op": "PUSH2", + "value": "0x84F" + }, + "2507": { + "jump": "i", + "op": "JUMP" + }, + "2508": { + "op": "JUMPDEST" + }, + "2509": { + "op": "SWAP2" + }, + "2510": { + "op": "POP" + }, + "2511": { + "op": "POP" + }, + "2512": { + "op": "SWAP3" + }, + "2513": { + "op": "POP" + }, + "2514": { + "op": "SWAP3" + }, + "2515": { + "op": "SWAP1" + }, + "2516": { + "op": "POP" + }, + "2517": { + "jump": "o", + "op": "JUMP" + }, + "2518": { + "op": "JUMPDEST" + }, + "2519": { + "op": "PUSH1", + "value": "0x0" + }, + "2521": { + "op": "DUP1" + }, + "2522": { + "op": "PUSH1", + "value": "0x40" + }, + "2524": { + "op": "DUP4" + }, + "2525": { + "op": "DUP6" + }, + "2526": { + "op": "SUB" + }, + "2527": { + "op": "SLT" + }, + "2528": { + "op": "ISZERO" + }, + "2529": { + "op": "PUSH2", + "value": "0x9E9" + }, + "2532": { + "op": "JUMPI" + }, + "2533": { + "op": "PUSH1", + "value": "0x0" + }, + "2535": { + "op": "DUP1" + }, + "2536": { + "op": "REVERT" + }, + "2537": { + "op": "JUMPDEST" + }, + "2538": { + "op": "DUP3" + }, + "2539": { + "op": "CALLDATALOAD" + }, + "2540": { + "op": "PUSH2", + "value": "0x9F4" + }, + "2543": { + "op": "DUP2" + }, + "2544": { + "op": "PUSH2", + "value": "0x8DC" + }, + "2547": { + "jump": "i", + "op": "JUMP" + }, + "2548": { + "op": "JUMPDEST" + }, + "2549": { + "op": "SWAP2" + }, + "2550": { + "op": "POP" + }, + "2551": { + "op": "PUSH1", + "value": "0x20" + }, + "2553": { + "op": "DUP4" + }, + "2554": { + "op": "ADD" + }, + "2555": { + "op": "CALLDATALOAD" + }, + "2556": { + "op": "PUSH1", + "value": "0x1" + }, + "2558": { + "op": "PUSH1", + "value": "0x1" + }, + "2560": { + "op": "PUSH1", + "value": "0xE0" + }, + "2562": { + "op": "SHL" + }, + "2563": { + "op": "SUB" + }, + "2564": { + "op": "NOT" + }, + "2565": { + "op": "DUP2" + }, + "2566": { + "op": "AND" + }, + "2567": { + "op": "DUP2" + }, + "2568": { + "op": "EQ" + }, + "2569": { + "op": "PUSH2", + "value": "0xA11" + }, + "2572": { + "op": "JUMPI" + }, + "2573": { + "op": "PUSH1", + "value": "0x0" + }, + "2575": { + "op": "DUP1" + }, + "2576": { + "op": "REVERT" + }, + "2577": { + "op": "JUMPDEST" + }, + "2578": { + "op": "DUP1" + }, + "2579": { + "op": "SWAP2" + }, + "2580": { + "op": "POP" + }, + "2581": { + "op": "POP" + }, + "2582": { + "op": "SWAP3" + }, + "2583": { + "op": "POP" + }, + "2584": { + "op": "SWAP3" + }, + "2585": { + "op": "SWAP1" + }, + "2586": { + "op": "POP" + }, + "2587": { + "jump": "o", + "op": "JUMP" + }, + "2588": { + "op": "JUMPDEST" + }, + "2589": { + "op": "PUSH1", + "value": "0x0" + }, + "2591": { + "op": "DUP1" + }, + "2592": { + "op": "PUSH1", + "value": "0x0" + }, + "2594": { + "op": "DUP1" + }, + "2595": { + "op": "PUSH1", + "value": "0x0" + }, + "2597": { + "op": "DUP1" + }, + "2598": { + "op": "PUSH1", + "value": "0xC0" + }, + "2600": { + "op": "DUP8" + }, + "2601": { + "op": "DUP10" + }, + "2602": { + "op": "SUB" + }, + "2603": { + "op": "SLT" + }, + "2604": { + "op": "ISZERO" + }, + "2605": { + "op": "PUSH2", + "value": "0xA35" + }, + "2608": { + "op": "JUMPI" + }, + "2609": { + "op": "PUSH1", + "value": "0x0" + }, + "2611": { + "op": "DUP1" + }, + "2612": { + "op": "REVERT" + }, + "2613": { + "op": "JUMPDEST" + }, + "2614": { + "op": "DUP7" + }, + "2615": { + "op": "CALLDATALOAD" + }, + "2616": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2625": { + "op": "DUP1" + }, + "2626": { + "op": "DUP3" + }, + "2627": { + "op": "GT" + }, + "2628": { + "op": "ISZERO" + }, + "2629": { + "op": "PUSH2", + "value": "0xA4D" + }, + "2632": { + "op": "JUMPI" + }, + "2633": { + "op": "PUSH1", + "value": "0x0" + }, + "2635": { + "op": "DUP1" + }, + "2636": { + "op": "REVERT" + }, + "2637": { + "op": "JUMPDEST" + }, + "2638": { + "op": "PUSH2", + "value": "0xA59" + }, + "2641": { + "op": "DUP11" + }, + "2642": { + "op": "DUP4" + }, + "2643": { + "op": "DUP12" + }, + "2644": { + "op": "ADD" + }, + "2645": { + "op": "PUSH2", + "value": "0x84F" + }, + "2648": { + "jump": "i", + "op": "JUMP" + }, + "2649": { + "op": "JUMPDEST" + }, + "2650": { + "op": "SWAP8" + }, + "2651": { + "op": "POP" + }, + "2652": { + "op": "PUSH1", + "value": "0x20" + }, + "2654": { + "op": "DUP10" + }, + "2655": { + "op": "ADD" + }, + "2656": { + "op": "CALLDATALOAD" + }, + "2657": { + "op": "SWAP2" + }, + "2658": { + "op": "POP" + }, + "2659": { + "op": "DUP1" + }, + "2660": { + "op": "DUP3" + }, + "2661": { + "op": "GT" + }, + "2662": { + "op": "ISZERO" + }, + "2663": { + "op": "PUSH2", + "value": "0xA6F" + }, + "2666": { + "op": "JUMPI" + }, + "2667": { + "op": "PUSH1", + "value": "0x0" + }, + "2669": { + "op": "DUP1" + }, + "2670": { + "op": "REVERT" + }, + "2671": { + "op": "JUMPDEST" + }, + "2672": { + "op": "POP" + }, + "2673": { + "op": "PUSH2", + "value": "0xA7C" + }, + "2676": { + "op": "DUP10" + }, + "2677": { + "op": "DUP3" + }, + "2678": { + "op": "DUP11" + }, + "2679": { + "op": "ADD" + }, + "2680": { + "op": "PUSH2", + "value": "0x84F" + }, + "2683": { + "jump": "i", + "op": "JUMP" + }, + "2684": { + "op": "JUMPDEST" + }, + "2685": { + "op": "SWAP6" + }, + "2686": { + "op": "POP" + }, + "2687": { + "op": "POP" + }, + "2688": { + "op": "PUSH1", + "value": "0x40" + }, + "2690": { + "op": "DUP8" + }, + "2691": { + "op": "ADD" + }, + "2692": { + "op": "CALLDATALOAD" + }, + "2693": { + "op": "PUSH2", + "value": "0xA8D" + }, + "2696": { + "op": "DUP2" + }, + "2697": { + "op": "PUSH2", + "value": "0x8DC" + }, + "2700": { + "jump": "i", + "op": "JUMP" + }, + "2701": { + "op": "JUMPDEST" + }, + "2702": { + "op": "SWAP6" + }, + "2703": { + "op": "SWAP9" + }, + "2704": { + "op": "SWAP5" + }, + "2705": { + "op": "SWAP8" + }, + "2706": { + "op": "POP" + }, + "2707": { + "op": "SWAP5" + }, + "2708": { + "op": "SWAP6" + }, + "2709": { + "op": "PUSH1", + "value": "0x60" + }, + "2711": { + "op": "DUP2" + }, + "2712": { + "op": "ADD" + }, + "2713": { + "op": "CALLDATALOAD" + }, + "2714": { + "op": "SWAP6" + }, + "2715": { + "op": "POP" + }, + "2716": { + "op": "PUSH1", + "value": "0x80" + }, + "2718": { + "op": "DUP2" + }, + "2719": { + "op": "ADD" + }, + "2720": { + "op": "CALLDATALOAD" + }, + "2721": { + "op": "SWAP5" + }, + "2722": { + "op": "PUSH1", + "value": "0xA0" + }, + "2724": { + "op": "SWAP1" + }, + "2725": { + "op": "SWAP2" + }, + "2726": { + "op": "ADD" + }, + "2727": { + "op": "CALLDATALOAD" + }, + "2728": { + "op": "SWAP4" + }, + "2729": { + "op": "POP" + }, + "2730": { + "op": "SWAP2" + }, + "2731": { + "op": "POP" + }, + "2732": { + "op": "POP" + }, + "2733": { + "jump": "o", + "op": "JUMP" + }, + "2734": { + "op": "JUMPDEST" + }, + "2735": { + "op": "PUSH1", + "value": "0x0" + }, + "2737": { + "op": "DUP1" + }, + "2738": { + "op": "PUSH1", + "value": "0x0" + }, + "2740": { + "op": "DUP1" + }, + "2741": { + "op": "PUSH1", + "value": "0x0" + }, + "2743": { + "op": "DUP1" + }, + "2744": { + "op": "PUSH1", + "value": "0x0" + }, + "2746": { + "op": "PUSH1", + "value": "0xE0" + }, + "2748": { + "op": "DUP9" + }, + "2749": { + "op": "DUP11" + }, + "2750": { + "op": "SUB" + }, + "2751": { + "op": "SLT" + }, + "2752": { + "op": "ISZERO" + }, + "2753": { + "op": "PUSH2", + "value": "0xAC9" + }, + "2756": { + "op": "JUMPI" + }, + "2757": { + "op": "PUSH1", + "value": "0x0" + }, + "2759": { + "op": "DUP1" + }, + "2760": { + "op": "REVERT" + }, + "2761": { + "op": "JUMPDEST" + }, + "2762": { + "op": "DUP8" + }, + "2763": { + "op": "CALLDATALOAD" + }, + "2764": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2773": { + "op": "DUP1" + }, + "2774": { + "op": "DUP3" + }, + "2775": { + "op": "GT" + }, + "2776": { + "op": "ISZERO" + }, + "2777": { + "op": "PUSH2", + "value": "0xAE1" + }, + "2780": { + "op": "JUMPI" + }, + "2781": { + "op": "PUSH1", + "value": "0x0" + }, + "2783": { + "op": "DUP1" + }, + "2784": { + "op": "REVERT" + }, + "2785": { + "op": "JUMPDEST" + }, + "2786": { + "op": "PUSH2", + "value": "0xAED" + }, + "2789": { + "op": "DUP12" + }, + "2790": { + "op": "DUP4" + }, + "2791": { + "op": "DUP13" + }, + "2792": { + "op": "ADD" + }, + "2793": { + "op": "PUSH2", + "value": "0x84F" + }, + "2796": { + "jump": "i", + "op": "JUMP" + }, + "2797": { + "op": "JUMPDEST" + }, + "2798": { + "op": "SWAP9" + }, + "2799": { + "op": "POP" + }, + "2800": { + "op": "PUSH1", + "value": "0x20" + }, + "2802": { + "op": "DUP11" + }, + "2803": { + "op": "ADD" + }, + "2804": { + "op": "CALLDATALOAD" + }, + "2805": { + "op": "SWAP2" + }, + "2806": { + "op": "POP" + }, + "2807": { + "op": "DUP1" + }, + "2808": { + "op": "DUP3" + }, + "2809": { + "op": "GT" + }, + "2810": { + "op": "ISZERO" + }, + "2811": { + "op": "PUSH2", + "value": "0xB03" + }, + "2814": { + "op": "JUMPI" + }, + "2815": { + "op": "PUSH1", + "value": "0x0" + }, + "2817": { + "op": "DUP1" + }, + "2818": { + "op": "REVERT" + }, + "2819": { + "op": "JUMPDEST" + }, + "2820": { + "op": "POP" + }, + "2821": { + "op": "PUSH2", + "value": "0xB10" + }, + "2824": { + "op": "DUP11" + }, + "2825": { + "op": "DUP3" + }, + "2826": { + "op": "DUP12" + }, + "2827": { + "op": "ADD" + }, + "2828": { + "op": "PUSH2", + "value": "0x84F" + }, + "2831": { + "jump": "i", + "op": "JUMP" + }, + "2832": { + "op": "JUMPDEST" + }, + "2833": { + "op": "SWAP7" + }, + "2834": { + "op": "POP" + }, + "2835": { + "op": "POP" + }, + "2836": { + "op": "PUSH1", + "value": "0x40" + }, + "2838": { + "op": "DUP9" + }, + "2839": { + "op": "ADD" + }, + "2840": { + "op": "CALLDATALOAD" + }, + "2841": { + "op": "PUSH2", + "value": "0xB21" + }, + "2844": { + "op": "DUP2" + }, + "2845": { + "op": "PUSH2", + "value": "0x8DC" + }, + "2848": { + "jump": "i", + "op": "JUMP" + }, + "2849": { + "op": "JUMPDEST" + }, + "2850": { + "op": "SWAP7" + }, + "2851": { + "op": "SWAP10" + }, + "2852": { + "op": "SWAP6" + }, + "2853": { + "op": "SWAP9" + }, + "2854": { + "op": "POP" + }, + "2855": { + "op": "SWAP6" + }, + "2856": { + "op": "SWAP7" + }, + "2857": { + "op": "PUSH1", + "value": "0x60" + }, + "2859": { + "op": "DUP2" + }, + "2860": { + "op": "ADD" + }, + "2861": { + "op": "CALLDATALOAD" + }, + "2862": { + "op": "SWAP7" + }, + "2863": { + "op": "POP" + }, + "2864": { + "op": "PUSH1", + "value": "0x80" + }, + "2866": { + "op": "DUP2" + }, + "2867": { + "op": "ADD" + }, + "2868": { + "op": "CALLDATALOAD" + }, + "2869": { + "op": "SWAP6" + }, + "2870": { + "op": "PUSH1", + "value": "0xA0" + }, + "2872": { + "op": "DUP3" + }, + "2873": { + "op": "ADD" + }, + "2874": { + "op": "CALLDATALOAD" + }, + "2875": { + "op": "SWAP6" + }, + "2876": { + "op": "POP" + }, + "2877": { + "op": "PUSH1", + "value": "0xC0" + }, + "2879": { + "op": "SWAP1" + }, + "2880": { + "op": "SWAP2" + }, + "2881": { + "op": "ADD" + }, + "2882": { + "op": "CALLDATALOAD" + }, + "2883": { + "op": "SWAP4" + }, + "2884": { + "op": "POP" + }, + "2885": { + "op": "SWAP2" + }, + "2886": { + "op": "POP" + }, + "2887": { + "op": "POP" + }, + "2888": { + "jump": "o", + "op": "JUMP" + }, + "2889": { + "op": "JUMPDEST" + }, + "2890": { + "op": "DUP1" + }, + "2891": { + "op": "MLOAD" + }, + "2892": { + "op": "PUSH1", + "value": "0x20" + }, + "2894": { + "op": "DUP3" + }, + "2895": { + "op": "ADD" + }, + "2896": { + "op": "MLOAD" + }, + "2897": { + "op": "PUSH1", + "value": "0x1" + }, + "2899": { + "op": "PUSH1", + "value": "0x1" + }, + "2901": { + "op": "PUSH1", + "value": "0xE0" + }, + "2903": { + "op": "SHL" + }, + "2904": { + "op": "SUB" + }, + "2905": { + "op": "NOT" + }, + "2906": { + "op": "DUP1" + }, + "2907": { + "op": "DUP3" + }, + "2908": { + "op": "AND" + }, + "2909": { + "op": "SWAP3" + }, + "2910": { + "op": "SWAP2" + }, + "2911": { + "op": "SWAP1" + }, + "2912": { + "op": "PUSH1", + "value": "0x4" + }, + "2914": { + "op": "DUP4" + }, + "2915": { + "op": "LT" + }, + "2916": { + "op": "ISZERO" + }, + "2917": { + "op": "PUSH2", + "value": "0xB78" + }, + "2920": { + "op": "JUMPI" + }, + "2921": { + "op": "DUP1" + }, + "2922": { + "op": "DUP2" + }, + "2923": { + "op": "DUP5" + }, + "2924": { + "op": "PUSH1", + "value": "0x4" + }, + "2926": { + "op": "SUB" + }, + "2927": { + "op": "PUSH1", + "value": "0x3" + }, + "2929": { + "op": "SHL" + }, + "2930": { + "op": "SHL" + }, + "2931": { + "op": "DUP4" + }, + "2932": { + "op": "AND" + }, + "2933": { + "op": "AND" + }, + "2934": { + "op": "SWAP4" + }, + "2935": { + "op": "POP" + }, + "2936": { + "op": "JUMPDEST" + }, + "2937": { + "op": "POP" + }, + "2938": { + "op": "POP" + }, + "2939": { + "op": "POP" + }, + "2940": { + "op": "SWAP2" + }, + "2941": { + "op": "SWAP1" + }, + "2942": { + "op": "POP" + }, + "2943": { + "jump": "o", + "op": "JUMP" + }, + "2944": { + "op": "JUMPDEST" + }, + "2945": { + "op": "PUSH1", + "value": "0x20" + }, + "2947": { + "op": "DUP1" + }, + "2948": { + "op": "DUP3" + }, + "2949": { + "op": "MSTORE" + }, + "2950": { + "op": "PUSH1", + "value": "0x14" + }, + "2952": { + "op": "SWAP1" + }, + "2953": { + "op": "DUP3" + }, + "2954": { + "op": "ADD" + }, + "2955": { + "op": "MSTORE" + }, + "2956": { + "op": "PUSH20", + "value": "0x29B2B632B1BA37B91024B732BC34B9BA32B73A17" + }, + "2977": { + "op": "PUSH1", + "value": "0x61" + }, + "2979": { + "op": "SHL" + }, + "2980": { + "op": "PUSH1", + "value": "0x40" + }, + "2982": { + "op": "DUP3" + }, + "2983": { + "op": "ADD" + }, + "2984": { + "op": "MSTORE" + }, + "2985": { + "op": "PUSH1", + "value": "0x60" + }, + "2987": { + "op": "ADD" + }, + "2988": { + "op": "SWAP1" + }, + "2989": { + "jump": "o", + "op": "JUMP" + }, + "2990": { + "op": "JUMPDEST" + }, + "2991": { + "op": "PUSH1", + "value": "0x0" + }, + "2993": { + "op": "JUMPDEST" + }, + "2994": { + "op": "DUP4" + }, + "2995": { + "op": "DUP2" + }, + "2996": { + "op": "LT" + }, + "2997": { + "op": "ISZERO" + }, + "2998": { + "op": "PUSH2", + "value": "0xBC9" + }, + "3001": { + "op": "JUMPI" + }, + "3002": { + "op": "DUP2" + }, + "3003": { + "op": "DUP2" + }, + "3004": { + "op": "ADD" + }, + "3005": { + "op": "MLOAD" + }, + "3006": { + "op": "DUP4" + }, + "3007": { + "op": "DUP3" + }, + "3008": { + "op": "ADD" + }, + "3009": { + "op": "MSTORE" + }, + "3010": { + "op": "PUSH1", + "value": "0x20" + }, + "3012": { + "op": "ADD" + }, + "3013": { + "op": "PUSH2", + "value": "0xBB1" + }, + "3016": { + "op": "JUMP" + }, + "3017": { + "op": "JUMPDEST" + }, + "3018": { + "op": "DUP4" + }, + "3019": { + "op": "DUP2" + }, + "3020": { + "op": "GT" + }, + "3021": { + "op": "ISZERO" + }, + "3022": { + "op": "PUSH2", + "value": "0xBD8" + }, + "3025": { + "op": "JUMPI" + }, + "3026": { + "op": "PUSH1", + "value": "0x0" + }, + "3028": { + "op": "DUP5" + }, + "3029": { + "op": "DUP5" + }, + "3030": { + "op": "ADD" + }, + "3031": { + "op": "MSTORE" + }, + "3032": { + "op": "JUMPDEST" + }, + "3033": { + "op": "POP" + }, + "3034": { + "op": "POP" + }, + "3035": { + "op": "POP" + }, + "3036": { + "op": "POP" + }, + "3037": { + "jump": "o", + "op": "JUMP" + }, + "3038": { + "op": "JUMPDEST" + }, + "3039": { + "op": "PUSH1", + "value": "0x0" + }, + "3041": { + "op": "DUP2" + }, + "3042": { + "op": "MLOAD" + }, + "3043": { + "op": "DUP1" + }, + "3044": { + "op": "DUP5" + }, + "3045": { + "op": "MSTORE" + }, + "3046": { + "op": "PUSH2", + "value": "0xBF6" + }, + "3049": { + "op": "DUP2" + }, + "3050": { + "op": "PUSH1", + "value": "0x20" + }, + "3052": { + "op": "DUP7" + }, + "3053": { + "op": "ADD" + }, + "3054": { + "op": "PUSH1", + "value": "0x20" + }, + "3056": { + "op": "DUP7" + }, + "3057": { + "op": "ADD" + }, + "3058": { + "op": "PUSH2", + "value": "0xBAE" + }, + "3061": { + "jump": "i", + "op": "JUMP" + }, + "3062": { + "op": "JUMPDEST" + }, + "3063": { + "op": "PUSH1", + "value": "0x1F" + }, + "3065": { + "op": "ADD" + }, + "3066": { + "op": "PUSH1", + "value": "0x1F" + }, + "3068": { + "op": "NOT" + }, + "3069": { + "op": "AND" + }, + "3070": { + "op": "SWAP3" + }, + "3071": { + "op": "SWAP1" + }, + "3072": { + "op": "SWAP3" + }, + "3073": { + "op": "ADD" + }, + "3074": { + "op": "PUSH1", + "value": "0x20" + }, + "3076": { + "op": "ADD" + }, + "3077": { + "op": "SWAP3" + }, + "3078": { + "op": "SWAP2" + }, + "3079": { + "op": "POP" + }, + "3080": { + "op": "POP" + }, + "3081": { + "jump": "o", + "op": "JUMP" + }, + "3082": { + "op": "JUMPDEST" + }, + "3083": { + "op": "PUSH1", + "value": "0x80" + }, + "3085": { + "op": "DUP2" + }, + "3086": { + "op": "MSTORE" + }, + "3087": { + "op": "PUSH1", + "value": "0x0" + }, + "3089": { + "op": "PUSH2", + "value": "0xC1D" + }, + "3092": { + "op": "PUSH1", + "value": "0x80" + }, + "3094": { + "op": "DUP4" + }, + "3095": { + "op": "ADD" + }, + "3096": { + "op": "DUP8" + }, + "3097": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3100": { + "jump": "i", + "op": "JUMP" + }, + "3101": { + "op": "JUMPDEST" + }, + "3102": { + "op": "DUP3" + }, + "3103": { + "op": "DUP2" + }, + "3104": { + "op": "SUB" + }, + "3105": { + "op": "PUSH1", + "value": "0x20" + }, + "3107": { + "op": "DUP5" + }, + "3108": { + "op": "ADD" + }, + "3109": { + "op": "MSTORE" + }, + "3110": { + "op": "PUSH2", + "value": "0xC2F" + }, + "3113": { + "op": "DUP2" + }, + "3114": { + "op": "DUP8" + }, + "3115": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3118": { + "jump": "i", + "op": "JUMP" + }, + "3119": { + "op": "JUMPDEST" + }, + "3120": { + "op": "PUSH1", + "value": "0x1" + }, + "3122": { + "op": "PUSH1", + "value": "0x1" + }, + "3124": { + "op": "PUSH1", + "value": "0xA0" + }, + "3126": { + "op": "SHL" + }, + "3127": { + "op": "SUB" + }, + "3128": { + "op": "SWAP6" + }, + "3129": { + "op": "SWAP1" + }, + "3130": { + "op": "SWAP6" + }, + "3131": { + "op": "AND" + }, + "3132": { + "op": "PUSH1", + "value": "0x40" + }, + "3134": { + "op": "DUP5" + }, + "3135": { + "op": "ADD" + }, + "3136": { + "op": "MSTORE" + }, + "3137": { + "op": "POP" + }, + "3138": { + "op": "POP" + }, + "3139": { + "op": "PUSH1", + "value": "0x60" + }, + "3141": { + "op": "ADD" + }, + "3142": { + "op": "MSTORE" + }, + "3143": { + "op": "SWAP3" + }, + "3144": { + "op": "SWAP2" + }, + "3145": { + "op": "POP" + }, + "3146": { + "op": "POP" + }, + "3147": { + "jump": "o", + "op": "JUMP" + }, + "3148": { + "op": "JUMPDEST" + }, + "3149": { + "op": "PUSH1", + "value": "0x0" + }, + "3151": { + "op": "DUP3" + }, + "3152": { + "op": "MLOAD" + }, + "3153": { + "op": "PUSH2", + "value": "0xC5E" + }, + "3156": { + "op": "DUP2" + }, + "3157": { + "op": "DUP5" + }, + "3158": { + "op": "PUSH1", + "value": "0x20" + }, + "3160": { + "op": "DUP8" + }, + "3161": { + "op": "ADD" + }, + "3162": { + "op": "PUSH2", + "value": "0xBAE" + }, + "3165": { + "jump": "i", + "op": "JUMP" + }, + "3166": { + "op": "JUMPDEST" + }, + "3167": { + "op": "SWAP2" + }, + "3168": { + "op": "SWAP1" + }, + "3169": { + "op": "SWAP2" + }, + "3170": { + "op": "ADD" + }, + "3171": { + "op": "SWAP3" + }, + "3172": { + "op": "SWAP2" + }, + "3173": { + "op": "POP" + }, + "3174": { + "op": "POP" + }, + "3175": { + "jump": "o", + "op": "JUMP" + }, + "3176": { + "op": "JUMPDEST" + }, + "3177": { + "op": "PUSH1", + "value": "0x20" + }, + "3179": { + "op": "DUP1" + }, + "3180": { + "op": "DUP3" + }, + "3181": { + "op": "MSTORE" + }, + "3182": { + "op": "PUSH1", + "value": "0x14" + }, + "3184": { + "op": "SWAP1" + }, + "3185": { + "op": "DUP3" + }, + "3186": { + "op": "ADD" + }, + "3187": { + "op": "MSTORE" + }, + "3188": { + "op": "PUSH20", + "value": "0x44656C656761746563616C6C204661696C656421" + }, + "3209": { + "op": "PUSH1", + "value": "0x60" + }, + "3211": { + "op": "SHL" + }, + "3212": { + "op": "PUSH1", + "value": "0x40" + }, + "3214": { + "op": "DUP3" + }, + "3215": { + "op": "ADD" + }, + "3216": { + "op": "MSTORE" + }, + "3217": { + "op": "PUSH1", + "value": "0x60" + }, + "3219": { + "op": "ADD" + }, + "3220": { + "op": "SWAP1" + }, + "3221": { + "jump": "o", + "op": "JUMP" + }, + "3222": { + "op": "JUMPDEST" + }, + "3223": { + "op": "PUSH1", + "value": "0x0" + }, + "3225": { + "op": "PUSH1", + "value": "0x20" + }, + "3227": { + "op": "DUP3" + }, + "3228": { + "op": "DUP5" + }, + "3229": { + "op": "SUB" + }, + "3230": { + "op": "SLT" + }, + "3231": { + "op": "ISZERO" + }, + "3232": { + "op": "PUSH2", + "value": "0xCA8" + }, + "3235": { + "op": "JUMPI" + }, + "3236": { + "op": "PUSH1", + "value": "0x0" + }, + "3238": { + "op": "DUP1" + }, + "3239": { + "op": "REVERT" + }, + "3240": { + "op": "JUMPDEST" + }, + "3241": { + "op": "DUP2" + }, + "3242": { + "op": "MLOAD" + }, + "3243": { + "op": "PUSH2", + "value": "0xCB3" + }, + "3246": { + "op": "DUP2" + }, + "3247": { + "op": "PUSH2", + "value": "0x8DC" + }, + "3250": { + "jump": "i", + "op": "JUMP" + }, + "3251": { + "op": "JUMPDEST" + }, + "3252": { + "op": "SWAP4" + }, + "3253": { + "op": "SWAP3" + }, + "3254": { + "op": "POP" + }, + "3255": { + "op": "POP" + }, + "3256": { + "op": "POP" + }, + "3257": { + "jump": "o", + "op": "JUMP" + }, + "3258": { + "op": "JUMPDEST" + }, + "3259": { + "op": "PUSH1", + "value": "0x40" + }, + "3261": { + "op": "DUP2" + }, + "3262": { + "op": "MSTORE" + }, + "3263": { + "op": "PUSH1", + "value": "0x0" + }, + "3265": { + "op": "PUSH2", + "value": "0xCCD" + }, + "3268": { + "op": "PUSH1", + "value": "0x40" + }, + "3270": { + "op": "DUP4" + }, + "3271": { + "op": "ADD" + }, + "3272": { + "op": "DUP6" + }, + "3273": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3276": { + "jump": "i", + "op": "JUMP" + }, + "3277": { + "op": "JUMPDEST" + }, + "3278": { + "op": "DUP3" + }, + "3279": { + "op": "DUP2" + }, + "3280": { + "op": "SUB" + }, + "3281": { + "op": "PUSH1", + "value": "0x20" + }, + "3283": { + "op": "DUP5" + }, + "3284": { + "op": "ADD" + }, + "3285": { + "op": "MSTORE" + }, + "3286": { + "op": "PUSH2", + "value": "0xCDF" + }, + "3289": { + "op": "DUP2" + }, + "3290": { + "op": "DUP6" + }, + "3291": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3294": { + "jump": "i", + "op": "JUMP" + }, + "3295": { + "op": "JUMPDEST" + }, + "3296": { + "op": "SWAP6" + }, + "3297": { + "op": "SWAP5" + }, + "3298": { + "op": "POP" + }, + "3299": { + "op": "POP" + }, + "3300": { + "op": "POP" + }, + "3301": { + "op": "POP" + }, + "3302": { + "op": "POP" + }, + "3303": { + "jump": "o", + "op": "JUMP" + }, + "3304": { + "op": "JUMPDEST" + }, + "3305": { + "op": "PUSH1", + "value": "0xC0" + }, + "3307": { + "op": "DUP2" + }, + "3308": { + "op": "MSTORE" + }, + "3309": { + "op": "PUSH1", + "value": "0x0" + }, + "3311": { + "op": "PUSH2", + "value": "0xCFB" + }, + "3314": { + "op": "PUSH1", + "value": "0xC0" + }, + "3316": { + "op": "DUP4" + }, + "3317": { + "op": "ADD" + }, + "3318": { + "op": "DUP10" + }, + "3319": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3322": { + "jump": "i", + "op": "JUMP" + }, + "3323": { + "op": "JUMPDEST" + }, + "3324": { + "op": "DUP3" + }, + "3325": { + "op": "DUP2" + }, + "3326": { + "op": "SUB" + }, + "3327": { + "op": "PUSH1", + "value": "0x20" + }, + "3329": { + "op": "DUP5" + }, + "3330": { + "op": "ADD" + }, + "3331": { + "op": "MSTORE" + }, + "3332": { + "op": "PUSH2", + "value": "0xD0D" + }, + "3335": { + "op": "DUP2" + }, + "3336": { + "op": "DUP10" + }, + "3337": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3340": { + "jump": "i", + "op": "JUMP" + }, + "3341": { + "op": "JUMPDEST" + }, + "3342": { + "op": "PUSH1", + "value": "0x1" + }, + "3344": { + "op": "PUSH1", + "value": "0x1" + }, + "3346": { + "op": "PUSH1", + "value": "0xA0" + }, + "3348": { + "op": "SHL" + }, + "3349": { + "op": "SUB" + }, + "3350": { + "op": "SWAP8" + }, + "3351": { + "op": "SWAP1" + }, + "3352": { + "op": "SWAP8" + }, + "3353": { + "op": "AND" + }, + "3354": { + "op": "PUSH1", + "value": "0x40" + }, + "3356": { + "op": "DUP5" + }, + "3357": { + "op": "ADD" + }, + "3358": { + "op": "MSTORE" + }, + "3359": { + "op": "POP" + }, + "3360": { + "op": "POP" + }, + "3361": { + "op": "PUSH1", + "value": "0x60" + }, + "3363": { + "op": "DUP2" + }, + "3364": { + "op": "ADD" + }, + "3365": { + "op": "SWAP4" + }, + "3366": { + "op": "SWAP1" + }, + "3367": { + "op": "SWAP4" + }, + "3368": { + "op": "MSTORE" + }, + "3369": { + "op": "PUSH1", + "value": "0x80" + }, + "3371": { + "op": "DUP4" + }, + "3372": { + "op": "ADD" + }, + "3373": { + "op": "SWAP2" + }, + "3374": { + "op": "SWAP1" + }, + "3375": { + "op": "SWAP2" + }, + "3376": { + "op": "MSTORE" + }, + "3377": { + "op": "PUSH1", + "value": "0xA0" + }, + "3379": { + "op": "SWAP1" + }, + "3380": { + "op": "SWAP2" + }, + "3381": { + "op": "ADD" + }, + "3382": { + "op": "MSTORE" + }, + "3383": { + "op": "SWAP3" + }, + "3384": { + "op": "SWAP2" + }, + "3385": { + "op": "POP" + }, + "3386": { + "op": "POP" + }, + "3387": { + "jump": "o", + "op": "JUMP" + }, + "3388": { + "op": "JUMPDEST" + }, + "3389": { + "op": "PUSH1", + "value": "0xE0" + }, + "3391": { + "op": "DUP2" + }, + "3392": { + "op": "MSTORE" + }, + "3393": { + "op": "PUSH1", + "value": "0x0" + }, + "3395": { + "op": "PUSH2", + "value": "0xD4F" + }, + "3398": { + "op": "PUSH1", + "value": "0xE0" + }, + "3400": { + "op": "DUP4" + }, + "3401": { + "op": "ADD" + }, + "3402": { + "op": "DUP11" + }, + "3403": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3406": { + "jump": "i", + "op": "JUMP" + }, + "3407": { + "op": "JUMPDEST" + }, + "3408": { + "op": "DUP3" + }, + "3409": { + "op": "DUP2" + }, + "3410": { + "op": "SUB" + }, + "3411": { + "op": "PUSH1", + "value": "0x20" + }, + "3413": { + "op": "DUP5" + }, + "3414": { + "op": "ADD" + }, + "3415": { + "op": "MSTORE" + }, + "3416": { + "op": "PUSH2", + "value": "0xD61" + }, + "3419": { + "op": "DUP2" + }, + "3420": { + "op": "DUP11" + }, + "3421": { + "op": "PUSH2", + "value": "0xBDE" + }, + "3424": { + "jump": "i", + "op": "JUMP" + }, + "3425": { + "op": "JUMPDEST" + }, + "3426": { + "op": "PUSH1", + "value": "0x1" + }, + "3428": { + "op": "PUSH1", + "value": "0x1" + }, + "3430": { + "op": "PUSH1", + "value": "0xA0" + }, + "3432": { + "op": "SHL" + }, + "3433": { + "op": "SUB" + }, + "3434": { + "op": "SWAP9" + }, + "3435": { + "op": "SWAP1" + }, + "3436": { + "op": "SWAP9" + }, + "3437": { + "op": "AND" + }, + "3438": { + "op": "PUSH1", + "value": "0x40" + }, + "3440": { + "op": "DUP5" + }, + "3441": { + "op": "ADD" + }, + "3442": { + "op": "MSTORE" + }, + "3443": { + "op": "POP" + }, + "3444": { + "op": "POP" + }, + "3445": { + "op": "PUSH1", + "value": "0x60" + }, + "3447": { + "op": "DUP2" + }, + "3448": { + "op": "ADD" + }, + "3449": { + "op": "SWAP5" + }, + "3450": { + "op": "SWAP1" + }, + "3451": { + "op": "SWAP5" + }, + "3452": { + "op": "MSTORE" + }, + "3453": { + "op": "PUSH1", + "value": "0x80" + }, + "3455": { + "op": "DUP5" + }, + "3456": { + "op": "ADD" + }, + "3457": { + "op": "SWAP3" + }, + "3458": { + "op": "SWAP1" + }, + "3459": { + "op": "SWAP3" + }, + "3460": { + "op": "MSTORE" + }, + "3461": { + "op": "PUSH1", + "value": "0xA0" + }, + "3463": { + "op": "DUP4" + }, + "3464": { + "op": "ADD" + }, + "3465": { + "op": "MSTORE" + }, + "3466": { + "op": "PUSH1", + "value": "0xC0" + }, + "3468": { + "op": "SWAP1" + }, + "3469": { + "op": "SWAP2" + }, + "3470": { + "op": "ADD" + }, + "3471": { + "op": "MSTORE" + }, + "3472": { + "op": "SWAP3" + }, + "3473": { + "op": "SWAP2" + }, + "3474": { + "op": "POP" + }, + "3475": { + "op": "POP" + }, + "3476": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "ce8d5b2c07d88419f6d5efdb378cfd586d4b7ba8", + "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.14;\n\n/**\n* @title Admin contract.\n* @author Daccred.\n* @dev The admin contract aims at taking all the deployer contracts\n* and mapping all the deployer function selectors to the respective \n* addresses, then in turn, calling the selectors via delegatecall\n* whenever the relevant deployment is needed.\n*\n* In turn, whenever a new change is made to a contract, we can\n* easily, redeploy and remap.\n*/ \ncontract Admin {\n /// @dev Owner address.\n address private owner;\n /// @dev Mapping of all function signatures to the addresses.\n mapping(bytes4 => address) private deployerSelectors;\n\n /// @dev Making sure only the owner can call these functions.\n modifier onlyOwner() {\n /// @dev Require that the sender is the owner.\n require(msg.sender == owner, \"Not Owner.\");\n _;\n }\n\n /// @dev Constructor.\n constructor() {\n /// @dev Set owner.\n owner = msg.sender;\n }\n\n /**\n * @dev This function adds a new selector or replaces a particular\n * selector from the selector map.\n *\n * @param _facet Facet address containing the function we need.\n * @param _selector Selector of the function desired.\n */\n function addDeployerSelector(address _facet, bytes4 _selector) \n public\n onlyOwner\n {\n /// @dev Make sure facet is not a zero address.\n require(_facet != address(0), \"Facet Set To Zero Address.\");\n /// @dev Add selector to map.\n deployerSelectors[_selector] = _facet;\n }\n\n /**\n * @dev Deploys the ERC721ExtensionCore with a set name\n * and symbol using delegatecall to its facet.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n *\n * @return address\n */\n function deployERC721ExtensionCore(string memory _name, string memory _symbol)\n public\n returns(address)\n {\n /// @dev Get selector.\n bytes4 _selector = bytes4(\n abi.encodeWithSignature(\n \"deployERC721ExtensionCore(string,string)\"\n )\n );\n /// @dev Require that the selector for the function exists.\n require(exists(_selector), \"Selector Inexistent.\");\n /// @dev Get the address of the facet mapped to the selector.\n address _delegate = deployerSelectors[_selector];\n /// @dev Delegate call to the facet using the parameters passed.\n (bool sent, bytes memory data) = _delegate.delegatecall(\n abi.encodeWithSelector(\n _selector,\n _name,\n _symbol\n )\n );\n /// @dev Require the call was sent.\n require(sent, \"Delegatecall Failed!\");\n /// @dev Decode returned address from delegatecall.\n address _deployedAddress = abi.decode(data, (address));\n /// @dev Return address.\n return _deployedAddress;\n }\n\n /**\n * @dev Deploys the ERC721ExtensionSignature with its constructor\n * parameters using delegatecall to its facet.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n *\n * @return address\n */\n function deployERC721ExtensionSignature(\n string memory _name, \n string memory _symbol,\n address _comissioner,\n uint256 _maxSupply,\n uint256 _commissions,\n uint256 _cappedSupply,\n uint256 _redemptionTariff\n )\n public\n returns(address)\n {\n /// @dev Get selector.\n bytes4 _selector = bytes4(\n abi.encodeWithSignature(\n \"deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)\"\n )\n );\n /// @dev Require that the selector for the function exists.\n require(exists(_selector), \"Selector Inexistent.\");\n /// @dev Get the address of the facet mapped to the selector.\n address _delegate = deployerSelectors[_selector];\n /// @dev Delegate call to the facet using the parameters passed.\n (bool sent, bytes memory data) = _delegate.delegatecall(\n abi.encodeWithSelector(\n _selector,\n _name, \n _symbol,\n _comissioner,\n _maxSupply,\n _commissions,\n _cappedSupply,\n _redemptionTariff\n )\n );\n /// @dev Require the call was sent.\n require(sent, \"Delegatecall Failed!\");\n /// @dev Decode returned address from delegatecall.\n address _deployedAddress = abi.decode(data, (address));\n /// @dev Return address.\n return _deployedAddress;\n }\n\n /**\n * @dev Deploys the Soulbound Contract with a set name\n * and symbol using delegatecall to its facet.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n *\n * @return address\n */\n function deploySoulbound(string memory _name, string memory _symbol)\n public\n returns(address)\n {\n /// @dev Get selector.\n bytes4 _selector = bytes4(\n abi.encodeWithSignature(\n \"deploySoulbound(string,string)\"\n )\n );\n /// @dev Require that the selector for the function exists.\n require(exists(_selector), \"Selector Inexistent.\");\n /// @dev Get the address of the facet mapped to the selector.\n address _delegate = deployerSelectors[_selector];\n /// @dev Delegate call to the facet using the parameters passed.\n (bool sent, bytes memory data) = _delegate.delegatecall(\n abi.encodeWithSelector(\n _selector,\n _name,\n _symbol\n )\n );\n /// @dev Require the call was sent.\n require(sent, \"Delegatecall Failed!\");\n /// @dev Decode returned address from delegatecall.\n address _deployedAddress = abi.decode(data, (address));\n /// @dev Return address.\n return _deployedAddress;\n }\n\n /**\n * @dev Deploys the SoulboundCore Contract with its constructor\n * parameters using delegatecall to its facet.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n * @param _allowlistOwner Desired owner of the contrat for sigs.\n * @param _totalSupply Desired total supply.\n *\n * @return address\n */\n function deploySoulboundCore(\n string memory _name, \n string memory _symbol,\n address _allowlistOwner,\n uint256 _totalSupply\n )\n public\n returns(address)\n {\n /// @dev Get selector.\n bytes4 _selector = bytes4(\n abi.encodeWithSignature(\n \"deploySoulboundCore(string,string,address,uint256)\"\n )\n );\n /// @dev Require that the selector for the function exists.\n require(exists(_selector), \"Selector Inexistent.\");\n /// @dev Get the address of the facet mapped to the selector.\n address _delegate = deployerSelectors[_selector];\n /// @dev Delegate call to the facet using the parameters passed.\n (bool sent, bytes memory data) = _delegate.delegatecall(\n abi.encodeWithSelector(\n _selector,\n _name,\n _symbol,\n _allowlistOwner,\n _totalSupply\n )\n );\n /// @dev Require the call was sent.\n require(sent, \"Delegatecall Failed!\");\n /// @dev Decode returned address from delegatecall.\n address _deployedAddress = abi.decode(data, (address));\n /// @dev Return address.\n return _deployedAddress;\n }\n\n /**\n * @dev Deploys the SoulboundRedeemable Contract with its constructor\n * parameters using delegatecall to its facet.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n * @param _allowlistOwner Desired owner of the contrat for sigs.\n * @param _totalSupply Desired total supply.\n * @param _priceLimit Desired price limit.\n * @param _tokenPrice Desired token price.\n *\n * @return address\n */\n function deploySoulboundRedeemable(\n string memory _name, \n string memory _symbol,\n address _allowlistOwner,\n uint256 _totalSupply,\n uint256 _priceLimit,\n uint256 _tokenPrice\n )\n public\n returns(address)\n {\n /// @dev Get selector.\n bytes4 _selector = bytes4(\n abi.encodeWithSignature(\n \"deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)\"\n )\n );\n /// @dev Require that the selector for the function exists.\n require(exists(_selector), \"Selector Inexistent.\");\n /// @dev Get the address of the facet mapped to the selector.\n address _delegate = deployerSelectors[_selector];\n /// @dev Delegate call to the facet using the parameters passed.\n (bool sent, bytes memory data) = _delegate.delegatecall(\n abi.encodeWithSelector(\n _selector,\n _name,\n _symbol,\n _allowlistOwner,\n _totalSupply,\n _priceLimit,\n _tokenPrice\n )\n );\n /// @dev Require the call was sent.\n require(sent, \"Delegatecall Failed!\");\n /// @dev Decode returned address from delegatecall.\n address _deployedAddress = abi.decode(data, (address));\n /// @dev Return address.\n return _deployedAddress;\n }\n\n /**\n * @dev Deploys the SoulboundWithSignature Contract with its constructor\n * parameters using delegatecall to its facet.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n * @param _allowlistOwner Desired owner of the contrat for sigs.\n * @param _totalSupply Desired total supply.\n *\n * @return address\n */\n function deploySoulboundWithSignature(\n string memory _name, \n string memory _symbol,\n address _allowlistOwner,\n uint256 _totalSupply\n )\n public\n returns(address)\n {\n /// @dev Get selector.\n bytes4 _selector = bytes4(\n abi.encodeWithSignature(\n \"deploySoulboundWithSignature(string,string,address,uint256)\"\n )\n );\n /// @dev Require that the selector for the function exists.\n require(exists(_selector), \"Selector Inexistent.\");\n /// @dev Get the address of the facet mapped to the selector.\n address _delegate = deployerSelectors[_selector];\n /// @dev Delegate call to the facet using the parameters passed.\n (bool sent, bytes memory data) = _delegate.delegatecall(\n abi.encodeWithSelector(\n _selector,\n _name,\n _symbol,\n _allowlistOwner,\n _totalSupply\n )\n );\n /// @dev Require the call was sent.\n require(sent, \"Delegatecall Failed!\");\n /// @dev Decode returned address from delegatecall.\n address _deployedAddress = abi.decode(data, (address));\n /// @dev Return address.\n return _deployedAddress;\n }\n\n /**\n * @dev Returns true if a selector `_s` is mapped to a valid\n * address in the deployerSelector mapping.\n *\n * @param _s Function selector.\n *\n * @return bool\n */\n function exists(bytes4 _s) private view returns(bool) {\n /// @dev Return true if it is mapped to a valid address.\n /// OR Return true if it is not mapped to a zero \n /// address.\n return deployerSelectors[_s] != address(0);\n }\n}\n", + "sourceMap": "490:11360:0:-:0;;;935:77;;;;;;;;;-1:-1:-1;987:5:0;:18;;-1:-1:-1;;;;;;987:18:0;995:10;987:18;;;490:11360;;;;;;", + "sourcePath": "contracts/contracts/core/contracts/Admin.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/Allowlist.json b/tests/build/contracts/Allowlist.json new file mode 100644 index 0000000..eaf6551 --- /dev/null +++ b/tests/build/contracts/Allowlist.json @@ -0,0 +1,8819 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Unsigned", + "type": "error" + }, + { + "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": "_address", + "type": "address" + } + ], + "name": "Signed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Verified", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "addressHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bool", + "name": "result", + "type": "bool" + } + ], + "name": "VerifySignature", + "type": "event" + }, + { + "inputs": [], + "name": "getAllowlistOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "14": "contracts/contracts/packages/common/Allowlist.sol", + "15": "contracts/contracts/packages/common/IAllowlist.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/common/Allowlist.sol", + "exportedSymbols": { + "Allowlist": [ + 1120 + ], + "Context": [ + 6410 + ], + "IAllowlist": [ + 1161 + ], + "Ownable": [ + 6075 + ] + }, + "id": 1121, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 944, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:14" + }, + { + "absolutePath": "contracts/contracts/packages/common/IAllowlist.sol", + "file": "./IAllowlist.sol", + "id": 945, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1121, + "sourceUnit": 1162, + "src": "61:26:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 946, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1121, + "sourceUnit": 6076, + "src": "88:52:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 948, + "name": "IAllowlist", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1161, + "src": "1267:10:14" + }, + "id": 949, + "nodeType": "InheritanceSpecifier", + "src": "1267:10:14" + }, + { + "baseName": { + "id": 950, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6075, + "src": "1279:7:14" + }, + "id": 951, + "nodeType": "InheritanceSpecifier", + "src": "1279:7:14" + } + ], + "canonicalName": "Allowlist", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 947, + "nodeType": "StructuredDocumentation", + "src": "142:1102:14", + "text": " @title Allowlist Contract.\n @author Daccred.\n @dev The allowlist contract serves as a general inheritable\n contract that any contract with the need of working with\n signatures and signature verifications can inherit and\n work with with ease.\n Allowlists allow you to ensure that a particular address\n has been signed by a particular contract, and is therefore\n eligible to receive or be minted a particular token or\n partcular sets of tokens.\n It will be necessary to state that this contract will be\n directly owned by the Daccred.sol [link here], but on\n deploy, the address of the wallet deploying the contract\n will be stored as the `allowlistOwner`, this address\n cannot be changed, and this address will be evaluated for\n incoming signature confirmations.\n The address must be the signer of the signature.\n Changing this address means changing every signature\n signed. This is not good.\n For clarity:\n Contract deployer: Daccred.sol." + }, + "fullyImplemented": true, + "id": 1120, + "linearizedBaseContracts": [ + 1120, + 6075, + 6410, + 1161 + ], + "name": "Allowlist", + "nameLocation": "1254:9:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 952, + "nodeType": "StructuredDocumentation", + "src": "1293:223:14", + "text": "@dev The wallet that initiated the transaction to deploy\n this allowlist contract\n [And other subsequent ones inheriting this],\n passed as msg.sender from the Daccred.sol." + }, + "id": 954, + "mutability": "mutable", + "name": "allowlistOwner", + "nameLocation": "1537:14:14", + "nodeType": "VariableDeclaration", + "scope": 1120, + "src": "1521:30:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 953, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1521:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 974, + "nodeType": "Block", + "src": "1649:200:14", + "statements": [ + { + "documentation": "@dev Require address is valid.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 961, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 957, + "src": "1710:15:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 964, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1737:1:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 963, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1729:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1729:7:14", + "typeDescriptions": {} + } + }, + "id": 965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1729:10:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1710:29:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c696420416464726573732e", + "id": 967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1741:18:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae7d29f8751519f0d95a4ed231f990a2eb8da9a4dcb3c93aea95b0d8ba934f03", + "typeString": "literal_string \"Invalid Address.\"" + }, + "value": "Invalid Address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ae7d29f8751519f0d95a4ed231f990a2eb8da9a4dcb3c93aea95b0d8ba934f03", + "typeString": "literal_string \"Invalid Address.\"" + } + ], + "id": 960, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1702:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1702:58:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 969, + "nodeType": "ExpressionStatement", + "src": "1702:58:14" + }, + { + "documentation": "@dev Set the variable name.", + "expression": { + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 970, + "name": "allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 954, + "src": "1810:14:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 971, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 957, + "src": "1827:15:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1810:32:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 973, + "nodeType": "ExpressionStatement", + "src": "1810:32:14" + } + ] + }, + "documentation": { + "id": 955, + "nodeType": "StructuredDocumentation", + "src": "1558:49:14", + "text": "@dev constructor, setting the allowlistOwner." + }, + "id": 975, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 957, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "1632:15:14", + "nodeType": "VariableDeclaration", + "scope": 975, + "src": "1624:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1624:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1623:25:14" + }, + "returnParameters": { + "id": 959, + "nodeType": "ParameterList", + "parameters": [], + "src": "1649:0:14" + }, + "scope": 1120, + "src": "1612:237:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": { + "id": 976, + "nodeType": "StructuredDocumentation", + "src": "1855:87:14", + "text": "@dev Emitted when a signature is verified by the\n allowlistOwner." + }, + "eventSelector": "7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e36", + "id": 982, + "name": "VerifySignature", + "nameLocation": "1953:15:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 978, + "indexed": true, + "mutability": "mutable", + "name": "addressHash", + "nameLocation": "1985:11:14", + "nodeType": "VariableDeclaration", + "scope": 982, + "src": "1969:27:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 977, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1969:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 980, + "indexed": true, + "mutability": "mutable", + "name": "result", + "nameLocation": "2011:6:14", + "nodeType": "VariableDeclaration", + "scope": 982, + "src": "1998:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 979, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1998:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1968:50:14" + }, + "src": "1947:72:14" + }, + { + "body": { + "id": 990, + "nodeType": "Block", + "src": "2230:38:14", + "statements": [ + { + "expression": { + "id": 988, + "name": "allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 954, + "src": "2247:14:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 987, + "id": 989, + "nodeType": "Return", + "src": "2240:21:14" + } + ] + }, + "documentation": { + "id": 983, + "nodeType": "StructuredDocumentation", + "src": "2025:141:14", + "text": " @dev Return the allowlistOwner.\n @notice Callable by anyone.\n @return address of allowlistOwner." + }, + "functionSelector": "6e0a8746", + "id": 991, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAllowlistOwner", + "nameLocation": "2180:17:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 984, + "nodeType": "ParameterList", + "parameters": [], + "src": "2197:2:14" + }, + "returnParameters": { + "id": 987, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 986, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 991, + "src": "2221:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 985, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2221:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2220:9:14" + }, + "scope": 1120, + "src": "2171:97:14", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1148 + ], + "body": { + "id": 1006, + "nodeType": "Block", + "src": "2594:51:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1002, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 994, + "src": "2628:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1003, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 996, + "src": "2634:3:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1001, + "name": "_verifySignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1072, + "src": "2611:16:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes memory) returns (bool)" + } + }, + "id": 1004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2611:27:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1000, + "id": 1005, + "nodeType": "Return", + "src": "2604:34:14" + } + ] + }, + "documentation": { + "id": 992, + "nodeType": "StructuredDocumentation", + "src": "2274:216:14", + "text": " @dev Returns true if the signer of signature `sig` is the `allowlistOwner`.\n And false if otherwise.\n @notice Callable by anyone.\n @return bool true or false." + }, + "functionSelector": "daca6f78", + "id": 1007, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifySignature", + "nameLocation": "2504:15:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 994, + "mutability": "mutable", + "name": "hash", + "nameLocation": "2528:4:14", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "2520:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 993, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2520:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 996, + "mutability": "mutable", + "name": "sig", + "nameLocation": "2547:3:14", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "2534:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 995, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2534:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2519:32:14" + }, + "returnParameters": { + "id": 1000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 999, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1007, + "src": "2584:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 998, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2584:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2583:6:14" + }, + "scope": 1120, + "src": "2495:150:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1071, + "nodeType": "Block", + "src": "3742:935:14", + "statements": [ + { + "documentation": "@dev Require that the caller is the owner [deployer]\n of the contract, [the Daccred.sol].", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1020, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "3897:10:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3897:12:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1022, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6003, + "src": "3913:5:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3913:7:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3897:23:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206279206e6f6e2d6f776e6572", + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3934:45:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b4900fd2ad468616a2143813643a9fbc92ffd6be49c5203fa2a284da28b52aec", + "typeString": "literal_string \"ERC721:: Call to contract made by non-owner\"" + }, + "value": "ERC721:: Call to contract made by non-owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b4900fd2ad468616a2143813643a9fbc92ffd6be49c5203fa2a284da28b52aec", + "typeString": "literal_string \"ERC721:: Call to contract made by non-owner\"" + } + ], + "id": 1019, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3876:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3876:113:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1027, + "nodeType": "ExpressionStatement", + "src": "3876:113:14" + }, + { + "documentation": "@dev Require the length of the signature is 65.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1029, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1012, + "src": "4067:3:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1030, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4067:10:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3635", + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4081:2:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "4067:16:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4572723a3a20496e76616c6964207369676e6174757265206c656e677468", + "id": 1033, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4085:32:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_afde7a5993b74c3d5ded0cabf51ed426adeaaefb6fe4a308dd078080ef4ff925", + "typeString": "literal_string \"Err:: Invalid signature length\"" + }, + "value": "Err:: Invalid signature length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_afde7a5993b74c3d5ded0cabf51ed426adeaaefb6fe4a308dd078080ef4ff925", + "typeString": "literal_string \"Err:: Invalid signature length\"" + } + ], + "id": 1028, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4059:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4059:59:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1035, + "nodeType": "ExpressionStatement", + "src": "4059:59:14" + }, + { + "assignments": [ + 1037, + 1039, + 1041 + ], + "declarations": [ + { + "constant": false, + "id": 1037, + "mutability": "mutable", + "name": "r", + "nameLocation": "4205:1:14", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "4197:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1036, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4197:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1039, + "mutability": "mutable", + "name": "s", + "nameLocation": "4216:1:14", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "4208:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1038, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4208:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1041, + "mutability": "mutable", + "name": "v", + "nameLocation": "4225:1:14", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "4219:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1040, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4219:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Use assembly to get the 3 sections of a signature.", + "id": 1045, + "initialValue": { + "arguments": [ + { + "id": 1043, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1012, + "src": "4245:3:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1042, + "name": "splitSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "4230:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_bytes32_$_t_uint8_$", + "typeString": "function (bytes memory) pure returns (bytes32,bytes32,uint8)" + } + }, + "id": 1044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4230:19:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$_t_uint8_$", + "typeString": "tuple(bytes32,bytes32,uint8)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4196:53:14" + }, + { + "assignments": [ + 1048 + ], + "declarations": [ + { + "constant": false, + "id": 1048, + "mutability": "mutable", + "name": "signer", + "nameLocation": "4322:6:14", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "4314:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4314:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Using ecrecover to get the signer.", + "id": 1055, + "initialValue": { + "arguments": [ + { + "id": 1050, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1010, + "src": "4341:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1051, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1041, + "src": "4347:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 1052, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1037, + "src": "4350:1:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1053, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1039, + "src": "4353:1:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1049, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -6, + "src": "4331:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4331:24:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4314:41:14" + }, + { + "assignments": [ + 1058 + ], + "declarations": [ + { + "constant": false, + "id": 1058, + "mutability": "mutable", + "name": "signerIsAllowlistOwner", + "nameLocation": "4433:22:14", + "nodeType": "VariableDeclaration", + "scope": 1071, + "src": "4428:27:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1057, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4428:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Verify that the signer is the allowlistOwner.", + "id": 1063, + "initialValue": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1059, + "name": "signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1048, + "src": "4459:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1060, + "name": "allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 954, + "src": "4469:14:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4459:24:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1062, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4458:26:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4428:56:14" + }, + { + "documentation": "@dev Emit the {VerifySignature} event.", + "eventCall": { + "arguments": [ + { + "id": 1065, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1010, + "src": "4566:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1066, + "name": "signerIsAllowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1058, + "src": "4572:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1064, + "name": "VerifySignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 982, + "src": "4550:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bool_$returns$__$", + "typeString": "function (bytes32,bool)" + } + }, + "id": 1067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4550:45:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1068, + "nodeType": "EmitStatement", + "src": "4545:50:14" + }, + { + "documentation": "@dev Return the result.", + "expression": { + "id": 1069, + "name": "signerIsAllowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1058, + "src": "4648:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1018, + "id": 1070, + "nodeType": "Return", + "src": "4641:29:14" + } + ] + }, + "documentation": { + "id": 1008, + "nodeType": "StructuredDocumentation", + "src": "2651:966:14", + "text": " @dev Evaluate and return that a particular address message\n was signed by the allowlistOwner.\n In the SoulboundCore.sol, this function will be used\n in the {issueWithSignature} function, to verify that\n the hash of the address was indeed signed by the\n allowlistOwner.\n This functin will be called from the Daccred.sol or\n DaccredDeployer.sol where the address of the\n allowlistOwner will be passed to the function, as\n msg.sender. Meaning that only the owner of the\n allowlist deployed from the Daccred.sol can call\n the function.\n Or using the getAllowlistOwner() for validations.\n @notice Callable by this or inheriting contract.\n @param hash Hash of the address.\n @param sig Signature of the transaction, made offchain.\n @return bool true or false." + }, + "id": 1072, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1015, + "kind": "modifierInvocation", + "modifierName": { + "id": 1014, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "3705:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "3705:9:14" + } + ], + "name": "_verifySignature", + "nameLocation": "3631:16:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1010, + "mutability": "mutable", + "name": "hash", + "nameLocation": "3656:4:14", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "3648:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1009, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3648:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1012, + "mutability": "mutable", + "name": "sig", + "nameLocation": "3675:3:14", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "3662:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1011, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3662:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3647:32:14" + }, + "returnParameters": { + "id": 1018, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1017, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1072, + "src": "3732:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1016, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3732:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3731:6:14" + }, + "scope": 1120, + "src": "3622:1055:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 1160 + ], + "body": { + "id": 1104, + "nodeType": "Block", + "src": "4988:132:14", + "statements": [ + { + "assignments": [ + 1085, + 1087, + 1089 + ], + "declarations": [ + { + "constant": false, + "id": 1085, + "mutability": "mutable", + "name": "r", + "nameLocation": "5007:1:14", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "4999:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1084, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4999:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1087, + "mutability": "mutable", + "name": "s", + "nameLocation": "5018:1:14", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "5010:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1086, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5010:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1089, + "mutability": "mutable", + "name": "v", + "nameLocation": "5027:1:14", + "nodeType": "VariableDeclaration", + "scope": 1104, + "src": "5021:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1088, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5021:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 1093, + "initialValue": { + "arguments": [ + { + "id": 1091, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1079, + "src": "5047:10:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1090, + "name": "splitSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1119, + "src": "5032:14:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_bytes32_$_t_uint8_$", + "typeString": "function (bytes memory) pure returns (bytes32,bytes32,uint8)" + } + }, + "id": 1092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5032:26:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$_t_uint8_$", + "typeString": "tuple(bytes32,bytes32,uint8)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4998:60:14" + }, + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1094, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1075, + "src": "5076:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 1096, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1077, + "src": "5097:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1097, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1089, + "src": "5104:1:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 1098, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1085, + "src": "5107:1:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1099, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1087, + "src": "5110:1:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 1095, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -6, + "src": "5087:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 1100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5087:25:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5076:36:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1102, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5075:38:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1083, + "id": 1103, + "nodeType": "Return", + "src": "5068:45:14" + } + ] + }, + "documentation": { + "id": 1073, + "nodeType": "StructuredDocumentation", + "src": "4683:164:14", + "text": " @dev Returns true if the signer of `_signature` is `_signer`.\n @notice Callable by anyone.\n @return bool true or false." + }, + "functionSelector": "e92b0842", + "id": 1105, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifySigner", + "nameLocation": "4861:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1075, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "4891:7:14", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "4883:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1074, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4883:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1077, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "4916:5:14", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "4908:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1076, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4908:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1079, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "4944:10:14", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "4931:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1078, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4931:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4873:87:14" + }, + "returnParameters": { + "id": 1083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1082, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1105, + "src": "4982:4:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1081, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4982:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4981:6:14" + }, + "scope": 1120, + "src": "4852:268:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1118, + "nodeType": "Block", + "src": "5531:744:14", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "5550:719:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6047:24:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "6062:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6067:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6058:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6058:12:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6052:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "6052:19:14" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "6047:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6122:24:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "6137:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6142:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6133:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6133:12:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6127:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "6127:19:14" + }, + "variableNames": [ + { + "name": "s", + "nodeType": "YulIdentifier", + "src": "6122:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6226:33:14", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6236:1:14", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "6249:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6254:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6245:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6245:12:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6239:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "6239:19:14" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "6231:4:14" + }, + "nodeType": "YulFunctionCall", + "src": "6231:28:14" + }, + "variableNames": [ + { + "name": "v", + "nodeType": "YulIdentifier", + "src": "6226:1:14" + } + ] + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 1111, + "isOffset": false, + "isSlot": false, + "src": "6047:1:14", + "valueSize": 1 + }, + { + "declaration": 1113, + "isOffset": false, + "isSlot": false, + "src": "6122:1:14", + "valueSize": 1 + }, + { + "declaration": 1108, + "isOffset": false, + "isSlot": false, + "src": "6062:3:14", + "valueSize": 1 + }, + { + "declaration": 1108, + "isOffset": false, + "isSlot": false, + "src": "6137:3:14", + "valueSize": 1 + }, + { + "declaration": 1108, + "isOffset": false, + "isSlot": false, + "src": "6249:3:14", + "valueSize": 1 + }, + { + "declaration": 1115, + "isOffset": false, + "isSlot": false, + "src": "6226:1:14", + "valueSize": 1 + } + ], + "id": 1117, + "nodeType": "InlineAssembly", + "src": "5541:728:14" + } + ] + }, + "documentation": { + "id": 1106, + "nodeType": "StructuredDocumentation", + "src": "5126:231:14", + "text": " @dev This function makes use of assembly to split the signature\n into 3 parts.\n @param sig The signature to split with Assembly.\n @return r\n @return s\n @return v" + }, + "id": 1119, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "splitSignature", + "nameLocation": "5371:14:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1108, + "mutability": "mutable", + "name": "sig", + "nameLocation": "5399:3:14", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "5386:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1107, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5386:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5385:18:14" + }, + "returnParameters": { + "id": 1116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1111, + "mutability": "mutable", + "name": "r", + "nameLocation": "5471:1:14", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "5463:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1110, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5463:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1113, + "mutability": "mutable", + "name": "s", + "nameLocation": "5494:1:14", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "5486:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1112, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5486:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1115, + "mutability": "mutable", + "name": "v", + "nameLocation": "5515:1:14", + "nodeType": "VariableDeclaration", + "scope": 1119, + "src": "5509:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1114, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5509:5:14", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "5449:77:14" + }, + "scope": 1120, + "src": "5362:913:14", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 1121, + "src": "1245:5032:14", + "usedErrors": [ + 1138 + ] + } + ], + "src": "36:6242:14" + }, + "bytecode": "608060405234801561001057600080fd5b5060405161078638038061078683398101604081905261002f916100fa565b610038336100aa565b6001600160a01b0381166100855760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b604482015260640160405180910390fd5b600180546001600160a01b0319166001600160a01b039290921691909117905561012a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561010c57600080fd5b81516001600160a01b038116811461012357600080fd5b9392505050565b61064d806101396000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80636e0a874614610067578063715018a6146100915780638da5cb5b1461009b578063daca6f78146100ac578063e92b0842146100cf578063f2fde38b146100e2575b600080fd5b6001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100996100f5565b005b6000546001600160a01b0316610074565b6100bf6100ba36600461050d565b610134565b6040519015158152602001610088565b6100bf6100dd366004610570565b610147565b6100996100f03660046105c7565b6101db565b6000546001600160a01b031633146101285760405162461bcd60e51b815260040161011f906105e2565b60405180910390fd5b6101326000610276565b565b600061014083836102c6565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa1580156101b1573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6000546001600160a01b031633146102055760405162461bcd60e51b815260040161011f906105e2565b6001600160a01b03811661026a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161011f565b61027381610276565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080546001600160a01b031633146102f15760405162461bcd60e51b815260040161011f906105e2565b6000546001600160a01b0316331461035f5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b606482015260840161011f565b81516041146103b05760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e6774680000604482015260640161011f565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa158015610414573d6000803e3d6000fd5b5050604051601f198101516001549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261049157600080fd5b813567ffffffffffffffff808211156104ac576104ac61046a565b604051601f8301601f19908116603f011681019082821181831017156104d4576104d461046a565b816040528381528660208588010111156104ed57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561052057600080fd5b82359150602083013567ffffffffffffffff81111561053e57600080fd5b61054a85828601610480565b9150509250929050565b80356001600160a01b038116811461056b57600080fd5b919050565b60008060006060848603121561058557600080fd5b61058e84610554565b925060208401359150604084013567ffffffffffffffff8111156105b157600080fd5b6105bd86828701610480565b9150509250925092565b6000602082840312156105d957600080fd5b61014082610554565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea26469706673582212204578af6e2def00ec4b3c5ded9c1fc1a6fca5af582440a5e0baacb0e233f2b9d864736f6c634300080f0033", + "bytecodeSha1": "551319127cdb9fbe01dc66d31d0c29a0093727e8", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Allowlist", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "16": [ + 2006, + 2028, + true + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "14": [ + 3897, + 3920, + true + ], + "15": [ + 4067, + 4083, + true + ] + } + }, + "15": {}, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "8": [ + 2378, + 2395 + ], + "9": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "1": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "3": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "6": [ + 1998, + 2071 + ], + "7": [ + 2081, + 2109 + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "10": [ + 3876, + 3989 + ], + "11": [ + 4059, + 4118 + ], + "12": [ + 4545, + 4595 + ], + "13": [ + 4641, + 4670 + ] + }, + "Allowlist.getAllowlistOwner": { + "0": [ + 2240, + 2261 + ] + }, + "Allowlist.verifySignature": { + "4": [ + 2604, + 2638 + ] + }, + "Allowlist.verifySigner": { + "5": [ + 5068, + 5113 + ] + } + }, + "15": {}, + "5": { + "Context._msgSender": { + "2": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "IAllowlist", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable" + ], + "deployedBytecode": "608060405234801561001057600080fd5b50600436106100625760003560e01c80636e0a874614610067578063715018a6146100915780638da5cb5b1461009b578063daca6f78146100ac578063e92b0842146100cf578063f2fde38b146100e2575b600080fd5b6001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b6100996100f5565b005b6000546001600160a01b0316610074565b6100bf6100ba36600461050d565b610134565b6040519015158152602001610088565b6100bf6100dd366004610570565b610147565b6100996100f03660046105c7565b6101db565b6000546001600160a01b031633146101285760405162461bcd60e51b815260040161011f906105e2565b60405180910390fd5b6101326000610276565b565b600061014083836102c6565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa1580156101b1573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6000546001600160a01b031633146102055760405162461bcd60e51b815260040161011f906105e2565b6001600160a01b03811661026a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161011f565b61027381610276565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080546001600160a01b031633146102f15760405162461bcd60e51b815260040161011f906105e2565b6000546001600160a01b0316331461035f5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b606482015260840161011f565b81516041146103b05760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e6774680000604482015260640161011f565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa158015610414573d6000803e3d6000fd5b5050604051601f198101516001549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261049157600080fd5b813567ffffffffffffffff808211156104ac576104ac61046a565b604051601f8301601f19908116603f011681019082821181831017156104d4576104d461046a565b816040528381528660208588010111156104ed57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561052057600080fd5b82359150602083013567ffffffffffffffff81111561053e57600080fd5b61054a85828601610480565b9150509250929050565b80356001600160a01b038116811461056b57600080fd5b919050565b60008060006060848603121561058557600080fd5b61058e84610554565b925060208401359150604084013567ffffffffffffffff8111156105b157600080fd5b6105bd86828701610480565b9150509250925092565b6000602082840312156105d957600080fd5b61014082610554565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea26469706673582212204578af6e2def00ec4b3c5ded9c1fc1a6fca5af582440a5e0baacb0e233f2b9d864736f6c634300080f0033", + "deployedSourceMap": "1245:5032:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2171:97;2247:14;;-1:-1:-1;;;;;2247:14:14;2171:97;;;-1:-1:-1;;;;;178:32:43;;;160:51;;148:2;133:18;2171:97:14;;;;;;;;1668:101:0;;;:::i;:::-;;1036:85;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;1036:85;;2495:150:14;;;;;;:::i;:::-;;:::i;:::-;;;1635:14:43;;1628:22;1610:41;;1598:2;1583:18;2495:150:14;1470:187:43;4852:268:14;;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;:::i;:::-;;:::i;1668:101::-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;2495:150:14:-;2584:4;2611:27;2628:4;2634:3;2611:16;:27::i;:::-;2604:34;2495:150;-1:-1:-1;;;2495:150:14:o;4852:268::-;6067:2;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;5087:25;;4982:4;5087:25;;;;;;;;;3086::43;;;6231:28:14;;;3127:18:43;;;3120:45;;;3181:18;;;3174:34;;;3224:18;;;3217:34;;;5087:25:14;;4982:4;;6127:19;;6231:28;;5087:25;;3058:19:43;;;;;-1:-1:-1;;5087:25:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:36:14;:7;-1:-1:-1;;;;;5076:36:14;;5068:45;;;;;4852:268;;;;;:::o;1918:198:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;3464:2:43;1998:73:0::1;::::0;::::1;3446:21:43::0;3503:2;3483:18;;;3476:30;3542:34;3522:18;;;3515:62;-1:-1:-1;;;3593:18:43;;;3586:36;3639:19;;1998:73:0::1;3262:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2270:187::-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;3622:1055:14:-;3732:4;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;3897:23:14::1;3876:113;;;::::0;-1:-1:-1;;;3876:113:14;;3871:2:43;3876:113:14::1;::::0;::::1;3853:21:43::0;3910:2;3890:18;;;3883:30;3949:34;3929:18;;;3922:62;-1:-1:-1;;;4000:18:43;;;3993:41;4051:19;;3876:113:14::1;3669:407:43::0;3876:113:14::1;4067:3;:10;4081:2;4067:16;4059:59;;;::::0;-1:-1:-1;;;4059:59:14;;4283:2:43;4059:59:14::1;::::0;::::1;4265:21:43::0;4322:2;4302:18;;;4295:30;4361:32;4341:18;;;4334:60;4411:18;;4059:59:14::1;4081:354:43::0;4059:59:14::1;6067:2:::0;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;4331:24;;4197:9:::1;4331:24:::0;;;;;::::1;::::0;;;3086:25:43;;;6231:28:14;;;3127:18:43;;;3120:45;;;3181:18;;;3174:34;;;3224:18;;;3217:34;;;6052:19:14;;6127;;4331:24:::1;::::0;3058:19:43;;4331:24:14::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4331:24:14::1;::::0;-1:-1:-1;;4331:24:14;;;4469:14:::1;::::0;4331:24;;-1:-1:-1;;;;;;4459:24:14;;::::1;4469:14:::0;::::1;4459:24;::::0;-1:-1:-1;4459:24:14;;4566:4;;4550:45:::1;::::0;4428:27:::1;::::0;4550:45:::1;4648:22:::0;3622:1055;-1:-1:-1;;;;;;;3622:1055:14:o;222:127:43:-;283:10;278:3;274:20;271:1;264:31;314:4;311:1;304:15;338:4;335:1;328:15;354:718;396:5;449:3;442:4;434:6;430:17;426:27;416:55;;467:1;464;457:12;416:55;503:6;490:20;529:18;566:2;562;559:10;556:36;;;572:18;;:::i;:::-;647:2;641:9;615:2;701:13;;-1:-1:-1;;697:22:43;;;721:2;693:31;689:40;677:53;;;745:18;;;765:22;;;742:46;739:72;;;791:18;;:::i;:::-;831:10;827:2;820:22;866:2;858:6;851:18;912:3;905:4;900:2;892:6;888:15;884:26;881:35;878:55;;;929:1;926;919:12;878:55;993:2;986:4;978:6;974:17;967:4;959:6;955:17;942:54;1040:1;1033:4;1028:2;1020:6;1016:15;1012:26;1005:37;1060:6;1051:15;;;;;;354:718;;;;:::o;1077:388::-;1154:6;1162;1215:2;1203:9;1194:7;1190:23;1186:32;1183:52;;;1231:1;1228;1221:12;1183:52;1267:9;1254:23;1244:33;;1328:2;1317:9;1313:18;1300:32;1355:18;1347:6;1344:30;1341:50;;;1387:1;1384;1377:12;1341:50;1410:49;1451:7;1442:6;1431:9;1427:22;1410:49;:::i;:::-;1400:59;;;1077:388;;;;;:::o;1662:173::-;1730:20;;-1:-1:-1;;;;;1779:31:43;;1769:42;;1759:70;;1825:1;1822;1815:12;1759:70;1662:173;;;:::o;1840:462::-;1926:6;1934;1942;1995:2;1983:9;1974:7;1970:23;1966:32;1963:52;;;2011:1;2008;2001:12;1963:52;2034:29;2053:9;2034:29;:::i;:::-;2024:39;;2110:2;2099:9;2095:18;2082:32;2072:42;;2165:2;2154:9;2150:18;2137:32;2192:18;2184:6;2181:30;2178:50;;;2224:1;2221;2214:12;2178:50;2247:49;2288:7;2279:6;2268:9;2264:22;2247:49;:::i;:::-;2237:59;;;1840:462;;;;;:::o;2307:186::-;2366:6;2419:2;2407:9;2398:7;2394:23;2390:32;2387:52;;;2435:1;2432;2425:12;2387:52;2458:29;2477:9;2458:29;:::i;2498:356::-;2700:2;2682:21;;;2719:18;;;2712:30;2778:34;2773:2;2758:18;;2751:62;2845:2;2830:18;;2498:356::o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "The allowlist contract serves as a general inheritable contract that any contract with the need of working with signatures and signature verifications can inherit and work with with ease. Allowlists allow you to ensure that a particular address has been signed by a particular contract, and is therefore eligible to receive or be minted a particular token or partcular sets of tokens. It will be necessary to state that this contract will be directly owned by the Daccred.sol [link here], but on deploy, the address of the wallet deploying the contract will be stored as the `allowlistOwner`, this address cannot be changed, and this address will be evaluated for incoming signature confirmations. The address must be the signer of the signature. Changing this address means changing every signature signed. This is not good. For clarity: Contract deployer: Daccred.sol.", + "errors": { + "Unsigned(address)": [ + { + "details": "Thrown when the address passed to the verify function is not signed." + } + ] + }, + "events": { + "VerifySignature(bytes32,bool)": { + "details": "Emitted when a signature is verified by the allowlistOwner." + } + }, + "kind": "dev", + "methods": { + "constructor": { + "details": "constructor, setting the allowlistOwner." + }, + "getAllowlistOwner()": { + "details": "Return the allowlistOwner.", + "notice": "Callable by anyone.", + "returns": { + "_0": "address of allowlistOwner." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "verifySignature(bytes32,bytes)": { + "details": "Returns true if the signer of signature `sig` is the `allowlistOwner`. And false if otherwise.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + }, + "verifySigner(address,bytes32,bytes)": { + "details": "Returns true if the signer of `_signature` is `_signer`.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + } + }, + "stateVariables": { + "allowlistOwner": { + "details": "The wallet that initiated the transaction to deploy this allowlist contract [And other subsequent ones inheriting this], passed as msg.sender from the Daccred.sol." + } + }, + "title": "Allowlist Contract.", + "version": 1 + }, + "offset": [ + 1245, + 6277 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6E0A8746 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x91 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x9B JUMPI DUP1 PUSH4 0xDACA6F78 EQ PUSH2 0xAC JUMPI DUP1 PUSH4 0xE92B0842 EQ PUSH2 0xCF JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x99 PUSH2 0xF5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x74 JUMP JUMPDEST PUSH2 0xBF PUSH2 0xBA CALLDATASIZE PUSH1 0x4 PUSH2 0x50D JUMP JUMPDEST PUSH2 0x134 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x88 JUMP JUMPDEST PUSH2 0xBF PUSH2 0xDD CALLDATASIZE PUSH1 0x4 PUSH2 0x570 JUMP JUMPDEST PUSH2 0x147 JUMP JUMPDEST PUSH2 0x99 PUSH2 0xF0 CALLDATASIZE PUSH1 0x4 PUSH2 0x5C7 JUMP JUMPDEST PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x128 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11F SWAP1 PUSH2 0x5E2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x132 PUSH1 0x0 PUSH2 0x276 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x140 DUP4 DUP4 PUSH2 0x2C6 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x205 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11F SWAP1 PUSH2 0x5E2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x26A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11F JUMP JUMPDEST PUSH2 0x273 DUP2 PUSH2 0x276 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2F1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x11F SWAP1 PUSH2 0x5E2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x35F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x3C903737B716B7BBB732B9 PUSH1 0xA9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x11F JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x3B0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x11F JUMP JUMPDEST PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP1 DUP8 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE SWAP7 DUP2 ADD DUP1 DUP7 MSTORE DUP11 SWAP1 MSTORE SWAP1 DUP7 BYTE SWAP4 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP3 SWAP1 MSTORE SWAP3 SWAP4 SWAP1 SWAP3 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x414 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT DUP2 ADD MLOAD PUSH1 0x1 SLOAD SWAP1 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 AND EQ SWAP2 POP DUP2 SWAP1 DUP10 SWAP1 PUSH32 0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36 SWAP1 PUSH1 0x0 SWAP1 LOG3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x491 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x4AC JUMPI PUSH2 0x4AC PUSH2 0x46A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x4D4 JUMPI PUSH2 0x4D4 PUSH2 0x46A JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x4ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x520 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x53E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x54A DUP6 DUP3 DUP7 ADD PUSH2 0x480 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x56B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x585 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x58E DUP5 PUSH2 0x554 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x5B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x5BD DUP7 DUP3 DUP8 ADD PUSH2 0x480 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x140 DUP3 PUSH2 0x554 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASLIMIT PUSH25 0xAF6E2DEF00EC4B3C5DED9C1FC1A6FCA5AF582440A5E0BAACB0 0xE2 CALLER CALLCODE 0xB9 0xD8 PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 1245, + 6277 + ], + "op": "PUSH1", + "path": "14", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "MSTORE", + "path": "14" + }, + "5": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "CALLVALUE", + "path": "14" + }, + "6": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "7": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "ISZERO", + "path": "14" + }, + "8": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "12": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "REVERT", + "path": "14" + }, + "16": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPDEST", + "path": "14" + }, + "17": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "POP", + "path": "14" + }, + "18": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "21": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "LT", + "path": "14" + }, + "22": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0x62" + }, + "25": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "26": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "CALLDATALOAD", + "path": "14" + }, + "29": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH1", + "path": "14", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "SHR", + "path": "14" + }, + "32": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "33": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH4", + "path": "14", + "value": "0x6E0A8746" + }, + "38": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "EQ", + "path": "14" + }, + "39": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0x67" + }, + "42": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "43": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "44": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH4", + "path": "14", + "value": "0x715018A6" + }, + "49": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "EQ", + "path": "14" + }, + "50": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0x91" + }, + "53": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "54": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "55": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH4", + "path": "14", + "value": "0x8DA5CB5B" + }, + "60": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "EQ", + "path": "14" + }, + "61": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0x9B" + }, + "64": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "65": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "66": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH4", + "path": "14", + "value": "0xDACA6F78" + }, + "71": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "EQ", + "path": "14" + }, + "72": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0xAC" + }, + "75": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "76": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "77": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH4", + "path": "14", + "value": "0xE92B0842" + }, + "82": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "EQ", + "path": "14" + }, + "83": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0xCF" + }, + "86": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "87": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "88": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH4", + "path": "14", + "value": "0xF2FDE38B" + }, + "93": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "EQ", + "path": "14" + }, + "94": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH2", + "path": "14", + "value": "0xE2" + }, + "97": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPI", + "path": "14" + }, + "98": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "JUMPDEST", + "path": "14" + }, + "99": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "101": { + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "DUP1", + "path": "14" + }, + "102": { + "first_revert": true, + "fn": null, + "offset": [ + 1245, + 6277 + ], + "op": "REVERT", + "path": "14" + }, + "103": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPDEST", + "path": "14" + }, + "104": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "statement": 0, + "value": "0x1" + }, + "106": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "107": { + "op": "PUSH1", + "value": "0x1" + }, + "109": { + "op": "PUSH1", + "value": "0x1" + }, + "111": { + "op": "PUSH1", + "value": "0xA0" + }, + "113": { + "op": "SHL" + }, + "114": { + "op": "SUB" + }, + "115": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "116": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPDEST", + "path": "14" + }, + "117": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "119": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "MLOAD", + "path": "14" + }, + "120": { + "op": "PUSH1", + "value": "0x1" + }, + "122": { + "op": "PUSH1", + "value": "0x1" + }, + "124": { + "op": "PUSH1", + "value": "0xA0" + }, + "126": { + "op": "SHL" + }, + "127": { + "op": "SUB" + }, + "128": { + "op": "SWAP1" + }, + "129": { + "op": "SWAP2" + }, + "130": { + "op": "AND" + }, + "131": { + "op": "DUP2" + }, + "132": { + "op": "MSTORE" + }, + "133": { + "op": "PUSH1", + "value": "0x20" + }, + "135": { + "op": "ADD" + }, + "136": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPDEST", + "path": "14" + }, + "137": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "139": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "MLOAD", + "path": "14" + }, + "140": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "DUP1", + "path": "14" + }, + "141": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "SWAP2", + "path": "14" + }, + "142": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "SUB", + "path": "14" + }, + "143": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "SWAP1", + "path": "14" + }, + "144": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "RETURN", + "path": "14" + }, + "145": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "146": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x99" + }, + "149": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0xF5" + }, + "152": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "153": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "154": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "STOP", + "path": "0" + }, + "155": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "156": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "158": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0", + "statement": 1 + }, + "159": { + "op": "PUSH1", + "value": "0x1" + }, + "161": { + "op": "PUSH1", + "value": "0x1" + }, + "163": { + "op": "PUSH1", + "value": "0xA0" + }, + "165": { + "op": "SHL" + }, + "166": { + "op": "SUB" + }, + "167": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "168": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH2", + "path": "0", + "value": "0x74" + }, + "171": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "172": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "173": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0xBF" + }, + "176": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0xBA" + }, + "179": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "180": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "182": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x50D" + }, + "185": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "186": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "187": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x134" + }, + "190": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "191": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "192": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "194": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "MLOAD", + "path": "14" + }, + "195": { + "op": "SWAP1" + }, + "196": { + "op": "ISZERO" + }, + "197": { + "op": "ISZERO" + }, + "198": { + "op": "DUP2" + }, + "199": { + "op": "MSTORE" + }, + "200": { + "op": "PUSH1", + "value": "0x20" + }, + "202": { + "op": "ADD" + }, + "203": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x88" + }, + "206": { + "op": "JUMP" + }, + "207": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "208": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0xBF" + }, + "211": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0xDD" + }, + "214": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "215": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "217": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x570" + }, + "220": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "221": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "222": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x147" + }, + "225": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "226": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "227": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x99" + }, + "230": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0xF0" + }, + "233": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "234": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "236": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x5C7" + }, + "239": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "240": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "241": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1DB" + }, + "244": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "245": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "246": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "248": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "249": { + "op": "PUSH1", + "value": "0x1" + }, + "251": { + "op": "PUSH1", + "value": "0x1" + }, + "253": { + "op": "PUSH1", + "value": "0xA0" + }, + "255": { + "op": "SHL" + }, + "256": { + "op": "SUB" + }, + "257": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "258": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 2 + }, + "259": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "260": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x128" + }, + "263": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "264": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "266": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "267": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "271": { + "op": "PUSH1", + "value": "0xE5" + }, + "273": { + "op": "SHL" + }, + "274": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "275": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "276": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "278": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "279": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x11F" + }, + "282": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "283": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x5E2" + }, + "286": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "287": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "288": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "290": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "291": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "DUP1", + "path": "0" + }, + "292": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP2", + "path": "0" + }, + "293": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SUB", + "path": "0" + }, + "294": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "295": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "0" + }, + "296": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "297": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH2", + "path": "0", + "statement": 3, + "value": "0x132" + }, + "300": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "302": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH2", + "path": "0", + "value": "0x276" + }, + "305": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "306": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "307": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "308": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "309": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2584, + 2588 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "311": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "PUSH2", + "path": "14", + "statement": 4, + "value": "0x140" + }, + "314": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2628, + 2632 + ], + "op": "DUP4", + "path": "14" + }, + "315": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2634, + 2637 + ], + "op": "DUP4", + "path": "14" + }, + "316": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2627 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2C6" + }, + "319": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2611, + 2638 + ], + "op": "JUMP", + "path": "14" + }, + "320": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "JUMPDEST", + "path": "14" + }, + "321": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2604, + 2638 + ], + "op": "SWAP4", + "path": "14" + }, + "322": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "SWAP3", + "path": "14" + }, + "323": { + "op": "POP" + }, + "324": { + "op": "POP" + }, + "325": { + "op": "POP" + }, + "326": { + "fn": "Allowlist.verifySignature", + "jump": "o", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "327": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "328": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "330": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "331": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "332": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "333": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "334": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "336": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "337": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP5", + "path": "14" + }, + "338": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "339": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "340": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "342": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "343": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP7", + "path": "14" + }, + "344": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "345": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "346": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP4", + "path": "14", + "statement": 5 + }, + "347": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "348": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "350": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "351": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP3", + "path": "14" + }, + "352": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "353": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "354": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP9", + "path": "14" + }, + "355": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "356": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "357": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP8", + "path": "14" + }, + "358": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "359": { + "op": "DUP11" + }, + "360": { + "op": "SWAP1" + }, + "361": { + "op": "MSTORE" + }, + "362": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "363": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP3", + "path": "14" + }, + "364": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "365": { + "op": "DUP2" + }, + "366": { + "op": "DUP7" + }, + "367": { + "op": "ADD" + }, + "368": { + "op": "DUP2" + }, + "369": { + "op": "SWAP1" + }, + "370": { + "op": "MSTORE" + }, + "371": { + "op": "SWAP3" + }, + "372": { + "op": "DUP2" + }, + "373": { + "op": "ADD" + }, + "374": { + "op": "DUP7" + }, + "375": { + "op": "SWAP1" + }, + "376": { + "op": "MSTORE" + }, + "377": { + "op": "PUSH1", + "value": "0x80" + }, + "379": { + "op": "DUP2" + }, + "380": { + "op": "ADD" + }, + "381": { + "op": "DUP5" + }, + "382": { + "op": "SWAP1" + }, + "383": { + "op": "MSTORE" + }, + "384": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP4", + "path": "14" + }, + "385": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "386": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP1", + "path": "14" + }, + "387": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP6", + "path": "14" + }, + "388": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "389": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP4", + "path": "14" + }, + "390": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "391": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP3", + "path": "14" + }, + "392": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "394": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "395": { + "op": "PUSH1", + "value": "0xA0" + }, + "397": { + "op": "DUP1" + }, + "398": { + "op": "DUP3" + }, + "399": { + "op": "ADD" + }, + "400": { + "op": "SWAP4" + }, + "401": { + "op": "PUSH1", + "value": "0x1F" + }, + "403": { + "op": "NOT" + }, + "404": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "405": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "406": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "407": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "408": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "409": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "410": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "411": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP2", + "path": "14" + }, + "412": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "413": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "414": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP6", + "path": "14" + }, + "415": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "GAS", + "path": "14" + }, + "416": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "STATICCALL", + "path": "14" + }, + "417": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "418": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "419": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "420": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1B1" + }, + "423": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPI", + "path": "14" + }, + "424": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "425": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "427": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "428": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "429": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "430": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "432": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "REVERT", + "path": "14" + }, + "433": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPDEST", + "path": "14" + }, + "434": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "435": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "436": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "437": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "439": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "441": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "442": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "443": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "444": { + "op": "PUSH1", + "value": "0x1" + }, + "446": { + "op": "PUSH1", + "value": "0x1" + }, + "448": { + "op": "PUSH1", + "value": "0xA0" + }, + "450": { + "op": "SHL" + }, + "451": { + "op": "SUB" + }, + "452": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "453": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5083 + ], + "op": "DUP8", + "path": "14" + }, + "454": { + "op": "PUSH1", + "value": "0x1" + }, + "456": { + "op": "PUSH1", + "value": "0x1" + }, + "458": { + "op": "PUSH1", + "value": "0xA0" + }, + "460": { + "op": "SHL" + }, + "461": { + "op": "SUB" + }, + "462": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "463": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "EQ", + "path": "14" + }, + "464": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "SWAP4", + "path": "14" + }, + "465": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "466": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "467": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "468": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "469": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP4", + "path": "14" + }, + "470": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP3", + "path": "14" + }, + "471": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "472": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "473": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "474": { + "fn": "Allowlist.verifySigner", + "jump": "o", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "475": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "476": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "478": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "479": { + "op": "PUSH1", + "value": "0x1" + }, + "481": { + "op": "PUSH1", + "value": "0x1" + }, + "483": { + "op": "PUSH1", + "value": "0xA0" + }, + "485": { + "op": "SHL" + }, + "486": { + "op": "SUB" + }, + "487": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "488": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "489": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "490": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x205" + }, + "493": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "494": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "496": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "497": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "501": { + "op": "PUSH1", + "value": "0xE5" + }, + "503": { + "op": "SHL" + }, + "504": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "505": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "506": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "508": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "509": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x11F" + }, + "512": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "513": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x5E2" + }, + "516": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "517": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "518": { + "op": "PUSH1", + "value": "0x1" + }, + "520": { + "op": "PUSH1", + "value": "0x1" + }, + "522": { + "op": "PUSH1", + "value": "0xA0" + }, + "524": { + "op": "SHL" + }, + "525": { + "op": "SUB" + }, + "526": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 6 + }, + "527": { + "branch": 16, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "528": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x26A" + }, + "531": { + "branch": 16, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "532": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "534": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "535": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "539": { + "op": "PUSH1", + "value": "0xE5" + }, + "541": { + "op": "SHL" + }, + "542": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "543": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "544": { + "op": "PUSH1", + "value": "0x20" + }, + "546": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "548": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "549": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "550": { + "op": "MSTORE" + }, + "551": { + "op": "PUSH1", + "value": "0x26" + }, + "553": { + "op": "PUSH1", + "value": "0x24" + }, + "555": { + "op": "DUP3" + }, + "556": { + "op": "ADD" + }, + "557": { + "op": "MSTORE" + }, + "558": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "591": { + "op": "PUSH1", + "value": "0x44" + }, + "593": { + "op": "DUP3" + }, + "594": { + "op": "ADD" + }, + "595": { + "op": "MSTORE" + }, + "596": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "603": { + "op": "PUSH1", + "value": "0xD0" + }, + "605": { + "op": "SHL" + }, + "606": { + "op": "PUSH1", + "value": "0x64" + }, + "608": { + "op": "DUP3" + }, + "609": { + "op": "ADD" + }, + "610": { + "op": "MSTORE" + }, + "611": { + "op": "PUSH1", + "value": "0x84" + }, + "613": { + "op": "ADD" + }, + "614": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x11F" + }, + "617": { + "op": "JUMP" + }, + "618": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "619": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH2", + "path": "0", + "statement": 7, + "value": "0x273" + }, + "622": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "623": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH2", + "path": "0", + "value": "0x276" + }, + "626": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "627": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "JUMPDEST", + "path": "0" + }, + "628": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "POP", + "path": "0" + }, + "629": { + "fn": "Ownable.transferOwnership", + "jump": "o", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "630": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "631": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "633": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "634": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "635": { + "op": "PUSH1", + "value": "0x1" + }, + "637": { + "op": "PUSH1", + "value": "0x1" + }, + "639": { + "op": "PUSH1", + "value": "0xA0" + }, + "641": { + "op": "SHL" + }, + "642": { + "op": "SUB" + }, + "643": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 8 + }, + "644": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "645": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "646": { + "op": "PUSH1", + "value": "0x1" + }, + "648": { + "op": "PUSH1", + "value": "0x1" + }, + "650": { + "op": "PUSH1", + "value": "0xA0" + }, + "652": { + "op": "SHL" + }, + "653": { + "op": "SUB" + }, + "654": { + "op": "NOT" + }, + "655": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "656": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "657": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "658": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "659": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP5", + "path": "0" + }, + "660": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "661": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 9, + "value": "0x40" + }, + "663": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "664": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "665": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "666": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "667": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "668": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "669": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP4", + "path": "0" + }, + "670": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "671": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "704": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP2", + "path": "0" + }, + "705": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "706": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "707": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "708": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "709": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "710": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "JUMPDEST", + "path": "14" + }, + "711": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3732, + 3736 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "713": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "DUP1", + "path": "0" + }, + "714": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "715": { + "op": "PUSH1", + "value": "0x1" + }, + "717": { + "op": "PUSH1", + "value": "0x1" + }, + "719": { + "op": "PUSH1", + "value": "0xA0" + }, + "721": { + "op": "SHL" + }, + "722": { + "op": "SUB" + }, + "723": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "724": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "725": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "726": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2F1" + }, + "729": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "730": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "732": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "733": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "737": { + "op": "PUSH1", + "value": "0xE5" + }, + "739": { + "op": "SHL" + }, + "740": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "741": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "742": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "744": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "745": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x11F" + }, + "748": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "749": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x5E2" + }, + "752": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "753": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "754": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "756": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "757": { + "op": "PUSH1", + "value": "0x1" + }, + "759": { + "op": "PUSH1", + "value": "0x1" + }, + "761": { + "op": "PUSH1", + "value": "0xA0" + }, + "763": { + "op": "SHL" + }, + "764": { + "op": "SUB" + }, + "765": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "766": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "767": { + "branch": 14, + "fn": "Allowlist._verifySignature", + "offset": [ + 3897, + 3920 + ], + "op": "EQ", + "path": "14", + "statement": 10 + }, + "768": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x35F" + }, + "771": { + "branch": 14, + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPI", + "path": "14" + }, + "772": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "774": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MLOAD", + "path": "14" + }, + "775": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "779": { + "op": "PUSH1", + "value": "0xE5" + }, + "781": { + "op": "SHL" + }, + "782": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP2", + "path": "14" + }, + "783": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MSTORE", + "path": "14" + }, + "784": { + "op": "PUSH1", + "value": "0x20" + }, + "786": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "788": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP3", + "path": "14" + }, + "789": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "ADD", + "path": "14" + }, + "790": { + "op": "MSTORE" + }, + "791": { + "op": "PUSH1", + "value": "0x2B" + }, + "793": { + "op": "PUSH1", + "value": "0x24" + }, + "795": { + "op": "DUP3" + }, + "796": { + "op": "ADD" + }, + "797": { + "op": "MSTORE" + }, + "798": { + "op": "PUSH32", + "value": "0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062" + }, + "831": { + "op": "PUSH1", + "value": "0x44" + }, + "833": { + "op": "DUP3" + }, + "834": { + "op": "ADD" + }, + "835": { + "op": "MSTORE" + }, + "836": { + "op": "PUSH11", + "value": "0x3C903737B716B7BBB732B9" + }, + "848": { + "op": "PUSH1", + "value": "0xA9" + }, + "850": { + "op": "SHL" + }, + "851": { + "op": "PUSH1", + "value": "0x64" + }, + "853": { + "op": "DUP3" + }, + "854": { + "op": "ADD" + }, + "855": { + "op": "MSTORE" + }, + "856": { + "op": "PUSH1", + "value": "0x84" + }, + "858": { + "op": "ADD" + }, + "859": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x11F" + }, + "862": { + "op": "JUMP" + }, + "863": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPDEST", + "path": "14" + }, + "864": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4070 + ], + "op": "DUP2", + "path": "14", + "statement": 11 + }, + "865": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4077 + ], + "op": "MLOAD", + "path": "14" + }, + "866": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4081, + 4083 + ], + "op": "PUSH1", + "path": "14", + "value": "0x41" + }, + "868": { + "branch": 15, + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4083 + ], + "op": "EQ", + "path": "14" + }, + "869": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x3B0" + }, + "872": { + "branch": 15, + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPI", + "path": "14" + }, + "873": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "875": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MLOAD", + "path": "14" + }, + "876": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "880": { + "op": "PUSH1", + "value": "0xE5" + }, + "882": { + "op": "SHL" + }, + "883": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP2", + "path": "14" + }, + "884": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MSTORE", + "path": "14" + }, + "885": { + "op": "PUSH1", + "value": "0x20" + }, + "887": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "889": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP3", + "path": "14" + }, + "890": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "ADD", + "path": "14" + }, + "891": { + "op": "MSTORE" + }, + "892": { + "op": "PUSH1", + "value": "0x1E" + }, + "894": { + "op": "PUSH1", + "value": "0x24" + }, + "896": { + "op": "DUP3" + }, + "897": { + "op": "ADD" + }, + "898": { + "op": "MSTORE" + }, + "899": { + "op": "PUSH32", + "value": "0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000" + }, + "932": { + "op": "PUSH1", + "value": "0x44" + }, + "934": { + "op": "DUP3" + }, + "935": { + "op": "ADD" + }, + "936": { + "op": "MSTORE" + }, + "937": { + "op": "PUSH1", + "value": "0x64" + }, + "939": { + "op": "ADD" + }, + "940": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x11F" + }, + "943": { + "op": "JUMP" + }, + "944": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPDEST", + "path": "14" + }, + "945": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "947": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP3", + "path": "14" + }, + "948": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "949": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "950": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "951": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "953": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "954": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP6", + "path": "14" + }, + "955": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "956": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "957": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "959": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "960": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP8", + "path": "14" + }, + "961": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "962": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "963": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP4", + "path": "14" + }, + "964": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "965": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4197, + 4206 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "967": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "968": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP3", + "path": "14" + }, + "969": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "970": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP7", + "path": "14" + }, + "971": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "972": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "973": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "974": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP7", + "path": "14" + }, + "975": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "976": { + "op": "DUP11" + }, + "977": { + "op": "SWAP1" + }, + "978": { + "op": "MSTORE" + }, + "979": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP1", + "path": "14" + }, + "980": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP7", + "path": "14" + }, + "981": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "982": { + "op": "SWAP4" + }, + "983": { + "op": "DUP2" + }, + "984": { + "op": "ADD" + }, + "985": { + "op": "DUP5" + }, + "986": { + "op": "SWAP1" + }, + "987": { + "op": "MSTORE" + }, + "988": { + "op": "SWAP1" + }, + "989": { + "op": "DUP2" + }, + "990": { + "op": "ADD" + }, + "991": { + "op": "DUP5" + }, + "992": { + "op": "SWAP1" + }, + "993": { + "op": "MSTORE" + }, + "994": { + "op": "PUSH1", + "value": "0x80" + }, + "996": { + "op": "DUP2" + }, + "997": { + "op": "ADD" + }, + "998": { + "op": "DUP3" + }, + "999": { + "op": "SWAP1" + }, + "1000": { + "op": "MSTORE" + }, + "1001": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP3", + "path": "14" + }, + "1002": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP4", + "path": "14" + }, + "1003": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP1", + "path": "14" + }, + "1004": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "1005": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "1007": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "1008": { + "op": "PUSH1", + "value": "0xA0" + }, + "1010": { + "op": "ADD" + }, + "1011": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "1013": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "1015": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "1016": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "1018": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "1019": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "1020": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "1021": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "1022": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP5", + "path": "14" + }, + "1023": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "1024": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "1025": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP6", + "path": "14" + }, + "1026": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "GAS", + "path": "14" + }, + "1027": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "STATICCALL", + "path": "14" + }, + "1028": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "1029": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "1030": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "1031": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH2", + "path": "14", + "value": "0x414" + }, + "1034": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPI", + "path": "14" + }, + "1035": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "1036": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "1038": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "1039": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "1040": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "1041": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "1043": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "REVERT", + "path": "14" + }, + "1044": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1045": { + "op": "POP" + }, + "1046": { + "op": "POP" + }, + "1047": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "1049": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "1050": { + "op": "PUSH1", + "value": "0x1F" + }, + "1052": { + "op": "NOT" + }, + "1053": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "1054": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "1055": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "1056": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "1058": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SLOAD", + "path": "14" + }, + "1059": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "1060": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP4", + "path": "14" + }, + "1061": { + "op": "POP" + }, + "1062": { + "op": "PUSH1", + "value": "0x1" + }, + "1064": { + "op": "PUSH1", + "value": "0x1" + }, + "1066": { + "op": "PUSH1", + "value": "0xA0" + }, + "1068": { + "op": "SHL" + }, + "1069": { + "op": "SUB" + }, + "1070": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP1", + "path": "14" + }, + "1071": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP6", + "path": "14" + }, + "1072": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "AND", + "path": "14" + }, + "1073": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "1074": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "AND", + "path": "14" + }, + "1075": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "EQ", + "path": "14" + }, + "1076": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "1077": { + "op": "POP" + }, + "1078": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP2", + "path": "14" + }, + "1079": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP1", + "path": "14" + }, + "1080": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "DUP10", + "path": "14", + "statement": 12 + }, + "1081": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "SWAP1", + "path": "14" + }, + "1082": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "PUSH32", + "path": "14", + "value": "0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36" + }, + "1115": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "SWAP1", + "path": "14" + }, + "1116": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "1118": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "SWAP1", + "path": "14" + }, + "1119": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "LOG3", + "path": "14" + }, + "1120": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4648, + 4670 + ], + "op": "SWAP8", + "path": "14", + "statement": 13 + }, + "1121": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "SWAP7", + "path": "14" + }, + "1122": { + "op": "POP" + }, + "1123": { + "op": "POP" + }, + "1124": { + "op": "POP" + }, + "1125": { + "op": "POP" + }, + "1126": { + "op": "POP" + }, + "1127": { + "op": "POP" + }, + "1128": { + "op": "POP" + }, + "1129": { + "fn": "Allowlist._verifySignature", + "jump": "o", + "offset": [ + 3622, + 4677 + ], + "op": "JUMP", + "path": "14" + }, + "1130": { + "op": "JUMPDEST" + }, + "1131": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "1136": { + "op": "PUSH1", + "value": "0xE0" + }, + "1138": { + "op": "SHL" + }, + "1139": { + "op": "PUSH1", + "value": "0x0" + }, + "1141": { + "op": "MSTORE" + }, + "1142": { + "op": "PUSH1", + "value": "0x41" + }, + "1144": { + "op": "PUSH1", + "value": "0x4" + }, + "1146": { + "op": "MSTORE" + }, + "1147": { + "op": "PUSH1", + "value": "0x24" + }, + "1149": { + "op": "PUSH1", + "value": "0x0" + }, + "1151": { + "op": "REVERT" + }, + "1152": { + "op": "JUMPDEST" + }, + "1153": { + "op": "PUSH1", + "value": "0x0" + }, + "1155": { + "op": "DUP3" + }, + "1156": { + "op": "PUSH1", + "value": "0x1F" + }, + "1158": { + "op": "DUP4" + }, + "1159": { + "op": "ADD" + }, + "1160": { + "op": "SLT" + }, + "1161": { + "op": "PUSH2", + "value": "0x491" + }, + "1164": { + "op": "JUMPI" + }, + "1165": { + "op": "PUSH1", + "value": "0x0" + }, + "1167": { + "op": "DUP1" + }, + "1168": { + "op": "REVERT" + }, + "1169": { + "op": "JUMPDEST" + }, + "1170": { + "op": "DUP2" + }, + "1171": { + "op": "CALLDATALOAD" + }, + "1172": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1181": { + "op": "DUP1" + }, + "1182": { + "op": "DUP3" + }, + "1183": { + "op": "GT" + }, + "1184": { + "op": "ISZERO" + }, + "1185": { + "op": "PUSH2", + "value": "0x4AC" + }, + "1188": { + "op": "JUMPI" + }, + "1189": { + "op": "PUSH2", + "value": "0x4AC" + }, + "1192": { + "op": "PUSH2", + "value": "0x46A" + }, + "1195": { + "jump": "i", + "op": "JUMP" + }, + "1196": { + "op": "JUMPDEST" + }, + "1197": { + "op": "PUSH1", + "value": "0x40" + }, + "1199": { + "op": "MLOAD" + }, + "1200": { + "op": "PUSH1", + "value": "0x1F" + }, + "1202": { + "op": "DUP4" + }, + "1203": { + "op": "ADD" + }, + "1204": { + "op": "PUSH1", + "value": "0x1F" + }, + "1206": { + "op": "NOT" + }, + "1207": { + "op": "SWAP1" + }, + "1208": { + "op": "DUP2" + }, + "1209": { + "op": "AND" + }, + "1210": { + "op": "PUSH1", + "value": "0x3F" + }, + "1212": { + "op": "ADD" + }, + "1213": { + "op": "AND" + }, + "1214": { + "op": "DUP2" + }, + "1215": { + "op": "ADD" + }, + "1216": { + "op": "SWAP1" + }, + "1217": { + "op": "DUP3" + }, + "1218": { + "op": "DUP3" + }, + "1219": { + "op": "GT" + }, + "1220": { + "op": "DUP2" + }, + "1221": { + "op": "DUP4" + }, + "1222": { + "op": "LT" + }, + "1223": { + "op": "OR" + }, + "1224": { + "op": "ISZERO" + }, + "1225": { + "op": "PUSH2", + "value": "0x4D4" + }, + "1228": { + "op": "JUMPI" + }, + "1229": { + "op": "PUSH2", + "value": "0x4D4" + }, + "1232": { + "op": "PUSH2", + "value": "0x46A" + }, + "1235": { + "jump": "i", + "op": "JUMP" + }, + "1236": { + "op": "JUMPDEST" + }, + "1237": { + "op": "DUP2" + }, + "1238": { + "op": "PUSH1", + "value": "0x40" + }, + "1240": { + "op": "MSTORE" + }, + "1241": { + "op": "DUP4" + }, + "1242": { + "op": "DUP2" + }, + "1243": { + "op": "MSTORE" + }, + "1244": { + "op": "DUP7" + }, + "1245": { + "op": "PUSH1", + "value": "0x20" + }, + "1247": { + "op": "DUP6" + }, + "1248": { + "op": "DUP9" + }, + "1249": { + "op": "ADD" + }, + "1250": { + "op": "ADD" + }, + "1251": { + "op": "GT" + }, + "1252": { + "op": "ISZERO" + }, + "1253": { + "op": "PUSH2", + "value": "0x4ED" + }, + "1256": { + "op": "JUMPI" + }, + "1257": { + "op": "PUSH1", + "value": "0x0" + }, + "1259": { + "op": "DUP1" + }, + "1260": { + "op": "REVERT" + }, + "1261": { + "op": "JUMPDEST" + }, + "1262": { + "op": "DUP4" + }, + "1263": { + "op": "PUSH1", + "value": "0x20" + }, + "1265": { + "op": "DUP8" + }, + "1266": { + "op": "ADD" + }, + "1267": { + "op": "PUSH1", + "value": "0x20" + }, + "1269": { + "op": "DUP4" + }, + "1270": { + "op": "ADD" + }, + "1271": { + "op": "CALLDATACOPY" + }, + "1272": { + "op": "PUSH1", + "value": "0x0" + }, + "1274": { + "op": "PUSH1", + "value": "0x20" + }, + "1276": { + "op": "DUP6" + }, + "1277": { + "op": "DUP4" + }, + "1278": { + "op": "ADD" + }, + "1279": { + "op": "ADD" + }, + "1280": { + "op": "MSTORE" + }, + "1281": { + "op": "DUP1" + }, + "1282": { + "op": "SWAP5" + }, + "1283": { + "op": "POP" + }, + "1284": { + "op": "POP" + }, + "1285": { + "op": "POP" + }, + "1286": { + "op": "POP" + }, + "1287": { + "op": "POP" + }, + "1288": { + "op": "SWAP3" + }, + "1289": { + "op": "SWAP2" + }, + "1290": { + "op": "POP" + }, + "1291": { + "op": "POP" + }, + "1292": { + "jump": "o", + "op": "JUMP" + }, + "1293": { + "op": "JUMPDEST" + }, + "1294": { + "op": "PUSH1", + "value": "0x0" + }, + "1296": { + "op": "DUP1" + }, + "1297": { + "op": "PUSH1", + "value": "0x40" + }, + "1299": { + "op": "DUP4" + }, + "1300": { + "op": "DUP6" + }, + "1301": { + "op": "SUB" + }, + "1302": { + "op": "SLT" + }, + "1303": { + "op": "ISZERO" + }, + "1304": { + "op": "PUSH2", + "value": "0x520" + }, + "1307": { + "op": "JUMPI" + }, + "1308": { + "op": "PUSH1", + "value": "0x0" + }, + "1310": { + "op": "DUP1" + }, + "1311": { + "op": "REVERT" + }, + "1312": { + "op": "JUMPDEST" + }, + "1313": { + "op": "DUP3" + }, + "1314": { + "op": "CALLDATALOAD" + }, + "1315": { + "op": "SWAP2" + }, + "1316": { + "op": "POP" + }, + "1317": { + "op": "PUSH1", + "value": "0x20" + }, + "1319": { + "op": "DUP4" + }, + "1320": { + "op": "ADD" + }, + "1321": { + "op": "CALLDATALOAD" + }, + "1322": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1331": { + "op": "DUP2" + }, + "1332": { + "op": "GT" + }, + "1333": { + "op": "ISZERO" + }, + "1334": { + "op": "PUSH2", + "value": "0x53E" + }, + "1337": { + "op": "JUMPI" + }, + "1338": { + "op": "PUSH1", + "value": "0x0" + }, + "1340": { + "op": "DUP1" + }, + "1341": { + "op": "REVERT" + }, + "1342": { + "op": "JUMPDEST" + }, + "1343": { + "op": "PUSH2", + "value": "0x54A" + }, + "1346": { + "op": "DUP6" + }, + "1347": { + "op": "DUP3" + }, + "1348": { + "op": "DUP7" + }, + "1349": { + "op": "ADD" + }, + "1350": { + "op": "PUSH2", + "value": "0x480" + }, + "1353": { + "jump": "i", + "op": "JUMP" + }, + "1354": { + "op": "JUMPDEST" + }, + "1355": { + "op": "SWAP2" + }, + "1356": { + "op": "POP" + }, + "1357": { + "op": "POP" + }, + "1358": { + "op": "SWAP3" + }, + "1359": { + "op": "POP" + }, + "1360": { + "op": "SWAP3" + }, + "1361": { + "op": "SWAP1" + }, + "1362": { + "op": "POP" + }, + "1363": { + "jump": "o", + "op": "JUMP" + }, + "1364": { + "op": "JUMPDEST" + }, + "1365": { + "op": "DUP1" + }, + "1366": { + "op": "CALLDATALOAD" + }, + "1367": { + "op": "PUSH1", + "value": "0x1" + }, + "1369": { + "op": "PUSH1", + "value": "0x1" + }, + "1371": { + "op": "PUSH1", + "value": "0xA0" + }, + "1373": { + "op": "SHL" + }, + "1374": { + "op": "SUB" + }, + "1375": { + "op": "DUP2" + }, + "1376": { + "op": "AND" + }, + "1377": { + "op": "DUP2" + }, + "1378": { + "op": "EQ" + }, + "1379": { + "op": "PUSH2", + "value": "0x56B" + }, + "1382": { + "op": "JUMPI" + }, + "1383": { + "op": "PUSH1", + "value": "0x0" + }, + "1385": { + "op": "DUP1" + }, + "1386": { + "op": "REVERT" + }, + "1387": { + "op": "JUMPDEST" + }, + "1388": { + "op": "SWAP2" + }, + "1389": { + "op": "SWAP1" + }, + "1390": { + "op": "POP" + }, + "1391": { + "jump": "o", + "op": "JUMP" + }, + "1392": { + "op": "JUMPDEST" + }, + "1393": { + "op": "PUSH1", + "value": "0x0" + }, + "1395": { + "op": "DUP1" + }, + "1396": { + "op": "PUSH1", + "value": "0x0" + }, + "1398": { + "op": "PUSH1", + "value": "0x60" + }, + "1400": { + "op": "DUP5" + }, + "1401": { + "op": "DUP7" + }, + "1402": { + "op": "SUB" + }, + "1403": { + "op": "SLT" + }, + "1404": { + "op": "ISZERO" + }, + "1405": { + "op": "PUSH2", + "value": "0x585" + }, + "1408": { + "op": "JUMPI" + }, + "1409": { + "op": "PUSH1", + "value": "0x0" + }, + "1411": { + "op": "DUP1" + }, + "1412": { + "op": "REVERT" + }, + "1413": { + "op": "JUMPDEST" + }, + "1414": { + "op": "PUSH2", + "value": "0x58E" + }, + "1417": { + "op": "DUP5" + }, + "1418": { + "op": "PUSH2", + "value": "0x554" + }, + "1421": { + "jump": "i", + "op": "JUMP" + }, + "1422": { + "op": "JUMPDEST" + }, + "1423": { + "op": "SWAP3" + }, + "1424": { + "op": "POP" + }, + "1425": { + "op": "PUSH1", + "value": "0x20" + }, + "1427": { + "op": "DUP5" + }, + "1428": { + "op": "ADD" + }, + "1429": { + "op": "CALLDATALOAD" + }, + "1430": { + "op": "SWAP2" + }, + "1431": { + "op": "POP" + }, + "1432": { + "op": "PUSH1", + "value": "0x40" + }, + "1434": { + "op": "DUP5" + }, + "1435": { + "op": "ADD" + }, + "1436": { + "op": "CALLDATALOAD" + }, + "1437": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1446": { + "op": "DUP2" + }, + "1447": { + "op": "GT" + }, + "1448": { + "op": "ISZERO" + }, + "1449": { + "op": "PUSH2", + "value": "0x5B1" + }, + "1452": { + "op": "JUMPI" + }, + "1453": { + "op": "PUSH1", + "value": "0x0" + }, + "1455": { + "op": "DUP1" + }, + "1456": { + "op": "REVERT" + }, + "1457": { + "op": "JUMPDEST" + }, + "1458": { + "op": "PUSH2", + "value": "0x5BD" + }, + "1461": { + "op": "DUP7" + }, + "1462": { + "op": "DUP3" + }, + "1463": { + "op": "DUP8" + }, + "1464": { + "op": "ADD" + }, + "1465": { + "op": "PUSH2", + "value": "0x480" + }, + "1468": { + "jump": "i", + "op": "JUMP" + }, + "1469": { + "op": "JUMPDEST" + }, + "1470": { + "op": "SWAP2" + }, + "1471": { + "op": "POP" + }, + "1472": { + "op": "POP" + }, + "1473": { + "op": "SWAP3" + }, + "1474": { + "op": "POP" + }, + "1475": { + "op": "SWAP3" + }, + "1476": { + "op": "POP" + }, + "1477": { + "op": "SWAP3" + }, + "1478": { + "jump": "o", + "op": "JUMP" + }, + "1479": { + "op": "JUMPDEST" + }, + "1480": { + "op": "PUSH1", + "value": "0x0" + }, + "1482": { + "op": "PUSH1", + "value": "0x20" + }, + "1484": { + "op": "DUP3" + }, + "1485": { + "op": "DUP5" + }, + "1486": { + "op": "SUB" + }, + "1487": { + "op": "SLT" + }, + "1488": { + "op": "ISZERO" + }, + "1489": { + "op": "PUSH2", + "value": "0x5D9" + }, + "1492": { + "op": "JUMPI" + }, + "1493": { + "op": "PUSH1", + "value": "0x0" + }, + "1495": { + "op": "DUP1" + }, + "1496": { + "op": "REVERT" + }, + "1497": { + "op": "JUMPDEST" + }, + "1498": { + "op": "PUSH2", + "value": "0x140" + }, + "1501": { + "op": "DUP3" + }, + "1502": { + "op": "PUSH2", + "value": "0x554" + }, + "1505": { + "jump": "i", + "op": "JUMP" + }, + "1506": { + "op": "JUMPDEST" + }, + "1507": { + "op": "PUSH1", + "value": "0x20" + }, + "1509": { + "op": "DUP1" + }, + "1510": { + "op": "DUP3" + }, + "1511": { + "op": "MSTORE" + }, + "1512": { + "op": "DUP2" + }, + "1513": { + "op": "DUP2" + }, + "1514": { + "op": "ADD" + }, + "1515": { + "op": "MSTORE" + }, + "1516": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "1549": { + "op": "PUSH1", + "value": "0x40" + }, + "1551": { + "op": "DUP3" + }, + "1552": { + "op": "ADD" + }, + "1553": { + "op": "MSTORE" + }, + "1554": { + "op": "PUSH1", + "value": "0x60" + }, + "1556": { + "op": "ADD" + }, + "1557": { + "op": "SWAP1" + }, + "1558": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "1481d91c316bcdc3264bbe798071cdae06ca8cd6", + "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.8;\n\nimport \"./IAllowlist.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\n/**\n * @title Allowlist Contract.\n * @author Daccred.\n * @dev The allowlist contract serves as a general inheritable\n * contract that any contract with the need of working with\n * signatures and signature verifications can inherit and\n * work with with ease.\n * Allowlists allow you to ensure that a particular address\n * has been signed by a particular contract, and is therefore\n * eligible to receive or be minted a particular token or\n * partcular sets of tokens.\n * It will be necessary to state that this contract will be\n * directly owned by the Daccred.sol [link here], but on\n * deploy, the address of the wallet deploying the contract\n * will be stored as the `allowlistOwner`, this address\n * cannot be changed, and this address will be evaluated for\n * incoming signature confirmations.\n * The address must be the signer of the signature.\n * Changing this address means changing every signature\n * signed. This is not good.\n *\n * For clarity:\n * Contract deployer: Daccred.sol.\n */\ncontract Allowlist is IAllowlist, Ownable {\n /// @dev The wallet that initiated the transaction to deploy\n /// this allowlist contract\n /// [And other subsequent ones inheriting this],\n /// passed as msg.sender from the Daccred.sol.\n address private allowlistOwner;\n\n /// @dev constructor, setting the allowlistOwner.\n constructor(address _allowlistOwner) {\n /// @dev Require address is valid.\n require(_allowlistOwner != address(0), \"Invalid Address.\");\n /// @dev Set the variable name.\n allowlistOwner = _allowlistOwner;\n }\n\n /// @dev Emitted when a signature is verified by the\n /// allowlistOwner.\n event VerifySignature(bytes32 indexed addressHash, bool indexed result);\n\n /**\n * @dev Return the allowlistOwner.\n *\n * @notice Callable by anyone.\n *\n * @return address of allowlistOwner.\n */\n function getAllowlistOwner() public view returns (address) {\n return allowlistOwner;\n }\n\n /**\n * @dev Returns true if the signer of signature `sig` is the `allowlistOwner`.\n * And false if otherwise.\n *\n * @notice Callable by anyone.\n *\n * @return bool true or false.\n */\n function verifySignature(bytes32 hash, bytes memory sig)\n public\n returns (bool)\n {\n return _verifySignature(hash, sig);\n }\n\n /**\n * @dev Evaluate and return that a particular address message\n * was signed by the allowlistOwner.\n * In the SoulboundCore.sol, this function will be used\n * in the {issueWithSignature} function, to verify that\n * the hash of the address was indeed signed by the\n * allowlistOwner.\n * This functin will be called from the Daccred.sol or\n * DaccredDeployer.sol where the address of the\n * allowlistOwner will be passed to the function, as\n * msg.sender. Meaning that only the owner of the\n * allowlist deployed from the Daccred.sol can call\n * the function.\n * Or using the getAllowlistOwner() for validations.\n *\n * @notice Callable by this or inheriting contract.\n *\n * @param hash Hash of the address.\n * @param sig Signature of the transaction, made offchain.\n *\n * @return bool true or false.\n */\n function _verifySignature(bytes32 hash, bytes memory sig)\n internal\n onlyOwner\n returns (bool)\n {\n /// @dev Require that the caller is the owner [deployer]\n /// of the contract, [the Daccred.sol].\n require(\n _msgSender() == owner(),\n \"ERC721:: Call to contract made by non-owner\"\n );\n /// @dev Require the length of the signature is 65.\n require(sig.length == 65, \"Err:: Invalid signature length\");\n /// @dev Use assembly to get the 3 sections of a signature.\n (bytes32 r, bytes32 s, uint8 v) = splitSignature(sig);\n /// @dev Using ecrecover to get the signer.\n address signer = ecrecover(hash, v, r, s);\n /// @dev Verify that the signer is the allowlistOwner.\n bool signerIsAllowlistOwner = (signer == allowlistOwner);\n /// @dev Emit the {VerifySignature} event.\n emit VerifySignature(hash, signerIsAllowlistOwner);\n /// @dev Return the result.\n return signerIsAllowlistOwner;\n }\n\n /**\n * @dev Returns true if the signer of `_signature` is `_signer`.\n *\n * @notice Callable by anyone.\n *\n * @return bool true or false.\n */\n function verifySigner(\n address _signer,\n bytes32 _hash,\n bytes memory _signature\n ) public pure returns (bool) {\n (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature);\n return (_signer == ecrecover(_hash, v, r, s));\n }\n\n /**\n * @dev This function makes use of assembly to split the signature\n * into 3 parts.\n *\n * @param sig The signature to split with Assembly.\n *\n * @return r\n * @return s\n * @return v\n */\n function splitSignature(bytes memory sig)\n private\n pure\n returns (\n bytes32 r,\n bytes32 s,\n uint8 v\n )\n {\n assembly {\n /**\n * @dev Copied from https://solidity-by-example.org/signature.\n * First 32 bytes stores the length of the signature\n * add(sig, 32) = pointer of sig + 32\n * effectively, skips first 32 bytes of signature\n * mload(p) loads next 32 bytes starting at the memory\n * address p into memory.\n */\n\n /// @dev First 32 bytes, after the length prefix.\n r := mload(add(sig, 32))\n /// @dev Second 32 bytes.\n s := mload(add(sig, 64))\n /// @dev Final byte (first byte of the next 32 bytes).\n v := byte(0, mload(add(sig, 96)))\n }\n }\n}\n", + "sourceMap": "1245:5032:14:-:0;;;1612:237;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;921:32:0;719:10:5;921:18:0;:32::i;:::-;-1:-1:-1;;;;;1710:29:14;;1702:58;;;;-1:-1:-1;;;1702:58:14;;511:2:43;1702:58:14;;;493:21:43;550:2;530:18;;;523:30;-1:-1:-1;;;569:18:43;;;562:46;625:18;;1702:58:14;;;;;;;;1810:14;:32;;-1:-1:-1;;;;;;1810:32:14;-1:-1:-1;;;;;1810:32:14;;;;;;;;;;1245:5032;;2270:187:0;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;14:290:43:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:43;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:43:o;309:340::-;1245:5032:14;;;;;;", + "sourcePath": "contracts/contracts/packages/common/Allowlist.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/Auth.json b/tests/build/contracts/Auth.json new file mode 100644 index 0000000..5e3d897 --- /dev/null +++ b/tests/build/contracts/Auth.json @@ -0,0 +1,2333 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "contract Authority", + "name": "newAuthority", + "type": "address" + } + ], + "name": "AuthorityUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "authority", + "outputs": [ + { + "internalType": "contract Authority", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract Authority", + "name": "newAuthority", + "type": "address" + } + ], + "name": "setAuthority", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "16": "contracts/contracts/packages/nft/contracts/Auth.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/Auth.sol", + "exportedSymbols": { + "Auth": [ + 1320 + ], + "Authority": [ + 1333 + ] + }, + "id": 1334, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1163, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:16" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Auth", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1164, + "nodeType": "StructuredDocumentation", + "src": "454:272:16", + "text": "@notice Provides a flexible and updatable auth pattern which is completely separate from application logic.\n @author Daccred (https://github.com/daccred/contracts)\n @author derived Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)" + }, + "fullyImplemented": true, + "id": 1320, + "linearizedBaseContracts": [ + 1320 + ], + "name": "Auth", + "nameLocation": "744:4:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76", + "id": 1170, + "name": "OwnerUpdated", + "nameLocation": "761:12:16", + "nodeType": "EventDefinition", + "parameters": { + "id": 1169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1166, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "790:4:16", + "nodeType": "VariableDeclaration", + "scope": 1170, + "src": "774:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "774:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1168, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "812:8:16", + "nodeType": "VariableDeclaration", + "scope": 1170, + "src": "796:24:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1167, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "796:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "773:48:16" + }, + "src": "755:67:16" + }, + { + "anonymous": false, + "eventSelector": "a3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198", + "id": 1177, + "name": "AuthorityUpdated", + "nameLocation": "834:16:16", + "nodeType": "EventDefinition", + "parameters": { + "id": 1176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1172, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "867:4:16", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "851:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "851:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "indexed": true, + "mutability": "mutable", + "name": "newAuthority", + "nameLocation": "891:12:16", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "873:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1174, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1173, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "873:9:16" + }, + "referencedDeclaration": 1333, + "src": "873:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "src": "850:54:16" + }, + "src": "828:77:16" + }, + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 1179, + "mutability": "mutable", + "name": "owner", + "nameLocation": "926:5:16", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "911:20:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "911:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "bf7e214f", + "id": 1182, + "mutability": "mutable", + "name": "authority", + "nameLocation": "955:9:16", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "938:26:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1181, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1180, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "938:9:16" + }, + "referencedDeclaration": 1333, + "src": "938:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 1210, + "nodeType": "Block", + "src": "1021:166:16", + "statements": [ + { + "expression": { + "id": 1192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1190, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "1031:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1191, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1039:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1031:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1193, + "nodeType": "ExpressionStatement", + "src": "1031:14:16" + }, + { + "expression": { + "id": 1196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1194, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "1055:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1195, + "name": "_authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "1067:10:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "src": "1055:22:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1197, + "nodeType": "ExpressionStatement", + "src": "1055:22:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1199, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1106:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1106:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1201, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1118:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1198, + "name": "OwnerUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "1093:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1093:32:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1203, + "nodeType": "EmitStatement", + "src": "1088:37:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1205, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1157:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1157:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1207, + "name": "_authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "1169:10:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + ], + "id": 1204, + "name": "AuthorityUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "1140:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_Authority_$1333_$returns$__$", + "typeString": "function (address,contract Authority)" + } + }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1140:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1209, + "nodeType": "EmitStatement", + "src": "1135:45:16" + } + ] + }, + "id": 1211, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "991:6:16", + "nodeType": "VariableDeclaration", + "scope": 1211, + "src": "983:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "983:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1187, + "mutability": "mutable", + "name": "_authority", + "nameLocation": "1009:10:16", + "nodeType": "VariableDeclaration", + "scope": 1211, + "src": "999:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1186, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1185, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "999:9:16" + }, + "referencedDeclaration": 1333, + "src": "999:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "src": "982:38:16" + }, + "returnParameters": { + "id": 1189, + "nodeType": "ParameterList", + "parameters": [], + "src": "1021:0:16" + }, + "scope": 1320, + "src": "971:216:16", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1224, + "nodeType": "Block", + "src": "1225:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 1215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1256:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1256:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1217, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1268:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sig", + "nodeType": "MemberAccess", + "src": "1268:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 1214, + "name": "isAuthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1265, + "src": "1243:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (address,bytes4) view returns (bool)" + } + }, + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1243:33:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "554e415554484f52495a4544", + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1278:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528", + "typeString": "literal_string \"UNAUTHORIZED\"" + }, + "value": "UNAUTHORIZED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528", + "typeString": "literal_string \"UNAUTHORIZED\"" + } + ], + "id": 1213, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1235:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1235:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1222, + "nodeType": "ExpressionStatement", + "src": "1235:58:16" + }, + { + "id": 1223, + "nodeType": "PlaceholderStatement", + "src": "1304:1:16" + } + ] + }, + "id": 1225, + "name": "requiresAuth", + "nameLocation": "1202:12:16", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1212, + "nodeType": "ParameterList", + "parameters": [], + "src": "1214:2:16" + }, + "src": "1193:119:16", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1264, + "nodeType": "Block", + "src": "1411:447:16", + "statements": [ + { + "assignments": [ + 1236 + ], + "declarations": [ + { + "constant": false, + "id": 1236, + "mutability": "mutable", + "name": "auth", + "nameLocation": "1431:4:16", + "nodeType": "VariableDeclaration", + "scope": 1264, + "src": "1421:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1235, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1234, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "1421:9:16" + }, + "referencedDeclaration": 1333, + "src": "1421:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "id": 1238, + "initialValue": { + "id": 1237, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "1438:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1421:26:16" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1241, + "name": "auth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1236, + "src": "1764:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + ], + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1756:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1756:7:16", + "typeDescriptions": {} + } + }, + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1756:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1781:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1773:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1243, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1773:7:16", + "typeDescriptions": {} + } + }, + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1773:10:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1756:27:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 1250, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1227, + "src": "1800:4:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 1253, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1814:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + ], + "id": 1252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1806:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1806:7:16", + "typeDescriptions": {} + } + }, + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1806:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1255, + "name": "functionSig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1229, + "src": "1821:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 1248, + "name": "auth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1236, + "src": "1787:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "canCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1332, + "src": "1787:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (address,address,bytes4) view external returns (bool)" + } + }, + "id": 1256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1787:46:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1756:77:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1258, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1755:79:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1259, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1227, + "src": "1838:4:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1260, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "1846:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1838:13:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1755:96:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1233, + "id": 1263, + "nodeType": "Return", + "src": "1748:103:16" + } + ] + }, + "id": 1265, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAuthorized", + "nameLocation": "1327:12:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1227, + "mutability": "mutable", + "name": "user", + "nameLocation": "1348:4:16", + "nodeType": "VariableDeclaration", + "scope": 1265, + "src": "1340:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1226, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1340:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1229, + "mutability": "mutable", + "name": "functionSig", + "nameLocation": "1361:11:16", + "nodeType": "VariableDeclaration", + "scope": 1265, + "src": "1354:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1228, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1354:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1339:34:16" + }, + "returnParameters": { + "id": 1233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1232, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1265, + "src": "1405:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1231, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1405:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1404:6:16" + }, + "scope": 1320, + "src": "1318:540:16", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1300, + "nodeType": "Block", + "src": "1925:373:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1272, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2121:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2121:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1274, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "2135:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2121:19:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "expression": { + "id": 1278, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2162:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2162:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 1282, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2182:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + ], + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2174:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2174:7:16", + "typeDescriptions": {} + } + }, + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2174:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1284, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2189:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sig", + "nodeType": "MemberAccess", + "src": "2189:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 1276, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "2144:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "canCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1332, + "src": "2144:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (address,address,bytes4) view external returns (bool)" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2144:53:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2121:76:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1271, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2113:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2113:85:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1289, + "nodeType": "ExpressionStatement", + "src": "2113:85:16" + }, + { + "expression": { + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1290, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "2209:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1291, + "name": "newAuthority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "2221:12:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "src": "2209:24:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1293, + "nodeType": "ExpressionStatement", + "src": "2209:24:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1295, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2266:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2266:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1297, + "name": "newAuthority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "2278:12:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + ], + "id": 1294, + "name": "AuthorityUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "2249:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_Authority_$1333_$returns$__$", + "typeString": "function (address,contract Authority)" + } + }, + "id": 1298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2249:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1299, + "nodeType": "EmitStatement", + "src": "2244:47:16" + } + ] + }, + "functionSelector": "7a9e5e4b", + "id": 1301, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setAuthority", + "nameLocation": "1873:12:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1268, + "mutability": "mutable", + "name": "newAuthority", + "nameLocation": "1896:12:16", + "nodeType": "VariableDeclaration", + "scope": 1301, + "src": "1886:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1267, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1266, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "1886:9:16" + }, + "referencedDeclaration": 1333, + "src": "1886:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "src": "1885:24:16" + }, + "returnParameters": { + "id": 1270, + "nodeType": "ParameterList", + "parameters": [], + "src": "1925:0:16" + }, + "scope": 1320, + "src": "1864:434:16", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1318, + "nodeType": "Block", + "src": "2368:83:16", + "statements": [ + { + "expression": { + "id": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1308, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "2378:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1309, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2386:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2378:16:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1311, + "nodeType": "ExpressionStatement", + "src": "2378:16:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1313, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2423:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2423:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1315, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2435:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1312, + "name": "OwnerUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2410:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2410:34:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1317, + "nodeType": "EmitStatement", + "src": "2405:39:16" + } + ] + }, + "functionSelector": "13af4035", + "id": 1319, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1306, + "kind": "modifierInvocation", + "modifierName": { + "id": 1305, + "name": "requiresAuth", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1225, + "src": "2355:12:16" + }, + "nodeType": "ModifierInvocation", + "src": "2355:12:16" + } + ], + "name": "setOwner", + "nameLocation": "2313:8:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1303, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2330:8:16", + "nodeType": "VariableDeclaration", + "scope": 1319, + "src": "2322:16:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2322:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2321:18:16" + }, + "returnParameters": { + "id": 1307, + "nodeType": "ParameterList", + "parameters": [], + "src": "2368:0:16" + }, + "scope": 1320, + "src": "2304:147:16", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 1334, + "src": "726:1727:16", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Authority", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1321, + "nodeType": "StructuredDocumentation", + "src": "2455:291:16", + "text": "@notice A generic interface for a contract which provides authorization data to an Auth instance.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)\n @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)" + }, + "fullyImplemented": false, + "id": 1333, + "linearizedBaseContracts": [ + 1333 + ], + "name": "Authority", + "nameLocation": "2756:9:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "b7009613", + "id": 1332, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "canCall", + "nameLocation": "2781:7:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "mutability": "mutable", + "name": "user", + "nameLocation": "2806:4:16", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2798:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2798:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "mutability": "mutable", + "name": "target", + "nameLocation": "2828:6:16", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2820:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2820:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1327, + "mutability": "mutable", + "name": "functionSig", + "nameLocation": "2851:11:16", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2844:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1326, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2844:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "2788:80:16" + }, + "returnParameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1330, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2892:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1329, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2892:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2891:6:16" + }, + "scope": 1333, + "src": "2772:126:16", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1334, + "src": "2746:154:16", + "usedErrors": [] + } + ], + "src": "429:2471:16" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Auth", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "Authority" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred (https://github.com/daccred/contracts)derived Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)", + "kind": "dev", + "methods": {}, + "notice": "Provides a flexible and updatable auth pattern which is completely separate from application logic.", + "version": 1 + }, + "offset": [ + 726, + 2453 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "2d622a0d92066b453abdbfbfa8c739bf0c325924", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/// @notice Provides a flexible and updatable auth pattern which is completely separate from application logic.\n/// @author Daccred (https://github.com/daccred/contracts)\n/// @author derived Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)\nabstract contract Auth {\n event OwnerUpdated(address indexed user, address indexed newOwner);\n\n event AuthorityUpdated(address indexed user, Authority indexed newAuthority);\n\n address public owner;\n\n Authority public authority;\n\n constructor(address _owner, Authority _authority) {\n owner = _owner;\n authority = _authority;\n\n emit OwnerUpdated(msg.sender, _owner);\n emit AuthorityUpdated(msg.sender, _authority);\n }\n\n modifier requiresAuth() virtual {\n require(isAuthorized(msg.sender, msg.sig), \"UNAUTHORIZED\");\n\n _;\n }\n\n function isAuthorized(address user, bytes4 functionSig) internal view virtual returns (bool) {\n Authority auth = authority; // Memoizing authority saves us a warm SLOAD, around 100 gas.\n\n // Checking if the caller is the owner only after calling the authority saves gas in most cases, but be\n // aware that this makes protected functions uncallable even to the owner if the authority is out of order.\n return (address(auth) != address(0) && auth.canCall(user, address(this), functionSig)) || user == owner;\n }\n\n function setAuthority(Authority newAuthority) public virtual {\n // We check if the caller is the owner first because we want to ensure they can\n // always swap out the authority even if it's reverting or using up a lot of gas.\n require(msg.sender == owner || authority.canCall(msg.sender, address(this), msg.sig));\n\n authority = newAuthority;\n\n emit AuthorityUpdated(msg.sender, newAuthority);\n }\n\n function setOwner(address newOwner) public virtual requiresAuth {\n owner = newOwner;\n\n emit OwnerUpdated(msg.sender, newOwner);\n }\n}\n\n/// @notice A generic interface for a contract which provides authorization data to an Auth instance.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)\n/// @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)\ninterface Authority {\n function canCall(\n address user,\n address target,\n bytes4 functionSig\n ) external view returns (bool);\n}", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/Auth.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/Authority.json b/tests/build/contracts/Authority.json new file mode 100644 index 0000000..f5a8b3f --- /dev/null +++ b/tests/build/contracts/Authority.json @@ -0,0 +1,2270 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "bytes4", + "name": "functionSig", + "type": "bytes4" + } + ], + "name": "canCall", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "16": "contracts/contracts/packages/nft/contracts/Auth.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/Auth.sol", + "exportedSymbols": { + "Auth": [ + 1320 + ], + "Authority": [ + 1333 + ] + }, + "id": 1334, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1163, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:16" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Auth", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1164, + "nodeType": "StructuredDocumentation", + "src": "454:272:16", + "text": "@notice Provides a flexible and updatable auth pattern which is completely separate from application logic.\n @author Daccred (https://github.com/daccred/contracts)\n @author derived Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)" + }, + "fullyImplemented": true, + "id": 1320, + "linearizedBaseContracts": [ + 1320 + ], + "name": "Auth", + "nameLocation": "744:4:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76", + "id": 1170, + "name": "OwnerUpdated", + "nameLocation": "761:12:16", + "nodeType": "EventDefinition", + "parameters": { + "id": 1169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1166, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "790:4:16", + "nodeType": "VariableDeclaration", + "scope": 1170, + "src": "774:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "774:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1168, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "812:8:16", + "nodeType": "VariableDeclaration", + "scope": 1170, + "src": "796:24:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1167, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "796:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "773:48:16" + }, + "src": "755:67:16" + }, + { + "anonymous": false, + "eventSelector": "a3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b76389980198", + "id": 1177, + "name": "AuthorityUpdated", + "nameLocation": "834:16:16", + "nodeType": "EventDefinition", + "parameters": { + "id": 1176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1172, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "867:4:16", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "851:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "851:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1175, + "indexed": true, + "mutability": "mutable", + "name": "newAuthority", + "nameLocation": "891:12:16", + "nodeType": "VariableDeclaration", + "scope": 1177, + "src": "873:30:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1174, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1173, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "873:9:16" + }, + "referencedDeclaration": 1333, + "src": "873:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "src": "850:54:16" + }, + "src": "828:77:16" + }, + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 1179, + "mutability": "mutable", + "name": "owner", + "nameLocation": "926:5:16", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "911:20:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "911:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "bf7e214f", + "id": 1182, + "mutability": "mutable", + "name": "authority", + "nameLocation": "955:9:16", + "nodeType": "VariableDeclaration", + "scope": 1320, + "src": "938:26:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1181, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1180, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "938:9:16" + }, + "referencedDeclaration": 1333, + "src": "938:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 1210, + "nodeType": "Block", + "src": "1021:166:16", + "statements": [ + { + "expression": { + "id": 1192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1190, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "1031:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1191, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1039:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1031:14:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1193, + "nodeType": "ExpressionStatement", + "src": "1031:14:16" + }, + { + "expression": { + "id": 1196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1194, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "1055:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1195, + "name": "_authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "1067:10:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "src": "1055:22:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1197, + "nodeType": "ExpressionStatement", + "src": "1055:22:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1199, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1106:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1106:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1201, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1184, + "src": "1118:6:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1198, + "name": "OwnerUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "1093:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1202, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1093:32:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1203, + "nodeType": "EmitStatement", + "src": "1088:37:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1205, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1157:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1157:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1207, + "name": "_authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "1169:10:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + ], + "id": 1204, + "name": "AuthorityUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "1140:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_Authority_$1333_$returns$__$", + "typeString": "function (address,contract Authority)" + } + }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1140:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1209, + "nodeType": "EmitStatement", + "src": "1135:45:16" + } + ] + }, + "id": 1211, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1188, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "991:6:16", + "nodeType": "VariableDeclaration", + "scope": 1211, + "src": "983:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "983:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1187, + "mutability": "mutable", + "name": "_authority", + "nameLocation": "1009:10:16", + "nodeType": "VariableDeclaration", + "scope": 1211, + "src": "999:20:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1186, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1185, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "999:9:16" + }, + "referencedDeclaration": 1333, + "src": "999:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "src": "982:38:16" + }, + "returnParameters": { + "id": 1189, + "nodeType": "ParameterList", + "parameters": [], + "src": "1021:0:16" + }, + "scope": 1320, + "src": "971:216:16", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1224, + "nodeType": "Block", + "src": "1225:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 1215, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1256:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1256:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1217, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1268:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sig", + "nodeType": "MemberAccess", + "src": "1268:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "id": 1214, + "name": "isAuthorized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1265, + "src": "1243:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (address,bytes4) view returns (bool)" + } + }, + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1243:33:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "554e415554484f52495a4544", + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1278:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528", + "typeString": "literal_string \"UNAUTHORIZED\"" + }, + "value": "UNAUTHORIZED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528", + "typeString": "literal_string \"UNAUTHORIZED\"" + } + ], + "id": 1213, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1235:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1235:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1222, + "nodeType": "ExpressionStatement", + "src": "1235:58:16" + }, + { + "id": 1223, + "nodeType": "PlaceholderStatement", + "src": "1304:1:16" + } + ] + }, + "id": 1225, + "name": "requiresAuth", + "nameLocation": "1202:12:16", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1212, + "nodeType": "ParameterList", + "parameters": [], + "src": "1214:2:16" + }, + "src": "1193:119:16", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1264, + "nodeType": "Block", + "src": "1411:447:16", + "statements": [ + { + "assignments": [ + 1236 + ], + "declarations": [ + { + "constant": false, + "id": 1236, + "mutability": "mutable", + "name": "auth", + "nameLocation": "1431:4:16", + "nodeType": "VariableDeclaration", + "scope": 1264, + "src": "1421:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1235, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1234, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "1421:9:16" + }, + "referencedDeclaration": 1333, + "src": "1421:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "id": 1238, + "initialValue": { + "id": 1237, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "1438:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1421:26:16" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 1241, + "name": "auth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1236, + "src": "1764:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + ], + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1756:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1756:7:16", + "typeDescriptions": {} + } + }, + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1756:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1781:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1244, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1773:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1243, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1773:7:16", + "typeDescriptions": {} + } + }, + "id": 1246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1773:10:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1756:27:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 1250, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1227, + "src": "1800:4:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 1253, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1814:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + ], + "id": 1252, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1806:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1806:7:16", + "typeDescriptions": {} + } + }, + "id": 1254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1806:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1255, + "name": "functionSig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1229, + "src": "1821:11:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 1248, + "name": "auth", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1236, + "src": "1787:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "canCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1332, + "src": "1787:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (address,address,bytes4) view external returns (bool)" + } + }, + "id": 1256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1787:46:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1756:77:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 1258, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1755:79:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1259, + "name": "user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1227, + "src": "1838:4:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1260, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "1846:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1838:13:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1755:96:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1233, + "id": 1263, + "nodeType": "Return", + "src": "1748:103:16" + } + ] + }, + "id": 1265, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAuthorized", + "nameLocation": "1327:12:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1227, + "mutability": "mutable", + "name": "user", + "nameLocation": "1348:4:16", + "nodeType": "VariableDeclaration", + "scope": 1265, + "src": "1340:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1226, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1340:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1229, + "mutability": "mutable", + "name": "functionSig", + "nameLocation": "1361:11:16", + "nodeType": "VariableDeclaration", + "scope": 1265, + "src": "1354:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1228, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1354:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1339:34:16" + }, + "returnParameters": { + "id": 1233, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1232, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1265, + "src": "1405:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1231, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1405:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1404:6:16" + }, + "scope": 1320, + "src": "1318:540:16", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1300, + "nodeType": "Block", + "src": "1925:373:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1272, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2121:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2121:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1274, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "2135:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2121:19:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "expression": { + "id": 1278, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2162:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2162:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 1282, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2182:4:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Auth_$1320", + "typeString": "contract Auth" + } + ], + "id": 1281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2174:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2174:7:16", + "typeDescriptions": {} + } + }, + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2174:13:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1284, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2189:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sig", + "nodeType": "MemberAccess", + "src": "2189:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 1276, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "2144:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "canCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1332, + "src": "2144:17:16", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (address,address,bytes4) view external returns (bool)" + } + }, + "id": 1286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2144:53:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2121:76:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1271, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2113:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2113:85:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1289, + "nodeType": "ExpressionStatement", + "src": "2113:85:16" + }, + { + "expression": { + "id": 1292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1290, + "name": "authority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1182, + "src": "2209:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1291, + "name": "newAuthority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "2221:12:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "src": "2209:24:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "id": 1293, + "nodeType": "ExpressionStatement", + "src": "2209:24:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1295, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2266:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2266:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1297, + "name": "newAuthority", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1268, + "src": "2278:12:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + ], + "id": 1294, + "name": "AuthorityUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "2249:16:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_contract$_Authority_$1333_$returns$__$", + "typeString": "function (address,contract Authority)" + } + }, + "id": 1298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2249:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1299, + "nodeType": "EmitStatement", + "src": "2244:47:16" + } + ] + }, + "functionSelector": "7a9e5e4b", + "id": 1301, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setAuthority", + "nameLocation": "1873:12:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1268, + "mutability": "mutable", + "name": "newAuthority", + "nameLocation": "1896:12:16", + "nodeType": "VariableDeclaration", + "scope": 1301, + "src": "1886:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + }, + "typeName": { + "id": 1267, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1266, + "name": "Authority", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1333, + "src": "1886:9:16" + }, + "referencedDeclaration": 1333, + "src": "1886:9:16", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Authority_$1333", + "typeString": "contract Authority" + } + }, + "visibility": "internal" + } + ], + "src": "1885:24:16" + }, + "returnParameters": { + "id": 1270, + "nodeType": "ParameterList", + "parameters": [], + "src": "1925:0:16" + }, + "scope": 1320, + "src": "1864:434:16", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1318, + "nodeType": "Block", + "src": "2368:83:16", + "statements": [ + { + "expression": { + "id": 1310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1308, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "2378:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1309, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2386:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2378:16:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1311, + "nodeType": "ExpressionStatement", + "src": "2378:16:16" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 1313, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2423:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2423:10:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1315, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2435:8:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1312, + "name": "OwnerUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1170, + "src": "2410:12:16", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 1316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2410:34:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1317, + "nodeType": "EmitStatement", + "src": "2405:39:16" + } + ] + }, + "functionSelector": "13af4035", + "id": 1319, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1306, + "kind": "modifierInvocation", + "modifierName": { + "id": 1305, + "name": "requiresAuth", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1225, + "src": "2355:12:16" + }, + "nodeType": "ModifierInvocation", + "src": "2355:12:16" + } + ], + "name": "setOwner", + "nameLocation": "2313:8:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1303, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2330:8:16", + "nodeType": "VariableDeclaration", + "scope": 1319, + "src": "2322:16:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1302, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2322:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2321:18:16" + }, + "returnParameters": { + "id": 1307, + "nodeType": "ParameterList", + "parameters": [], + "src": "2368:0:16" + }, + "scope": 1320, + "src": "2304:147:16", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 1334, + "src": "726:1727:16", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Authority", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1321, + "nodeType": "StructuredDocumentation", + "src": "2455:291:16", + "text": "@notice A generic interface for a contract which provides authorization data to an Auth instance.\n @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)\n @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)" + }, + "fullyImplemented": false, + "id": 1333, + "linearizedBaseContracts": [ + 1333 + ], + "name": "Authority", + "nameLocation": "2756:9:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "b7009613", + "id": 1332, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "canCall", + "nameLocation": "2781:7:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1323, + "mutability": "mutable", + "name": "user", + "nameLocation": "2806:4:16", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2798:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2798:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1325, + "mutability": "mutable", + "name": "target", + "nameLocation": "2828:6:16", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2820:14:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2820:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1327, + "mutability": "mutable", + "name": "functionSig", + "nameLocation": "2851:11:16", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2844:18:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1326, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2844:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "2788:80:16" + }, + "returnParameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1330, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "2892:4:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1329, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2892:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2891:6:16" + }, + "scope": 1333, + "src": "2772:126:16", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1334, + "src": "2746:154:16", + "usedErrors": [] + } + ], + "src": "429:2471:16" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Authority", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)", + "kind": "dev", + "methods": {}, + "notice": "A generic interface for a contract which provides authorization data to an Auth instance.", + "version": 1 + }, + "offset": [ + 2746, + 2900 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "2d622a0d92066b453abdbfbfa8c739bf0c325924", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/// @notice Provides a flexible and updatable auth pattern which is completely separate from application logic.\n/// @author Daccred (https://github.com/daccred/contracts)\n/// @author derived Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)\nabstract contract Auth {\n event OwnerUpdated(address indexed user, address indexed newOwner);\n\n event AuthorityUpdated(address indexed user, Authority indexed newAuthority);\n\n address public owner;\n\n Authority public authority;\n\n constructor(address _owner, Authority _authority) {\n owner = _owner;\n authority = _authority;\n\n emit OwnerUpdated(msg.sender, _owner);\n emit AuthorityUpdated(msg.sender, _authority);\n }\n\n modifier requiresAuth() virtual {\n require(isAuthorized(msg.sender, msg.sig), \"UNAUTHORIZED\");\n\n _;\n }\n\n function isAuthorized(address user, bytes4 functionSig) internal view virtual returns (bool) {\n Authority auth = authority; // Memoizing authority saves us a warm SLOAD, around 100 gas.\n\n // Checking if the caller is the owner only after calling the authority saves gas in most cases, but be\n // aware that this makes protected functions uncallable even to the owner if the authority is out of order.\n return (address(auth) != address(0) && auth.canCall(user, address(this), functionSig)) || user == owner;\n }\n\n function setAuthority(Authority newAuthority) public virtual {\n // We check if the caller is the owner first because we want to ensure they can\n // always swap out the authority even if it's reverting or using up a lot of gas.\n require(msg.sender == owner || authority.canCall(msg.sender, address(this), msg.sig));\n\n authority = newAuthority;\n\n emit AuthorityUpdated(msg.sender, newAuthority);\n }\n\n function setOwner(address newOwner) public virtual requiresAuth {\n owner = newOwner;\n\n emit OwnerUpdated(msg.sender, newOwner);\n }\n}\n\n/// @notice A generic interface for a contract which provides authorization data to an Auth instance.\n/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol)\n/// @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol)\ninterface Authority {\n function canCall(\n address user,\n address target,\n bytes4 functionSig\n ) external view returns (bool);\n}", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/Auth.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/DeployerERC721.json b/tests/build/contracts/DeployerERC721.json new file mode 100644 index 0000000..df867c6 --- /dev/null +++ b/tests/build/contracts/DeployerERC721.json @@ -0,0 +1,9143 @@ +{ + "abi": [ + { + "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": [], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "UnPaused", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "deployERC721ExtensionCore", + "outputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_comissioner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_commissions", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_cappedSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_redemptionTariff", + "type": "uint256" + } + ], + "name": "deployERC721ExtensionSignature", + "outputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unPause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "10": "contracts/contracts/core/contracts/facets/DeployerERC721.sol", + "13": "contracts/contracts/core/contracts/facets/Pausable.sol", + "18": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "19": "contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/core/contracts/facets/DeployerERC721.sol", + "exportedSymbols": { + "DeployerERC721": [ + 640 + ], + "ERC721ExtensionCore": [ + 2873 + ], + "ERC721ExtensionSignature": [ + 3233 + ], + "Pausable": [ + 942 + ] + }, + "id": 641, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 528, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "438:23:10" + }, + { + "absolutePath": "contracts/contracts/core/contracts/facets/Pausable.sol", + "file": "./Pausable.sol", + "id": 530, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 641, + "sourceUnit": 943, + "src": "463:40:10", + "symbolAliases": [ + { + "foreign": { + "id": 529, + "name": "Pausable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 942, + "src": "471:8:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "file": "../../../packages/nft/contracts/ERC721ExtensionCore.sol", + "id": 532, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 641, + "sourceUnit": 2874, + "src": "505:93:10", + "symbolAliases": [ + { + "foreign": { + "id": 531, + "name": "ERC721ExtensionCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2873, + "src": "513:19:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol", + "file": "../../../packages/nft/contracts/ERC721ExtensionSignature.sol", + "id": 534, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 641, + "sourceUnit": 3234, + "src": "599:103:10", + "symbolAliases": [ + { + "foreign": { + "id": 533, + "name": "ERC721ExtensionSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3233, + "src": "607:24:10", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 536, + "name": "Pausable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 942, + "src": "883:8:10" + }, + "id": 537, + "nodeType": "InheritanceSpecifier", + "src": "883:8:10" + } + ], + "canonicalName": "DeployerERC721", + "contractDependencies": [ + 2873, + 3233 + ], + "contractKind": "contract", + "documentation": { + "id": 535, + "nodeType": "StructuredDocumentation", + "src": "704:151:10", + "text": " @title Daccred Deployer.\n @author Daccred.\n @dev This contracts imports and provides functions\n that deploys each imported contract." + }, + "fullyImplemented": true, + "id": 640, + "linearizedBaseContracts": [ + 640, + 942, + 6075, + 6410 + ], + "name": "DeployerERC721", + "nameLocation": "865:14:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 538, + "nodeType": "StructuredDocumentation", + "src": "898:32:10", + "text": "@dev Locked for re-entrancy." + }, + "id": 540, + "mutability": "mutable", + "name": "locked", + "nameLocation": "948:6:10", + "nodeType": "VariableDeclaration", + "scope": 640, + "src": "935:19:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 539, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "935:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 557, + "nodeType": "Block", + "src": "1041:91:10", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1059:7:10", + "subExpression": { + "id": 544, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 540, + "src": "1060:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 543, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1051:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1051:16:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 547, + "nodeType": "ExpressionStatement", + "src": "1051:16:10" + }, + { + "expression": { + "id": 550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 548, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 540, + "src": "1077:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1086:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1077:13:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 551, + "nodeType": "ExpressionStatement", + "src": "1077:13:10" + }, + { + "id": 552, + "nodeType": "PlaceholderStatement", + "src": "1100:1:10" + }, + { + "expression": { + "id": 555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 553, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 540, + "src": "1111:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1120:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1111:14:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 556, + "nodeType": "ExpressionStatement", + "src": "1111:14:10" + } + ] + }, + "documentation": { + "id": 541, + "nodeType": "StructuredDocumentation", + "src": "961:51:10", + "text": " @dev Protect against Re-Entrancy." + }, + "id": 558, + "name": "nonReentrant", + "nameLocation": "1026:12:10", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 542, + "nodeType": "ParameterList", + "parameters": [], + "src": "1038:2:10" + }, + "src": "1017:115:10", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 590, + "nodeType": "Block", + "src": "1544:243:10", + "statements": [ + { + "assignments": [ + 575 + ], + "declarations": [ + { + "constant": false, + "id": 575, + "mutability": "mutable", + "name": "_erc721ExtensionCore", + "nameLocation": "1628:20:10", + "nodeType": "VariableDeclaration", + "scope": 590, + "src": "1608:40:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionCore_$2873", + "typeString": "contract ERC721ExtensionCore" + }, + "typeName": { + "id": 574, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 573, + "name": "ERC721ExtensionCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2873, + "src": "1608:19:10" + }, + "referencedDeclaration": 2873, + "src": "1608:19:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionCore_$2873", + "typeString": "contract ERC721ExtensionCore" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Deploy ERC721ExtensionCore contract.", + "id": 582, + "initialValue": { + "arguments": [ + { + "id": 579, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 561, + "src": "1675:5:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 580, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 563, + "src": "1682:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1651:23:10", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_ERC721ExtensionCore_$2873_$", + "typeString": "function (string memory,string memory) returns (contract ERC721ExtensionCore)" + }, + "typeName": { + "id": 577, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 576, + "name": "ERC721ExtensionCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2873, + "src": "1655:19:10" + }, + "referencedDeclaration": 2873, + "src": "1655:19:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionCore_$2873", + "typeString": "contract ERC721ExtensionCore" + } + } + }, + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1651:39:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionCore_$2873", + "typeString": "contract ERC721ExtensionCore" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1608:82:10" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 588, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 583, + "name": "contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 570, + "src": "1733:15:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 586, + "name": "_erc721ExtensionCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 575, + "src": "1759:20:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionCore_$2873", + "typeString": "contract ERC721ExtensionCore" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC721ExtensionCore_$2873", + "typeString": "contract ERC721ExtensionCore" + } + ], + "id": 585, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1751:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1751:7:10", + "typeDescriptions": {} + } + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1751:29:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1733:47:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 589, + "nodeType": "ExpressionStatement", + "src": "1733:47:10" + } + ] + }, + "documentation": { + "id": 559, + "nodeType": "StructuredDocumentation", + "src": "1138:233:10", + "text": " @dev Deploys the ERC721ExtensionCore with a set name\n and symbol.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @return contractAddress Deployed address." + }, + "functionSelector": "2ab7fabf", + "id": 591, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 566, + "kind": "modifierInvocation", + "modifierName": { + "id": 565, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 558, + "src": "1472:12:10" + }, + "nodeType": "ModifierInvocation", + "src": "1472:12:10" + }, + { + "id": 568, + "kind": "modifierInvocation", + "modifierName": { + "id": 567, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "1489:13:10" + }, + "nodeType": "ModifierInvocation", + "src": "1489:13:10" + } + ], + "name": "deployERC721ExtensionCore", + "nameLocation": "1385:25:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 561, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1425:5:10", + "nodeType": "VariableDeclaration", + "scope": 591, + "src": "1411:19:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 560, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1411:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 563, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1446:7:10", + "nodeType": "VariableDeclaration", + "scope": 591, + "src": "1432:21:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 562, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1432:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1410:44:10" + }, + "returnParameters": { + "id": 571, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 570, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "1523:15:10", + "nodeType": "VariableDeclaration", + "scope": 591, + "src": "1515:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 569, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1515:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1514:25:10" + }, + "scope": 640, + "src": "1376:411:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 638, + "nodeType": "Block", + "src": "2391:437:10", + "statements": [ + { + "assignments": [ + 618 + ], + "declarations": [ + { + "constant": false, + "id": 618, + "mutability": "mutable", + "name": "_erc721ExtensionSignature", + "nameLocation": "2485:25:10", + "nodeType": "VariableDeclaration", + "scope": 638, + "src": "2460:50:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + }, + "typeName": { + "id": 617, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 616, + "name": "ERC721ExtensionSignature", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3233, + "src": "2460:24:10" + }, + "referencedDeclaration": 3233, + "src": "2460:24:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Deploy ERC721ExtensionSignature contract.", + "id": 630, + "initialValue": { + "arguments": [ + { + "id": 622, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 594, + "src": "2555:5:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 623, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 596, + "src": "2575:7:10", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 624, + "name": "_comissioner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 598, + "src": "2596:12:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 625, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 600, + "src": "2622:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 626, + "name": "_commissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 602, + "src": "2646:12:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 627, + "name": "_cappedSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 604, + "src": "2672:13:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 628, + "name": "_redemptionTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 606, + "src": "2699:17:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2513:28:10", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_ERC721ExtensionSignature_$3233_$", + "typeString": "function (string memory,string memory,address,uint256,uint256,uint256,uint256) returns (contract ERC721ExtensionSignature)" + }, + "typeName": { + "id": 620, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 619, + "name": "ERC721ExtensionSignature", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3233, + "src": "2517:24:10" + }, + "referencedDeclaration": 3233, + "src": "2517:24:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + } + } + }, + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2513:213:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2460:266:10" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 631, + "name": "contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 613, + "src": "2769:15:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 634, + "name": "_erc721ExtensionSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 618, + "src": "2795:25:10", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + } + ], + "id": 633, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2787:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2787:7:10", + "typeDescriptions": {} + } + }, + "id": 635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2787:34:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2769:52:10", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 637, + "nodeType": "ExpressionStatement", + "src": "2769:52:10" + } + ] + }, + "documentation": { + "id": 592, + "nodeType": "StructuredDocumentation", + "src": "1793:243:10", + "text": " @dev Deploys the ERC721ExtensionSignature with its constructor\n parameters.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @return contractAddress Deployed address." + }, + "functionSelector": "e9181d92", + "id": 639, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 609, + "kind": "modifierInvocation", + "modifierName": { + "id": 608, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 558, + "src": "2319:12:10" + }, + "nodeType": "ModifierInvocation", + "src": "2319:12:10" + }, + { + "id": 611, + "kind": "modifierInvocation", + "modifierName": { + "id": 610, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "2336:13:10" + }, + "nodeType": "ModifierInvocation", + "src": "2336:13:10" + } + ], + "name": "deployERC721ExtensionSignature", + "nameLocation": "2050:30:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 607, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 594, + "mutability": "mutable", + "name": "_name", + "nameLocation": "2104:5:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2090:19:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 593, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2090:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 596, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "2134:7:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2120:21:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 595, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2120:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 598, + "mutability": "mutable", + "name": "_comissioner", + "nameLocation": "2159:12:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2151:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2151:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 600, + "mutability": "mutable", + "name": "_maxSupply", + "nameLocation": "2189:10:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2181:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 599, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2181:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 602, + "mutability": "mutable", + "name": "_commissions", + "nameLocation": "2217:12:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2209:20:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2209:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 604, + "mutability": "mutable", + "name": "_cappedSupply", + "nameLocation": "2247:13:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2239:21:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 603, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2239:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 606, + "mutability": "mutable", + "name": "_redemptionTariff", + "nameLocation": "2278:17:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2270:25:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 605, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2270:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2080:221:10" + }, + "returnParameters": { + "id": 614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "2370:15:10", + "nodeType": "VariableDeclaration", + "scope": 639, + "src": "2362:23:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 612, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2362:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2361:25:10" + }, + "scope": 640, + "src": "2041:787:10", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 641, + "src": "856:1974:10", + "usedErrors": [] + } + ], + "src": "438:2392:10" + }, + "bytecode": "608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6143b98061007e6000396000f3fe60806040523480156200001157600080fd5b5060043610620000935760003560e01c8063b187bd261162000062578063b187bd2614620000f4578063e9181d921462000112578063f2fde38b1462000129578063f7b188a5146200014057600080fd5b80632ab7fabf1462000098578063715018a614620000cc5780638456cb5914620000d85780638da5cb5b14620000e2575b600080fd5b620000af620000a9366004620005a7565b6200014a565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d6620001fd565b005b620000d662000238565b6000546001600160a01b0316620000af565b600054600160a01b900460ff166040519015158152602001620000c3565b620000af620001233660046200062f565b620002a7565b620000d66200013a366004620006d1565b62000360565b620000d662000402565b60008054600160a81b900460ff16156200016357600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620001ab5760405162461bcd60e51b8152600401620001a290620006f6565b60405180910390fd5b60008383604051620001bd90620004e0565b620001ca92919062000770565b604051809103906000f080158015620001e7573d6000803e3d6000fd5b506000805460ff60a81b19169055949350505050565b6000546001600160a01b031633146200022a5760405162461bcd60e51b8152600401620001a290620007a2565b62000236600062000490565b565b6000546001600160a01b03163314620002655760405162461bcd60e51b8152600401620001a290620007a2565b600054600160a01b900460ff1615620002925760405162461bcd60e51b8152600401620001a290620006f6565b6000805460ff60a01b1916600160a01b179055565b60008054600160a81b900460ff1615620002c057600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620002ff5760405162461bcd60e51b8152600401620001a290620006f6565b6000888888888888886040516200031690620004ee565b620003289796959493929190620007d7565b604051809103906000f08015801562000345573d6000803e3d6000fd5b506000805460ff60a81b191690559998505050505050505050565b6000546001600160a01b031633146200038d5760405162461bcd60e51b8152600401620001a290620007a2565b6001600160a01b038116620003f45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620001a2565b620003ff8162000490565b50565b6000546001600160a01b031633146200042f5760405162461bcd60e51b8152600401620001a290620007a2565b600054600160a01b900460ff16620004815760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b6044820152606401620001a2565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611873806200083583390190565b6122dc80620020a883390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200052457600080fd5b813567ffffffffffffffff80821115620005425762000542620004fc565b604051601f8301601f19908116603f011681019082821181831017156200056d576200056d620004fc565b816040528381528660208588010111156200058757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215620005bb57600080fd5b823567ffffffffffffffff80821115620005d457600080fd5b620005e28683870162000512565b93506020850135915080821115620005f957600080fd5b50620006088582860162000512565b9150509250929050565b80356001600160a01b03811681146200062a57600080fd5b919050565b600080600080600080600060e0888a0312156200064b57600080fd5b873567ffffffffffffffff808211156200066457600080fd5b620006728b838c0162000512565b985060208a01359150808211156200068957600080fd5b50620006988a828b0162000512565b965050620006a96040890162000612565b969995985095966060810135965060808101359560a0820135955060c0909101359350915050565b600060208284031215620006e457600080fd5b620006ef8262000612565b9392505050565b60208082526010908201526f21b7b73a3930b1ba102830bab9b2b21760811b604082015260600190565b6000815180845260005b8181101562000748576020818501810151868301820152016200072a565b818111156200075b576000602083870101525b50601f01601f19169290920160200192915050565b60408152600062000785604083018562000720565b828103602084015262000799818562000720565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60e081526000620007ec60e083018a62000720565b828103602084015262000800818a62000720565b6001600160a01b0398909816604084015250506060810194909452608084019290925260a083015260c0909101529291505056fe608060405260016008553480156200001657600080fd5b506040516200187338038062001873833981016040819052620000399162000135565b818160026200004983826200022e565b5060036200005882826200022e565b506000805550620002fa92505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009057600080fd5b81516001600160401b0380821115620000ad57620000ad62000068565b604051601f8301601f19908116603f01168101908282118183101715620000d857620000d862000068565b81604052838152602092508683858801011115620000f557600080fd5b600091505b83821015620001195785820183015181830184015290820190620000fa565b838211156200012b5760008385830101525b9695505050505050565b600080604083850312156200014957600080fd5b82516001600160401b03808211156200016157600080fd5b6200016f868387016200007e565b935060208501519150808211156200018657600080fd5b5062000195858286016200007e565b9150509250929050565b600181811c90821680620001b457607f821691505b602082108103620001d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022957600081815260208120601f850160051c81016020861015620002045750805b601f850160051c820191505b81811015620002255782815560010162000210565b5050505b505050565b81516001600160401b038111156200024a576200024a62000068565b62000262816200025b84546200019f565b84620001db565b602080601f8311600181146200029a5760008415620002815750858301515b600019600386901b1c1916600185901b17855562000225565b600085815260208120601f198616915b82811015620002cb57888601518255948401946001909101908401620002aa565b5085821015620002ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611569806200030a6000396000f3fe6080604052600436106100f35760003560e01c80636352211e1161008a578063b88d4fde11610059578063b88d4fde146102a1578063c87b56dd146102c1578063d85d3d27146102e1578063e985e9c5146102f457600080fd5b80636352211e1461022c57806370a082311461024c57806395d89b411461026c578063a22cb4651461028157600080fd5b806318160ddd116100c657806318160ddd146101a957806323b872dd146101cc57806342842e0e146101ec57806342966c681461020c57600080fd5b806301ffc9a7146100f857806306fdde031461012d578063081812fc1461014f578063095ea7b314610187575b600080fd5b34801561010457600080fd5b5061011861011336600461105d565b61033d565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014261038f565b60405161012491906110d9565b34801561015b57600080fd5b5061016f61016a3660046110ec565b610421565b6040516001600160a01b039091168152602001610124565b34801561019357600080fd5b506101a76101a2366004611121565b610465565b005b3480156101b557600080fd5b50600154600054035b604051908152602001610124565b3480156101d857600080fd5b506101a76101e736600461114b565b6104eb565b3480156101f857600080fd5b506101a761020736600461114b565b6104f6565b34801561021857600080fd5b506101a76102273660046110ec565b610511565b34801561023857600080fd5b5061016f6102473660046110ec565b61051f565b34801561025857600080fd5b506101be610267366004611187565b610531565b34801561027857600080fd5b50610142610580565b34801561028d57600080fd5b506101a761029c3660046111a2565b61058f565b3480156102ad57600080fd5b506101a76102bc36600461126a565b610624565b3480156102cd57600080fd5b506101426102dc3660046110ec565b61066e565b6101be6102ef3660046112e6565b610782565b34801561030057600080fd5b5061011861030f36600461132f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061036e57506001600160e01b03198216635b5e139f60e01b145b8061038957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461039e90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546103ca90611362565b80156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b5050505050905090565b600061042c8261083e565b610449576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006104708261051f565b9050806001600160a01b0316836001600160a01b0316036104a45760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b038216146104db576104be813361030f565b6104db576040516367d9dca160e11b815260040160405180910390fd5b6104e6838383610869565b505050565b6104e68383836108c5565b6104e683838360405180602001604052806000815250610624565b61051c816001610ab4565b50565b600061052a82610c7b565b5192915050565b60006001600160a01b03821661055a576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b60606003805461039e90611362565b336001600160a01b038316036105b85760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61062f8484846108c5565b6001600160a01b0383163b156106685761064b84848484610d97565b610668576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606106798261083e565b61069657604051630a14c4b560e41b815260040160405180910390fd5b600082815260096020526040812080546106af90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546106db90611362565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b50505050509050600061074660408051602081019091526000815290565b90508051600003610757578161077a565b808260405160200161076a92919061139c565b6040516020818303038152906040525b949350505050565b60006008546001146107c85760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b6002600855341561081b5760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f20626520300000000000000060448201526064016107bf565b610826336001610e82565b6000546108338184610fb5565b600160085592915050565b6000805482108015610389575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108d082610c7b565b9050836001600160a01b031681600001516001600160a01b0316146109075760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806109255750610925853361030f565b8061094057503361093584610421565b6001600160a01b0316145b90508061096057604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661098757604051633a954ecd60e21b815260040160405180910390fd5b61099360008487610869565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff1980821667ffffffffffffffff92831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a69576000548214610a69578054602086015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b6000610abf83610c7b565b80519091508215610b25576000336001600160a01b0383161480610ae85750610ae8823361030f565b80610b03575033610af886610421565b6001600160a01b0316145b905080610b2357604051632ce44b5f60e11b815260040160405180910390fd5b505b610b3160008583610869565b6001600160a01b0380821660008181526005602090815260408083208054600160801b60001967ffffffffffffffff80841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610c31576000548214610c31578054602087015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b604080516060810182526000808252602082018190529181019190915281600054811015610d7e57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b810467ffffffffffffffff1692820192909252600160e01b90910460ff16151591810182905290610d7c5780516001600160a01b031615610d12579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b820467ffffffffffffffff1693830193909352600160e01b900460ff1615159281019290925215610d77579392505050565b610d12565b505b604051636f96cda160e11b815260040160405180910390fd5b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610dcc9033908990889088906004016113cb565b6020604051808303816000875af1925050508015610e07575060408051601f3d908101601f19168201909252610e0491810190611408565b60015b610e65573d808015610e35576040519150601f19603f3d011682016040523d82523d6000602084013e610e3a565b606091505b508051600003610e5d576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6000546001600160a01b038316610eab57604051622e076360e81b815260040160405180910390fd5b81600003610ecc5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff19811667ffffffffffffffff8083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808210610f695750600055505050565b805115610ff65760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016107bf565b6000828152600960205260409020805461100f90611362565b15905061102f57604051630162134b60e11b815260040160405180910390fd5b60008281526009602052604090206104e68282611473565b6001600160e01b03198116811461051c57600080fd5b60006020828403121561106f57600080fd5b813561107a81611047565b9392505050565b60005b8381101561109c578181015183820152602001611084565b838111156106685750506000910152565b600081518084526110c5816020860160208601611081565b601f01601f19169290920160200192915050565b60208152600061107a60208301846110ad565b6000602082840312156110fe57600080fd5b5035919050565b80356001600160a01b038116811461111c57600080fd5b919050565b6000806040838503121561113457600080fd5b61113d83611105565b946020939093013593505050565b60008060006060848603121561116057600080fd5b61116984611105565b925061117760208501611105565b9150604084013590509250925092565b60006020828403121561119957600080fd5b61107a82611105565b600080604083850312156111b557600080fd5b6111be83611105565b9150602083013580151581146111d357600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561120f5761120f6111de565b604051601f8501601f19908116603f01168101908282118183101715611237576112376111de565b8160405280935085815286868601111561125057600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561128057600080fd5b61128985611105565b935061129760208601611105565b925060408501359150606085013567ffffffffffffffff8111156112ba57600080fd5b8501601f810187136112cb57600080fd5b6112da878235602084016111f4565b91505092959194509250565b6000602082840312156112f857600080fd5b813567ffffffffffffffff81111561130f57600080fd5b8201601f8101841361132057600080fd5b61077a848235602084016111f4565b6000806040838503121561134257600080fd5b61134b83611105565b915061135960208401611105565b90509250929050565b600181811c9082168061137657607f821691505b60208210810361139657634e487b7160e01b600052602260045260246000fd5b50919050565b600083516113ae818460208801611081565b8351908301906113c2818360208801611081565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906113fe908301846110ad565b9695505050505050565b60006020828403121561141a57600080fd5b815161107a81611047565b601f8211156104e657600081815260208120601f850160051c8101602086101561144c5750805b601f850160051c820191505b8181101561146b57828155600101611458565b505050505050565b815167ffffffffffffffff81111561148d5761148d6111de565b6114a18161149b8454611362565b84611425565b602080601f8311600181146114d657600084156114be5750858301515b600019600386901b1c1916600185901b17855561146b565b600085815260208120601f198616915b82811015611505578886015182559484019460019091019084016114e6565b50858210156115235787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220c032aa4c7004a93d6132ffeda0c4b42b9f4a40c8115e72e9730ed6bc3b21bdd664736f6c634300080f003360c060405260016008556000600d553480156200001b57600080fd5b50604051620022dc380380620022dc8339810160408190526200003e9162000293565b868681816002620000508382620003d6565b5060036200005f8282620003d6565b5050600080555062000075915033905062000174565b60008411620000be5760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b60448201526064015b60405180910390fd5b60008211620001035760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b6044820152606401620000b5565b60008111620001485760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b6044820152606401620000b5565b6001600160a01b0390941660a052608091909152600d92909255600c91909155600b5550620004a29050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001ee57600080fd5b81516001600160401b03808211156200020b576200020b620001c6565b604051601f8301601f19908116603f01168101908282118183101715620002365762000236620001c6565b816040528381526020925086838588010111156200025357600080fd5b600091505b8382101562000277578582018301518183018401529082019062000258565b83821115620002895760008385830101525b9695505050505050565b600080600080600080600060e0888a031215620002af57600080fd5b87516001600160401b0380821115620002c757600080fd5b620002d58b838c01620001dc565b985060208a0151915080821115620002ec57600080fd5b50620002fb8a828b01620001dc565b60408a015190975090506001600160a01b03811681146200031b57600080fd5b80955050606088015193506080880151925060a0880151915060c0880151905092959891949750929550565b600181811c908216806200035c57607f821691505b6020821081036200037d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d157600081815260208120601f850160051c81016020861015620003ac5750805b601f850160051c820191505b81811015620003cd57828155600101620003b8565b5050505b505050565b81516001600160401b03811115620003f257620003f2620001c6565b6200040a8162000403845462000347565b8462000383565b602080601f831160018114620004425760008415620004295750858301515b600019600386901b1c1916600185901b178555620003cd565b600085815260208120601f198616915b82811015620004735788860151825594840194600190910190840162000452565b5085821015620004925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051611e14620004c86000396000610ae601526000610aa70152611e146000f3fe6080604052600436106101815760003560e01c8063797fd680116100d1578063c87b56dd1161008a578063e985e9c511610064578063e985e9c51461042c578063f103b43314610475578063f2fde38b14610495578063ff0350e2146104b557600080fd5b8063c87b56dd146103e3578063d5abeb0114610403578063d85d3d271461041957600080fd5b8063797fd6801461033a5780638da5cb5b1461035a57806395d89b411461037857806395dcd0291461038d578063a22cb465146103a3578063b88d4fde146103c357600080fd5b80633ccfd60b1161013e5780636352211e116101185780636352211e146102cf5780636de23a16146102ef57806370a0823114610305578063715018a61461032557600080fd5b80633ccfd60b1461027a57806342842e0e1461028f57806342966c68146102af57600080fd5b806301ffc9a71461018657806306fdde03146101bb578063081812fc146101dd578063095ea7b31461021557806318160ddd1461023757806323b872dd1461025a575b600080fd5b34801561019257600080fd5b506101a66101a1366004611806565b6104d5565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b506101d0610527565b6040516101b29190611882565b3480156101e957600080fd5b506101fd6101f8366004611895565b6105b9565b6040516001600160a01b0390911681526020016101b2565b34801561022157600080fd5b506102356102303660046118ca565b6105fd565b005b34801561024357600080fd5b50600154600054035b6040519081526020016101b2565b34801561026657600080fd5b506102356102753660046118f4565b610683565b34801561028657600080fd5b5061023561068e565b34801561029b57600080fd5b506102356102aa3660046118f4565b6106fd565b3480156102bb57600080fd5b506102356102ca366004611895565b610718565b3480156102db57600080fd5b506101fd6102ea366004611895565b610723565b3480156102fb57600080fd5b5061024c600c5481565b34801561031157600080fd5b5061024c610320366004611930565b610735565b34801561033157600080fd5b50610235610783565b34801561034657600080fd5b50610235610355366004611895565b6107b9565b34801561036657600080fd5b50600a546001600160a01b03166101fd565b34801561038457600080fd5b506101d06107e8565b34801561039957600080fd5b5061024c600d5481565b3480156103af57600080fd5b506102356103be36600461194b565b6107f7565b3480156103cf57600080fd5b506102356103de366004611a29565b61088c565b3480156103ef57600080fd5b506101d06103fe366004611895565b6108d6565b34801561040f57600080fd5b5061024c600b5481565b61024c610427366004611a90565b6109ea565b34801561043857600080fd5b506101a6610447366004611ac4565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561048157600080fd5b50610235610490366004611895565b610b3c565b3480156104a157600080fd5b506102356104b0366004611930565b610bc2565b3480156104c157600080fd5b506102356104d0366004611af7565b610c5a565b60006001600160e01b031982166380ac58cd60e01b148061050657506001600160e01b03198216635b5e139f60e01b145b8061052157506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461053690611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461056290611b68565b80156105af5780601f10610584576101008083540402835291602001916105af565b820191906000526020600020905b81548152906001019060200180831161059257829003601f168201915b5050505050905090565b60006105c482610e63565b6105e1576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061060882610723565b9050806001600160a01b0316836001600160a01b03160361063c5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614610673576106568133610447565b610673576040516367d9dca160e11b815260040160405180910390fd5b61067e838383610e8e565b505050565b61067e838383610eea565b600a546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b890611ba2565b60405180910390fd5b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106fa573d6000803e3d6000fd5b50565b61067e8383836040518060200160405280600081525061088c565b6106fa8160016110d7565b600061072e8261129c565b5192915050565b60006001600160a01b03821661075e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b600a546001600160a01b031633146107ad5760405162461bcd60e51b81526004016106b890611ba2565b6107b760006113b6565b565b600a546001600160a01b031633146107e35760405162461bcd60e51b81526004016106b890611ba2565b600d55565b60606003805461053690611b68565b336001600160a01b038316036108205760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610897848484610eea565b6001600160a01b0383163b156108d0576108b384848484611408565b6108d0576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606108e182610e63565b6108fe57604051630a14c4b560e41b815260040160405180910390fd5b6000828152600960205260408120805461091790611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461094390611b68565b80156109905780601f1061096557610100808354040283529160200191610990565b820191906000526020600020905b81548152906001019060200180831161097357829003601f168201915b5050505050905060006109ae60408051602081019091526000815290565b905080516000036109bf57816109e2565b80826040516020016109d2929190611bd7565b6040516020818303038152906040525b949350505050565b6000600854600114610a2b5760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600d54341015610a7b5760405162461bcd60e51b81526020600482015260166024820152755b4578745369673a6d696e745d3a4e6f2066756e647360501b60448201526064016106b8565b610a84336114f3565b610a90335b6001611598565b600054610a9d81846116ca565b6000612710610acc7f000000000000000000000000000000000000000000000000000000000000000034611c06565b610ad69190611c33565b6040519091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169082156108fc029083906000818181858888f19350505050158015610b2f573d6000803e3d6000fd5b5050600160085592915050565b600a546001600160a01b03163314610b665760405162461bcd60e51b81526004016106b890611ba2565b600081118015610b7c5750600154600054038110155b610bbd5760405162461bcd60e51b8152602060048201526012602482015271496e76616c6964206d617820737570706c7960701b60448201526064016106b8565b600b55565b600a546001600160a01b03163314610bec5760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038116610c515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b6106fa816113b6565b600854600114610c995760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600a546001600160a01b03163314610cc85760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038416610d165760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b60448201526064016106b8565b8151604114610d675760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016106b8565b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008185604051602001610db6929190611c55565b604051602081830303815290604052805190602001209050610dea610de3600a546001600160a01b031690565b828661175c565b610e365760405162461bcd60e51b815260206004820152601960248201527f48617368206e6f74207369676e6564206279206f776e65722e0000000000000060448201526064016106b8565b610e3f336114f3565b610e4833610a89565b600054610e5581856116ca565b505060016008555050505050565b6000805482108015610521575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610ef58261129c565b9050836001600160a01b031681600001516001600160a01b031614610f2c5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610f4a5750610f4a8533610447565b80610f65575033610f5a846105b9565b6001600160a01b0316145b905080610f8557604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610fac57604051633a954ecd60e21b815260040160405180910390fd5b610fb860008487610e8e565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661108c57600054821461108c57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b60006110e28361129c565b80519091508215611148576000336001600160a01b038316148061110b575061110b8233610447565b8061112657503361111b866105b9565b6001600160a01b0316145b90508061114657604051632ce44b5f60e11b815260040160405180910390fd5b505b61115460008583610e8e565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b17855591890180845292208054919490911661125257600054821461125257805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b60408051606081018252600080825260208201819052918101919091528160005481101561139d57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff1615159181018290529061139b5780516001600160a01b031615611332579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215611396579392505050565b611332565b505b604051636f96cda160e11b815260040160405180910390fd5b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061143d903390899088908890600401611c77565b6020604051808303816000875af1925050508015611478575060408051601f3d908101601f1916820190925261147591810190611cb4565b60015b6114d6573d8080156114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b5080516000036114ce576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b600c546114ff82610735565b1061154c5760405162461bcd60e51b815260206004820152601760248201527f596f752063616e2774206d696e7420616e796d6f72652e00000000000000000060448201526064016106b8565b600b5460015460005403106106fa5760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b60448201526064016106b8565b6000546001600160a01b0383166115c157604051622e076360e81b815260040160405180910390fd5b816000036115e25760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a480821061167e5750600055505050565b80511561170b5760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016106b8565b6000828152600960205260409020805461172490611b68565b15905061174457604051630162134b60e11b815260040160405180910390fd5b600082815260096020526040902061067e8282611d1f565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa1580156117c6573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6001600160e01b0319811681146106fa57600080fd5b60006020828403121561181857600080fd5b8135611823816117f0565b9392505050565b60005b8381101561184557818101518382015260200161182d565b838111156108d05750506000910152565b6000815180845261186e81602086016020860161182a565b601f01601f19169290920160200192915050565b6020815260006118236020830184611856565b6000602082840312156118a757600080fd5b5035919050565b80356001600160a01b03811681146118c557600080fd5b919050565b600080604083850312156118dd57600080fd5b6118e6836118ae565b946020939093013593505050565b60008060006060848603121561190957600080fd5b611912846118ae565b9250611920602085016118ae565b9150604084013590509250925092565b60006020828403121561194257600080fd5b611823826118ae565b6000806040838503121561195e57600080fd5b611967836118ae565b91506020830135801515811461197c57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126119ae57600080fd5b81356001600160401b03808211156119c8576119c8611987565b604051601f8301601f19908116603f011681019082821181831017156119f0576119f0611987565b81604052838152866020858801011115611a0957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215611a3f57600080fd5b611a48856118ae565b9350611a56602086016118ae565b92506040850135915060608501356001600160401b03811115611a7857600080fd5b611a848782880161199d565b91505092959194509250565b600060208284031215611aa257600080fd5b81356001600160401b03811115611ab857600080fd5b6109e28482850161199d565b60008060408385031215611ad757600080fd5b611ae0836118ae565b9150611aee602084016118ae565b90509250929050565b60008060008060808587031215611b0d57600080fd5b611b16856118ae565b93506020850135925060408501356001600160401b0380821115611b3957600080fd5b611b458883890161199d565b93506060870135915080821115611b5b57600080fd5b50611a848782880161199d565b600181811c90821680611b7c57607f821691505b602082108103611b9c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008351611be981846020880161182a565b835190830190611bfd81836020880161182a565b01949350505050565b6000816000190483118215151615611c2e57634e487b7160e01b600052601160045260246000fd5b500290565b600082611c5057634e487b7160e01b600052601260045260246000fd5b500490565b60008351611c6781846020880161182a565b9190910191825250602001919050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611caa90830184611856565b9695505050505050565b600060208284031215611cc657600080fd5b8151611823816117f0565b601f82111561067e57600081815260208120601f850160051c81016020861015611cf85750805b601f850160051c820191505b81811015611d1757828155600101611d04565b505050505050565b81516001600160401b03811115611d3857611d38611987565b611d4c81611d468454611b68565b84611cd1565b602080601f831160018114611d815760008415611d695750858301515b600019600386901b1c1916600185901b178555611d17565b600085815260208120601f198616915b82811015611db057888601518255948401946001909101908401611d91565b5085821015611dce5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212200947b902c115f0f4b9a5513076faebc95e8c058d1e09968353b15427dfa7568e64736f6c634300080f0033a26469706673582212209d5e3067dd80c8f379d1ba919e65599813ccf5dad61fe6b365d5585c21eeb57564736f6c634300080f0033", + "bytecodeSha1": "64af4be4c79235994ee5f664f990306a43ed4cc7", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "DeployerERC721", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "12": [ + 2006, + 2028, + true + ] + } + }, + "10": {}, + "13": { + "Pausable.pause": { + "13": [ + 1855, + 1862, + true + ] + }, + "Pausable.unPause": { + "14": [ + 2168, + 2174, + true + ] + } + }, + "18": {}, + "19": {}, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "10": [ + 2378, + 2395 + ], + "11": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "0": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "3": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "6": [ + 1998, + 2071 + ], + "7": [ + 2081, + 2109 + ] + } + }, + "10": {}, + "13": { + "Pausable.isPaused": { + "1": [ + 2496, + 2509 + ] + }, + "Pausable.pause": { + "4": [ + 1847, + 1883 + ], + "5": [ + 1930, + 1943 + ] + }, + "Pausable.unPause": { + "8": [ + 2160, + 2199 + ], + "9": [ + 2247, + 2261 + ] + } + }, + "18": {}, + "19": {}, + "5": { + "Context._msgSender": { + "2": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "ERC721ExtensionCore", + "ERC721ExtensionSignature", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable", + "Pausable" + ], + "deployedBytecode": "60806040523480156200001157600080fd5b5060043610620000935760003560e01c8063b187bd261162000062578063b187bd2614620000f4578063e9181d921462000112578063f2fde38b1462000129578063f7b188a5146200014057600080fd5b80632ab7fabf1462000098578063715018a614620000cc5780638456cb5914620000d85780638da5cb5b14620000e2575b600080fd5b620000af620000a9366004620005a7565b6200014a565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d6620001fd565b005b620000d662000238565b6000546001600160a01b0316620000af565b600054600160a01b900460ff166040519015158152602001620000c3565b620000af620001233660046200062f565b620002a7565b620000d66200013a366004620006d1565b62000360565b620000d662000402565b60008054600160a81b900460ff16156200016357600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620001ab5760405162461bcd60e51b8152600401620001a290620006f6565b60405180910390fd5b60008383604051620001bd90620004e0565b620001ca92919062000770565b604051809103906000f080158015620001e7573d6000803e3d6000fd5b506000805460ff60a81b19169055949350505050565b6000546001600160a01b031633146200022a5760405162461bcd60e51b8152600401620001a290620007a2565b62000236600062000490565b565b6000546001600160a01b03163314620002655760405162461bcd60e51b8152600401620001a290620007a2565b600054600160a01b900460ff1615620002925760405162461bcd60e51b8152600401620001a290620006f6565b6000805460ff60a01b1916600160a01b179055565b60008054600160a81b900460ff1615620002c057600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620002ff5760405162461bcd60e51b8152600401620001a290620006f6565b6000888888888888886040516200031690620004ee565b620003289796959493929190620007d7565b604051809103906000f08015801562000345573d6000803e3d6000fd5b506000805460ff60a81b191690559998505050505050505050565b6000546001600160a01b031633146200038d5760405162461bcd60e51b8152600401620001a290620007a2565b6001600160a01b038116620003f45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620001a2565b620003ff8162000490565b50565b6000546001600160a01b031633146200042f5760405162461bcd60e51b8152600401620001a290620007a2565b600054600160a01b900460ff16620004815760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b6044820152606401620001a2565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611873806200083583390190565b6122dc80620020a883390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200052457600080fd5b813567ffffffffffffffff80821115620005425762000542620004fc565b604051601f8301601f19908116603f011681019082821181831017156200056d576200056d620004fc565b816040528381528660208588010111156200058757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215620005bb57600080fd5b823567ffffffffffffffff80821115620005d457600080fd5b620005e28683870162000512565b93506020850135915080821115620005f957600080fd5b50620006088582860162000512565b9150509250929050565b80356001600160a01b03811681146200062a57600080fd5b919050565b600080600080600080600060e0888a0312156200064b57600080fd5b873567ffffffffffffffff808211156200066457600080fd5b620006728b838c0162000512565b985060208a01359150808211156200068957600080fd5b50620006988a828b0162000512565b965050620006a96040890162000612565b969995985095966060810135965060808101359560a0820135955060c0909101359350915050565b600060208284031215620006e457600080fd5b620006ef8262000612565b9392505050565b60208082526010908201526f21b7b73a3930b1ba102830bab9b2b21760811b604082015260600190565b6000815180845260005b8181101562000748576020818501810151868301820152016200072a565b818111156200075b576000602083870101525b50601f01601f19169290920160200192915050565b60408152600062000785604083018562000720565b828103602084015262000799818562000720565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60e081526000620007ec60e083018a62000720565b828103602084015262000800818a62000720565b6001600160a01b0398909816604084015250506060810194909452608084019290925260a083015260c0909101529291505056fe608060405260016008553480156200001657600080fd5b506040516200187338038062001873833981016040819052620000399162000135565b818160026200004983826200022e565b5060036200005882826200022e565b506000805550620002fa92505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009057600080fd5b81516001600160401b0380821115620000ad57620000ad62000068565b604051601f8301601f19908116603f01168101908282118183101715620000d857620000d862000068565b81604052838152602092508683858801011115620000f557600080fd5b600091505b83821015620001195785820183015181830184015290820190620000fa565b838211156200012b5760008385830101525b9695505050505050565b600080604083850312156200014957600080fd5b82516001600160401b03808211156200016157600080fd5b6200016f868387016200007e565b935060208501519150808211156200018657600080fd5b5062000195858286016200007e565b9150509250929050565b600181811c90821680620001b457607f821691505b602082108103620001d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022957600081815260208120601f850160051c81016020861015620002045750805b601f850160051c820191505b81811015620002255782815560010162000210565b5050505b505050565b81516001600160401b038111156200024a576200024a62000068565b62000262816200025b84546200019f565b84620001db565b602080601f8311600181146200029a5760008415620002815750858301515b600019600386901b1c1916600185901b17855562000225565b600085815260208120601f198616915b82811015620002cb57888601518255948401946001909101908401620002aa565b5085821015620002ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611569806200030a6000396000f3fe6080604052600436106100f35760003560e01c80636352211e1161008a578063b88d4fde11610059578063b88d4fde146102a1578063c87b56dd146102c1578063d85d3d27146102e1578063e985e9c5146102f457600080fd5b80636352211e1461022c57806370a082311461024c57806395d89b411461026c578063a22cb4651461028157600080fd5b806318160ddd116100c657806318160ddd146101a957806323b872dd146101cc57806342842e0e146101ec57806342966c681461020c57600080fd5b806301ffc9a7146100f857806306fdde031461012d578063081812fc1461014f578063095ea7b314610187575b600080fd5b34801561010457600080fd5b5061011861011336600461105d565b61033d565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014261038f565b60405161012491906110d9565b34801561015b57600080fd5b5061016f61016a3660046110ec565b610421565b6040516001600160a01b039091168152602001610124565b34801561019357600080fd5b506101a76101a2366004611121565b610465565b005b3480156101b557600080fd5b50600154600054035b604051908152602001610124565b3480156101d857600080fd5b506101a76101e736600461114b565b6104eb565b3480156101f857600080fd5b506101a761020736600461114b565b6104f6565b34801561021857600080fd5b506101a76102273660046110ec565b610511565b34801561023857600080fd5b5061016f6102473660046110ec565b61051f565b34801561025857600080fd5b506101be610267366004611187565b610531565b34801561027857600080fd5b50610142610580565b34801561028d57600080fd5b506101a761029c3660046111a2565b61058f565b3480156102ad57600080fd5b506101a76102bc36600461126a565b610624565b3480156102cd57600080fd5b506101426102dc3660046110ec565b61066e565b6101be6102ef3660046112e6565b610782565b34801561030057600080fd5b5061011861030f36600461132f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061036e57506001600160e01b03198216635b5e139f60e01b145b8061038957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461039e90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546103ca90611362565b80156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b5050505050905090565b600061042c8261083e565b610449576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006104708261051f565b9050806001600160a01b0316836001600160a01b0316036104a45760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b038216146104db576104be813361030f565b6104db576040516367d9dca160e11b815260040160405180910390fd5b6104e6838383610869565b505050565b6104e68383836108c5565b6104e683838360405180602001604052806000815250610624565b61051c816001610ab4565b50565b600061052a82610c7b565b5192915050565b60006001600160a01b03821661055a576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b60606003805461039e90611362565b336001600160a01b038316036105b85760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61062f8484846108c5565b6001600160a01b0383163b156106685761064b84848484610d97565b610668576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606106798261083e565b61069657604051630a14c4b560e41b815260040160405180910390fd5b600082815260096020526040812080546106af90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546106db90611362565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b50505050509050600061074660408051602081019091526000815290565b90508051600003610757578161077a565b808260405160200161076a92919061139c565b6040516020818303038152906040525b949350505050565b60006008546001146107c85760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b6002600855341561081b5760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f20626520300000000000000060448201526064016107bf565b610826336001610e82565b6000546108338184610fb5565b600160085592915050565b6000805482108015610389575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108d082610c7b565b9050836001600160a01b031681600001516001600160a01b0316146109075760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806109255750610925853361030f565b8061094057503361093584610421565b6001600160a01b0316145b90508061096057604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661098757604051633a954ecd60e21b815260040160405180910390fd5b61099360008487610869565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff1980821667ffffffffffffffff92831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a69576000548214610a69578054602086015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b6000610abf83610c7b565b80519091508215610b25576000336001600160a01b0383161480610ae85750610ae8823361030f565b80610b03575033610af886610421565b6001600160a01b0316145b905080610b2357604051632ce44b5f60e11b815260040160405180910390fd5b505b610b3160008583610869565b6001600160a01b0380821660008181526005602090815260408083208054600160801b60001967ffffffffffffffff80841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610c31576000548214610c31578054602087015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b604080516060810182526000808252602082018190529181019190915281600054811015610d7e57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b810467ffffffffffffffff1692820192909252600160e01b90910460ff16151591810182905290610d7c5780516001600160a01b031615610d12579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b820467ffffffffffffffff1693830193909352600160e01b900460ff1615159281019290925215610d77579392505050565b610d12565b505b604051636f96cda160e11b815260040160405180910390fd5b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610dcc9033908990889088906004016113cb565b6020604051808303816000875af1925050508015610e07575060408051601f3d908101601f19168201909252610e0491810190611408565b60015b610e65573d808015610e35576040519150601f19603f3d011682016040523d82523d6000602084013e610e3a565b606091505b508051600003610e5d576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6000546001600160a01b038316610eab57604051622e076360e81b815260040160405180910390fd5b81600003610ecc5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff19811667ffffffffffffffff8083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808210610f695750600055505050565b805115610ff65760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016107bf565b6000828152600960205260409020805461100f90611362565b15905061102f57604051630162134b60e11b815260040160405180910390fd5b60008281526009602052604090206104e68282611473565b6001600160e01b03198116811461051c57600080fd5b60006020828403121561106f57600080fd5b813561107a81611047565b9392505050565b60005b8381101561109c578181015183820152602001611084565b838111156106685750506000910152565b600081518084526110c5816020860160208601611081565b601f01601f19169290920160200192915050565b60208152600061107a60208301846110ad565b6000602082840312156110fe57600080fd5b5035919050565b80356001600160a01b038116811461111c57600080fd5b919050565b6000806040838503121561113457600080fd5b61113d83611105565b946020939093013593505050565b60008060006060848603121561116057600080fd5b61116984611105565b925061117760208501611105565b9150604084013590509250925092565b60006020828403121561119957600080fd5b61107a82611105565b600080604083850312156111b557600080fd5b6111be83611105565b9150602083013580151581146111d357600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561120f5761120f6111de565b604051601f8501601f19908116603f01168101908282118183101715611237576112376111de565b8160405280935085815286868601111561125057600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561128057600080fd5b61128985611105565b935061129760208601611105565b925060408501359150606085013567ffffffffffffffff8111156112ba57600080fd5b8501601f810187136112cb57600080fd5b6112da878235602084016111f4565b91505092959194509250565b6000602082840312156112f857600080fd5b813567ffffffffffffffff81111561130f57600080fd5b8201601f8101841361132057600080fd5b61077a848235602084016111f4565b6000806040838503121561134257600080fd5b61134b83611105565b915061135960208401611105565b90509250929050565b600181811c9082168061137657607f821691505b60208210810361139657634e487b7160e01b600052602260045260246000fd5b50919050565b600083516113ae818460208801611081565b8351908301906113c2818360208801611081565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906113fe908301846110ad565b9695505050505050565b60006020828403121561141a57600080fd5b815161107a81611047565b601f8211156104e657600081815260208120601f850160051c8101602086101561144c5750805b601f850160051c820191505b8181101561146b57828155600101611458565b505050505050565b815167ffffffffffffffff81111561148d5761148d6111de565b6114a18161149b8454611362565b84611425565b602080601f8311600181146114d657600084156114be5750858301515b600019600386901b1c1916600185901b17855561146b565b600085815260208120601f198616915b82811015611505578886015182559484019460019091019084016114e6565b50858210156115235787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220c032aa4c7004a93d6132ffeda0c4b42b9f4a40c8115e72e9730ed6bc3b21bdd664736f6c634300080f003360c060405260016008556000600d553480156200001b57600080fd5b50604051620022dc380380620022dc8339810160408190526200003e9162000293565b868681816002620000508382620003d6565b5060036200005f8282620003d6565b5050600080555062000075915033905062000174565b60008411620000be5760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b60448201526064015b60405180910390fd5b60008211620001035760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b6044820152606401620000b5565b60008111620001485760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b6044820152606401620000b5565b6001600160a01b0390941660a052608091909152600d92909255600c91909155600b5550620004a29050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001ee57600080fd5b81516001600160401b03808211156200020b576200020b620001c6565b604051601f8301601f19908116603f01168101908282118183101715620002365762000236620001c6565b816040528381526020925086838588010111156200025357600080fd5b600091505b8382101562000277578582018301518183018401529082019062000258565b83821115620002895760008385830101525b9695505050505050565b600080600080600080600060e0888a031215620002af57600080fd5b87516001600160401b0380821115620002c757600080fd5b620002d58b838c01620001dc565b985060208a0151915080821115620002ec57600080fd5b50620002fb8a828b01620001dc565b60408a015190975090506001600160a01b03811681146200031b57600080fd5b80955050606088015193506080880151925060a0880151915060c0880151905092959891949750929550565b600181811c908216806200035c57607f821691505b6020821081036200037d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d157600081815260208120601f850160051c81016020861015620003ac5750805b601f850160051c820191505b81811015620003cd57828155600101620003b8565b5050505b505050565b81516001600160401b03811115620003f257620003f2620001c6565b6200040a8162000403845462000347565b8462000383565b602080601f831160018114620004425760008415620004295750858301515b600019600386901b1c1916600185901b178555620003cd565b600085815260208120601f198616915b82811015620004735788860151825594840194600190910190840162000452565b5085821015620004925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051611e14620004c86000396000610ae601526000610aa70152611e146000f3fe6080604052600436106101815760003560e01c8063797fd680116100d1578063c87b56dd1161008a578063e985e9c511610064578063e985e9c51461042c578063f103b43314610475578063f2fde38b14610495578063ff0350e2146104b557600080fd5b8063c87b56dd146103e3578063d5abeb0114610403578063d85d3d271461041957600080fd5b8063797fd6801461033a5780638da5cb5b1461035a57806395d89b411461037857806395dcd0291461038d578063a22cb465146103a3578063b88d4fde146103c357600080fd5b80633ccfd60b1161013e5780636352211e116101185780636352211e146102cf5780636de23a16146102ef57806370a0823114610305578063715018a61461032557600080fd5b80633ccfd60b1461027a57806342842e0e1461028f57806342966c68146102af57600080fd5b806301ffc9a71461018657806306fdde03146101bb578063081812fc146101dd578063095ea7b31461021557806318160ddd1461023757806323b872dd1461025a575b600080fd5b34801561019257600080fd5b506101a66101a1366004611806565b6104d5565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b506101d0610527565b6040516101b29190611882565b3480156101e957600080fd5b506101fd6101f8366004611895565b6105b9565b6040516001600160a01b0390911681526020016101b2565b34801561022157600080fd5b506102356102303660046118ca565b6105fd565b005b34801561024357600080fd5b50600154600054035b6040519081526020016101b2565b34801561026657600080fd5b506102356102753660046118f4565b610683565b34801561028657600080fd5b5061023561068e565b34801561029b57600080fd5b506102356102aa3660046118f4565b6106fd565b3480156102bb57600080fd5b506102356102ca366004611895565b610718565b3480156102db57600080fd5b506101fd6102ea366004611895565b610723565b3480156102fb57600080fd5b5061024c600c5481565b34801561031157600080fd5b5061024c610320366004611930565b610735565b34801561033157600080fd5b50610235610783565b34801561034657600080fd5b50610235610355366004611895565b6107b9565b34801561036657600080fd5b50600a546001600160a01b03166101fd565b34801561038457600080fd5b506101d06107e8565b34801561039957600080fd5b5061024c600d5481565b3480156103af57600080fd5b506102356103be36600461194b565b6107f7565b3480156103cf57600080fd5b506102356103de366004611a29565b61088c565b3480156103ef57600080fd5b506101d06103fe366004611895565b6108d6565b34801561040f57600080fd5b5061024c600b5481565b61024c610427366004611a90565b6109ea565b34801561043857600080fd5b506101a6610447366004611ac4565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561048157600080fd5b50610235610490366004611895565b610b3c565b3480156104a157600080fd5b506102356104b0366004611930565b610bc2565b3480156104c157600080fd5b506102356104d0366004611af7565b610c5a565b60006001600160e01b031982166380ac58cd60e01b148061050657506001600160e01b03198216635b5e139f60e01b145b8061052157506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461053690611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461056290611b68565b80156105af5780601f10610584576101008083540402835291602001916105af565b820191906000526020600020905b81548152906001019060200180831161059257829003601f168201915b5050505050905090565b60006105c482610e63565b6105e1576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061060882610723565b9050806001600160a01b0316836001600160a01b03160361063c5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614610673576106568133610447565b610673576040516367d9dca160e11b815260040160405180910390fd5b61067e838383610e8e565b505050565b61067e838383610eea565b600a546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b890611ba2565b60405180910390fd5b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106fa573d6000803e3d6000fd5b50565b61067e8383836040518060200160405280600081525061088c565b6106fa8160016110d7565b600061072e8261129c565b5192915050565b60006001600160a01b03821661075e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b600a546001600160a01b031633146107ad5760405162461bcd60e51b81526004016106b890611ba2565b6107b760006113b6565b565b600a546001600160a01b031633146107e35760405162461bcd60e51b81526004016106b890611ba2565b600d55565b60606003805461053690611b68565b336001600160a01b038316036108205760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610897848484610eea565b6001600160a01b0383163b156108d0576108b384848484611408565b6108d0576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606108e182610e63565b6108fe57604051630a14c4b560e41b815260040160405180910390fd5b6000828152600960205260408120805461091790611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461094390611b68565b80156109905780601f1061096557610100808354040283529160200191610990565b820191906000526020600020905b81548152906001019060200180831161097357829003601f168201915b5050505050905060006109ae60408051602081019091526000815290565b905080516000036109bf57816109e2565b80826040516020016109d2929190611bd7565b6040516020818303038152906040525b949350505050565b6000600854600114610a2b5760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600d54341015610a7b5760405162461bcd60e51b81526020600482015260166024820152755b4578745369673a6d696e745d3a4e6f2066756e647360501b60448201526064016106b8565b610a84336114f3565b610a90335b6001611598565b600054610a9d81846116ca565b6000612710610acc7f000000000000000000000000000000000000000000000000000000000000000034611c06565b610ad69190611c33565b6040519091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169082156108fc029083906000818181858888f19350505050158015610b2f573d6000803e3d6000fd5b5050600160085592915050565b600a546001600160a01b03163314610b665760405162461bcd60e51b81526004016106b890611ba2565b600081118015610b7c5750600154600054038110155b610bbd5760405162461bcd60e51b8152602060048201526012602482015271496e76616c6964206d617820737570706c7960701b60448201526064016106b8565b600b55565b600a546001600160a01b03163314610bec5760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038116610c515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b6106fa816113b6565b600854600114610c995760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600a546001600160a01b03163314610cc85760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038416610d165760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b60448201526064016106b8565b8151604114610d675760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016106b8565b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008185604051602001610db6929190611c55565b604051602081830303815290604052805190602001209050610dea610de3600a546001600160a01b031690565b828661175c565b610e365760405162461bcd60e51b815260206004820152601960248201527f48617368206e6f74207369676e6564206279206f776e65722e0000000000000060448201526064016106b8565b610e3f336114f3565b610e4833610a89565b600054610e5581856116ca565b505060016008555050505050565b6000805482108015610521575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610ef58261129c565b9050836001600160a01b031681600001516001600160a01b031614610f2c5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610f4a5750610f4a8533610447565b80610f65575033610f5a846105b9565b6001600160a01b0316145b905080610f8557604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610fac57604051633a954ecd60e21b815260040160405180910390fd5b610fb860008487610e8e565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661108c57600054821461108c57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b60006110e28361129c565b80519091508215611148576000336001600160a01b038316148061110b575061110b8233610447565b8061112657503361111b866105b9565b6001600160a01b0316145b90508061114657604051632ce44b5f60e11b815260040160405180910390fd5b505b61115460008583610e8e565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b17855591890180845292208054919490911661125257600054821461125257805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b60408051606081018252600080825260208201819052918101919091528160005481101561139d57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff1615159181018290529061139b5780516001600160a01b031615611332579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215611396579392505050565b611332565b505b604051636f96cda160e11b815260040160405180910390fd5b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061143d903390899088908890600401611c77565b6020604051808303816000875af1925050508015611478575060408051601f3d908101601f1916820190925261147591810190611cb4565b60015b6114d6573d8080156114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b5080516000036114ce576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b600c546114ff82610735565b1061154c5760405162461bcd60e51b815260206004820152601760248201527f596f752063616e2774206d696e7420616e796d6f72652e00000000000000000060448201526064016106b8565b600b5460015460005403106106fa5760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b60448201526064016106b8565b6000546001600160a01b0383166115c157604051622e076360e81b815260040160405180910390fd5b816000036115e25760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a480821061167e5750600055505050565b80511561170b5760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016106b8565b6000828152600960205260409020805461172490611b68565b15905061174457604051630162134b60e11b815260040160405180910390fd5b600082815260096020526040902061067e8282611d1f565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa1580156117c6573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6001600160e01b0319811681146106fa57600080fd5b60006020828403121561181857600080fd5b8135611823816117f0565b9392505050565b60005b8381101561184557818101518382015260200161182d565b838111156108d05750506000910152565b6000815180845261186e81602086016020860161182a565b601f01601f19169290920160200192915050565b6020815260006118236020830184611856565b6000602082840312156118a757600080fd5b5035919050565b80356001600160a01b03811681146118c557600080fd5b919050565b600080604083850312156118dd57600080fd5b6118e6836118ae565b946020939093013593505050565b60008060006060848603121561190957600080fd5b611912846118ae565b9250611920602085016118ae565b9150604084013590509250925092565b60006020828403121561194257600080fd5b611823826118ae565b6000806040838503121561195e57600080fd5b611967836118ae565b91506020830135801515811461197c57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126119ae57600080fd5b81356001600160401b03808211156119c8576119c8611987565b604051601f8301601f19908116603f011681019082821181831017156119f0576119f0611987565b81604052838152866020858801011115611a0957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215611a3f57600080fd5b611a48856118ae565b9350611a56602086016118ae565b92506040850135915060608501356001600160401b03811115611a7857600080fd5b611a848782880161199d565b91505092959194509250565b600060208284031215611aa257600080fd5b81356001600160401b03811115611ab857600080fd5b6109e28482850161199d565b60008060408385031215611ad757600080fd5b611ae0836118ae565b9150611aee602084016118ae565b90509250929050565b60008060008060808587031215611b0d57600080fd5b611b16856118ae565b93506020850135925060408501356001600160401b0380821115611b3957600080fd5b611b458883890161199d565b93506060870135915080821115611b5b57600080fd5b50611a848782880161199d565b600181811c90821680611b7c57607f821691505b602082108103611b9c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008351611be981846020880161182a565b835190830190611bfd81836020880161182a565b01949350505050565b6000816000190483118215151615611c2e57634e487b7160e01b600052601160045260246000fd5b500290565b600082611c5057634e487b7160e01b600052601260045260246000fd5b500490565b60008351611c6781846020880161182a565b9190910191825250602001919050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611caa90830184611856565b9695505050505050565b600060208284031215611cc657600080fd5b8151611823816117f0565b601f82111561067e57600081815260208120601f850160051c81016020861015611cf85750805b601f850160051c820191505b81811015611d1757828155600101611d04565b505050505050565b81516001600160401b03811115611d3857611d38611987565b611d4c81611d468454611b68565b84611cd1565b602080601f831160018114611d815760008415611d695750858301515b600019600386901b1c1916600185901b178555611d17565b600085815260208120601f198616915b82811015611db057888601518255948401946001909101908401611d91565b5085821015611dce5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212200947b902c115f0f4b9a5513076faebc95e8c058d1e09968353b15427dfa7568e64736f6c634300080f0033a26469706673582212209d5e3067dd80c8f379d1ba919e65599813ccf5dad61fe6b365d5585c21eeb57564736f6c634300080f0033", + "deployedSourceMap": "856:1974:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1376:411;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1582:32:43;;;1564:51;;1552:2;1537:18;1376:411:10;;;;;;;;1668:101:0;;;:::i;:::-;;1754:196:13;;;:::i;1036:85:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;1036:85;;2440:76:13;2480:4;2503:6;-1:-1:-1;;;2503:6:13;;;;2440:76;;1791:14:43;;1784:22;1766:41;;1754:2;1739:18;2440:76:13;1626:187:43;2041:787:10;;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;:::i;:::-;;:::i;2069:199:13:-;;;:::i;1376:411:10:-;1515:23;1060:6;;-1:-1:-1;;;1060:6:10;;;;1059:7;1051:16;;;;;;1077:6;:13;;-1:-1:-1;;;;1077:13:10;-1:-1:-1;;;1077:13:10;;;;;-1:-1:-1;;;1590:6:13;::::1;1077:13:10::0;1590:6:13::1;1589:7;1581:36;;;;-1:-1:-1::0;;;1581:36:13::1;;;;;;;:::i;:::-;;;;;;;;;1608:40:10::2;1675:5;1682:7;1651:39;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;1120:5:10;1111:14;;-1:-1:-1;;;;1111:14:10;;;1608:82;1376:411;-1:-1:-1;;;;1376:411:10:o;1668:101:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1754:196:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1856:6:13::1;::::0;-1:-1:-1;;;1856:6:13;::::1;;;1855:7;1847:36;;;;-1:-1:-1::0;;;1847:36:13::1;;;;;;;:::i;:::-;1930:6;:13:::0;;-1:-1:-1;;;;1930:13:13::1;-1:-1:-1::0;;;1930:13:13::1;::::0;;1754:196::o;2041:787:10:-;2362:23;1060:6;;-1:-1:-1;;;1060:6:10;;;;1059:7;1051:16;;;;;;1077:6;:13;;-1:-1:-1;;;;1077:13:10;-1:-1:-1;;;1077:13:10;;;;;-1:-1:-1;;;1590:6:13;::::1;1077:13:10::0;1590:6:13::1;1589:7;1581:36;;;;-1:-1:-1::0;;;1581:36:13::1;;;;;;;:::i;:::-;2460:50:10::2;2555:5;2575:7;2596:12;2622:10;2646:12;2672:13;2699:17;2513:213;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;1120:5:10;1111:14;;-1:-1:-1;;;;1111:14:10;;;2460:266;2041:787;-1:-1:-1;;;;;;;;;2041:787:10:o;1918:198:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;5632:2:43;1998:73:0::1;::::0;::::1;5614:21:43::0;5671:2;5651:18;;;5644:30;5710:34;5690:18;;;5683:62;-1:-1:-1;;;5761:18:43;;;5754:36;5807:19;;1998:73:0::1;5430:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2069:199:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2168:6:13::1;::::0;-1:-1:-1;;;2168:6:13;::::1;;;2160:39;;;::::0;-1:-1:-1;;;2160:39:13;;6039:2:43;2160:39:13::1;::::0;::::1;6021:21:43::0;6078:2;6058:18;;;6051:30;-1:-1:-1;;;6097:18:43;;;6090:50;6157:18;;2160:39:13::1;5837:344:43::0;2160:39:13::1;2256:5;2247:14:::0;;-1:-1:-1;;;;2247:14:13::1;::::0;;2069:199::o;2270:187:0:-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:127:43:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:719;189:5;242:3;235:4;227:6;223:17;219:27;209:55;;260:1;257;250:12;209:55;296:6;283:20;322:18;359:2;355;352:10;349:36;;;365:18;;:::i;:::-;440:2;434:9;408:2;494:13;;-1:-1:-1;;490:22:43;;;514:2;486:31;482:40;470:53;;;538:18;;;558:22;;;535:46;532:72;;;584:18;;:::i;:::-;624:10;620:2;613:22;659:2;651:6;644:18;705:3;698:4;693:2;685:6;681:15;677:26;674:35;671:55;;;722:1;719;712:12;671:55;786:2;779:4;771:6;767:17;760:4;752:6;748:17;735:54;833:1;826:4;821:2;813:6;809:15;805:26;798:37;853:6;844:15;;;;;;146:719;;;;:::o;870:543::-;958:6;966;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;1075:9;1062:23;1104:18;1145:2;1137:6;1134:14;1131:34;;;1161:1;1158;1151:12;1131:34;1184:50;1226:7;1217:6;1206:9;1202:22;1184:50;:::i;:::-;1174:60;;1287:2;1276:9;1272:18;1259:32;1243:48;;1316:2;1306:8;1303:16;1300:36;;;1332:1;1329;1322:12;1300:36;;1355:52;1399:7;1388:8;1377:9;1373:24;1355:52;:::i;:::-;1345:62;;;870:543;;;;;:::o;1818:173::-;1886:20;;-1:-1:-1;;;;;1935:31:43;;1925:42;;1915:70;;1981:1;1978;1971:12;1915:70;1818:173;;;:::o;1996:893::-;2129:6;2137;2145;2153;2161;2169;2177;2230:3;2218:9;2209:7;2205:23;2201:33;2198:53;;;2247:1;2244;2237:12;2198:53;2287:9;2274:23;2316:18;2357:2;2349:6;2346:14;2343:34;;;2373:1;2370;2363:12;2343:34;2396:50;2438:7;2429:6;2418:9;2414:22;2396:50;:::i;:::-;2386:60;;2499:2;2488:9;2484:18;2471:32;2455:48;;2528:2;2518:8;2515:16;2512:36;;;2544:1;2541;2534:12;2512:36;;2567:52;2611:7;2600:8;2589:9;2585:24;2567:52;:::i;:::-;2557:62;;;2638:38;2672:2;2661:9;2657:18;2638:38;:::i;:::-;1996:893;;;;-1:-1:-1;2628:48:43;;2723:2;2708:18;;2695:32;;-1:-1:-1;2774:3:43;2759:19;;2746:33;;2826:3;2811:19;;2798:33;;-1:-1:-1;2878:3:43;2863:19;;;2850:33;;-1:-1:-1;1996:893:43;-1:-1:-1;;1996:893:43:o;2894:186::-;2953:6;3006:2;2994:9;2985:7;2981:23;2977:32;2974:52;;;3022:1;3019;3012:12;2974:52;3045:29;3064:9;3045:29;:::i;:::-;3035:39;2894:186;-1:-1:-1;;;2894:186:43:o;3085:340::-;3287:2;3269:21;;;3326:2;3306:18;;;3299:30;-1:-1:-1;;;3360:2:43;3345:18;;3338:46;3416:2;3401:18;;3085:340::o;3430:472::-;3472:3;3510:5;3504:12;3537:6;3532:3;3525:19;3562:1;3572:162;3586:6;3583:1;3580:13;3572:162;;;3648:4;3704:13;;;3700:22;;3694:29;3676:11;;;3672:20;;3665:59;3601:12;3572:162;;;3752:6;3749:1;3746:13;3743:87;;;3818:1;3811:4;3802:6;3797:3;3793:16;3789:27;3782:38;3743:87;-1:-1:-1;3884:2:43;3863:15;-1:-1:-1;;3859:29:43;3850:39;;;;3891:4;3846:50;;3430:472;-1:-1:-1;;3430:472:43:o;3907:383::-;4104:2;4093:9;4086:21;4067:4;4130:45;4171:2;4160:9;4156:18;4148:6;4130:45;:::i;:::-;4223:9;4215:6;4211:22;4206:2;4195:9;4191:18;4184:50;4251:33;4277:6;4269;4251:33;:::i;:::-;4243:41;3907:383;-1:-1:-1;;;;;3907:383:43:o;4295:356::-;4497:2;4479:21;;;4516:18;;;4509:30;4575:34;4570:2;4555:18;;4548:62;4642:2;4627:18;;4295:356::o;4656:769::-;4993:3;4982:9;4975:22;4956:4;5020:46;5061:3;5050:9;5046:19;5038:6;5020:46;:::i;:::-;5114:9;5106:6;5102:22;5097:2;5086:9;5082:18;5075:50;5142:33;5168:6;5160;5142:33;:::i;:::-;-1:-1:-1;;;;;5211:32:43;;;;5206:2;5191:18;;5184:60;-1:-1:-1;;5275:2:43;5260:18;;5253:34;;;;5318:3;5303:19;;5296:35;;;;5231:3;5347:19;;5340:35;5406:3;5391:19;;;5384:35;5134:41;4656:769;-1:-1:-1;;4656:769:43:o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "This contracts imports and provides functions that deploys each imported contract.", + "kind": "dev", + "methods": { + "deployERC721ExtensionCore(string,string)": { + "details": "Deploys the ERC721ExtensionCore with a set name and symbol.", + "params": { + "_name": "Name of token.", + "_symbol": "Desired symbol." + }, + "returns": { + "contractAddress": "Deployed address." + } + }, + "deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)": { + "details": "Deploys the ERC721ExtensionSignature with its constructor parameters.", + "params": { + "_name": "Name of token.", + "_symbol": "Desired symbol." + }, + "returns": { + "contractAddress": "Deployed address." + } + }, + "isPaused()": { + "details": "Returns true or false if the contract is paused. This function is callable by anyone.", + "returns": { + "_0": "bool True or false." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "pause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "unPause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + } + }, + "stateVariables": { + "locked": { + "details": "Locked for re-entrancy." + } + }, + "title": "Daccred Deployer.", + "version": 1 + }, + "offset": [ + 856, + 2830 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB187BD26 GT PUSH3 0x62 JUMPI DUP1 PUSH4 0xB187BD26 EQ PUSH3 0xF4 JUMPI DUP1 PUSH4 0xE9181D92 EQ PUSH3 0x112 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH3 0x129 JUMPI DUP1 PUSH4 0xF7B188A5 EQ PUSH3 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2AB7FABF EQ PUSH3 0x98 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH3 0xCC JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH3 0xD8 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH3 0xE2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0xAF PUSH3 0xA9 CALLDATASIZE PUSH1 0x4 PUSH3 0x5A7 JUMP JUMPDEST PUSH3 0x14A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH3 0xD6 PUSH3 0x1FD JUMP JUMPDEST STOP JUMPDEST PUSH3 0xD6 PUSH3 0x238 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH3 0xAF JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0xC3 JUMP JUMPDEST PUSH3 0xAF PUSH3 0x123 CALLDATASIZE PUSH1 0x4 PUSH3 0x62F JUMP JUMPDEST PUSH3 0x2A7 JUMP JUMPDEST PUSH3 0xD6 PUSH3 0x13A CALLDATASIZE PUSH1 0x4 PUSH3 0x6D1 JUMP JUMPDEST PUSH3 0x360 JUMP JUMPDEST PUSH3 0xD6 PUSH3 0x402 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 DUP2 SWAP1 SSTORE PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x1AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x6F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH3 0x1BD SWAP1 PUSH3 0x4E0 JUMP JUMPDEST PUSH3 0x1CA SWAP3 SWAP2 SWAP1 PUSH3 0x770 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x1E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND SWAP1 SSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x22A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7A2 JUMP JUMPDEST PUSH3 0x236 PUSH1 0x0 PUSH3 0x490 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x265 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7A2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x292 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x6F6 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 DUP2 SWAP1 SSTORE PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x2FF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x6F6 JUMP JUMPDEST PUSH1 0x0 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 DUP9 PUSH1 0x40 MLOAD PUSH3 0x316 SWAP1 PUSH3 0x4EE JUMP JUMPDEST PUSH3 0x328 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x7D7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x345 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND SWAP1 SSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x38D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7A2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0x3F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH3 0x1A2 JUMP JUMPDEST PUSH3 0x3FF DUP2 PUSH3 0x490 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x42F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7A2 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH3 0x481 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x21B7B73A3930B1BA102737BA102830BAB9B2B217 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0x1A2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x1873 DUP1 PUSH3 0x835 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x22DC DUP1 PUSH3 0x20A8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x524 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x542 JUMPI PUSH3 0x542 PUSH3 0x4FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x56D JUMPI PUSH3 0x56D PUSH3 0x4FC JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x587 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x5D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x5E2 DUP7 DUP4 DUP8 ADD PUSH3 0x512 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x5F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x608 DUP6 DUP3 DUP7 ADD PUSH3 0x512 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x62A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x64B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x664 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x672 DUP12 DUP4 DUP13 ADD PUSH3 0x512 JUMP JUMPDEST SWAP9 POP PUSH1 0x20 DUP11 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x689 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x698 DUP11 DUP3 DUP12 ADD PUSH3 0x512 JUMP JUMPDEST SWAP7 POP POP PUSH3 0x6A9 PUSH1 0x40 DUP10 ADD PUSH3 0x612 JUMP JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP6 SWAP7 PUSH1 0x60 DUP2 ADD CALLDATALOAD SWAP7 POP PUSH1 0x80 DUP2 ADD CALLDATALOAD SWAP6 PUSH1 0xA0 DUP3 ADD CALLDATALOAD SWAP6 POP PUSH1 0xC0 SWAP1 SWAP2 ADD CALLDATALOAD SWAP4 POP SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x6E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x6EF DUP3 PUSH3 0x612 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x21B7B73A3930B1BA102830BAB9B2B217 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x748 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH3 0x72A JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH3 0x75B JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH3 0x785 PUSH1 0x40 DUP4 ADD DUP6 PUSH3 0x720 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x799 DUP2 DUP6 PUSH3 0x720 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xE0 DUP2 MSTORE PUSH1 0x0 PUSH3 0x7EC PUSH1 0xE0 DUP4 ADD DUP11 PUSH3 0x720 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x800 DUP2 DUP11 PUSH3 0x720 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP9 SWAP1 SWAP9 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x80 DUP5 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 DUP4 ADD MSTORE PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x8 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1873 CODESIZE SUB DUP1 PUSH3 0x1873 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x39 SWAP2 PUSH3 0x135 JUMP JUMPDEST DUP2 DUP2 PUSH1 0x2 PUSH3 0x49 DUP4 DUP3 PUSH3 0x22E JUMP JUMPDEST POP PUSH1 0x3 PUSH3 0x58 DUP3 DUP3 PUSH3 0x22E JUMP JUMPDEST POP PUSH1 0x0 DUP1 SSTORE POP PUSH3 0x2FA SWAP3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0xAD JUMPI PUSH3 0xAD PUSH3 0x68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0xD8 JUMPI PUSH3 0xD8 PUSH3 0x68 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0xF5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x119 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0xFA JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x12B JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x149 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x161 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x16F DUP7 DUP4 DUP8 ADD PUSH3 0x7E JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x186 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x195 DUP6 DUP3 DUP7 ADD PUSH3 0x7E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x1B4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x1D5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x229 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x204 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x225 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x210 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x24A JUMPI PUSH3 0x24A PUSH3 0x68 JUMP JUMPDEST PUSH3 0x262 DUP2 PUSH3 0x25B DUP5 SLOAD PUSH3 0x19F JUMP JUMPDEST DUP5 PUSH3 0x1DB JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x29A JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x281 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x225 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x2CB JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x2AA JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x2EA JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1569 DUP1 PUSH3 0x30A PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF3 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xB88D4FDE GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x2A1 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0xD85D3D27 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x2F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x24C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x20C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x12D JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x187 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x113 CALLDATASIZE PUSH1 0x4 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH2 0x38F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x10D9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16F PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x421 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x124 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x193 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x1A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1121 JUMP JUMPDEST PUSH2 0x465 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x124 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x114B JUMP JUMPDEST PUSH2 0x4EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x207 CALLDATASIZE PUSH1 0x4 PUSH2 0x114B JUMP JUMPDEST PUSH2 0x4F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x227 CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x511 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x238 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16F PUSH2 0x247 CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x51F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BE PUSH2 0x267 CALLDATASIZE PUSH1 0x4 PUSH2 0x1187 JUMP JUMPDEST PUSH2 0x531 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x278 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH2 0x580 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x29C CALLDATASIZE PUSH1 0x4 PUSH2 0x11A2 JUMP JUMPDEST PUSH2 0x58F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0x126A JUMP JUMPDEST PUSH2 0x624 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH2 0x2DC CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x66E JUMP JUMPDEST PUSH2 0x1BE PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x12E6 JUMP JUMPDEST PUSH2 0x782 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x132F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x36E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x389 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x39E SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3CA SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x417 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x417 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3FA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42C DUP3 PUSH2 0x83E JUMP JUMPDEST PUSH2 0x449 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x470 DUP3 PUSH2 0x51F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x4A4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x4DB JUMPI PUSH2 0x4BE DUP2 CALLER PUSH2 0x30F JUMP JUMPDEST PUSH2 0x4DB JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4E6 DUP4 DUP4 DUP4 PUSH2 0x869 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x4E6 DUP4 DUP4 DUP4 PUSH2 0x8C5 JUMP JUMPDEST PUSH2 0x4E6 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x624 JUMP JUMPDEST PUSH2 0x51C DUP2 PUSH1 0x1 PUSH2 0xAB4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52A DUP3 PUSH2 0xC7B JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x39E SWAP1 PUSH2 0x1362 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x5B8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x62F DUP5 DUP5 DUP5 PUSH2 0x8C5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x668 JUMPI PUSH2 0x64B DUP5 DUP5 DUP5 DUP5 PUSH2 0xD97 JUMP JUMPDEST PUSH2 0x668 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x679 DUP3 PUSH2 0x83E JUMP JUMPDEST PUSH2 0x696 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x6AF SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6DB SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x728 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x728 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x70B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x746 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x757 JUMPI DUP2 PUSH2 0x77A JUMP JUMPDEST DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x76A SWAP3 SWAP2 SWAP1 PUSH2 0x139C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 SLOAD PUSH1 0x1 EQ PUSH2 0x7C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x8 SSTORE CALLVALUE ISZERO PUSH2 0x81B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5B436F72652E6D696E745D2076616C756520746F206265203000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x7BF JUMP JUMPDEST PUSH2 0x826 CALLER PUSH1 0x1 PUSH2 0xE82 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x833 DUP2 DUP5 PUSH2 0xFB5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x8 SSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP3 LT DUP1 ISZERO PUSH2 0x389 JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D0 DUP3 PUSH2 0xC7B JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x907 JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0x925 JUMPI POP PUSH2 0x925 DUP6 CALLER PUSH2 0x30F JUMP JUMPDEST DUP1 PUSH2 0x940 JUMPI POP CALLER PUSH2 0x935 DUP5 PUSH2 0x421 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0x960 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x987 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x993 PUSH1 0x0 DUP5 DUP8 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0xA69 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xA69 JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xABF DUP4 PUSH2 0xC7B JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0xB25 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0xAE8 JUMPI POP PUSH2 0xAE8 DUP3 CALLER PUSH2 0x30F JUMP JUMPDEST DUP1 PUSH2 0xB03 JUMPI POP CALLER PUSH2 0xAF8 DUP7 PUSH2 0x421 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xB23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0xB31 PUSH1 0x0 DUP6 DUP4 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0xC31 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xC31 JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x1 DUP1 SLOAD DUP2 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 PUSH1 0x0 SLOAD DUP2 LT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xD7C JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xD12 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0xD77 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD12 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xDCC SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x13CB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xE07 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xE04 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1408 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xE65 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xE35 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xE3A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xE5D JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xEAB JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0xECC JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH9 0x10000000000000000 PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xF69 JUMPI POP PUSH1 0x0 SSTORE POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0xFF6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x193C4E6D PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x656D70747920746F6B656E555249 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x7BF JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x100F SWAP1 PUSH2 0x1362 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x102F JUMPI PUSH1 0x40 MLOAD PUSH4 0x162134B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x4E6 DUP3 DUP3 PUSH2 0x1473 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x51C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x106F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x107A DUP2 PUSH2 0x1047 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x109C JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1084 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x668 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x10C5 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1081 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x107A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10AD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x111C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1134 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x113D DUP4 PUSH2 0x1105 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1160 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1169 DUP5 PUSH2 0x1105 JUMP JUMPDEST SWAP3 POP PUSH2 0x1177 PUSH1 0x20 DUP6 ADD PUSH2 0x1105 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1199 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x107A DUP3 PUSH2 0x1105 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11BE DUP4 PUSH2 0x1105 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x11D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x120F JUMPI PUSH2 0x120F PUSH2 0x11DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1237 PUSH2 0x11DE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x1250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1280 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1289 DUP6 PUSH2 0x1105 JUMP JUMPDEST SWAP4 POP PUSH2 0x1297 PUSH1 0x20 DUP7 ADD PUSH2 0x1105 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x12BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x12CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12DA DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x11F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x130F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x1320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x77A DUP5 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x11F4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1342 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x134B DUP4 PUSH2 0x1105 JUMP JUMPDEST SWAP2 POP PUSH2 0x1359 PUSH1 0x20 DUP5 ADD PUSH2 0x1105 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1376 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1396 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x13AE DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1081 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x13C2 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x1081 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x13FE SWAP1 DUP4 ADD DUP5 PUSH2 0x10AD JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x141A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x107A DUP2 PUSH2 0x1047 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x144C JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x146B JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1458 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x148D JUMPI PUSH2 0x148D PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x14A1 DUP2 PUSH2 0x149B DUP5 SLOAD PUSH2 0x1362 JUMP JUMPDEST DUP5 PUSH2 0x1425 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14D6 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14BE JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x146B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1505 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14E6 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1523 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC0 ORIGIN 0xAA 0x4C PUSH17 0x4A93D6132FFEDA0C4B42B9F4A40C8115E PUSH19 0xE9730ED6BC3B21BDD664736F6C634300080F00 CALLER PUSH1 0xC0 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x8 SSTORE PUSH1 0x0 PUSH1 0xD SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x22DC CODESIZE SUB DUP1 PUSH3 0x22DC DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x3E SWAP2 PUSH3 0x293 JUMP JUMPDEST DUP7 DUP7 DUP2 DUP2 PUSH1 0x2 PUSH3 0x50 DUP4 DUP3 PUSH3 0x3D6 JUMP JUMPDEST POP PUSH1 0x3 PUSH3 0x5F DUP3 DUP3 PUSH3 0x3D6 JUMP JUMPDEST POP POP PUSH1 0x0 DUP1 SSTORE POP PUSH3 0x75 SWAP2 POP CALLER SWAP1 POP PUSH3 0x174 JUMP JUMPDEST PUSH1 0x0 DUP5 GT PUSH3 0xBE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2DA2BC3A1B9918A9B4B3AE9D102730A7 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 GT PUSH3 0x103 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2DA2BC3A1B9918A9B4B3AE9D102730A7 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0xB5 JUMP JUMPDEST PUSH1 0x0 DUP2 GT PUSH3 0x148 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2DA2BC3A1B9918A9B4B3AE9D102730A7 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0xB5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP5 AND PUSH1 0xA0 MSTORE PUSH1 0x80 SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xD SWAP3 SWAP1 SWAP3 SSTORE PUSH1 0xC SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0xB SSTORE POP PUSH3 0x4A2 SWAP1 POP JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x1EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x20B JUMPI PUSH3 0x20B PUSH3 0x1C6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x236 JUMPI PUSH3 0x236 PUSH3 0x1C6 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x277 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x258 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x289 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xE0 DUP9 DUP11 SUB SLT ISZERO PUSH3 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP8 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x2C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x2D5 DUP12 DUP4 DUP13 ADD PUSH3 0x1DC JUMP JUMPDEST SWAP9 POP PUSH1 0x20 DUP11 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x2EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x2FB DUP11 DUP3 DUP12 ADD PUSH3 0x1DC JUMP JUMPDEST PUSH1 0x40 DUP11 ADD MLOAD SWAP1 SWAP8 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x31B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP6 POP POP PUSH1 0x60 DUP9 ADD MLOAD SWAP4 POP PUSH1 0x80 DUP9 ADD MLOAD SWAP3 POP PUSH1 0xA0 DUP9 ADD MLOAD SWAP2 POP PUSH1 0xC0 DUP9 ADD MLOAD SWAP1 POP SWAP3 SWAP6 SWAP9 SWAP2 SWAP5 SWAP8 POP SWAP3 SWAP6 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x35C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x37D JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x3D1 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x3AC JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x3CD JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x3B8 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x3F2 JUMPI PUSH3 0x3F2 PUSH3 0x1C6 JUMP JUMPDEST PUSH3 0x40A DUP2 PUSH3 0x403 DUP5 SLOAD PUSH3 0x347 JUMP JUMPDEST DUP5 PUSH3 0x383 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x442 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x429 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x3CD JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x473 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x452 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x492 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH1 0xA0 MLOAD PUSH2 0x1E14 PUSH3 0x4C8 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH2 0xAE6 ADD MSTORE PUSH1 0x0 PUSH2 0xAA7 ADD MSTORE PUSH2 0x1E14 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x797FD680 GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xC87B56DD GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xE985E9C5 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0xF103B433 EQ PUSH2 0x475 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x495 JUMPI DUP1 PUSH4 0xFF0350E2 EQ PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x3E3 JUMPI DUP1 PUSH4 0xD5ABEB01 EQ PUSH2 0x403 JUMPI DUP1 PUSH4 0xD85D3D27 EQ PUSH2 0x419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x797FD680 EQ PUSH2 0x33A JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x35A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x378 JUMPI DUP1 PUSH4 0x95DCD029 EQ PUSH2 0x38D JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x3A3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x3C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3CCFD60B GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x6352211E GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x6DE23A16 EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x305 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0x27A JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x28F JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x237 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x25A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x1806 JUMP JUMPDEST PUSH2 0x4D5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x527 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0x1882 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FD PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x5B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x230 CALLDATASIZE PUSH1 0x4 PUSH2 0x18CA JUMP JUMPDEST PUSH2 0x5FD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x243 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x275 CALLDATASIZE PUSH1 0x4 PUSH2 0x18F4 JUMP JUMPDEST PUSH2 0x683 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x68E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0x18F4 JUMP JUMPDEST PUSH2 0x6FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x718 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FD PUSH2 0x2EA CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x723 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH1 0xC SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x311 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH2 0x320 CALLDATASIZE PUSH1 0x4 PUSH2 0x1930 JUMP JUMPDEST PUSH2 0x735 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x783 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x346 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x355 CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x7B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x366 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x7E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH1 0xD SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x3BE CALLDATASIZE PUSH1 0x4 PUSH2 0x194B JUMP JUMPDEST PUSH2 0x7F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x3DE CALLDATASIZE PUSH1 0x4 PUSH2 0x1A29 JUMP JUMPDEST PUSH2 0x88C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x3FE CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x8D6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH1 0xB SLOAD DUP2 JUMP JUMPDEST PUSH2 0x24C PUSH2 0x427 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A90 JUMP JUMPDEST PUSH2 0x9EA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AC4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x481 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x490 CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0xB3C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x4B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1930 JUMP JUMPDEST PUSH2 0xBC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x4D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AF7 JUMP JUMPDEST PUSH2 0xC5A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x506 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x521 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x536 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x562 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5AF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x584 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5AF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x592 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C4 DUP3 PUSH2 0xE63 JUMP JUMPDEST PUSH2 0x5E1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x608 DUP3 PUSH2 0x723 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x63C JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x673 JUMPI PUSH2 0x656 DUP2 CALLER PUSH2 0x447 JUMP JUMPDEST PUSH2 0x673 JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x67E DUP4 DUP4 DUP4 PUSH2 0xE8E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x67E DUP4 DUP4 DUP4 PUSH2 0xEEA JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x6C1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 SELFBALANCE DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x6FA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x67E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x88C JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH1 0x1 PUSH2 0x10D7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x72E DUP3 PUSH2 0x129C JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x75E JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x7AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH2 0x7B7 PUSH1 0x0 PUSH2 0x13B6 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0xD SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x536 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x820 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x897 DUP5 DUP5 DUP5 PUSH2 0xEEA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x8D0 JUMPI PUSH2 0x8B3 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1408 JUMP JUMPDEST PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x8E1 DUP3 PUSH2 0xE63 JUMP JUMPDEST PUSH2 0x8FE JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x917 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x943 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x990 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x965 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x990 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x973 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x9AE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x9BF JUMPI DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9D2 SWAP3 SWAP2 SWAP1 PUSH2 0x1BD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 SLOAD PUSH1 0x1 EQ PUSH2 0xA2B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x8 SSTORE PUSH1 0xD SLOAD CALLVALUE LT ISZERO PUSH2 0xA7B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x5B4578745369673A6D696E745D3A4E6F2066756E6473 PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0xA84 CALLER PUSH2 0x14F3 JUMP JUMPDEST PUSH2 0xA90 CALLER JUMPDEST PUSH1 0x1 PUSH2 0x1598 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xA9D DUP2 DUP5 PUSH2 0x16CA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2710 PUSH2 0xACC PUSH32 0x0 CALLVALUE PUSH2 0x1C06 JUMP JUMPDEST PUSH2 0xAD6 SWAP2 SWAP1 PUSH2 0x1C33 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xB2F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x8 SSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0xB7C JUMPI POP PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB DUP2 LT ISZERO JUMPDEST PUSH2 0xBBD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E76616C6964206D617820737570706C79 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0xB SSTORE JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xBEC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xC51 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH2 0x13B6 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 EQ PUSH2 0xC99 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x8 SSTORE PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xCC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0xD67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E76616C6964207369676E6174757265206C656E6774680000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDB6 SWAP3 SWAP2 SWAP1 PUSH2 0x1C55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0xDEA PUSH2 0xDE3 PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP3 DUP7 PUSH2 0x175C JUMP JUMPDEST PUSH2 0xE36 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x48617368206E6F74207369676E6564206279206F776E65722E00000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0xE3F CALLER PUSH2 0x14F3 JUMP JUMPDEST PUSH2 0xE48 CALLER PUSH2 0xA89 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xE55 DUP2 DUP6 PUSH2 0x16CA JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x8 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP3 LT DUP1 ISZERO PUSH2 0x521 JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEF5 DUP3 PUSH2 0x129C JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF2C JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0xF4A JUMPI POP PUSH2 0xF4A DUP6 CALLER PUSH2 0x447 JUMP JUMPDEST DUP1 PUSH2 0xF65 JUMPI POP CALLER PUSH2 0xF5A DUP5 PUSH2 0x5B9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xF85 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xFAC JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xFB8 PUSH1 0x0 DUP5 DUP8 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0x108C JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0x108C JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10E2 DUP4 PUSH2 0x129C JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0x1148 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0x110B JUMPI POP PUSH2 0x110B DUP3 CALLER PUSH2 0x447 JUMP JUMPDEST DUP1 PUSH2 0x1126 JUMPI POP CALLER PUSH2 0x111B DUP7 PUSH2 0x5B9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0x1146 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0x1154 PUSH1 0x0 DUP6 DUP4 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0x1252 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0x1252 JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x1 DUP1 SLOAD DUP2 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 PUSH1 0x0 SLOAD DUP2 LT ISZERO PUSH2 0x139D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x139B JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1332 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0x1396 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1332 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x143D SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1C77 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1478 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1475 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1CB4 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14D6 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x14A6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x14AB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x14CE JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xC SLOAD PUSH2 0x14FF DUP3 PUSH2 0x735 JUMP JUMPDEST LT PUSH2 0x154C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E2774206D696E7420616E796D6F72652E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB LT PUSH2 0x6FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x13585E081CDD5C1C1B1E481C995858DA1959 PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x15C1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0x15E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH9 0x10000000000000000 PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0x167E JUMPI POP PUSH1 0x0 SSTORE POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x170B JUMPI PUSH1 0x40 MLOAD PUSH4 0x193C4E6D PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x656D70747920746F6B656E555249 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1724 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x1744 JUMPI PUSH1 0x40 MLOAD PUSH4 0x162134B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x67E DUP3 DUP3 PUSH2 0x1D1F JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17C6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1823 DUP2 PUSH2 0x17F0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1845 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x182D JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x8D0 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x186E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x182A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1823 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1856 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x18C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x18DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18E6 DUP4 PUSH2 0x18AE JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1909 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1912 DUP5 PUSH2 0x18AE JUMP JUMPDEST SWAP3 POP PUSH2 0x1920 PUSH1 0x20 DUP6 ADD PUSH2 0x18AE JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1942 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1823 DUP3 PUSH2 0x18AE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1967 DUP4 PUSH2 0x18AE JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x197C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x19AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x19C8 JUMPI PUSH2 0x19C8 PUSH2 0x1987 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x19F0 JUMPI PUSH2 0x19F0 PUSH2 0x1987 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1A09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1A3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A48 DUP6 PUSH2 0x18AE JUMP JUMPDEST SWAP4 POP PUSH2 0x1A56 PUSH1 0x20 DUP7 ADD PUSH2 0x18AE JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1A78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A84 DUP8 DUP3 DUP9 ADD PUSH2 0x199D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1AB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9E2 DUP5 DUP3 DUP6 ADD PUSH2 0x199D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1AD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AE0 DUP4 PUSH2 0x18AE JUMP JUMPDEST SWAP2 POP PUSH2 0x1AEE PUSH1 0x20 DUP5 ADD PUSH2 0x18AE JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1B0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B16 DUP6 PUSH2 0x18AE JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1B39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B45 DUP9 DUP4 DUP10 ADD PUSH2 0x199D JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1B5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A84 DUP8 DUP3 DUP9 ADD PUSH2 0x199D JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1B7C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1B9C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1BE9 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x182A JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1BFD DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x182A JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1C2E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1C50 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1C67 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x182A JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1CAA SWAP1 DUP4 ADD DUP5 PUSH2 0x1856 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1823 DUP2 PUSH2 0x17F0 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x67E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1CF8 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D17 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1D04 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1D38 JUMPI PUSH2 0x1D38 PUSH2 0x1987 JUMP JUMPDEST PUSH2 0x1D4C DUP2 PUSH2 0x1D46 DUP5 SLOAD PUSH2 0x1B68 JUMP JUMPDEST DUP5 PUSH2 0x1CD1 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1D81 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1D69 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1D17 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1DB0 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x1D91 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1DCE JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD SELFBALANCE 0xB9 MUL 0xC1 ISZERO CREATE DELEGATECALL 0xB9 0xA5 MLOAD ADDRESS PUSH23 0xFAEBC95E8C058D1E09968353B15427DFA7568E64736F6C PUSH4 0x4300080F STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP14 0x5E ADDRESS PUSH8 0xDD80C8F379D1BA91 SWAP15 PUSH6 0x599813CCF5DA 0xD6 0x1F 0xE6 0xB3 PUSH6 0xD5585C21EEB5 PUSH22 0x64736F6C634300080F00330000000000000000000000 ", + "pcMap": { + "0": { + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "MSTORE", + "path": "10" + }, + "5": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "CALLVALUE", + "path": "10" + }, + "6": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "7": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "ISZERO", + "path": "10" + }, + "8": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0x11" + }, + "12": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "13": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "16": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "REVERT", + "path": "10" + }, + "17": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPDEST", + "path": "10" + }, + "18": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "POP", + "path": "10" + }, + "19": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0x4" + }, + "21": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "CALLDATASIZE", + "path": "10" + }, + "22": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "LT", + "path": "10" + }, + "23": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0x93" + }, + "27": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "28": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "30": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "CALLDATALOAD", + "path": "10" + }, + "31": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0xE0" + }, + "33": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "SHR", + "path": "10" + }, + "34": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "35": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0xB187BD26" + }, + "40": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "GT", + "path": "10" + }, + "41": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0x62" + }, + "45": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "46": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "47": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0xB187BD26" + }, + "52": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "53": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0xF4" + }, + "57": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "58": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "59": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0xE9181D92" + }, + "64": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "65": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0x112" + }, + "69": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "70": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "71": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0xF2FDE38B" + }, + "76": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "77": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0x129" + }, + "81": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "82": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "83": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0xF7B188A5" + }, + "88": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "89": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0x140" + }, + "93": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "94": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "96": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "97": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "REVERT", + "path": "10" + }, + "98": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPDEST", + "path": "10" + }, + "99": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "100": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0x2AB7FABF" + }, + "105": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "106": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0x98" + }, + "110": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "111": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "112": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0x715018A6" + }, + "117": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "118": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0xCC" + }, + "122": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "123": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "124": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0x8456CB59" + }, + "129": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "130": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0xD8" + }, + "134": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "135": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "136": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH4", + "path": "10", + "value": "0x8DA5CB5B" + }, + "141": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "EQ", + "path": "10" + }, + "142": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH3", + "path": "10", + "value": "0xE2" + }, + "146": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPI", + "path": "10" + }, + "147": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "JUMPDEST", + "path": "10" + }, + "148": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "150": { + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "DUP1", + "path": "10" + }, + "151": { + "first_revert": true, + "fn": null, + "offset": [ + 856, + 2830 + ], + "op": "REVERT", + "path": "10" + }, + "152": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "JUMPDEST", + "path": "10" + }, + "153": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "PUSH3", + "path": "10", + "value": "0xAF" + }, + "157": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "PUSH3", + "path": "10", + "value": "0xA9" + }, + "161": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "CALLDATASIZE", + "path": "10" + }, + "162": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "PUSH1", + "path": "10", + "value": "0x4" + }, + "164": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "PUSH3", + "path": "10", + "value": "0x5A7" + }, + "168": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 1376, + 1787 + ], + "op": "JUMP", + "path": "10" + }, + "169": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "JUMPDEST", + "path": "10" + }, + "170": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "PUSH3", + "path": "10", + "value": "0x14A" + }, + "174": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 1376, + 1787 + ], + "op": "JUMP", + "path": "10" + }, + "175": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "JUMPDEST", + "path": "10" + }, + "176": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "178": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "MLOAD", + "path": "10" + }, + "179": { + "op": "PUSH1", + "value": "0x1" + }, + "181": { + "op": "PUSH1", + "value": "0x1" + }, + "183": { + "op": "PUSH1", + "value": "0xA0" + }, + "185": { + "op": "SHL" + }, + "186": { + "op": "SUB" + }, + "187": { + "op": "SWAP1" + }, + "188": { + "op": "SWAP2" + }, + "189": { + "op": "AND" + }, + "190": { + "op": "DUP2" + }, + "191": { + "op": "MSTORE" + }, + "192": { + "op": "PUSH1", + "value": "0x20" + }, + "194": { + "op": "ADD" + }, + "195": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "JUMPDEST", + "path": "10" + }, + "196": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "198": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "MLOAD", + "path": "10" + }, + "199": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "DUP1", + "path": "10" + }, + "200": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "SWAP2", + "path": "10" + }, + "201": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "SUB", + "path": "10" + }, + "202": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "SWAP1", + "path": "10" + }, + "203": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "RETURN", + "path": "10" + }, + "204": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "205": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH3", + "path": "0", + "value": "0xD6" + }, + "209": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1FD" + }, + "213": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "214": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "215": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "STOP", + "path": "0" + }, + "216": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "217": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH3", + "path": "13", + "value": "0xD6" + }, + "221": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH3", + "path": "13", + "value": "0x238" + }, + "225": { + "fn": "Pausable.pause", + "jump": "i", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "226": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "227": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "229": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0", + "statement": 0 + }, + "230": { + "op": "PUSH1", + "value": "0x1" + }, + "232": { + "op": "PUSH1", + "value": "0x1" + }, + "234": { + "op": "PUSH1", + "value": "0xA0" + }, + "236": { + "op": "SHL" + }, + "237": { + "op": "SUB" + }, + "238": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "239": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH3", + "path": "0", + "value": "0xAF" + }, + "243": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "244": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "JUMPDEST", + "path": "13" + }, + "245": { + "fn": "Pausable.isPaused", + "offset": [ + 2480, + 2484 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "247": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SLOAD", + "path": "13", + "statement": 1 + }, + "248": { + "op": "PUSH1", + "value": "0x1" + }, + "250": { + "op": "PUSH1", + "value": "0xA0" + }, + "252": { + "op": "SHL" + }, + "253": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SWAP1", + "path": "13" + }, + "254": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "DIV", + "path": "13" + }, + "255": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "257": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "AND", + "path": "13" + }, + "258": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "260": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "MLOAD", + "path": "13" + }, + "261": { + "op": "SWAP1" + }, + "262": { + "op": "ISZERO" + }, + "263": { + "op": "ISZERO" + }, + "264": { + "op": "DUP2" + }, + "265": { + "op": "MSTORE" + }, + "266": { + "op": "PUSH1", + "value": "0x20" + }, + "268": { + "op": "ADD" + }, + "269": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH3", + "path": "13", + "value": "0xC3" + }, + "273": { + "op": "JUMP" + }, + "274": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "JUMPDEST", + "path": "10" + }, + "275": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "PUSH3", + "path": "10", + "value": "0xAF" + }, + "279": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "PUSH3", + "path": "10", + "value": "0x123" + }, + "283": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "CALLDATASIZE", + "path": "10" + }, + "284": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "PUSH1", + "path": "10", + "value": "0x4" + }, + "286": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "PUSH3", + "path": "10", + "value": "0x62F" + }, + "290": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 2041, + 2828 + ], + "op": "JUMP", + "path": "10" + }, + "291": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "JUMPDEST", + "path": "10" + }, + "292": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "PUSH3", + "path": "10", + "value": "0x2A7" + }, + "296": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 2041, + 2828 + ], + "op": "JUMP", + "path": "10" + }, + "297": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "298": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0xD6" + }, + "302": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x13A" + }, + "306": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "307": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "309": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x6D1" + }, + "313": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "314": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "315": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x360" + }, + "319": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "320": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "321": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH3", + "path": "13", + "value": "0xD6" + }, + "325": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH3", + "path": "13", + "value": "0x402" + }, + "329": { + "fn": "Pausable.unPause", + "jump": "i", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "330": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "JUMPDEST", + "path": "10" + }, + "331": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1515, + 1538 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "333": { + "offset": [ + 1060, + 1066 + ], + "op": "DUP1", + "path": "10" + }, + "334": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1060, + 1066 + ], + "op": "SLOAD", + "path": "10" + }, + "335": { + "op": "PUSH1", + "value": "0x1" + }, + "337": { + "op": "PUSH1", + "value": "0xA8" + }, + "339": { + "op": "SHL" + }, + "340": { + "offset": [ + 1060, + 1066 + ], + "op": "SWAP1", + "path": "10" + }, + "341": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1060, + 1066 + ], + "op": "DIV", + "path": "10" + }, + "342": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1060, + 1066 + ], + "op": "PUSH1", + "path": "10", + "value": "0xFF" + }, + "344": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1060, + 1066 + ], + "op": "AND", + "path": "10" + }, + "345": { + "offset": [ + 1059, + 1066 + ], + "op": "ISZERO", + "path": "10" + }, + "346": { + "offset": [ + 1051, + 1067 + ], + "op": "PUSH3", + "path": "10", + "value": "0x163" + }, + "350": { + "offset": [ + 1051, + 1067 + ], + "op": "JUMPI", + "path": "10" + }, + "351": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1051, + 1067 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "353": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1051, + 1067 + ], + "op": "DUP1", + "path": "10" + }, + "354": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1051, + 1067 + ], + "op": "REVERT", + "path": "10" + }, + "355": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1051, + 1067 + ], + "op": "JUMPDEST", + "path": "10" + }, + "356": { + "offset": [ + 1077, + 1083 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "358": { + "offset": [ + 1077, + 1090 + ], + "op": "DUP1", + "path": "10" + }, + "359": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1077, + 1090 + ], + "op": "SLOAD", + "path": "10" + }, + "360": { + "op": "PUSH1", + "value": "0xFF" + }, + "362": { + "op": "PUSH1", + "value": "0xA8" + }, + "364": { + "op": "SHL" + }, + "365": { + "op": "NOT" + }, + "366": { + "offset": [ + 1077, + 1090 + ], + "op": "AND", + "path": "10" + }, + "367": { + "op": "PUSH1", + "value": "0x1" + }, + "369": { + "op": "PUSH1", + "value": "0xA8" + }, + "371": { + "op": "SHL" + }, + "372": { + "offset": [ + 1077, + 1090 + ], + "op": "OR", + "path": "10" + }, + "373": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1077, + 1090 + ], + "op": "SWAP1", + "path": "10" + }, + "374": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1077, + 1090 + ], + "op": "DUP2", + "path": "10" + }, + "375": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1077, + 1090 + ], + "op": "SWAP1", + "path": "10" + }, + "376": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1077, + 1090 + ], + "op": "SSTORE", + "path": "10" + }, + "377": { + "op": "PUSH1", + "value": "0x1" + }, + "379": { + "op": "PUSH1", + "value": "0xA0" + }, + "381": { + "op": "SHL" + }, + "382": { + "offset": [ + 1590, + 1596 + ], + "op": "SWAP1", + "path": "13" + }, + "383": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1590, + 1596 + ], + "op": "DIV", + "path": "13" + }, + "384": { + "offset": [ + 1077, + 1090 + ], + "op": "PUSH1", + "path": "10", + "value": "0xFF" + }, + "386": { + "offset": [ + 1590, + 1596 + ], + "op": "AND", + "path": "13" + }, + "387": { + "offset": [ + 1589, + 1596 + ], + "op": "ISZERO", + "path": "13" + }, + "388": { + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1AB" + }, + "392": { + "offset": [ + 1581, + 1617 + ], + "op": "JUMPI", + "path": "13" + }, + "393": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "395": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "396": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "400": { + "op": "PUSH1", + "value": "0xE5" + }, + "402": { + "op": "SHL" + }, + "403": { + "offset": [ + 1581, + 1617 + ], + "op": "DUP2", + "path": "13" + }, + "404": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "MSTORE", + "path": "13" + }, + "405": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "407": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "ADD", + "path": "13" + }, + "408": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "412": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "413": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x6F6" + }, + "417": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 1581, + 1617 + ], + "op": "JUMP", + "path": "13" + }, + "418": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "419": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "421": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "422": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "DUP1", + "path": "13" + }, + "423": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP2", + "path": "13" + }, + "424": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "SUB", + "path": "13" + }, + "425": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "426": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "13" + }, + "427": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "428": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1608, + 1648 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "430": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1675, + 1680 + ], + "op": "DUP4", + "path": "10" + }, + "431": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1682, + 1689 + ], + "op": "DUP4", + "path": "10" + }, + "432": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "434": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "MLOAD", + "path": "10" + }, + "435": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH3", + "path": "10", + "value": "0x1BD" + }, + "439": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "SWAP1", + "path": "10" + }, + "440": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH3", + "path": "10", + "value": "0x4E0" + }, + "444": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 1651, + 1690 + ], + "op": "JUMP", + "path": "10" + }, + "445": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "JUMPDEST", + "path": "10" + }, + "446": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH3", + "path": "10", + "value": "0x1CA" + }, + "450": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "SWAP3", + "path": "10" + }, + "451": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "SWAP2", + "path": "10" + }, + "452": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "SWAP1", + "path": "10" + }, + "453": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH3", + "path": "10", + "value": "0x770" + }, + "457": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "jump": "i", + "offset": [ + 1651, + 1690 + ], + "op": "JUMP", + "path": "10" + }, + "458": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "JUMPDEST", + "path": "10" + }, + "459": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "461": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "MLOAD", + "path": "10" + }, + "462": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "DUP1", + "path": "10" + }, + "463": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "SWAP2", + "path": "10" + }, + "464": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "SUB", + "path": "10" + }, + "465": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "SWAP1", + "path": "10" + }, + "466": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "468": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "CREATE", + "path": "10" + }, + "469": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "DUP1", + "path": "10" + }, + "470": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "ISZERO", + "path": "10" + }, + "471": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "DUP1", + "path": "10" + }, + "472": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "ISZERO", + "path": "10" + }, + "473": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH3", + "path": "10", + "value": "0x1E7" + }, + "477": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "JUMPI", + "path": "10" + }, + "478": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "RETURNDATASIZE", + "path": "10" + }, + "479": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "481": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "DUP1", + "path": "10" + }, + "482": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "RETURNDATACOPY", + "path": "10" + }, + "483": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "RETURNDATASIZE", + "path": "10" + }, + "484": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "486": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "REVERT", + "path": "10" + }, + "487": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1651, + 1690 + ], + "op": "JUMPDEST", + "path": "10" + }, + "488": { + "op": "POP" + }, + "489": { + "offset": [ + 1120, + 1125 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "491": { + "offset": [ + 1111, + 1125 + ], + "op": "DUP1", + "path": "10" + }, + "492": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1111, + 1125 + ], + "op": "SLOAD", + "path": "10" + }, + "493": { + "op": "PUSH1", + "value": "0xFF" + }, + "495": { + "op": "PUSH1", + "value": "0xA8" + }, + "497": { + "op": "SHL" + }, + "498": { + "op": "NOT" + }, + "499": { + "offset": [ + 1111, + 1125 + ], + "op": "AND", + "path": "10" + }, + "500": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1111, + 1125 + ], + "op": "SWAP1", + "path": "10" + }, + "501": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1111, + 1125 + ], + "op": "SSTORE", + "path": "10" + }, + "502": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1608, + 1690 + ], + "op": "SWAP5", + "path": "10" + }, + "503": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "offset": [ + 1376, + 1787 + ], + "op": "SWAP4", + "path": "10" + }, + "504": { + "op": "POP" + }, + "505": { + "op": "POP" + }, + "506": { + "op": "POP" + }, + "507": { + "op": "POP" + }, + "508": { + "fn": "DeployerERC721.deployERC721ExtensionCore", + "jump": "o", + "offset": [ + 1376, + 1787 + ], + "op": "JUMP", + "path": "10" + }, + "509": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "510": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "512": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "513": { + "op": "PUSH1", + "value": "0x1" + }, + "515": { + "op": "PUSH1", + "value": "0x1" + }, + "517": { + "op": "PUSH1", + "value": "0xA0" + }, + "519": { + "op": "SHL" + }, + "520": { + "op": "SUB" + }, + "521": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "522": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 2 + }, + "523": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "524": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x22A" + }, + "528": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "529": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "531": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "532": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "536": { + "op": "PUSH1", + "value": "0xE5" + }, + "538": { + "op": "SHL" + }, + "539": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "540": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "541": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "543": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "544": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "548": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "549": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7A2" + }, + "553": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "554": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "555": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH3", + "path": "0", + "statement": 3, + "value": "0x236" + }, + "559": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "561": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH3", + "path": "0", + "value": "0x490" + }, + "565": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "566": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "567": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "568": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "569": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "571": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "572": { + "op": "PUSH1", + "value": "0x1" + }, + "574": { + "op": "PUSH1", + "value": "0x1" + }, + "576": { + "op": "PUSH1", + "value": "0xA0" + }, + "578": { + "op": "SHL" + }, + "579": { + "op": "SUB" + }, + "580": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "581": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "582": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "583": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x265" + }, + "587": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "588": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "590": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "591": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "595": { + "op": "PUSH1", + "value": "0xE5" + }, + "597": { + "op": "SHL" + }, + "598": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "599": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "600": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "602": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "603": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "607": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "608": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7A2" + }, + "612": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "613": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "614": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "statement": 4, + "value": "0x0" + }, + "616": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SLOAD", + "path": "13" + }, + "617": { + "op": "PUSH1", + "value": "0x1" + }, + "619": { + "op": "PUSH1", + "value": "0xA0" + }, + "621": { + "op": "SHL" + }, + "622": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SWAP1", + "path": "13" + }, + "623": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "DIV", + "path": "13" + }, + "624": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "626": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "AND", + "path": "13" + }, + "627": { + "branch": 13, + "fn": "Pausable.pause", + "offset": [ + 1855, + 1862 + ], + "op": "ISZERO", + "path": "13" + }, + "628": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x292" + }, + "632": { + "branch": 13, + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPI", + "path": "13" + }, + "633": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "635": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MLOAD", + "path": "13" + }, + "636": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "640": { + "op": "PUSH1", + "value": "0xE5" + }, + "642": { + "op": "SHL" + }, + "643": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "DUP2", + "path": "13" + }, + "644": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MSTORE", + "path": "13" + }, + "645": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "647": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "ADD", + "path": "13" + }, + "648": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "652": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "SWAP1", + "path": "13" + }, + "653": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x6F6" + }, + "657": { + "fn": "Pausable.pause", + "jump": "i", + "offset": [ + 1847, + 1883 + ], + "op": "JUMP", + "path": "13" + }, + "658": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPDEST", + "path": "13" + }, + "659": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1936 + ], + "op": "PUSH1", + "path": "13", + "statement": 5, + "value": "0x0" + }, + "661": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "DUP1", + "path": "13" + }, + "662": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SLOAD", + "path": "13" + }, + "663": { + "op": "PUSH1", + "value": "0xFF" + }, + "665": { + "op": "PUSH1", + "value": "0xA0" + }, + "667": { + "op": "SHL" + }, + "668": { + "op": "NOT" + }, + "669": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "AND", + "path": "13" + }, + "670": { + "op": "PUSH1", + "value": "0x1" + }, + "672": { + "op": "PUSH1", + "value": "0xA0" + }, + "674": { + "op": "SHL" + }, + "675": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "OR", + "path": "13" + }, + "676": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SWAP1", + "path": "13" + }, + "677": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SSTORE", + "path": "13" + }, + "678": { + "fn": "Pausable.pause", + "jump": "o", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "679": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "JUMPDEST", + "path": "10" + }, + "680": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2362, + 2385 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "682": { + "offset": [ + 1060, + 1066 + ], + "op": "DUP1", + "path": "10" + }, + "683": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1060, + 1066 + ], + "op": "SLOAD", + "path": "10" + }, + "684": { + "op": "PUSH1", + "value": "0x1" + }, + "686": { + "op": "PUSH1", + "value": "0xA8" + }, + "688": { + "op": "SHL" + }, + "689": { + "offset": [ + 1060, + 1066 + ], + "op": "SWAP1", + "path": "10" + }, + "690": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1060, + 1066 + ], + "op": "DIV", + "path": "10" + }, + "691": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1060, + 1066 + ], + "op": "PUSH1", + "path": "10", + "value": "0xFF" + }, + "693": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1060, + 1066 + ], + "op": "AND", + "path": "10" + }, + "694": { + "offset": [ + 1059, + 1066 + ], + "op": "ISZERO", + "path": "10" + }, + "695": { + "offset": [ + 1051, + 1067 + ], + "op": "PUSH3", + "path": "10", + "value": "0x2C0" + }, + "699": { + "offset": [ + 1051, + 1067 + ], + "op": "JUMPI", + "path": "10" + }, + "700": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1051, + 1067 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "702": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1051, + 1067 + ], + "op": "DUP1", + "path": "10" + }, + "703": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1051, + 1067 + ], + "op": "REVERT", + "path": "10" + }, + "704": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1051, + 1067 + ], + "op": "JUMPDEST", + "path": "10" + }, + "705": { + "offset": [ + 1077, + 1083 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "707": { + "offset": [ + 1077, + 1090 + ], + "op": "DUP1", + "path": "10" + }, + "708": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1077, + 1090 + ], + "op": "SLOAD", + "path": "10" + }, + "709": { + "op": "PUSH1", + "value": "0xFF" + }, + "711": { + "op": "PUSH1", + "value": "0xA8" + }, + "713": { + "op": "SHL" + }, + "714": { + "op": "NOT" + }, + "715": { + "offset": [ + 1077, + 1090 + ], + "op": "AND", + "path": "10" + }, + "716": { + "op": "PUSH1", + "value": "0x1" + }, + "718": { + "op": "PUSH1", + "value": "0xA8" + }, + "720": { + "op": "SHL" + }, + "721": { + "offset": [ + 1077, + 1090 + ], + "op": "OR", + "path": "10" + }, + "722": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1077, + 1090 + ], + "op": "SWAP1", + "path": "10" + }, + "723": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1077, + 1090 + ], + "op": "DUP2", + "path": "10" + }, + "724": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1077, + 1090 + ], + "op": "SWAP1", + "path": "10" + }, + "725": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1077, + 1090 + ], + "op": "SSTORE", + "path": "10" + }, + "726": { + "op": "PUSH1", + "value": "0x1" + }, + "728": { + "op": "PUSH1", + "value": "0xA0" + }, + "730": { + "op": "SHL" + }, + "731": { + "offset": [ + 1590, + 1596 + ], + "op": "SWAP1", + "path": "13" + }, + "732": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1590, + 1596 + ], + "op": "DIV", + "path": "13" + }, + "733": { + "offset": [ + 1077, + 1090 + ], + "op": "PUSH1", + "path": "10", + "value": "0xFF" + }, + "735": { + "offset": [ + 1590, + 1596 + ], + "op": "AND", + "path": "13" + }, + "736": { + "offset": [ + 1589, + 1596 + ], + "op": "ISZERO", + "path": "13" + }, + "737": { + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x2FF" + }, + "741": { + "offset": [ + 1581, + 1617 + ], + "op": "JUMPI", + "path": "13" + }, + "742": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "744": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "745": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "749": { + "op": "PUSH1", + "value": "0xE5" + }, + "751": { + "op": "SHL" + }, + "752": { + "offset": [ + 1581, + 1617 + ], + "op": "DUP2", + "path": "13" + }, + "753": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "MSTORE", + "path": "13" + }, + "754": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "756": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "ADD", + "path": "13" + }, + "757": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "761": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "762": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x6F6" + }, + "766": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 1581, + 1617 + ], + "op": "JUMP", + "path": "13" + }, + "767": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "768": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2460, + 2510 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "770": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2555, + 2560 + ], + "op": "DUP9", + "path": "10" + }, + "771": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2575, + 2582 + ], + "op": "DUP9", + "path": "10" + }, + "772": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2596, + 2608 + ], + "op": "DUP9", + "path": "10" + }, + "773": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2622, + 2632 + ], + "op": "DUP9", + "path": "10" + }, + "774": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2646, + 2658 + ], + "op": "DUP9", + "path": "10" + }, + "775": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2672, + 2685 + ], + "op": "DUP9", + "path": "10" + }, + "776": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2699, + 2716 + ], + "op": "DUP9", + "path": "10" + }, + "777": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "779": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "MLOAD", + "path": "10" + }, + "780": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH3", + "path": "10", + "value": "0x316" + }, + "784": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP1", + "path": "10" + }, + "785": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH3", + "path": "10", + "value": "0x4EE" + }, + "789": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 2513, + 2726 + ], + "op": "JUMP", + "path": "10" + }, + "790": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "JUMPDEST", + "path": "10" + }, + "791": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH3", + "path": "10", + "value": "0x328" + }, + "795": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP8", + "path": "10" + }, + "796": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP7", + "path": "10" + }, + "797": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP6", + "path": "10" + }, + "798": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP5", + "path": "10" + }, + "799": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP4", + "path": "10" + }, + "800": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP3", + "path": "10" + }, + "801": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP2", + "path": "10" + }, + "802": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP1", + "path": "10" + }, + "803": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH3", + "path": "10", + "value": "0x7D7" + }, + "807": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "jump": "i", + "offset": [ + 2513, + 2726 + ], + "op": "JUMP", + "path": "10" + }, + "808": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "JUMPDEST", + "path": "10" + }, + "809": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH1", + "path": "10", + "value": "0x40" + }, + "811": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "MLOAD", + "path": "10" + }, + "812": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "DUP1", + "path": "10" + }, + "813": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP2", + "path": "10" + }, + "814": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SUB", + "path": "10" + }, + "815": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "SWAP1", + "path": "10" + }, + "816": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "818": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "CREATE", + "path": "10" + }, + "819": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "DUP1", + "path": "10" + }, + "820": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "ISZERO", + "path": "10" + }, + "821": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "DUP1", + "path": "10" + }, + "822": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "ISZERO", + "path": "10" + }, + "823": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH3", + "path": "10", + "value": "0x345" + }, + "827": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "JUMPI", + "path": "10" + }, + "828": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "RETURNDATASIZE", + "path": "10" + }, + "829": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "831": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "DUP1", + "path": "10" + }, + "832": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "RETURNDATACOPY", + "path": "10" + }, + "833": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "RETURNDATASIZE", + "path": "10" + }, + "834": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "836": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "REVERT", + "path": "10" + }, + "837": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2513, + 2726 + ], + "op": "JUMPDEST", + "path": "10" + }, + "838": { + "op": "POP" + }, + "839": { + "offset": [ + 1120, + 1125 + ], + "op": "PUSH1", + "path": "10", + "value": "0x0" + }, + "841": { + "offset": [ + 1111, + 1125 + ], + "op": "DUP1", + "path": "10" + }, + "842": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1111, + 1125 + ], + "op": "SLOAD", + "path": "10" + }, + "843": { + "op": "PUSH1", + "value": "0xFF" + }, + "845": { + "op": "PUSH1", + "value": "0xA8" + }, + "847": { + "op": "SHL" + }, + "848": { + "op": "NOT" + }, + "849": { + "offset": [ + 1111, + 1125 + ], + "op": "AND", + "path": "10" + }, + "850": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1111, + 1125 + ], + "op": "SWAP1", + "path": "10" + }, + "851": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 1111, + 1125 + ], + "op": "SSTORE", + "path": "10" + }, + "852": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2460, + 2726 + ], + "op": "SWAP10", + "path": "10" + }, + "853": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "offset": [ + 2041, + 2828 + ], + "op": "SWAP9", + "path": "10" + }, + "854": { + "op": "POP" + }, + "855": { + "op": "POP" + }, + "856": { + "op": "POP" + }, + "857": { + "op": "POP" + }, + "858": { + "op": "POP" + }, + "859": { + "op": "POP" + }, + "860": { + "op": "POP" + }, + "861": { + "op": "POP" + }, + "862": { + "op": "POP" + }, + "863": { + "fn": "DeployerERC721.deployERC721ExtensionSignature", + "jump": "o", + "offset": [ + 2041, + 2828 + ], + "op": "JUMP", + "path": "10" + }, + "864": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "865": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "867": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "868": { + "op": "PUSH1", + "value": "0x1" + }, + "870": { + "op": "PUSH1", + "value": "0x1" + }, + "872": { + "op": "PUSH1", + "value": "0xA0" + }, + "874": { + "op": "SHL" + }, + "875": { + "op": "SUB" + }, + "876": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "877": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "878": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "879": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x38D" + }, + "883": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "884": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "886": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "887": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "891": { + "op": "PUSH1", + "value": "0xE5" + }, + "893": { + "op": "SHL" + }, + "894": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "895": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "896": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "898": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "899": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "903": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "904": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7A2" + }, + "908": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "909": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "910": { + "op": "PUSH1", + "value": "0x1" + }, + "912": { + "op": "PUSH1", + "value": "0x1" + }, + "914": { + "op": "PUSH1", + "value": "0xA0" + }, + "916": { + "op": "SHL" + }, + "917": { + "op": "SUB" + }, + "918": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 6 + }, + "919": { + "branch": 12, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "920": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH3", + "path": "0", + "value": "0x3F4" + }, + "924": { + "branch": 12, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "925": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "927": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "928": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "932": { + "op": "PUSH1", + "value": "0xE5" + }, + "934": { + "op": "SHL" + }, + "935": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "936": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "937": { + "op": "PUSH1", + "value": "0x20" + }, + "939": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "941": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "942": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "943": { + "op": "MSTORE" + }, + "944": { + "op": "PUSH1", + "value": "0x26" + }, + "946": { + "op": "PUSH1", + "value": "0x24" + }, + "948": { + "op": "DUP3" + }, + "949": { + "op": "ADD" + }, + "950": { + "op": "MSTORE" + }, + "951": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "984": { + "op": "PUSH1", + "value": "0x44" + }, + "986": { + "op": "DUP3" + }, + "987": { + "op": "ADD" + }, + "988": { + "op": "MSTORE" + }, + "989": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "996": { + "op": "PUSH1", + "value": "0xD0" + }, + "998": { + "op": "SHL" + }, + "999": { + "op": "PUSH1", + "value": "0x64" + }, + "1001": { + "op": "DUP3" + }, + "1002": { + "op": "ADD" + }, + "1003": { + "op": "MSTORE" + }, + "1004": { + "op": "PUSH1", + "value": "0x84" + }, + "1006": { + "op": "ADD" + }, + "1007": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "1011": { + "op": "JUMP" + }, + "1012": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1013": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH3", + "path": "0", + "statement": 7, + "value": "0x3FF" + }, + "1017": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "1018": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH3", + "path": "0", + "value": "0x490" + }, + "1022": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "1023": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1024": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "POP", + "path": "0" + }, + "1025": { + "fn": "Ownable.transferOwnership", + "jump": "o", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "1026": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "1027": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1029": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1030": { + "op": "PUSH1", + "value": "0x1" + }, + "1032": { + "op": "PUSH1", + "value": "0x1" + }, + "1034": { + "op": "PUSH1", + "value": "0xA0" + }, + "1036": { + "op": "SHL" + }, + "1037": { + "op": "SUB" + }, + "1038": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1039": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1040": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1041": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x42F" + }, + "1045": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1046": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1048": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1049": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1053": { + "op": "PUSH1", + "value": "0xE5" + }, + "1055": { + "op": "SHL" + }, + "1056": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1057": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1058": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1060": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1061": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "1065": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1066": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7A2" + }, + "1070": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1071": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1072": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "statement": 8, + "value": "0x0" + }, + "1074": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SLOAD", + "path": "13" + }, + "1075": { + "op": "PUSH1", + "value": "0x1" + }, + "1077": { + "op": "PUSH1", + "value": "0xA0" + }, + "1079": { + "op": "SHL" + }, + "1080": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SWAP1", + "path": "13" + }, + "1081": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "DIV", + "path": "13" + }, + "1082": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "1084": { + "branch": 14, + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "AND", + "path": "13" + }, + "1085": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH3", + "path": "13", + "value": "0x481" + }, + "1089": { + "branch": 14, + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPI", + "path": "13" + }, + "1090": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "1092": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MLOAD", + "path": "13" + }, + "1093": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1097": { + "op": "PUSH1", + "value": "0xE5" + }, + "1099": { + "op": "SHL" + }, + "1100": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP2", + "path": "13" + }, + "1101": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MSTORE", + "path": "13" + }, + "1102": { + "op": "PUSH1", + "value": "0x20" + }, + "1104": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "1106": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP3", + "path": "13" + }, + "1107": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "ADD", + "path": "13" + }, + "1108": { + "op": "MSTORE" + }, + "1109": { + "op": "PUSH1", + "value": "0x14" + }, + "1111": { + "op": "PUSH1", + "value": "0x24" + }, + "1113": { + "op": "DUP3" + }, + "1114": { + "op": "ADD" + }, + "1115": { + "op": "MSTORE" + }, + "1116": { + "op": "PUSH20", + "value": "0x21B7B73A3930B1BA102737BA102830BAB9B2B217" + }, + "1137": { + "op": "PUSH1", + "value": "0x61" + }, + "1139": { + "op": "SHL" + }, + "1140": { + "op": "PUSH1", + "value": "0x44" + }, + "1142": { + "op": "DUP3" + }, + "1143": { + "op": "ADD" + }, + "1144": { + "op": "MSTORE" + }, + "1145": { + "op": "PUSH1", + "value": "0x64" + }, + "1147": { + "op": "ADD" + }, + "1148": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "1152": { + "op": "JUMP" + }, + "1153": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPDEST", + "path": "13" + }, + "1154": { + "fn": "Pausable.unPause", + "offset": [ + 2256, + 2261 + ], + "op": "PUSH1", + "path": "13", + "statement": 9, + "value": "0x0" + }, + "1156": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "DUP1", + "path": "13" + }, + "1157": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "13" + }, + "1158": { + "op": "PUSH1", + "value": "0xFF" + }, + "1160": { + "op": "PUSH1", + "value": "0xA0" + }, + "1162": { + "op": "SHL" + }, + "1163": { + "op": "NOT" + }, + "1164": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "13" + }, + "1165": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "13" + }, + "1166": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SSTORE", + "path": "13" + }, + "1167": { + "fn": "Pausable.unPause", + "jump": "o", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "1168": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1169": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1171": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "1172": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "1173": { + "op": "PUSH1", + "value": "0x1" + }, + "1175": { + "op": "PUSH1", + "value": "0x1" + }, + "1177": { + "op": "PUSH1", + "value": "0xA0" + }, + "1179": { + "op": "SHL" + }, + "1180": { + "op": "SUB" + }, + "1181": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 10 + }, + "1182": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "1183": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "1184": { + "op": "PUSH1", + "value": "0x1" + }, + "1186": { + "op": "PUSH1", + "value": "0x1" + }, + "1188": { + "op": "PUSH1", + "value": "0xA0" + }, + "1190": { + "op": "SHL" + }, + "1191": { + "op": "SUB" + }, + "1192": { + "op": "NOT" + }, + "1193": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "1194": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "1195": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "1196": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "1197": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP5", + "path": "0" + }, + "1198": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "1199": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 11, + "value": "0x40" + }, + "1201": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "1202": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "1203": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "1204": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "1205": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "1206": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "1207": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP4", + "path": "0" + }, + "1208": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "1209": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "1242": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP2", + "path": "0" + }, + "1243": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "1244": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "1245": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "1246": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "1247": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "1248": { + "op": "JUMPDEST" + }, + "1249": { + "op": "PUSH2", + "value": "0x1873" + }, + "1252": { + "op": "DUP1" + }, + "1253": { + "op": "PUSH3", + "value": "0x835" + }, + "1257": { + "op": "DUP4" + }, + "1258": { + "op": "CODECOPY" + }, + "1259": { + "op": "ADD" + }, + "1260": { + "op": "SWAP1" + }, + "1261": { + "jump": "o", + "op": "JUMP" + }, + "1262": { + "op": "JUMPDEST" + }, + "1263": { + "op": "PUSH2", + "value": "0x22DC" + }, + "1266": { + "op": "DUP1" + }, + "1267": { + "op": "PUSH3", + "value": "0x20A8" + }, + "1271": { + "op": "DUP4" + }, + "1272": { + "op": "CODECOPY" + }, + "1273": { + "op": "ADD" + }, + "1274": { + "op": "SWAP1" + }, + "1275": { + "jump": "o", + "op": "JUMP" + }, + "1276": { + "op": "JUMPDEST" + }, + "1277": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "1282": { + "op": "PUSH1", + "value": "0xE0" + }, + "1284": { + "op": "SHL" + }, + "1285": { + "op": "PUSH1", + "value": "0x0" + }, + "1287": { + "op": "MSTORE" + }, + "1288": { + "op": "PUSH1", + "value": "0x41" + }, + "1290": { + "op": "PUSH1", + "value": "0x4" + }, + "1292": { + "op": "MSTORE" + }, + "1293": { + "op": "PUSH1", + "value": "0x24" + }, + "1295": { + "op": "PUSH1", + "value": "0x0" + }, + "1297": { + "op": "REVERT" + }, + "1298": { + "op": "JUMPDEST" + }, + "1299": { + "op": "PUSH1", + "value": "0x0" + }, + "1301": { + "op": "DUP3" + }, + "1302": { + "op": "PUSH1", + "value": "0x1F" + }, + "1304": { + "op": "DUP4" + }, + "1305": { + "op": "ADD" + }, + "1306": { + "op": "SLT" + }, + "1307": { + "op": "PUSH3", + "value": "0x524" + }, + "1311": { + "op": "JUMPI" + }, + "1312": { + "op": "PUSH1", + "value": "0x0" + }, + "1314": { + "op": "DUP1" + }, + "1315": { + "op": "REVERT" + }, + "1316": { + "op": "JUMPDEST" + }, + "1317": { + "op": "DUP2" + }, + "1318": { + "op": "CALLDATALOAD" + }, + "1319": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1328": { + "op": "DUP1" + }, + "1329": { + "op": "DUP3" + }, + "1330": { + "op": "GT" + }, + "1331": { + "op": "ISZERO" + }, + "1332": { + "op": "PUSH3", + "value": "0x542" + }, + "1336": { + "op": "JUMPI" + }, + "1337": { + "op": "PUSH3", + "value": "0x542" + }, + "1341": { + "op": "PUSH3", + "value": "0x4FC" + }, + "1345": { + "jump": "i", + "op": "JUMP" + }, + "1346": { + "op": "JUMPDEST" + }, + "1347": { + "op": "PUSH1", + "value": "0x40" + }, + "1349": { + "op": "MLOAD" + }, + "1350": { + "op": "PUSH1", + "value": "0x1F" + }, + "1352": { + "op": "DUP4" + }, + "1353": { + "op": "ADD" + }, + "1354": { + "op": "PUSH1", + "value": "0x1F" + }, + "1356": { + "op": "NOT" + }, + "1357": { + "op": "SWAP1" + }, + "1358": { + "op": "DUP2" + }, + "1359": { + "op": "AND" + }, + "1360": { + "op": "PUSH1", + "value": "0x3F" + }, + "1362": { + "op": "ADD" + }, + "1363": { + "op": "AND" + }, + "1364": { + "op": "DUP2" + }, + "1365": { + "op": "ADD" + }, + "1366": { + "op": "SWAP1" + }, + "1367": { + "op": "DUP3" + }, + "1368": { + "op": "DUP3" + }, + "1369": { + "op": "GT" + }, + "1370": { + "op": "DUP2" + }, + "1371": { + "op": "DUP4" + }, + "1372": { + "op": "LT" + }, + "1373": { + "op": "OR" + }, + "1374": { + "op": "ISZERO" + }, + "1375": { + "op": "PUSH3", + "value": "0x56D" + }, + "1379": { + "op": "JUMPI" + }, + "1380": { + "op": "PUSH3", + "value": "0x56D" + }, + "1384": { + "op": "PUSH3", + "value": "0x4FC" + }, + "1388": { + "jump": "i", + "op": "JUMP" + }, + "1389": { + "op": "JUMPDEST" + }, + "1390": { + "op": "DUP2" + }, + "1391": { + "op": "PUSH1", + "value": "0x40" + }, + "1393": { + "op": "MSTORE" + }, + "1394": { + "op": "DUP4" + }, + "1395": { + "op": "DUP2" + }, + "1396": { + "op": "MSTORE" + }, + "1397": { + "op": "DUP7" + }, + "1398": { + "op": "PUSH1", + "value": "0x20" + }, + "1400": { + "op": "DUP6" + }, + "1401": { + "op": "DUP9" + }, + "1402": { + "op": "ADD" + }, + "1403": { + "op": "ADD" + }, + "1404": { + "op": "GT" + }, + "1405": { + "op": "ISZERO" + }, + "1406": { + "op": "PUSH3", + "value": "0x587" + }, + "1410": { + "op": "JUMPI" + }, + "1411": { + "op": "PUSH1", + "value": "0x0" + }, + "1413": { + "op": "DUP1" + }, + "1414": { + "op": "REVERT" + }, + "1415": { + "op": "JUMPDEST" + }, + "1416": { + "op": "DUP4" + }, + "1417": { + "op": "PUSH1", + "value": "0x20" + }, + "1419": { + "op": "DUP8" + }, + "1420": { + "op": "ADD" + }, + "1421": { + "op": "PUSH1", + "value": "0x20" + }, + "1423": { + "op": "DUP4" + }, + "1424": { + "op": "ADD" + }, + "1425": { + "op": "CALLDATACOPY" + }, + "1426": { + "op": "PUSH1", + "value": "0x0" + }, + "1428": { + "op": "PUSH1", + "value": "0x20" + }, + "1430": { + "op": "DUP6" + }, + "1431": { + "op": "DUP4" + }, + "1432": { + "op": "ADD" + }, + "1433": { + "op": "ADD" + }, + "1434": { + "op": "MSTORE" + }, + "1435": { + "op": "DUP1" + }, + "1436": { + "op": "SWAP5" + }, + "1437": { + "op": "POP" + }, + "1438": { + "op": "POP" + }, + "1439": { + "op": "POP" + }, + "1440": { + "op": "POP" + }, + "1441": { + "op": "POP" + }, + "1442": { + "op": "SWAP3" + }, + "1443": { + "op": "SWAP2" + }, + "1444": { + "op": "POP" + }, + "1445": { + "op": "POP" + }, + "1446": { + "jump": "o", + "op": "JUMP" + }, + "1447": { + "op": "JUMPDEST" + }, + "1448": { + "op": "PUSH1", + "value": "0x0" + }, + "1450": { + "op": "DUP1" + }, + "1451": { + "op": "PUSH1", + "value": "0x40" + }, + "1453": { + "op": "DUP4" + }, + "1454": { + "op": "DUP6" + }, + "1455": { + "op": "SUB" + }, + "1456": { + "op": "SLT" + }, + "1457": { + "op": "ISZERO" + }, + "1458": { + "op": "PUSH3", + "value": "0x5BB" + }, + "1462": { + "op": "JUMPI" + }, + "1463": { + "op": "PUSH1", + "value": "0x0" + }, + "1465": { + "op": "DUP1" + }, + "1466": { + "op": "REVERT" + }, + "1467": { + "op": "JUMPDEST" + }, + "1468": { + "op": "DUP3" + }, + "1469": { + "op": "CALLDATALOAD" + }, + "1470": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1479": { + "op": "DUP1" + }, + "1480": { + "op": "DUP3" + }, + "1481": { + "op": "GT" + }, + "1482": { + "op": "ISZERO" + }, + "1483": { + "op": "PUSH3", + "value": "0x5D4" + }, + "1487": { + "op": "JUMPI" + }, + "1488": { + "op": "PUSH1", + "value": "0x0" + }, + "1490": { + "op": "DUP1" + }, + "1491": { + "op": "REVERT" + }, + "1492": { + "op": "JUMPDEST" + }, + "1493": { + "op": "PUSH3", + "value": "0x5E2" + }, + "1497": { + "op": "DUP7" + }, + "1498": { + "op": "DUP4" + }, + "1499": { + "op": "DUP8" + }, + "1500": { + "op": "ADD" + }, + "1501": { + "op": "PUSH3", + "value": "0x512" + }, + "1505": { + "jump": "i", + "op": "JUMP" + }, + "1506": { + "op": "JUMPDEST" + }, + "1507": { + "op": "SWAP4" + }, + "1508": { + "op": "POP" + }, + "1509": { + "op": "PUSH1", + "value": "0x20" + }, + "1511": { + "op": "DUP6" + }, + "1512": { + "op": "ADD" + }, + "1513": { + "op": "CALLDATALOAD" + }, + "1514": { + "op": "SWAP2" + }, + "1515": { + "op": "POP" + }, + "1516": { + "op": "DUP1" + }, + "1517": { + "op": "DUP3" + }, + "1518": { + "op": "GT" + }, + "1519": { + "op": "ISZERO" + }, + "1520": { + "op": "PUSH3", + "value": "0x5F9" + }, + "1524": { + "op": "JUMPI" + }, + "1525": { + "op": "PUSH1", + "value": "0x0" + }, + "1527": { + "op": "DUP1" + }, + "1528": { + "op": "REVERT" + }, + "1529": { + "op": "JUMPDEST" + }, + "1530": { + "op": "POP" + }, + "1531": { + "op": "PUSH3", + "value": "0x608" + }, + "1535": { + "op": "DUP6" + }, + "1536": { + "op": "DUP3" + }, + "1537": { + "op": "DUP7" + }, + "1538": { + "op": "ADD" + }, + "1539": { + "op": "PUSH3", + "value": "0x512" + }, + "1543": { + "jump": "i", + "op": "JUMP" + }, + "1544": { + "op": "JUMPDEST" + }, + "1545": { + "op": "SWAP2" + }, + "1546": { + "op": "POP" + }, + "1547": { + "op": "POP" + }, + "1548": { + "op": "SWAP3" + }, + "1549": { + "op": "POP" + }, + "1550": { + "op": "SWAP3" + }, + "1551": { + "op": "SWAP1" + }, + "1552": { + "op": "POP" + }, + "1553": { + "jump": "o", + "op": "JUMP" + }, + "1554": { + "op": "JUMPDEST" + }, + "1555": { + "op": "DUP1" + }, + "1556": { + "op": "CALLDATALOAD" + }, + "1557": { + "op": "PUSH1", + "value": "0x1" + }, + "1559": { + "op": "PUSH1", + "value": "0x1" + }, + "1561": { + "op": "PUSH1", + "value": "0xA0" + }, + "1563": { + "op": "SHL" + }, + "1564": { + "op": "SUB" + }, + "1565": { + "op": "DUP2" + }, + "1566": { + "op": "AND" + }, + "1567": { + "op": "DUP2" + }, + "1568": { + "op": "EQ" + }, + "1569": { + "op": "PUSH3", + "value": "0x62A" + }, + "1573": { + "op": "JUMPI" + }, + "1574": { + "op": "PUSH1", + "value": "0x0" + }, + "1576": { + "op": "DUP1" + }, + "1577": { + "op": "REVERT" + }, + "1578": { + "op": "JUMPDEST" + }, + "1579": { + "op": "SWAP2" + }, + "1580": { + "op": "SWAP1" + }, + "1581": { + "op": "POP" + }, + "1582": { + "jump": "o", + "op": "JUMP" + }, + "1583": { + "op": "JUMPDEST" + }, + "1584": { + "op": "PUSH1", + "value": "0x0" + }, + "1586": { + "op": "DUP1" + }, + "1587": { + "op": "PUSH1", + "value": "0x0" + }, + "1589": { + "op": "DUP1" + }, + "1590": { + "op": "PUSH1", + "value": "0x0" + }, + "1592": { + "op": "DUP1" + }, + "1593": { + "op": "PUSH1", + "value": "0x0" + }, + "1595": { + "op": "PUSH1", + "value": "0xE0" + }, + "1597": { + "op": "DUP9" + }, + "1598": { + "op": "DUP11" + }, + "1599": { + "op": "SUB" + }, + "1600": { + "op": "SLT" + }, + "1601": { + "op": "ISZERO" + }, + "1602": { + "op": "PUSH3", + "value": "0x64B" + }, + "1606": { + "op": "JUMPI" + }, + "1607": { + "op": "PUSH1", + "value": "0x0" + }, + "1609": { + "op": "DUP1" + }, + "1610": { + "op": "REVERT" + }, + "1611": { + "op": "JUMPDEST" + }, + "1612": { + "op": "DUP8" + }, + "1613": { + "op": "CALLDATALOAD" + }, + "1614": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1623": { + "op": "DUP1" + }, + "1624": { + "op": "DUP3" + }, + "1625": { + "op": "GT" + }, + "1626": { + "op": "ISZERO" + }, + "1627": { + "op": "PUSH3", + "value": "0x664" + }, + "1631": { + "op": "JUMPI" + }, + "1632": { + "op": "PUSH1", + "value": "0x0" + }, + "1634": { + "op": "DUP1" + }, + "1635": { + "op": "REVERT" + }, + "1636": { + "op": "JUMPDEST" + }, + "1637": { + "op": "PUSH3", + "value": "0x672" + }, + "1641": { + "op": "DUP12" + }, + "1642": { + "op": "DUP4" + }, + "1643": { + "op": "DUP13" + }, + "1644": { + "op": "ADD" + }, + "1645": { + "op": "PUSH3", + "value": "0x512" + }, + "1649": { + "jump": "i", + "op": "JUMP" + }, + "1650": { + "op": "JUMPDEST" + }, + "1651": { + "op": "SWAP9" + }, + "1652": { + "op": "POP" + }, + "1653": { + "op": "PUSH1", + "value": "0x20" + }, + "1655": { + "op": "DUP11" + }, + "1656": { + "op": "ADD" + }, + "1657": { + "op": "CALLDATALOAD" + }, + "1658": { + "op": "SWAP2" + }, + "1659": { + "op": "POP" + }, + "1660": { + "op": "DUP1" + }, + "1661": { + "op": "DUP3" + }, + "1662": { + "op": "GT" + }, + "1663": { + "op": "ISZERO" + }, + "1664": { + "op": "PUSH3", + "value": "0x689" + }, + "1668": { + "op": "JUMPI" + }, + "1669": { + "op": "PUSH1", + "value": "0x0" + }, + "1671": { + "op": "DUP1" + }, + "1672": { + "op": "REVERT" + }, + "1673": { + "op": "JUMPDEST" + }, + "1674": { + "op": "POP" + }, + "1675": { + "op": "PUSH3", + "value": "0x698" + }, + "1679": { + "op": "DUP11" + }, + "1680": { + "op": "DUP3" + }, + "1681": { + "op": "DUP12" + }, + "1682": { + "op": "ADD" + }, + "1683": { + "op": "PUSH3", + "value": "0x512" + }, + "1687": { + "jump": "i", + "op": "JUMP" + }, + "1688": { + "op": "JUMPDEST" + }, + "1689": { + "op": "SWAP7" + }, + "1690": { + "op": "POP" + }, + "1691": { + "op": "POP" + }, + "1692": { + "op": "PUSH3", + "value": "0x6A9" + }, + "1696": { + "op": "PUSH1", + "value": "0x40" + }, + "1698": { + "op": "DUP10" + }, + "1699": { + "op": "ADD" + }, + "1700": { + "op": "PUSH3", + "value": "0x612" + }, + "1704": { + "jump": "i", + "op": "JUMP" + }, + "1705": { + "op": "JUMPDEST" + }, + "1706": { + "op": "SWAP7" + }, + "1707": { + "op": "SWAP10" + }, + "1708": { + "op": "SWAP6" + }, + "1709": { + "op": "SWAP9" + }, + "1710": { + "op": "POP" + }, + "1711": { + "op": "SWAP6" + }, + "1712": { + "op": "SWAP7" + }, + "1713": { + "op": "PUSH1", + "value": "0x60" + }, + "1715": { + "op": "DUP2" + }, + "1716": { + "op": "ADD" + }, + "1717": { + "op": "CALLDATALOAD" + }, + "1718": { + "op": "SWAP7" + }, + "1719": { + "op": "POP" + }, + "1720": { + "op": "PUSH1", + "value": "0x80" + }, + "1722": { + "op": "DUP2" + }, + "1723": { + "op": "ADD" + }, + "1724": { + "op": "CALLDATALOAD" + }, + "1725": { + "op": "SWAP6" + }, + "1726": { + "op": "PUSH1", + "value": "0xA0" + }, + "1728": { + "op": "DUP3" + }, + "1729": { + "op": "ADD" + }, + "1730": { + "op": "CALLDATALOAD" + }, + "1731": { + "op": "SWAP6" + }, + "1732": { + "op": "POP" + }, + "1733": { + "op": "PUSH1", + "value": "0xC0" + }, + "1735": { + "op": "SWAP1" + }, + "1736": { + "op": "SWAP2" + }, + "1737": { + "op": "ADD" + }, + "1738": { + "op": "CALLDATALOAD" + }, + "1739": { + "op": "SWAP4" + }, + "1740": { + "op": "POP" + }, + "1741": { + "op": "SWAP2" + }, + "1742": { + "op": "POP" + }, + "1743": { + "op": "POP" + }, + "1744": { + "jump": "o", + "op": "JUMP" + }, + "1745": { + "op": "JUMPDEST" + }, + "1746": { + "op": "PUSH1", + "value": "0x0" + }, + "1748": { + "op": "PUSH1", + "value": "0x20" + }, + "1750": { + "op": "DUP3" + }, + "1751": { + "op": "DUP5" + }, + "1752": { + "op": "SUB" + }, + "1753": { + "op": "SLT" + }, + "1754": { + "op": "ISZERO" + }, + "1755": { + "op": "PUSH3", + "value": "0x6E4" + }, + "1759": { + "op": "JUMPI" + }, + "1760": { + "op": "PUSH1", + "value": "0x0" + }, + "1762": { + "op": "DUP1" + }, + "1763": { + "op": "REVERT" + }, + "1764": { + "op": "JUMPDEST" + }, + "1765": { + "op": "PUSH3", + "value": "0x6EF" + }, + "1769": { + "op": "DUP3" + }, + "1770": { + "op": "PUSH3", + "value": "0x612" + }, + "1774": { + "jump": "i", + "op": "JUMP" + }, + "1775": { + "op": "JUMPDEST" + }, + "1776": { + "op": "SWAP4" + }, + "1777": { + "op": "SWAP3" + }, + "1778": { + "op": "POP" + }, + "1779": { + "op": "POP" + }, + "1780": { + "op": "POP" + }, + "1781": { + "jump": "o", + "op": "JUMP" + }, + "1782": { + "op": "JUMPDEST" + }, + "1783": { + "op": "PUSH1", + "value": "0x20" + }, + "1785": { + "op": "DUP1" + }, + "1786": { + "op": "DUP3" + }, + "1787": { + "op": "MSTORE" + }, + "1788": { + "op": "PUSH1", + "value": "0x10" + }, + "1790": { + "op": "SWAP1" + }, + "1791": { + "op": "DUP3" + }, + "1792": { + "op": "ADD" + }, + "1793": { + "op": "MSTORE" + }, + "1794": { + "op": "PUSH16", + "value": "0x21B7B73A3930B1BA102830BAB9B2B217" + }, + "1811": { + "op": "PUSH1", + "value": "0x81" + }, + "1813": { + "op": "SHL" + }, + "1814": { + "op": "PUSH1", + "value": "0x40" + }, + "1816": { + "op": "DUP3" + }, + "1817": { + "op": "ADD" + }, + "1818": { + "op": "MSTORE" + }, + "1819": { + "op": "PUSH1", + "value": "0x60" + }, + "1821": { + "op": "ADD" + }, + "1822": { + "op": "SWAP1" + }, + "1823": { + "jump": "o", + "op": "JUMP" + }, + "1824": { + "op": "JUMPDEST" + }, + "1825": { + "op": "PUSH1", + "value": "0x0" + }, + "1827": { + "op": "DUP2" + }, + "1828": { + "op": "MLOAD" + }, + "1829": { + "op": "DUP1" + }, + "1830": { + "op": "DUP5" + }, + "1831": { + "op": "MSTORE" + }, + "1832": { + "op": "PUSH1", + "value": "0x0" + }, + "1834": { + "op": "JUMPDEST" + }, + "1835": { + "op": "DUP2" + }, + "1836": { + "op": "DUP2" + }, + "1837": { + "op": "LT" + }, + "1838": { + "op": "ISZERO" + }, + "1839": { + "op": "PUSH3", + "value": "0x748" + }, + "1843": { + "op": "JUMPI" + }, + "1844": { + "op": "PUSH1", + "value": "0x20" + }, + "1846": { + "op": "DUP2" + }, + "1847": { + "op": "DUP6" + }, + "1848": { + "op": "ADD" + }, + "1849": { + "op": "DUP2" + }, + "1850": { + "op": "ADD" + }, + "1851": { + "op": "MLOAD" + }, + "1852": { + "op": "DUP7" + }, + "1853": { + "op": "DUP4" + }, + "1854": { + "op": "ADD" + }, + "1855": { + "op": "DUP3" + }, + "1856": { + "op": "ADD" + }, + "1857": { + "op": "MSTORE" + }, + "1858": { + "op": "ADD" + }, + "1859": { + "op": "PUSH3", + "value": "0x72A" + }, + "1863": { + "op": "JUMP" + }, + "1864": { + "op": "JUMPDEST" + }, + "1865": { + "op": "DUP2" + }, + "1866": { + "op": "DUP2" + }, + "1867": { + "op": "GT" + }, + "1868": { + "op": "ISZERO" + }, + "1869": { + "op": "PUSH3", + "value": "0x75B" + }, + "1873": { + "op": "JUMPI" + }, + "1874": { + "op": "PUSH1", + "value": "0x0" + }, + "1876": { + "op": "PUSH1", + "value": "0x20" + }, + "1878": { + "op": "DUP4" + }, + "1879": { + "op": "DUP8" + }, + "1880": { + "op": "ADD" + }, + "1881": { + "op": "ADD" + }, + "1882": { + "op": "MSTORE" + }, + "1883": { + "op": "JUMPDEST" + }, + "1884": { + "op": "POP" + }, + "1885": { + "op": "PUSH1", + "value": "0x1F" + }, + "1887": { + "op": "ADD" + }, + "1888": { + "op": "PUSH1", + "value": "0x1F" + }, + "1890": { + "op": "NOT" + }, + "1891": { + "op": "AND" + }, + "1892": { + "op": "SWAP3" + }, + "1893": { + "op": "SWAP1" + }, + "1894": { + "op": "SWAP3" + }, + "1895": { + "op": "ADD" + }, + "1896": { + "op": "PUSH1", + "value": "0x20" + }, + "1898": { + "op": "ADD" + }, + "1899": { + "op": "SWAP3" + }, + "1900": { + "op": "SWAP2" + }, + "1901": { + "op": "POP" + }, + "1902": { + "op": "POP" + }, + "1903": { + "jump": "o", + "op": "JUMP" + }, + "1904": { + "op": "JUMPDEST" + }, + "1905": { + "op": "PUSH1", + "value": "0x40" + }, + "1907": { + "op": "DUP2" + }, + "1908": { + "op": "MSTORE" + }, + "1909": { + "op": "PUSH1", + "value": "0x0" + }, + "1911": { + "op": "PUSH3", + "value": "0x785" + }, + "1915": { + "op": "PUSH1", + "value": "0x40" + }, + "1917": { + "op": "DUP4" + }, + "1918": { + "op": "ADD" + }, + "1919": { + "op": "DUP6" + }, + "1920": { + "op": "PUSH3", + "value": "0x720" + }, + "1924": { + "jump": "i", + "op": "JUMP" + }, + "1925": { + "op": "JUMPDEST" + }, + "1926": { + "op": "DUP3" + }, + "1927": { + "op": "DUP2" + }, + "1928": { + "op": "SUB" + }, + "1929": { + "op": "PUSH1", + "value": "0x20" + }, + "1931": { + "op": "DUP5" + }, + "1932": { + "op": "ADD" + }, + "1933": { + "op": "MSTORE" + }, + "1934": { + "op": "PUSH3", + "value": "0x799" + }, + "1938": { + "op": "DUP2" + }, + "1939": { + "op": "DUP6" + }, + "1940": { + "op": "PUSH3", + "value": "0x720" + }, + "1944": { + "jump": "i", + "op": "JUMP" + }, + "1945": { + "op": "JUMPDEST" + }, + "1946": { + "op": "SWAP6" + }, + "1947": { + "op": "SWAP5" + }, + "1948": { + "op": "POP" + }, + "1949": { + "op": "POP" + }, + "1950": { + "op": "POP" + }, + "1951": { + "op": "POP" + }, + "1952": { + "op": "POP" + }, + "1953": { + "jump": "o", + "op": "JUMP" + }, + "1954": { + "op": "JUMPDEST" + }, + "1955": { + "op": "PUSH1", + "value": "0x20" + }, + "1957": { + "op": "DUP1" + }, + "1958": { + "op": "DUP3" + }, + "1959": { + "op": "MSTORE" + }, + "1960": { + "op": "DUP2" + }, + "1961": { + "op": "DUP2" + }, + "1962": { + "op": "ADD" + }, + "1963": { + "op": "MSTORE" + }, + "1964": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "1997": { + "op": "PUSH1", + "value": "0x40" + }, + "1999": { + "op": "DUP3" + }, + "2000": { + "op": "ADD" + }, + "2001": { + "op": "MSTORE" + }, + "2002": { + "op": "PUSH1", + "value": "0x60" + }, + "2004": { + "op": "ADD" + }, + "2005": { + "op": "SWAP1" + }, + "2006": { + "jump": "o", + "op": "JUMP" + }, + "2007": { + "op": "JUMPDEST" + }, + "2008": { + "op": "PUSH1", + "value": "0xE0" + }, + "2010": { + "op": "DUP2" + }, + "2011": { + "op": "MSTORE" + }, + "2012": { + "op": "PUSH1", + "value": "0x0" + }, + "2014": { + "op": "PUSH3", + "value": "0x7EC" + }, + "2018": { + "op": "PUSH1", + "value": "0xE0" + }, + "2020": { + "op": "DUP4" + }, + "2021": { + "op": "ADD" + }, + "2022": { + "op": "DUP11" + }, + "2023": { + "op": "PUSH3", + "value": "0x720" + }, + "2027": { + "jump": "i", + "op": "JUMP" + }, + "2028": { + "op": "JUMPDEST" + }, + "2029": { + "op": "DUP3" + }, + "2030": { + "op": "DUP2" + }, + "2031": { + "op": "SUB" + }, + "2032": { + "op": "PUSH1", + "value": "0x20" + }, + "2034": { + "op": "DUP5" + }, + "2035": { + "op": "ADD" + }, + "2036": { + "op": "MSTORE" + }, + "2037": { + "op": "PUSH3", + "value": "0x800" + }, + "2041": { + "op": "DUP2" + }, + "2042": { + "op": "DUP11" + }, + "2043": { + "op": "PUSH3", + "value": "0x720" + }, + "2047": { + "jump": "i", + "op": "JUMP" + }, + "2048": { + "op": "JUMPDEST" + }, + "2049": { + "op": "PUSH1", + "value": "0x1" + }, + "2051": { + "op": "PUSH1", + "value": "0x1" + }, + "2053": { + "op": "PUSH1", + "value": "0xA0" + }, + "2055": { + "op": "SHL" + }, + "2056": { + "op": "SUB" + }, + "2057": { + "op": "SWAP9" + }, + "2058": { + "op": "SWAP1" + }, + "2059": { + "op": "SWAP9" + }, + "2060": { + "op": "AND" + }, + "2061": { + "op": "PUSH1", + "value": "0x40" + }, + "2063": { + "op": "DUP5" + }, + "2064": { + "op": "ADD" + }, + "2065": { + "op": "MSTORE" + }, + "2066": { + "op": "POP" + }, + "2067": { + "op": "POP" + }, + "2068": { + "op": "PUSH1", + "value": "0x60" + }, + "2070": { + "op": "DUP2" + }, + "2071": { + "op": "ADD" + }, + "2072": { + "op": "SWAP5" + }, + "2073": { + "op": "SWAP1" + }, + "2074": { + "op": "SWAP5" + }, + "2075": { + "op": "MSTORE" + }, + "2076": { + "op": "PUSH1", + "value": "0x80" + }, + "2078": { + "op": "DUP5" + }, + "2079": { + "op": "ADD" + }, + "2080": { + "op": "SWAP3" + }, + "2081": { + "op": "SWAP1" + }, + "2082": { + "op": "SWAP3" + }, + "2083": { + "op": "MSTORE" + }, + "2084": { + "op": "PUSH1", + "value": "0xA0" + }, + "2086": { + "op": "DUP4" + }, + "2087": { + "op": "ADD" + }, + "2088": { + "op": "MSTORE" + }, + "2089": { + "op": "PUSH1", + "value": "0xC0" + }, + "2091": { + "op": "SWAP1" + }, + "2092": { + "op": "SWAP2" + }, + "2093": { + "op": "ADD" + }, + "2094": { + "op": "MSTORE" + }, + "2095": { + "op": "SWAP3" + }, + "2096": { + "op": "SWAP2" + }, + "2097": { + "op": "POP" + }, + "2098": { + "op": "POP" + }, + "2099": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "9f045214b6c36ab405fa44de0bf21ce5da83c221", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n/// _____ ______ ______ ______ ______ ______ _____ \n/// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-. \n/// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\ \n/// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____- \n/// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/ \n\npragma solidity ^0.8.8;\n\nimport {Pausable} from \"./Pausable.sol\";\n\nimport {ERC721ExtensionCore} from \"../../../packages/nft/contracts/ERC721ExtensionCore.sol\";\nimport {ERC721ExtensionSignature} from \"../../../packages/nft/contracts/ERC721ExtensionSignature.sol\";\n\n/**\n* @title Daccred Deployer.\n* @author Daccred.\n* @dev This contracts imports and provides functions\n* that deploys each imported contract.\n*/\ncontract DeployerERC721 is Pausable {\n /// @dev Locked for re-entrancy.\n bool private locked;\n\n /**\n * @dev Protect against Re-Entrancy.\n */\n modifier nonReentrant() {\n require(!locked);\n locked = true;\n _;\n locked = false;\n }\n\n /**\n * @dev Deploys the ERC721ExtensionCore with a set name\n * and symbol.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n *\n * @return contractAddress Deployed address.\n */\n function deployERC721ExtensionCore(string memory _name, string memory _symbol)\n external\n nonReentrant\n whenNotPaused\n returns(address contractAddress)\n {\n /// @dev Deploy ERC721ExtensionCore contract.\n ERC721ExtensionCore _erc721ExtensionCore = new ERC721ExtensionCore(_name, _symbol);\n /// @dev Return address.\n contractAddress = address(_erc721ExtensionCore);\n }\n\n /**\n * @dev Deploys the ERC721ExtensionSignature with its constructor\n * parameters.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n *\n * @return contractAddress Deployed address.\n */\n function deployERC721ExtensionSignature(\n string memory _name, \n string memory _symbol,\n address _comissioner,\n uint256 _maxSupply,\n uint256 _commissions,\n uint256 _cappedSupply,\n uint256 _redemptionTariff\n )\n external\n nonReentrant\n whenNotPaused\n returns(address contractAddress)\n {\n /// @dev Deploy ERC721ExtensionSignature contract.\n ERC721ExtensionSignature _erc721ExtensionSignature = new ERC721ExtensionSignature(\n _name, \n _symbol,\n _comissioner,\n _maxSupply,\n _commissions,\n _cappedSupply,\n _redemptionTariff\n );\n /// @dev Return address.\n contractAddress = address(_erc721ExtensionSignature);\n }\n}", + "sourceMap": "856:1974:10:-:0;;;;;;;;;;;;-1:-1:-1;921:32:0;719:10:5;921:18:0;:32::i;:::-;856:1974:10;;2270:187:0;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;856:1974:10:-;;;;;;;", + "sourcePath": "contracts/contracts/core/contracts/facets/DeployerERC721.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/DeployerSoulbound.json b/tests/build/contracts/DeployerSoulbound.json new file mode 100644 index 0000000..3622da9 --- /dev/null +++ b/tests/build/contracts/DeployerSoulbound.json @@ -0,0 +1,8798 @@ +{ + "abi": [ + { + "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": [], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "UnPaused", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "deploySoulbound", + "outputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + } + ], + "name": "deploySoulboundCore", + "outputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unPause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "11": "contracts/contracts/core/contracts/facets/DeployerSoulbound.sol", + "13": "contracts/contracts/core/contracts/facets/Pausable.sol", + "37": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "38": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/core/contracts/facets/DeployerSoulbound.sol", + "exportedSymbols": { + "DeployerSoulbound": [ + 745 + ], + "Pausable": [ + 942 + ], + "Soulbound": [ + 4383 + ], + "SoulboundCore": [ + 4708 + ] + }, + "id": 746, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 642, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "438:23:11" + }, + { + "absolutePath": "contracts/contracts/core/contracts/facets/Pausable.sol", + "file": "./Pausable.sol", + "id": 644, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 746, + "sourceUnit": 943, + "src": "463:40:11", + "symbolAliases": [ + { + "foreign": { + "id": 643, + "name": "Pausable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 942, + "src": "471:8:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "file": "../../../packages/soulbound/contracts/Soulbound.sol", + "id": 646, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 746, + "sourceUnit": 4384, + "src": "505:78:11", + "symbolAliases": [ + { + "foreign": { + "id": 645, + "name": "Soulbound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4383, + "src": "513:9:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "file": "../../../packages/soulbound/contracts/SoulboundCore.sol", + "id": 648, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 746, + "sourceUnit": 4709, + "src": "584:86:11", + "symbolAliases": [ + { + "foreign": { + "id": 647, + "name": "SoulboundCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4708, + "src": "592:13:11", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 650, + "name": "Pausable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 942, + "src": "863:8:11" + }, + "id": 651, + "nodeType": "InheritanceSpecifier", + "src": "863:8:11" + } + ], + "canonicalName": "DeployerSoulbound", + "contractDependencies": [ + 4383, + 4708 + ], + "contractKind": "contract", + "documentation": { + "id": 649, + "nodeType": "StructuredDocumentation", + "src": "672:160:11", + "text": " @title Daccred DeployerSoulbound.\n @author Daccred.\n @dev This contracts imports and provides functions\n that deploys each imported contract." + }, + "fullyImplemented": true, + "id": 745, + "linearizedBaseContracts": [ + 745, + 942, + 6075, + 6410 + ], + "name": "DeployerSoulbound", + "nameLocation": "842:17:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 652, + "nodeType": "StructuredDocumentation", + "src": "878:32:11", + "text": "@dev Locked for re-entrancy." + }, + "id": 654, + "mutability": "mutable", + "name": "locked", + "nameLocation": "928:6:11", + "nodeType": "VariableDeclaration", + "scope": 745, + "src": "915:19:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 653, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "915:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 671, + "nodeType": "Block", + "src": "1021:91:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1039:7:11", + "subExpression": { + "id": 658, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 654, + "src": "1040:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 657, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1031:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1031:16:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 661, + "nodeType": "ExpressionStatement", + "src": "1031:16:11" + }, + { + "expression": { + "id": 664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 662, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 654, + "src": "1057:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1066:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1057:13:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 665, + "nodeType": "ExpressionStatement", + "src": "1057:13:11" + }, + { + "id": 666, + "nodeType": "PlaceholderStatement", + "src": "1080:1:11" + }, + { + "expression": { + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 667, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 654, + "src": "1091:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1100:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1091:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 670, + "nodeType": "ExpressionStatement", + "src": "1091:14:11" + } + ] + }, + "documentation": { + "id": 655, + "nodeType": "StructuredDocumentation", + "src": "941:51:11", + "text": " @dev Protect against Re-Entrancy." + }, + "id": 672, + "name": "nonReentrant", + "nameLocation": "1006:12:11", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 656, + "nodeType": "ParameterList", + "parameters": [], + "src": "1018:2:11" + }, + "src": "997:115:11", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 704, + "nodeType": "Block", + "src": "1513:193:11", + "statements": [ + { + "assignments": [ + 689 + ], + "declarations": [ + { + "constant": false, + "id": 689, + "mutability": "mutable", + "name": "_soulbound", + "nameLocation": "1577:10:11", + "nodeType": "VariableDeclaration", + "scope": 704, + "src": "1567:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + }, + "typeName": { + "id": 688, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 687, + "name": "Soulbound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4383, + "src": "1567:9:11" + }, + "referencedDeclaration": 4383, + "src": "1567:9:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Deploy Soulbound contract.", + "id": 696, + "initialValue": { + "arguments": [ + { + "id": 693, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 675, + "src": "1604:5:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 694, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 677, + "src": "1611:7:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1590:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_contract$_Soulbound_$4383_$", + "typeString": "function (string memory,string memory) returns (contract Soulbound)" + }, + "typeName": { + "id": 691, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 690, + "name": "Soulbound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4383, + "src": "1594:9:11" + }, + "referencedDeclaration": 4383, + "src": "1594:9:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + } + } + }, + "id": 695, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1590:29:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1567:52:11" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 697, + "name": "contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 684, + "src": "1662:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 700, + "name": "_soulbound", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 689, + "src": "1688:10:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + } + ], + "id": 699, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1680:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 698, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1680:7:11", + "typeDescriptions": {} + } + }, + "id": 701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1680:19:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1662:37:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 703, + "nodeType": "ExpressionStatement", + "src": "1662:37:11" + } + ] + }, + "documentation": { + "id": 673, + "nodeType": "StructuredDocumentation", + "src": "1118:232:11", + "text": " @dev Deploys the Soulbound Contract with a set name\n and symbol.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @return contractAddress Deployed address." + }, + "functionSelector": "27a31ded", + "id": 705, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 680, + "kind": "modifierInvocation", + "modifierName": { + "id": 679, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 672, + "src": "1441:12:11" + }, + "nodeType": "ModifierInvocation", + "src": "1441:12:11" + }, + { + "id": 682, + "kind": "modifierInvocation", + "modifierName": { + "id": 681, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "1458:13:11" + }, + "nodeType": "ModifierInvocation", + "src": "1458:13:11" + } + ], + "name": "deploySoulbound", + "nameLocation": "1364:15:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 675, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1394:5:11", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "1380:19:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1380:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 677, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1415:7:11", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "1401:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 676, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1401:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1379:44:11" + }, + "returnParameters": { + "id": 685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 684, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "1492:15:11", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "1484:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1484:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1483:25:11" + }, + "scope": 745, + "src": "1355:351:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 743, + "nodeType": "Block", + "src": "2347:303:11", + "statements": [ + { + "assignments": [ + 726 + ], + "declarations": [ + { + "constant": false, + "id": 726, + "mutability": "mutable", + "name": "_soulboundCore", + "nameLocation": "2419:14:11", + "nodeType": "VariableDeclaration", + "scope": 743, + "src": "2405:28:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundCore_$4708", + "typeString": "contract SoulboundCore" + }, + "typeName": { + "id": 725, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 724, + "name": "SoulboundCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4708, + "src": "2405:13:11" + }, + "referencedDeclaration": 4708, + "src": "2405:13:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundCore_$4708", + "typeString": "contract SoulboundCore" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Deploy SoulboundCore contract.", + "id": 735, + "initialValue": { + "arguments": [ + { + "id": 730, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 708, + "src": "2467:5:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 731, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 710, + "src": "2487:7:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 732, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 712, + "src": "2508:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 733, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 714, + "src": "2537:12:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2436:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$_t_contract$_SoulboundCore_$4708_$", + "typeString": "function (string memory,string memory,address,uint256) returns (contract SoulboundCore)" + }, + "typeName": { + "id": 728, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 727, + "name": "SoulboundCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4708, + "src": "2440:13:11" + }, + "referencedDeclaration": 4708, + "src": "2440:13:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundCore_$4708", + "typeString": "contract SoulboundCore" + } + } + }, + "id": 734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2436:123:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundCore_$4708", + "typeString": "contract SoulboundCore" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2405:154:11" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 741, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 736, + "name": "contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 721, + "src": "2602:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 739, + "name": "_soulboundCore", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 726, + "src": "2628:14:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundCore_$4708", + "typeString": "contract SoulboundCore" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SoulboundCore_$4708", + "typeString": "contract SoulboundCore" + } + ], + "id": 738, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2620:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2620:7:11", + "typeDescriptions": {} + } + }, + "id": 740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2620:23:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2602:41:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 742, + "nodeType": "ExpressionStatement", + "src": "2602:41:11" + } + ] + }, + "documentation": { + "id": 706, + "nodeType": "StructuredDocumentation", + "src": "1712:382:11", + "text": " @dev Deploys the SoulboundCore Contract with its constructor\n parameters.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @param _allowlistOwner Desired owner of the contrat for sigs.\n @param _totalSupply Desired total supply.\n @return contractAddress Deployed address." + }, + "functionSelector": "d4152170", + "id": 744, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 717, + "kind": "modifierInvocation", + "modifierName": { + "id": 716, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 672, + "src": "2275:12:11" + }, + "nodeType": "ModifierInvocation", + "src": "2275:12:11" + }, + { + "id": 719, + "kind": "modifierInvocation", + "modifierName": { + "id": 718, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "2292:13:11" + }, + "nodeType": "ModifierInvocation", + "src": "2292:13:11" + } + ], + "name": "deploySoulboundCore", + "nameLocation": "2108:19:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 708, + "mutability": "mutable", + "name": "_name", + "nameLocation": "2151:5:11", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "2137:19:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 707, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2137:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 710, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "2181:7:11", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "2167:21:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2167:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 712, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "2206:15:11", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "2198:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 711, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2198:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 714, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "2239:12:11", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "2231:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 713, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2231:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2127:130:11" + }, + "returnParameters": { + "id": 722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 721, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "2326:15:11", + "nodeType": "VariableDeclaration", + "scope": 744, + "src": "2318:23:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2318:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2317:25:11" + }, + "scope": 745, + "src": "2099:551:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 746, + "src": "833:1819:11", + "usedErrors": [] + } + ], + "src": "438:2214:11" + }, + "bytecode": "608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6132af8061007e6000396000f3fe60806040523480156200001157600080fd5b5060043610620000935760003560e01c8063b187bd261162000062578063b187bd2614620000f4578063d41521701462000112578063f2fde38b1462000129578063f7b188a5146200014057600080fd5b806327a31ded1462000098578063715018a614620000cc5780638456cb5914620000d85780638da5cb5b14620000e2575b600080fd5b620000af620000a93660046200059e565b6200014a565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d6620001fd565b005b620000d662000238565b6000546001600160a01b0316620000af565b600054600160a01b900460ff166040519015158152602001620000c3565b620000af6200012336600462000626565b620002a7565b620000d66200013a366004620006ab565b62000357565b620000d6620003f9565b60008054600160a81b900460ff16156200016357600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620001ab5760405162461bcd60e51b8152600401620001a290620006d0565b60405180910390fd5b60008383604051620001bd90620004d7565b620001ca9291906200074a565b604051809103906000f080158015620001e7573d6000803e3d6000fd5b506000805460ff60a81b19169055949350505050565b6000546001600160a01b031633146200022a5760405162461bcd60e51b8152600401620001a2906200077c565b62000236600062000487565b565b6000546001600160a01b03163314620002655760405162461bcd60e51b8152600401620001a2906200077c565b600054600160a01b900460ff1615620002925760405162461bcd60e51b8152600401620001a290620006d0565b6000805460ff60a01b1916600160a01b179055565b60008054600160a81b900460ff1615620002c057600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620002ff5760405162461bcd60e51b8152600401620001a290620006d0565b6000858585856040516200031390620004e5565b620003229493929190620007b1565b604051809103906000f0801580156200033f573d6000803e3d6000fd5b506000805460ff60a81b191690559695505050505050565b6000546001600160a01b03163314620003845760405162461bcd60e51b8152600401620001a2906200077c565b6001600160a01b038116620003eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620001a2565b620003f68162000487565b50565b6000546001600160a01b03163314620004265760405162461bcd60e51b8152600401620001a2906200077c565b600054600160a01b900460ff16620004785760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b6044820152606401620001a2565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c1a80620007f883390190565b611e68806200141283390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200051b57600080fd5b813567ffffffffffffffff80821115620005395762000539620004f3565b604051601f8301601f19908116603f01168101908282118183101715620005645762000564620004f3565b816040528381528660208588010111156200057e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215620005b257600080fd5b823567ffffffffffffffff80821115620005cb57600080fd5b620005d98683870162000509565b93506020850135915080821115620005f057600080fd5b50620005ff8582860162000509565b9150509250929050565b80356001600160a01b03811681146200062157600080fd5b919050565b600080600080608085870312156200063d57600080fd5b843567ffffffffffffffff808211156200065657600080fd5b620006648883890162000509565b955060208701359150808211156200067b57600080fd5b506200068a8782880162000509565b9350506200069b6040860162000609565b9396929550929360600135925050565b600060208284031215620006be57600080fd5b620006c98262000609565b9392505050565b60208082526010908201526f21b7b73a3930b1ba102830bab9b2b21760811b604082015260600190565b6000815180845260005b81811015620007225760208185018101518683018201520162000704565b8181111562000735576000602083870101525b50601f01601f19169290920160200192915050565b6040815260006200075f6040830185620006fa565b8281036020840152620007738185620006fa565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b608081526000620007c66080830187620006fa565b8281036020840152620007da8187620006fa565b6001600160a01b039590951660408401525050606001529291505056fe60806040523480156200001157600080fd5b5060405162000c1a38038062000c1a83398101604081905262000034916200012b565b8181600062000044838262000224565b50600162000053828262000224565b5050505050620002f0565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008657600080fd5b81516001600160401b0380821115620000a357620000a36200005e565b604051601f8301601f19908116603f01168101908282118183101715620000ce57620000ce6200005e565b81604052838152602092508683858801011115620000eb57600080fd5b600091505b838210156200010f5785820183015181830184015290820190620000f0565b83821115620001215760008385830101525b9695505050505050565b600080604083850312156200013f57600080fd5b82516001600160401b03808211156200015757600080fd5b620001658683870162000074565b935060208501519150808211156200017c57600080fd5b506200018b8582860162000074565b9150509250929050565b600181811c90821680620001aa57607f821691505b602082108103620001cb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021f57600081815260208120601f850160051c81016020861015620001fa5750805b601f850160051c820191505b818110156200021b5782815560010162000206565b5050505b505050565b81516001600160401b038111156200024057620002406200005e565b620002588162000251845462000195565b84620001d1565b602080601f831160018114620002905760008415620002775750858301515b600019600386901b1c1916600185901b1785556200021b565b600085815260208120601f198616915b82811015620002c157888601518255948401946001909101908401620002a0565b5085821015620002e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61091a80620003006000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461015957806395d89b411461017a578063c87b56dd14610182578063c9dd94c714610195578063fb8f198d1461019d57600080fd5b806301ffc9a7146100a357806306fdde03146100cb57806342966c68146100e05780635899e7b2146100f55780636352211e1461012e575b600080fd5b6100b66100b1366004610785565b6101b0565b60405190151581526020015b60405180910390f35b6100d3610202565b6040516100c291906107b6565b6100f36100ee36600461080b565b610294565b005b6100b6610103366004610840565b6001600160a01b03919091166000908152600660209081526040808320938352929052205460ff1690565b61014161013c36600461080b565b61030e565b6040516001600160a01b0390911681526020016100c2565b61016c61016736600461086a565b610373565b6040519081526020016100c2565b6100d36103fc565b6100d361019036600461080b565b61040b565b6100d3610510565b6101416101ab366004610840565b61056d565b60006001600160e01b03198216635b5e139f60e01b14806101e157506001600160e01b03198216635164cf4760e01b145b806101fc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461021190610885565b80601f016020809104026020016040519081016040528092919081815260200182805461023d90610885565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b5050505050905090565b61029d8161030e565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064015b60405180910390fd5b61030b81610690565b50565b6000818152600260205260408120546001600160a01b0316806101fc5760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016102f9565b60006001600160a01b0382166103e05760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016102f9565b506001600160a01b031660009081526004602052604090205490565b60606001805461021190610885565b6000818152600260205260409020546060906001600160a01b03166104725760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016102f9565b6000828152600360205260409020805461048b90610885565b80601f01602080910402602001604051908101604052809291908181526020018280546104b790610885565b80156105045780601f106104d957610100808354040283529160200191610504565b820191906000526020600020905b8154815290600101906020018083116104e757829003601f168201915b50505050509050919050565b60606005805461051f90610885565b90506000036105605760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016102f9565b6005805461021190610885565b60006001600160a01b0383166105c55760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016102f9565b6000828152600260205260409020546001600160a01b031661061f5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016102f9565b826001600160a01b03166106328361030e565b6001600160a01b0316146106885760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016102f9565b503092915050565b600061069b8261030e565b6001600160a01b038116600090815260046020526040812080549293506001929091906106c99084906108bf565b9091555050600082815260026020908152604080832080546001600160a01b0319169055600390915281206106fd91610737565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b50805461074390610885565b6000825580601f10610753575050565b601f01602090049060005260206000209081019061030b91905b80821115610781576000815560010161076d565b5090565b60006020828403121561079757600080fd5b81356001600160e01b0319811681146107af57600080fd5b9392505050565b600060208083528351808285015260005b818110156107e3578581018301518582016040015282016107c7565b818111156107f5576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561081d57600080fd5b5035919050565b80356001600160a01b038116811461083b57600080fd5b919050565b6000806040838503121561085357600080fd5b61085c83610824565b946020939093013593505050565b60006020828403121561087c57600080fd5b6107af82610824565b600181811c9082168061089957607f821691505b6020821081036108b957634e487b7160e01b600052602260045260246000fd5b50919050565b6000828210156108df57634e487b7160e01b600052601160045260246000fd5b50039056fea2646970667358221220f9ef4625cdeed4f21daaf2a349a3ed91718c587a04b040ae19a27945bfd34a2264736f6c634300080f003360806040523480156200001157600080fd5b5060405162001e6838038062001e6883398101604081905262000034916200022d565b818484818160006200004783826200034f565b5060016200005682826200034f565b505050620000736200006d6200010a60201b60201c565b6200010e565b50506001600160a01b038116620000c35760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b604482015260640160405180910390fd5b600880546001600160a01b0319166001600160a01b03929092169190911790556000819003620000fa57620f424060095562000100565b60098190555b505050506200041b565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018857600080fd5b81516001600160401b0380821115620001a557620001a562000160565b604051601f8301601f19908116603f01168101908282118183101715620001d057620001d062000160565b81604052838152602092508683858801011115620001ed57600080fd5b600091505b83821015620002115785820183015181830184015290820190620001f2565b83821115620002235760008385830101525b9695505050505050565b600080600080608085870312156200024457600080fd5b84516001600160401b03808211156200025c57600080fd5b6200026a8883890162000176565b955060208701519150808211156200028157600080fd5b50620002908782880162000176565b604087015190945090506001600160a01b0381168114620002b057600080fd5b6060959095015193969295505050565b600181811c90821680620002d557607f821691505b602082108103620002f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034a57600081815260208120601f850160051c81016020861015620003255750805b601f850160051c820191505b81811015620003465782815560010162000331565b5050505b505050565b81516001600160401b038111156200036b576200036b62000160565b62000383816200037c8454620002c0565b84620002fc565b602080601f831160018114620003bb5760008415620003a25750858301515b600019600386901b1c1916600185901b17855562000346565b600085815260208120601f198616915b82811015620003ec57888601518255948401946001909101908401620003cb565b50858210156200040b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a3d806200042b6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806388433651116100ad578063c9e4c54d11610071578063c9e4c54d1461028e578063daca6f78146102a1578063e92b0842146102b4578063f2fde38b146102c7578063fb8f198d146102da57600080fd5b806388433651146102475780638da5cb5b1461025a57806395d89b411461026b578063c87b56dd14610273578063c9dd94c71461028657600080fd5b80635899e7b2116100f45780635899e7b2146101a95780636352211e146101e25780636e0a87461461020d57806370a082311461021e578063715018a61461023f57600080fd5b806301ffc9a71461013157806306fdde031461015957806308c92e571461016e578063210fa96b1461018357806342966c6814610196575b600080fd5b61014461013f366004611451565b6102ed565b60405190151581526020015b60405180910390f35b61016161033f565b60405161015091906114ab565b61018161017c366004611581565b6103d1565b005b6101616101913660046115d1565b61050c565b6101816101a43660046115d1565b61058e565b6101446101b7366004611606565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b6101f56101f03660046115d1565b610603565b6040516001600160a01b039091168152602001610150565b6008546001600160a01b03166101f5565b61023161022c366004611630565b610668565b604051908152602001610150565b6101816106f1565b61018161025536600461164b565b610727565b6005546001600160a01b03166101f5565b6101616107c9565b6101616102813660046115d1565b6107d8565b6101616108cd565b61018161029c366004611699565b61092a565b6101446102af366004611721565b610a5f565b6101446102c2366004611752565b610a72565b6101816102d5366004611630565b610b06565b6101f56102e8366004611606565b610b9e565b60006001600160e01b03198216635b5e139f60e01b148061031e57506001600160e01b03198216635164cf4760e01b145b8061033957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461034e906117a9565b80601f016020809104026020016040519081016040528092919081815260200182805461037a906117a9565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b5050505050905090565b6103da81610cb2565b61042b5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104775760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6104818383610a5f565b6104c95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b6104db6104d582610603565b82610ccf565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b60606105166108cd565b516000036105565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b61055e6108cd565b61056783610d97565b6040516020016105789291906117e3565b6040516020818303038152906040529050919050565b61059781610603565b6001600160a01b0316336001600160a01b0316146105f75760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e65720000000000006044820152606401610422565b61060081610ea0565b50565b6000818152600260205260408120546001600160a01b0316806103395760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e2774206578697374000000006044820152606401610422565b60006001600160a01b0382166106d55760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b6064820152608401610422565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b0316331461071b5760405162461bcd60e51b815260040161042290611812565b6107256000610f47565b565b6005546001600160a01b031633146107515760405162461bcd60e51b815260040161042290611812565b816107646008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146107bb5760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b6044820152606401610422565b6107c482610f99565b505050565b60606001805461034e906117a9565b60606107e382610cb2565b61082f5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e27742065786973740000006044820152606401610422565b60008281526003602052604090208054610848906117a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610874906117a9565b80156108c15780601f10610896576101008083540402835291602001916108c1565b820191906000526020600020905b8154815290600101906020018083116108a457829003601f168201915b50505050509050919050565b6060600680546108dc906117a9565b905060000361091d5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b6006805461034e906117a9565b6001600160a01b0385166109785760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b82516041146109c45760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6109ce8484610a5f565b610a165760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b610a21858383610feb565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610a6b8383611002565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610adc573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610b305760405162461bcd60e51b815260040161042290611812565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610422565b61060081610f47565b60006001600160a01b038316610bf65760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e0000000000000000006044820152606401610422565b610bff82610cb2565b610c415760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610c5483610603565b6001600160a01b031614610caa5760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610cda82610cb2565b610d1c5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610d2f83610603565b6001600160a01b031614610d855760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b610d8e826111a8565b50600192915050565b606081600003610dbe5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610de85780610dd28161185d565b9150610de19050600a8361188c565b9150610dc2565b60008167ffffffffffffffff811115610e0357610e036114de565b6040519080825280601f01601f191660200182016040528015610e2d576020820181803683370190505b5090505b8415610e9857610e426001836118a0565b9150610e4f600a866118b7565b610e5a9060306118cb565b60f81b818381518110610e6f57610e6f6118e3565b60200101906001600160f81b031916908160001a905350610e91600a8661188c565b9450610e31565b949350505050565b6000610eab82610603565b6001600160a01b03811660009081526004602052604081208054929350600192909190610ed99084906118a0565b9091555050600082815260026020908152604080832080546001600160a01b031916905560039091528120610f0d91611403565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8051600003610fdb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b6044820152606401610422565b6006610fe78282611947565b5050565b6000610ff884848461123e565b5060019392505050565b6005546000906001600160a01b0316331461102f5760405162461bcd60e51b815260040161042290611812565b6005546001600160a01b0316331461109d5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b6064820152608401610422565b81516041146110ee5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e67746800006044820152606401610422565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa158015611152573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b6111b181610cb2565b6111fd5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e00000000000000006044820152606401610422565b600061120882610603565b905061121382610ea0565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661128c5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b80516000036112cf5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b6044820152606401610422565b6112da83838361130c565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061131783610cb2565b1561135b5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b6044820152606401610422565b6001600160a01b03841660009081526004602052604081208054600192906113849084906118cb565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206113c48382611947565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461140f906117a9565b6000825580601f1061141f575050565b601f01602090049060005260206000209081019061060091905b8082111561144d5760008155600101611439565b5090565b60006020828403121561146357600080fd5b81356001600160e01b031981168114610a6b57600080fd5b60005b8381101561149657818101518382015260200161147e565b838111156114a5576000848401525b50505050565b60208152600082518060208401526114ca81604085016020870161147b565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261150557600080fd5b813567ffffffffffffffff80821115611520576115206114de565b604051601f8301601f19908116603f01168101908282118183101715611548576115486114de565b8160405283815286602085880101111561156157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561159657600080fd5b83359250602084013567ffffffffffffffff8111156115b457600080fd5b6115c0868287016114f4565b925050604084013590509250925092565b6000602082840312156115e357600080fd5b5035919050565b80356001600160a01b038116811461160157600080fd5b919050565b6000806040838503121561161957600080fd5b611622836115ea565b946020939093013593505050565b60006020828403121561164257600080fd5b610a6b826115ea565b6000806040838503121561165e57600080fd5b611667836115ea565b9150602083013567ffffffffffffffff81111561168357600080fd5b61168f858286016114f4565b9150509250929050565b600080600080600060a086880312156116b157600080fd5b6116ba866115ea565b945060208601359350604086013567ffffffffffffffff808211156116de57600080fd5b6116ea89838a016114f4565b945060608801359350608088013591508082111561170757600080fd5b50611714888289016114f4565b9150509295509295909350565b6000806040838503121561173457600080fd5b82359150602083013567ffffffffffffffff81111561168357600080fd5b60008060006060848603121561176757600080fd5b611770846115ea565b925060208401359150604084013567ffffffffffffffff81111561179357600080fd5b61179f868287016114f4565b9150509250925092565b600181811c908216806117bd57607f821691505b6020821081036117dd57634e487b7160e01b600052602260045260246000fd5b50919050565b600083516117f581846020880161147b565b83519083019061180981836020880161147b565b01949350505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001820161186f5761186f611847565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261189b5761189b611876565b500490565b6000828210156118b2576118b2611847565b500390565b6000826118c6576118c6611876565b500690565b600082198211156118de576118de611847565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156107c457600081815260208120601f850160051c810160208610156119205750805b601f850160051c820191505b8181101561193f5782815560010161192c565b505050505050565b815167ffffffffffffffff811115611961576119616114de565b6119758161196f84546117a9565b846118f9565b602080601f8311600181146119aa57600084156119925750858301515b600019600386901b1c1916600185901b17855561193f565b600085815260208120601f198616915b828110156119d9578886015182559484019460019091019084016119ba565b50858210156119f75787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220a6ba1299b8bafdbc484d9107ecb85dcee755c4800dcce4ee4ee0da29e3f434f764736f6c634300080f0033a264697066735822122074f63688e81cfeb333e33e0bc6bd08830f21c05d49f5f4a41b5564462116e83a64736f6c634300080f0033", + "bytecodeSha1": "35ffdfcb9983740d3637dc7f015f4e2dd55add0e", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "DeployerSoulbound", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "12": [ + 2006, + 2028, + true + ] + } + }, + "11": {}, + "13": { + "Pausable.pause": { + "13": [ + 1855, + 1862, + true + ] + }, + "Pausable.unPause": { + "14": [ + 2168, + 2174, + true + ] + } + }, + "37": {}, + "38": {}, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "10": [ + 2378, + 2395 + ], + "11": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "0": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "3": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "6": [ + 1998, + 2071 + ], + "7": [ + 2081, + 2109 + ] + } + }, + "11": {}, + "13": { + "Pausable.isPaused": { + "1": [ + 2496, + 2509 + ] + }, + "Pausable.pause": { + "4": [ + 1847, + 1883 + ], + "5": [ + 1930, + 1943 + ] + }, + "Pausable.unPause": { + "8": [ + 2160, + 2199 + ], + "9": [ + 2247, + 2261 + ] + } + }, + "37": {}, + "38": {}, + "5": { + "Context._msgSender": { + "2": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable", + "Pausable", + "Soulbound", + "SoulboundCore" + ], + "deployedBytecode": "60806040523480156200001157600080fd5b5060043610620000935760003560e01c8063b187bd261162000062578063b187bd2614620000f4578063d41521701462000112578063f2fde38b1462000129578063f7b188a5146200014057600080fd5b806327a31ded1462000098578063715018a614620000cc5780638456cb5914620000d85780638da5cb5b14620000e2575b600080fd5b620000af620000a93660046200059e565b6200014a565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d6620001fd565b005b620000d662000238565b6000546001600160a01b0316620000af565b600054600160a01b900460ff166040519015158152602001620000c3565b620000af6200012336600462000626565b620002a7565b620000d66200013a366004620006ab565b62000357565b620000d6620003f9565b60008054600160a81b900460ff16156200016357600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620001ab5760405162461bcd60e51b8152600401620001a290620006d0565b60405180910390fd5b60008383604051620001bd90620004d7565b620001ca9291906200074a565b604051809103906000f080158015620001e7573d6000803e3d6000fd5b506000805460ff60a81b19169055949350505050565b6000546001600160a01b031633146200022a5760405162461bcd60e51b8152600401620001a2906200077c565b62000236600062000487565b565b6000546001600160a01b03163314620002655760405162461bcd60e51b8152600401620001a2906200077c565b600054600160a01b900460ff1615620002925760405162461bcd60e51b8152600401620001a290620006d0565b6000805460ff60a01b1916600160a01b179055565b60008054600160a81b900460ff1615620002c057600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620002ff5760405162461bcd60e51b8152600401620001a290620006d0565b6000858585856040516200031390620004e5565b620003229493929190620007b1565b604051809103906000f0801580156200033f573d6000803e3d6000fd5b506000805460ff60a81b191690559695505050505050565b6000546001600160a01b03163314620003845760405162461bcd60e51b8152600401620001a2906200077c565b6001600160a01b038116620003eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620001a2565b620003f68162000487565b50565b6000546001600160a01b03163314620004265760405162461bcd60e51b8152600401620001a2906200077c565b600054600160a01b900460ff16620004785760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b6044820152606401620001a2565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610c1a80620007f883390190565b611e68806200141283390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200051b57600080fd5b813567ffffffffffffffff80821115620005395762000539620004f3565b604051601f8301601f19908116603f01168101908282118183101715620005645762000564620004f3565b816040528381528660208588010111156200057e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215620005b257600080fd5b823567ffffffffffffffff80821115620005cb57600080fd5b620005d98683870162000509565b93506020850135915080821115620005f057600080fd5b50620005ff8582860162000509565b9150509250929050565b80356001600160a01b03811681146200062157600080fd5b919050565b600080600080608085870312156200063d57600080fd5b843567ffffffffffffffff808211156200065657600080fd5b620006648883890162000509565b955060208701359150808211156200067b57600080fd5b506200068a8782880162000509565b9350506200069b6040860162000609565b9396929550929360600135925050565b600060208284031215620006be57600080fd5b620006c98262000609565b9392505050565b60208082526010908201526f21b7b73a3930b1ba102830bab9b2b21760811b604082015260600190565b6000815180845260005b81811015620007225760208185018101518683018201520162000704565b8181111562000735576000602083870101525b50601f01601f19169290920160200192915050565b6040815260006200075f6040830185620006fa565b8281036020840152620007738185620006fa565b95945050505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b608081526000620007c66080830187620006fa565b8281036020840152620007da8187620006fa565b6001600160a01b039590951660408401525050606001529291505056fe60806040523480156200001157600080fd5b5060405162000c1a38038062000c1a83398101604081905262000034916200012b565b8181600062000044838262000224565b50600162000053828262000224565b5050505050620002f0565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008657600080fd5b81516001600160401b0380821115620000a357620000a36200005e565b604051601f8301601f19908116603f01168101908282118183101715620000ce57620000ce6200005e565b81604052838152602092508683858801011115620000eb57600080fd5b600091505b838210156200010f5785820183015181830184015290820190620000f0565b83821115620001215760008385830101525b9695505050505050565b600080604083850312156200013f57600080fd5b82516001600160401b03808211156200015757600080fd5b620001658683870162000074565b935060208501519150808211156200017c57600080fd5b506200018b8582860162000074565b9150509250929050565b600181811c90821680620001aa57607f821691505b602082108103620001cb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021f57600081815260208120601f850160051c81016020861015620001fa5750805b601f850160051c820191505b818110156200021b5782815560010162000206565b5050505b505050565b81516001600160401b038111156200024057620002406200005e565b620002588162000251845462000195565b84620001d1565b602080601f831160018114620002905760008415620002775750858301515b600019600386901b1c1916600185901b1785556200021b565b600085815260208120601f198616915b82811015620002c157888601518255948401946001909101908401620002a0565b5085821015620002e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61091a80620003006000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461015957806395d89b411461017a578063c87b56dd14610182578063c9dd94c714610195578063fb8f198d1461019d57600080fd5b806301ffc9a7146100a357806306fdde03146100cb57806342966c68146100e05780635899e7b2146100f55780636352211e1461012e575b600080fd5b6100b66100b1366004610785565b6101b0565b60405190151581526020015b60405180910390f35b6100d3610202565b6040516100c291906107b6565b6100f36100ee36600461080b565b610294565b005b6100b6610103366004610840565b6001600160a01b03919091166000908152600660209081526040808320938352929052205460ff1690565b61014161013c36600461080b565b61030e565b6040516001600160a01b0390911681526020016100c2565b61016c61016736600461086a565b610373565b6040519081526020016100c2565b6100d36103fc565b6100d361019036600461080b565b61040b565b6100d3610510565b6101416101ab366004610840565b61056d565b60006001600160e01b03198216635b5e139f60e01b14806101e157506001600160e01b03198216635164cf4760e01b145b806101fc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461021190610885565b80601f016020809104026020016040519081016040528092919081815260200182805461023d90610885565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b5050505050905090565b61029d8161030e565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064015b60405180910390fd5b61030b81610690565b50565b6000818152600260205260408120546001600160a01b0316806101fc5760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016102f9565b60006001600160a01b0382166103e05760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016102f9565b506001600160a01b031660009081526004602052604090205490565b60606001805461021190610885565b6000818152600260205260409020546060906001600160a01b03166104725760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016102f9565b6000828152600360205260409020805461048b90610885565b80601f01602080910402602001604051908101604052809291908181526020018280546104b790610885565b80156105045780601f106104d957610100808354040283529160200191610504565b820191906000526020600020905b8154815290600101906020018083116104e757829003601f168201915b50505050509050919050565b60606005805461051f90610885565b90506000036105605760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016102f9565b6005805461021190610885565b60006001600160a01b0383166105c55760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016102f9565b6000828152600260205260409020546001600160a01b031661061f5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016102f9565b826001600160a01b03166106328361030e565b6001600160a01b0316146106885760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016102f9565b503092915050565b600061069b8261030e565b6001600160a01b038116600090815260046020526040812080549293506001929091906106c99084906108bf565b9091555050600082815260026020908152604080832080546001600160a01b0319169055600390915281206106fd91610737565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b50805461074390610885565b6000825580601f10610753575050565b601f01602090049060005260206000209081019061030b91905b80821115610781576000815560010161076d565b5090565b60006020828403121561079757600080fd5b81356001600160e01b0319811681146107af57600080fd5b9392505050565b600060208083528351808285015260005b818110156107e3578581018301518582016040015282016107c7565b818111156107f5576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561081d57600080fd5b5035919050565b80356001600160a01b038116811461083b57600080fd5b919050565b6000806040838503121561085357600080fd5b61085c83610824565b946020939093013593505050565b60006020828403121561087c57600080fd5b6107af82610824565b600181811c9082168061089957607f821691505b6020821081036108b957634e487b7160e01b600052602260045260246000fd5b50919050565b6000828210156108df57634e487b7160e01b600052601160045260246000fd5b50039056fea2646970667358221220f9ef4625cdeed4f21daaf2a349a3ed91718c587a04b040ae19a27945bfd34a2264736f6c634300080f003360806040523480156200001157600080fd5b5060405162001e6838038062001e6883398101604081905262000034916200022d565b818484818160006200004783826200034f565b5060016200005682826200034f565b505050620000736200006d6200010a60201b60201c565b6200010e565b50506001600160a01b038116620000c35760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b604482015260640160405180910390fd5b600880546001600160a01b0319166001600160a01b03929092169190911790556000819003620000fa57620f424060095562000100565b60098190555b505050506200041b565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018857600080fd5b81516001600160401b0380821115620001a557620001a562000160565b604051601f8301601f19908116603f01168101908282118183101715620001d057620001d062000160565b81604052838152602092508683858801011115620001ed57600080fd5b600091505b83821015620002115785820183015181830184015290820190620001f2565b83821115620002235760008385830101525b9695505050505050565b600080600080608085870312156200024457600080fd5b84516001600160401b03808211156200025c57600080fd5b6200026a8883890162000176565b955060208701519150808211156200028157600080fd5b50620002908782880162000176565b604087015190945090506001600160a01b0381168114620002b057600080fd5b6060959095015193969295505050565b600181811c90821680620002d557607f821691505b602082108103620002f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034a57600081815260208120601f850160051c81016020861015620003255750805b601f850160051c820191505b81811015620003465782815560010162000331565b5050505b505050565b81516001600160401b038111156200036b576200036b62000160565b62000383816200037c8454620002c0565b84620002fc565b602080601f831160018114620003bb5760008415620003a25750858301515b600019600386901b1c1916600185901b17855562000346565b600085815260208120601f198616915b82811015620003ec57888601518255948401946001909101908401620003cb565b50858210156200040b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a3d806200042b6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806388433651116100ad578063c9e4c54d11610071578063c9e4c54d1461028e578063daca6f78146102a1578063e92b0842146102b4578063f2fde38b146102c7578063fb8f198d146102da57600080fd5b806388433651146102475780638da5cb5b1461025a57806395d89b411461026b578063c87b56dd14610273578063c9dd94c71461028657600080fd5b80635899e7b2116100f45780635899e7b2146101a95780636352211e146101e25780636e0a87461461020d57806370a082311461021e578063715018a61461023f57600080fd5b806301ffc9a71461013157806306fdde031461015957806308c92e571461016e578063210fa96b1461018357806342966c6814610196575b600080fd5b61014461013f366004611451565b6102ed565b60405190151581526020015b60405180910390f35b61016161033f565b60405161015091906114ab565b61018161017c366004611581565b6103d1565b005b6101616101913660046115d1565b61050c565b6101816101a43660046115d1565b61058e565b6101446101b7366004611606565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b6101f56101f03660046115d1565b610603565b6040516001600160a01b039091168152602001610150565b6008546001600160a01b03166101f5565b61023161022c366004611630565b610668565b604051908152602001610150565b6101816106f1565b61018161025536600461164b565b610727565b6005546001600160a01b03166101f5565b6101616107c9565b6101616102813660046115d1565b6107d8565b6101616108cd565b61018161029c366004611699565b61092a565b6101446102af366004611721565b610a5f565b6101446102c2366004611752565b610a72565b6101816102d5366004611630565b610b06565b6101f56102e8366004611606565b610b9e565b60006001600160e01b03198216635b5e139f60e01b148061031e57506001600160e01b03198216635164cf4760e01b145b8061033957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461034e906117a9565b80601f016020809104026020016040519081016040528092919081815260200182805461037a906117a9565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b5050505050905090565b6103da81610cb2565b61042b5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104775760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6104818383610a5f565b6104c95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b6104db6104d582610603565b82610ccf565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b60606105166108cd565b516000036105565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b61055e6108cd565b61056783610d97565b6040516020016105789291906117e3565b6040516020818303038152906040529050919050565b61059781610603565b6001600160a01b0316336001600160a01b0316146105f75760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e65720000000000006044820152606401610422565b61060081610ea0565b50565b6000818152600260205260408120546001600160a01b0316806103395760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e2774206578697374000000006044820152606401610422565b60006001600160a01b0382166106d55760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b6064820152608401610422565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b0316331461071b5760405162461bcd60e51b815260040161042290611812565b6107256000610f47565b565b6005546001600160a01b031633146107515760405162461bcd60e51b815260040161042290611812565b816107646008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146107bb5760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b6044820152606401610422565b6107c482610f99565b505050565b60606001805461034e906117a9565b60606107e382610cb2565b61082f5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e27742065786973740000006044820152606401610422565b60008281526003602052604090208054610848906117a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610874906117a9565b80156108c15780601f10610896576101008083540402835291602001916108c1565b820191906000526020600020905b8154815290600101906020018083116108a457829003601f168201915b50505050509050919050565b6060600680546108dc906117a9565b905060000361091d5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b6006805461034e906117a9565b6001600160a01b0385166109785760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b82516041146109c45760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6109ce8484610a5f565b610a165760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b610a21858383610feb565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610a6b8383611002565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610adc573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610b305760405162461bcd60e51b815260040161042290611812565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610422565b61060081610f47565b60006001600160a01b038316610bf65760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e0000000000000000006044820152606401610422565b610bff82610cb2565b610c415760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610c5483610603565b6001600160a01b031614610caa5760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610cda82610cb2565b610d1c5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610d2f83610603565b6001600160a01b031614610d855760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b610d8e826111a8565b50600192915050565b606081600003610dbe5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610de85780610dd28161185d565b9150610de19050600a8361188c565b9150610dc2565b60008167ffffffffffffffff811115610e0357610e036114de565b6040519080825280601f01601f191660200182016040528015610e2d576020820181803683370190505b5090505b8415610e9857610e426001836118a0565b9150610e4f600a866118b7565b610e5a9060306118cb565b60f81b818381518110610e6f57610e6f6118e3565b60200101906001600160f81b031916908160001a905350610e91600a8661188c565b9450610e31565b949350505050565b6000610eab82610603565b6001600160a01b03811660009081526004602052604081208054929350600192909190610ed99084906118a0565b9091555050600082815260026020908152604080832080546001600160a01b031916905560039091528120610f0d91611403565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8051600003610fdb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b6044820152606401610422565b6006610fe78282611947565b5050565b6000610ff884848461123e565b5060019392505050565b6005546000906001600160a01b0316331461102f5760405162461bcd60e51b815260040161042290611812565b6005546001600160a01b0316331461109d5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b6064820152608401610422565b81516041146110ee5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e67746800006044820152606401610422565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa158015611152573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b6111b181610cb2565b6111fd5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e00000000000000006044820152606401610422565b600061120882610603565b905061121382610ea0565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661128c5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b80516000036112cf5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b6044820152606401610422565b6112da83838361130c565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061131783610cb2565b1561135b5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b6044820152606401610422565b6001600160a01b03841660009081526004602052604081208054600192906113849084906118cb565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206113c48382611947565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461140f906117a9565b6000825580601f1061141f575050565b601f01602090049060005260206000209081019061060091905b8082111561144d5760008155600101611439565b5090565b60006020828403121561146357600080fd5b81356001600160e01b031981168114610a6b57600080fd5b60005b8381101561149657818101518382015260200161147e565b838111156114a5576000848401525b50505050565b60208152600082518060208401526114ca81604085016020870161147b565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261150557600080fd5b813567ffffffffffffffff80821115611520576115206114de565b604051601f8301601f19908116603f01168101908282118183101715611548576115486114de565b8160405283815286602085880101111561156157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561159657600080fd5b83359250602084013567ffffffffffffffff8111156115b457600080fd5b6115c0868287016114f4565b925050604084013590509250925092565b6000602082840312156115e357600080fd5b5035919050565b80356001600160a01b038116811461160157600080fd5b919050565b6000806040838503121561161957600080fd5b611622836115ea565b946020939093013593505050565b60006020828403121561164257600080fd5b610a6b826115ea565b6000806040838503121561165e57600080fd5b611667836115ea565b9150602083013567ffffffffffffffff81111561168357600080fd5b61168f858286016114f4565b9150509250929050565b600080600080600060a086880312156116b157600080fd5b6116ba866115ea565b945060208601359350604086013567ffffffffffffffff808211156116de57600080fd5b6116ea89838a016114f4565b945060608801359350608088013591508082111561170757600080fd5b50611714888289016114f4565b9150509295509295909350565b6000806040838503121561173457600080fd5b82359150602083013567ffffffffffffffff81111561168357600080fd5b60008060006060848603121561176757600080fd5b611770846115ea565b925060208401359150604084013567ffffffffffffffff81111561179357600080fd5b61179f868287016114f4565b9150509250925092565b600181811c908216806117bd57607f821691505b6020821081036117dd57634e487b7160e01b600052602260045260246000fd5b50919050565b600083516117f581846020880161147b565b83519083019061180981836020880161147b565b01949350505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001820161186f5761186f611847565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261189b5761189b611876565b500490565b6000828210156118b2576118b2611847565b500390565b6000826118c6576118c6611876565b500690565b600082198211156118de576118de611847565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156107c457600081815260208120601f850160051c810160208610156119205750805b601f850160051c820191505b8181101561193f5782815560010161192c565b505050505050565b815167ffffffffffffffff811115611961576119616114de565b6119758161196f84546117a9565b846118f9565b602080601f8311600181146119aa57600084156119925750858301515b600019600386901b1c1916600185901b17855561193f565b600085815260208120601f198616915b828110156119d9578886015182559484019460019091019084016119ba565b50858210156119f75787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220a6ba1299b8bafdbc484d9107ecb85dcee755c4800dcce4ee4ee0da29e3f434f764736f6c634300080f0033a264697066735822122074f63688e81cfeb333e33e0bc6bd08830f21c05d49f5f4a41b5564462116e83a64736f6c634300080f0033", + "deployedSourceMap": "833:1819:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1355:351;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1582:32:43;;;1564:51;;1552:2;1537:18;1355:351:11;;;;;;;;1668:101:0;;;:::i;:::-;;1754:196:13;;;:::i;1036:85:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;1036:85;;2440:76:13;2480:4;2503:6;-1:-1:-1;;;2503:6:13;;;;2440:76;;1791:14:43;;1784:22;1766:41;;1754:2;1739:18;2440:76:13;1626:187:43;2099:551:11;;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;:::i;:::-;;:::i;2069:199:13:-;;;:::i;1355:351:11:-;1484:23;1040:6;;-1:-1:-1;;;1040:6:11;;;;1039:7;1031:16;;;;;;1057:6;:13;;-1:-1:-1;;;;1057:13:11;-1:-1:-1;;;1057:13:11;;;;;-1:-1:-1;;;1590:6:13;::::1;1057:13:11::0;1590:6:13::1;1589:7;1581:36;;;;-1:-1:-1::0;;;1581:36:13::1;;;;;;;:::i;:::-;;;;;;;;;1567:20:11::2;1604:5;1611:7;1590:29;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;1100:5:11;1091:14;;-1:-1:-1;;;;1091:14:11;;;1567:52;1355:351;-1:-1:-1;;;;1355:351:11:o;1668:101:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1754:196:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1856:6:13::1;::::0;-1:-1:-1;;;1856:6:13;::::1;;;1855:7;1847:36;;;;-1:-1:-1::0;;;1847:36:13::1;;;;;;;:::i;:::-;1930:6;:13:::0;;-1:-1:-1;;;;1930:13:13::1;-1:-1:-1::0;;;1930:13:13::1;::::0;;1754:196::o;2099:551:11:-;2318:23;1040:6;;-1:-1:-1;;;1040:6:11;;;;1039:7;1031:16;;;;;;1057:6;:13;;-1:-1:-1;;;;1057:13:11;-1:-1:-1;;;1057:13:11;;;;;-1:-1:-1;;;1590:6:13;::::1;1057:13:11::0;1590:6:13::1;1589:7;1581:36;;;;-1:-1:-1::0;;;1581:36:13::1;;;;;;;:::i;:::-;2405:28:11::2;2467:5;2487:7;2508:15;2537:12;2436:123;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;1100:5:11;1091:14;;-1:-1:-1;;;;1091:14:11;;;2405:154;2099:551;-1:-1:-1;;;;;;2099:551:11:o;1918:198:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;5209:2:43;1998:73:0::1;::::0;::::1;5191:21:43::0;5248:2;5228:18;;;5221:30;5287:34;5267:18;;;5260:62;-1:-1:-1;;;5338:18:43;;;5331:36;5384:19;;1998:73:0::1;5007:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2069:199:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2168:6:13::1;::::0;-1:-1:-1;;;2168:6:13;::::1;;;2160:39;;;::::0;-1:-1:-1;;;2160:39:13;;5616:2:43;2160:39:13::1;::::0;::::1;5598:21:43::0;5655:2;5635:18;;;5628:30;-1:-1:-1;;;5674:18:43;;;5667:50;5734:18;;2160:39:13::1;5414:344:43::0;2160:39:13::1;2256:5;2247:14:::0;;-1:-1:-1;;;;2247:14:13::1;::::0;;2069:199::o;2270:187:0:-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:127:43:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:719;189:5;242:3;235:4;227:6;223:17;219:27;209:55;;260:1;257;250:12;209:55;296:6;283:20;322:18;359:2;355;352:10;349:36;;;365:18;;:::i;:::-;440:2;434:9;408:2;494:13;;-1:-1:-1;;490:22:43;;;514:2;486:31;482:40;470:53;;;538:18;;;558:22;;;535:46;532:72;;;584:18;;:::i;:::-;624:10;620:2;613:22;659:2;651:6;644:18;705:3;698:4;693:2;685:6;681:15;677:26;674:35;671:55;;;722:1;719;712:12;671:55;786:2;779:4;771:6;767:17;760:4;752:6;748:17;735:54;833:1;826:4;821:2;813:6;809:15;805:26;798:37;853:6;844:15;;;;;;146:719;;;;:::o;870:543::-;958:6;966;1019:2;1007:9;998:7;994:23;990:32;987:52;;;1035:1;1032;1025:12;987:52;1075:9;1062:23;1104:18;1145:2;1137:6;1134:14;1131:34;;;1161:1;1158;1151:12;1131:34;1184:50;1226:7;1217:6;1206:9;1202:22;1184:50;:::i;:::-;1174:60;;1287:2;1276:9;1272:18;1259:32;1243:48;;1316:2;1306:8;1303:16;1300:36;;;1332:1;1329;1322:12;1300:36;;1355:52;1399:7;1388:8;1377:9;1373:24;1355:52;:::i;:::-;1345:62;;;870:543;;;;;:::o;1818:173::-;1886:20;;-1:-1:-1;;;;;1935:31:43;;1925:42;;1915:70;;1981:1;1978;1971:12;1915:70;1818:173;;;:::o;1996:686::-;2102:6;2110;2118;2126;2179:3;2167:9;2158:7;2154:23;2150:33;2147:53;;;2196:1;2193;2186:12;2147:53;2236:9;2223:23;2265:18;2306:2;2298:6;2295:14;2292:34;;;2322:1;2319;2312:12;2292:34;2345:50;2387:7;2378:6;2367:9;2363:22;2345:50;:::i;:::-;2335:60;;2448:2;2437:9;2433:18;2420:32;2404:48;;2477:2;2467:8;2464:16;2461:36;;;2493:1;2490;2483:12;2461:36;;2516:52;2560:7;2549:8;2538:9;2534:24;2516:52;:::i;:::-;2506:62;;;2587:38;2621:2;2610:9;2606:18;2587:38;:::i;:::-;1996:686;;;;-1:-1:-1;2577:48:43;;2672:2;2657:18;2644:32;;-1:-1:-1;;1996:686:43:o;2687:186::-;2746:6;2799:2;2787:9;2778:7;2774:23;2770:32;2767:52;;;2815:1;2812;2805:12;2767:52;2838:29;2857:9;2838:29;:::i;:::-;2828:39;2687:186;-1:-1:-1;;;2687:186:43:o;2878:340::-;3080:2;3062:21;;;3119:2;3099:18;;;3092:30;-1:-1:-1;;;3153:2:43;3138:18;;3131:46;3209:2;3194:18;;2878:340::o;3223:472::-;3265:3;3303:5;3297:12;3330:6;3325:3;3318:19;3355:1;3365:162;3379:6;3376:1;3373:13;3365:162;;;3441:4;3497:13;;;3493:22;;3487:29;3469:11;;;3465:20;;3458:59;3394:12;3365:162;;;3545:6;3542:1;3539:13;3536:87;;;3611:1;3604:4;3595:6;3590:3;3586:16;3582:27;3575:38;3536:87;-1:-1:-1;3677:2:43;3656:15;-1:-1:-1;;3652:29:43;3643:39;;;;3684:4;3639:50;;3223:472;-1:-1:-1;;3223:472:43:o;3700:383::-;3897:2;3886:9;3879:21;3860:4;3923:45;3964:2;3953:9;3949:18;3941:6;3923:45;:::i;:::-;4016:9;4008:6;4004:22;3999:2;3988:9;3984:18;3977:50;4044:33;4070:6;4062;4044:33;:::i;:::-;4036:41;3700:383;-1:-1:-1;;;;;3700:383:43:o;4088:356::-;4290:2;4272:21;;;4309:18;;;4302:30;4368:34;4363:2;4348:18;;4341:62;4435:2;4420:18;;4088:356::o;4449:553::-;4702:3;4691:9;4684:22;4665:4;4729:46;4770:3;4759:9;4755:19;4747:6;4729:46;:::i;:::-;4823:9;4815:6;4811:22;4806:2;4795:9;4791:18;4784:50;4851:33;4877:6;4869;4851:33;:::i;:::-;-1:-1:-1;;;;;4920:32:43;;;;4915:2;4900:18;;4893:60;-1:-1:-1;;4984:2:43;4969:18;4962:34;4843:41;4449:553;-1:-1:-1;;4449:553:43:o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "This contracts imports and provides functions that deploys each imported contract.", + "kind": "dev", + "methods": { + "deploySoulbound(string,string)": { + "details": "Deploys the Soulbound Contract with a set name and symbol.", + "params": { + "_name": "Name of token.", + "_symbol": "Desired symbol." + }, + "returns": { + "contractAddress": "Deployed address." + } + }, + "deploySoulboundCore(string,string,address,uint256)": { + "details": "Deploys the SoulboundCore Contract with its constructor parameters.", + "params": { + "_allowlistOwner": "Desired owner of the contrat for sigs.", + "_name": "Name of token.", + "_symbol": "Desired symbol.", + "_totalSupply": "Desired total supply." + }, + "returns": { + "contractAddress": "Deployed address." + } + }, + "isPaused()": { + "details": "Returns true or false if the contract is paused. This function is callable by anyone.", + "returns": { + "_0": "bool True or false." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "pause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "unPause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + } + }, + "stateVariables": { + "locked": { + "details": "Locked for re-entrancy." + } + }, + "title": "Daccred DeployerSoulbound.", + "version": 1 + }, + "offset": [ + 833, + 2652 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xB187BD26 GT PUSH3 0x62 JUMPI DUP1 PUSH4 0xB187BD26 EQ PUSH3 0xF4 JUMPI DUP1 PUSH4 0xD4152170 EQ PUSH3 0x112 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH3 0x129 JUMPI DUP1 PUSH4 0xF7B188A5 EQ PUSH3 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x27A31DED EQ PUSH3 0x98 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH3 0xCC JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH3 0xD8 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH3 0xE2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0xAF PUSH3 0xA9 CALLDATASIZE PUSH1 0x4 PUSH3 0x59E JUMP JUMPDEST PUSH3 0x14A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH3 0xD6 PUSH3 0x1FD JUMP JUMPDEST STOP JUMPDEST PUSH3 0xD6 PUSH3 0x238 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH3 0xAF JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0xC3 JUMP JUMPDEST PUSH3 0xAF PUSH3 0x123 CALLDATASIZE PUSH1 0x4 PUSH3 0x626 JUMP JUMPDEST PUSH3 0x2A7 JUMP JUMPDEST PUSH3 0xD6 PUSH3 0x13A CALLDATASIZE PUSH1 0x4 PUSH3 0x6AB JUMP JUMPDEST PUSH3 0x357 JUMP JUMPDEST PUSH3 0xD6 PUSH3 0x3F9 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 DUP2 SWAP1 SSTORE PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x1AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x6D0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH3 0x1BD SWAP1 PUSH3 0x4D7 JUMP JUMPDEST PUSH3 0x1CA SWAP3 SWAP2 SWAP1 PUSH3 0x74A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x1E7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND SWAP1 SSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x22A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x77C JUMP JUMPDEST PUSH3 0x236 PUSH1 0x0 PUSH3 0x487 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x265 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x77C JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x292 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x6D0 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 DUP2 SWAP1 SSTORE PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x2FF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x6D0 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH3 0x313 SWAP1 PUSH3 0x4E5 JUMP JUMPDEST PUSH3 0x322 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x7B1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x33F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND SWAP1 SSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x384 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x77C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0x3EB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH3 0x1A2 JUMP JUMPDEST PUSH3 0x3F6 DUP2 PUSH3 0x487 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x426 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x77C JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH3 0x478 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x21B7B73A3930B1BA102737BA102830BAB9B2B217 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0x1A2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0xC1A DUP1 PUSH3 0x7F8 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x1E68 DUP1 PUSH3 0x1412 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x51B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x539 JUMPI PUSH3 0x539 PUSH3 0x4F3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x564 JUMPI PUSH3 0x564 PUSH3 0x4F3 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x57E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x5B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x5CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x5D9 DUP7 DUP4 DUP8 ADD PUSH3 0x509 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x5F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x5FF DUP6 DUP3 DUP7 ADD PUSH3 0x509 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x621 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x63D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x656 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x664 DUP9 DUP4 DUP10 ADD PUSH3 0x509 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x67B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x68A DUP8 DUP3 DUP9 ADD PUSH3 0x509 JUMP JUMPDEST SWAP4 POP POP PUSH3 0x69B PUSH1 0x40 DUP7 ADD PUSH3 0x609 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP3 SWAP4 PUSH1 0x60 ADD CALLDATALOAD SWAP3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x6BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x6C9 DUP3 PUSH3 0x609 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x21B7B73A3930B1BA102830BAB9B2B217 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x722 JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH3 0x704 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH3 0x735 JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH3 0x75F PUSH1 0x40 DUP4 ADD DUP6 PUSH3 0x6FA JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x773 DUP2 DUP6 PUSH3 0x6FA JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH3 0x7C6 PUSH1 0x80 DUP4 ADD DUP8 PUSH3 0x6FA JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x7DA DUP2 DUP8 PUSH3 0x6FA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 ADD MSTORE SWAP3 SWAP2 POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0xC1A CODESIZE SUB DUP1 PUSH3 0xC1A DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x12B JUMP JUMPDEST DUP2 DUP2 PUSH1 0x0 PUSH3 0x44 DUP4 DUP3 PUSH3 0x224 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x53 DUP3 DUP3 PUSH3 0x224 JUMP JUMPDEST POP POP POP POP POP PUSH3 0x2F0 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0xA3 JUMPI PUSH3 0xA3 PUSH3 0x5E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0xCE JUMPI PUSH3 0xCE PUSH3 0x5E JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0xEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x10F JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0xF0 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x121 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x13F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x165 DUP7 DUP4 DUP8 ADD PUSH3 0x74 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x17C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x18B DUP6 DUP3 DUP7 ADD PUSH3 0x74 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x1AA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x1CB JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x21F JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x1FA JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x21B JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x206 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x240 JUMPI PUSH3 0x240 PUSH3 0x5E JUMP JUMPDEST PUSH3 0x258 DUP2 PUSH3 0x251 DUP5 SLOAD PUSH3 0x195 JUMP JUMPDEST DUP5 PUSH3 0x1D1 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x290 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x277 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x21B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x2C1 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x2A0 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x2E0 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x91A DUP1 PUSH3 0x300 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x19D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x12E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0xB1 CALLDATASIZE PUSH1 0x4 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD3 PUSH2 0x202 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x7B6 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x294 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB6 PUSH2 0x103 CALLDATASIZE PUSH1 0x4 PUSH2 0x840 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x141 PUSH2 0x13C CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x30E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC2 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0x86A JUMP JUMPDEST PUSH2 0x373 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC2 JUMP JUMPDEST PUSH2 0xD3 PUSH2 0x3FC JUMP JUMPDEST PUSH2 0xD3 PUSH2 0x190 CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x40B JUMP JUMPDEST PUSH2 0xD3 PUSH2 0x510 JUMP JUMPDEST PUSH2 0x141 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x840 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x1E1 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x1FC JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x211 SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x23D SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x28A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x28A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x26D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x29D DUP2 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x302 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x30B DUP2 PUSH2 0x690 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x1FC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2F9 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x211 SWAP1 PUSH2 0x885 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x60 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x472 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x48B SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4B7 SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x504 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x504 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x5 DUP1 SLOAD PUSH2 0x51F SWAP1 PUSH2 0x885 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x560 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH2 0x211 SWAP1 PUSH2 0x885 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x5C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x61F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x632 DUP4 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x688 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x69B DUP3 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x6C9 SWAP1 DUP5 SWAP1 PUSH2 0x8BF JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0x6FD SWAP2 PUSH2 0x737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x743 SWAP1 PUSH2 0x885 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x753 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x781 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x76D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x797 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x7AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7E3 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x7C7 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x7F5 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x81D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x83B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x85C DUP4 PUSH2 0x824 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x87C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP3 PUSH2 0x824 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x899 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x8B9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x8DF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SUB SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF9 0xEF CHAINID 0x25 0xCD 0xEE 0xD4 CALLCODE SAR 0xAA CALLCODE LOG3 0x49 LOG3 0xED SWAP2 PUSH18 0x8C587A04B040AE19A27945BFD34A2264736F PUSH13 0x634300080F0033608060405234 DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1E68 CODESIZE SUB DUP1 PUSH3 0x1E68 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x22D JUMP JUMPDEST DUP2 DUP5 DUP5 DUP2 DUP2 PUSH1 0x0 PUSH3 0x47 DUP4 DUP3 PUSH3 0x34F JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x56 DUP3 DUP3 PUSH3 0x34F JUMP JUMPDEST POP POP POP PUSH3 0x73 PUSH3 0x6D PUSH3 0x10A PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x10E JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0xC3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x24B73B30B634B21020B2323932B9B997 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 DUP2 SWAP1 SUB PUSH3 0xFA JUMPI PUSH3 0xF4240 PUSH1 0x9 SSTORE PUSH3 0x100 JUMP JUMPDEST PUSH1 0x9 DUP2 SWAP1 SSTORE JUMPDEST POP POP POP POP PUSH3 0x41B JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x188 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x1A5 JUMPI PUSH3 0x1A5 PUSH3 0x160 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x1D0 JUMPI PUSH3 0x1D0 PUSH3 0x160 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x1ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x211 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x1F2 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x223 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x25C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x26A DUP9 DUP4 DUP10 ADD PUSH3 0x176 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x290 DUP8 DUP3 DUP9 ADD PUSH3 0x176 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MLOAD SWAP1 SWAP5 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x2D5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x2F6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x34A JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x325 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x346 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x331 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x36B JUMPI PUSH3 0x36B PUSH3 0x160 JUMP JUMPDEST PUSH3 0x383 DUP2 PUSH3 0x37C DUP5 SLOAD PUSH3 0x2C0 JUMP JUMPDEST DUP5 PUSH3 0x2FC JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x3BB JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x3A2 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x346 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3EC JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x3CB JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x40B JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1A3D DUP1 PUSH3 0x42B PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x88433651 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xC9E4C54D GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xC9E4C54D EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xDACA6F78 EQ PUSH2 0x2A1 JUMPI DUP1 PUSH4 0xE92B0842 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x2DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x88433651 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x25A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x273 JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5899E7B2 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x1E2 JUMPI DUP1 PUSH4 0x6E0A8746 EQ PUSH2 0x20D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x21E JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x23F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x8C92E57 EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x210FA96B EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x196 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x13F CALLDATASIZE PUSH1 0x4 PUSH2 0x1451 JUMP JUMPDEST PUSH2 0x2ED JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH2 0x33F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x14AB JUMP JUMPDEST PUSH2 0x181 PUSH2 0x17C CALLDATASIZE PUSH1 0x4 PUSH2 0x1581 JUMP JUMPDEST PUSH2 0x3D1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x161 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x50C JUMP JUMPDEST PUSH2 0x181 PUSH2 0x1A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x144 PUSH2 0x1B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1606 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1F5 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x603 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x231 PUSH2 0x22C CALLDATASIZE PUSH1 0x4 PUSH2 0x1630 JUMP JUMPDEST PUSH2 0x668 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x181 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x181 PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0x164B JUMP JUMPDEST PUSH2 0x727 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x281 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x7D8 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x8CD JUMP JUMPDEST PUSH2 0x181 PUSH2 0x29C CALLDATASIZE PUSH1 0x4 PUSH2 0x1699 JUMP JUMPDEST PUSH2 0x92A JUMP JUMPDEST PUSH2 0x144 PUSH2 0x2AF CALLDATASIZE PUSH1 0x4 PUSH2 0x1721 JUMP JUMPDEST PUSH2 0xA5F JUMP JUMPDEST PUSH2 0x144 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1752 JUMP JUMPDEST PUSH2 0xA72 JUMP JUMPDEST PUSH2 0x181 PUSH2 0x2D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1630 JUMP JUMPDEST PUSH2 0xB06 JUMP JUMPDEST PUSH2 0x1F5 PUSH2 0x2E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1606 JUMP JUMPDEST PUSH2 0xB9E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x31E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x339 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x34E SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x37A SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3C7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x39C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3C7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3AA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3DA DUP2 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0x42B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x477 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x481 DUP4 DUP4 PUSH2 0xA5F JUMP JUMPDEST PUSH2 0x4C9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x4DB PUSH2 0x4D5 DUP3 PUSH2 0x603 JUMP JUMPDEST DUP3 PUSH2 0xCCF JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH32 0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x516 PUSH2 0x8CD JUMP JUMPDEST MLOAD PUSH1 0x0 SUB PUSH2 0x556 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x55E PUSH2 0x8CD JUMP JUMPDEST PUSH2 0x567 DUP4 PUSH2 0xD97 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x578 SWAP3 SWAP2 SWAP1 PUSH2 0x17E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x597 DUP2 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5F7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x600 DUP2 PUSH2 0xEA0 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x339 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x6D5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x422 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x71B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST PUSH2 0x725 PUSH1 0x0 PUSH2 0xF47 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x751 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST DUP2 PUSH2 0x764 PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x4E6F7420416C6C6F776C697374204F776E657221 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x7C4 DUP3 PUSH2 0xF99 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x34E SWAP1 PUSH2 0x17A9 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7E3 DUP3 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x848 SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x874 SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x8C1 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x896 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x8C1 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8A4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x6 DUP1 SLOAD PUSH2 0x8DC SWAP1 PUSH2 0x17A9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x91D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH2 0x34E SWAP1 PUSH2 0x17A9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x978 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP3 MLOAD PUSH1 0x41 EQ PUSH2 0x9C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x9CE DUP5 DUP5 PUSH2 0xA5F JUMP JUMPDEST PUSH2 0xA16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0xA21 DUP6 DUP4 DUP4 PUSH2 0xFEB JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH32 0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6B DUP4 DUP4 PUSH2 0x1002 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xADC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB30 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xB95 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x600 DUP2 PUSH2 0xF47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0xBFF DUP3 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0xC41 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC54 DUP4 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xCAA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCDA DUP3 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0xD1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xD2F DUP4 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xD85 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0xD8E DUP3 PUSH2 0x11A8 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0xDBE JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xDE8 JUMPI DUP1 PUSH2 0xDD2 DUP2 PUSH2 0x185D JUMP JUMPDEST SWAP2 POP PUSH2 0xDE1 SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x188C JUMP JUMPDEST SWAP2 POP PUSH2 0xDC2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE03 JUMPI PUSH2 0xE03 PUSH2 0x14DE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xE2D JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0xE98 JUMPI PUSH2 0xE42 PUSH1 0x1 DUP4 PUSH2 0x18A0 JUMP JUMPDEST SWAP2 POP PUSH2 0xE4F PUSH1 0xA DUP7 PUSH2 0x18B7 JUMP JUMPDEST PUSH2 0xE5A SWAP1 PUSH1 0x30 PUSH2 0x18CB JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xE6F JUMPI PUSH2 0xE6F PUSH2 0x18E3 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0xE91 PUSH1 0xA DUP7 PUSH2 0x188C JUMP JUMPDEST SWAP5 POP PUSH2 0xE31 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEAB DUP3 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0xED9 SWAP1 DUP5 SWAP1 PUSH2 0x18A0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0xF0D SWAP2 PUSH2 0x1403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xFDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x92DCECC2D8D2C840D8CADCCEE8D PUSH1 0x93 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x6 PUSH2 0xFE7 DUP3 DUP3 PUSH2 0x1947 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFF8 DUP5 DUP5 DUP5 PUSH2 0x123E JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x102F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x109D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x3C903737B716B7BBB732B9 PUSH1 0xA9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x422 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x10EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP1 DUP8 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE SWAP7 DUP2 ADD DUP1 DUP7 MSTORE DUP11 SWAP1 MSTORE SWAP1 DUP7 BYTE SWAP4 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP3 SWAP1 MSTORE SWAP3 SWAP4 SWAP1 SWAP3 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1152 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT DUP2 ADD MLOAD PUSH1 0x8 SLOAD SWAP1 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 AND EQ SWAP2 POP DUP2 SWAP1 DUP10 SWAP1 PUSH32 0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36 SWAP1 PUSH1 0x0 SWAP1 LOG3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x11B1 DUP2 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0x11FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1208 DUP3 PUSH2 0x603 JUMP JUMPDEST SWAP1 POP PUSH2 0x1213 DUP3 PUSH2 0xEA0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x128C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x12CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x22B6B83A3C903A37B5B2B72AA92497 PUSH1 0x89 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x12DA DUP4 DUP4 DUP4 PUSH2 0x130C JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1317 DUP4 PUSH2 0xCB2 JUMP JUMPDEST ISZERO PUSH2 0x135B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x6D696E743A20746F6B656E494420657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1384 SWAP1 DUP5 SWAP1 PUSH2 0x18CB JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH2 0x13C4 DUP4 DUP3 PUSH2 0x1947 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x140F SWAP1 PUSH2 0x17A9 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x141F JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x600 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x144D JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1439 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1463 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xA6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1496 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x147E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x14A5 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x14CA DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x147B JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1520 JUMPI PUSH2 0x1520 PUSH2 0x14DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1548 JUMPI PUSH2 0x1548 PUSH2 0x14DE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1561 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x15B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15C0 DUP7 DUP3 DUP8 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1619 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1622 DUP4 PUSH2 0x15EA JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA6B DUP3 PUSH2 0x15EA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x165E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1667 DUP4 PUSH2 0x15EA JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x168F DUP6 DUP3 DUP7 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16BA DUP7 PUSH2 0x15EA JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x16DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16EA DUP10 DUP4 DUP11 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1707 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1714 DUP9 DUP3 DUP10 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1734 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1767 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1770 DUP5 PUSH2 0x15EA JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1793 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x179F DUP7 DUP3 DUP8 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x17BD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x17DD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x17F5 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x147B JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1809 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x147B JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x186F JUMPI PUSH2 0x186F PUSH2 0x1847 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x189B JUMPI PUSH2 0x189B PUSH2 0x1876 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x18B2 JUMPI PUSH2 0x18B2 PUSH2 0x1847 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x18C6 JUMPI PUSH2 0x18C6 PUSH2 0x1876 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x18DE JUMPI PUSH2 0x18DE PUSH2 0x1847 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x7C4 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1920 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x193F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x192C JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1961 JUMPI PUSH2 0x1961 PUSH2 0x14DE JUMP JUMPDEST PUSH2 0x1975 DUP2 PUSH2 0x196F DUP5 SLOAD PUSH2 0x17A9 JUMP JUMPDEST DUP5 PUSH2 0x18F9 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x19AA JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1992 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x193F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x19D9 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x19BA JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x19F7 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA6 0xBA SLT SWAP10 0xB8 0xBA REVERT 0xBC BASEFEE 0x4D SWAP2 SMOD 0xEC 0xB8 0x5D 0xCE 0xE7 SSTORE 0xC4 DUP1 0xD 0xCC 0xE4 0xEE 0x4E 0xE0 0xDA 0x29 0xE3 DELEGATECALL CALLVALUE 0xF7 PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH21 0xF63688E81CFEB333E33E0BC6BD08830F21C05D49F5 DELEGATECALL LOG4 SHL SSTORE PUSH5 0x462116E83A PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "MSTORE", + "path": "11" + }, + "5": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "CALLVALUE", + "path": "11" + }, + "6": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "7": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "ISZERO", + "path": "11" + }, + "8": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0x11" + }, + "12": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "13": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "16": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "REVERT", + "path": "11" + }, + "17": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPDEST", + "path": "11" + }, + "18": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "POP", + "path": "11" + }, + "19": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0x4" + }, + "21": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "CALLDATASIZE", + "path": "11" + }, + "22": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "LT", + "path": "11" + }, + "23": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0x93" + }, + "27": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "28": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "30": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "CALLDATALOAD", + "path": "11" + }, + "31": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0xE0" + }, + "33": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "SHR", + "path": "11" + }, + "34": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "35": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0xB187BD26" + }, + "40": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "GT", + "path": "11" + }, + "41": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0x62" + }, + "45": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "46": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "47": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0xB187BD26" + }, + "52": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "53": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0xF4" + }, + "57": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "58": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "59": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0xD4152170" + }, + "64": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "65": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0x112" + }, + "69": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "70": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "71": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0xF2FDE38B" + }, + "76": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "77": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0x129" + }, + "81": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "82": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "83": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0xF7B188A5" + }, + "88": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "89": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0x140" + }, + "93": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "94": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "96": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "97": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "REVERT", + "path": "11" + }, + "98": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPDEST", + "path": "11" + }, + "99": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "100": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0x27A31DED" + }, + "105": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "106": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0x98" + }, + "110": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "111": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "112": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0x715018A6" + }, + "117": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "118": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0xCC" + }, + "122": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "123": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "124": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0x8456CB59" + }, + "129": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "130": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0xD8" + }, + "134": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "135": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "136": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH4", + "path": "11", + "value": "0x8DA5CB5B" + }, + "141": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "EQ", + "path": "11" + }, + "142": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH3", + "path": "11", + "value": "0xE2" + }, + "146": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPI", + "path": "11" + }, + "147": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "JUMPDEST", + "path": "11" + }, + "148": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "150": { + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "DUP1", + "path": "11" + }, + "151": { + "first_revert": true, + "fn": null, + "offset": [ + 833, + 2652 + ], + "op": "REVERT", + "path": "11" + }, + "152": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "JUMPDEST", + "path": "11" + }, + "153": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "PUSH3", + "path": "11", + "value": "0xAF" + }, + "157": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "PUSH3", + "path": "11", + "value": "0xA9" + }, + "161": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "CALLDATASIZE", + "path": "11" + }, + "162": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "PUSH1", + "path": "11", + "value": "0x4" + }, + "164": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "PUSH3", + "path": "11", + "value": "0x59E" + }, + "168": { + "fn": "DeployerSoulbound.deploySoulbound", + "jump": "i", + "offset": [ + 1355, + 1706 + ], + "op": "JUMP", + "path": "11" + }, + "169": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "JUMPDEST", + "path": "11" + }, + "170": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "PUSH3", + "path": "11", + "value": "0x14A" + }, + "174": { + "fn": "DeployerSoulbound.deploySoulbound", + "jump": "i", + "offset": [ + 1355, + 1706 + ], + "op": "JUMP", + "path": "11" + }, + "175": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "JUMPDEST", + "path": "11" + }, + "176": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "178": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "MLOAD", + "path": "11" + }, + "179": { + "op": "PUSH1", + "value": "0x1" + }, + "181": { + "op": "PUSH1", + "value": "0x1" + }, + "183": { + "op": "PUSH1", + "value": "0xA0" + }, + "185": { + "op": "SHL" + }, + "186": { + "op": "SUB" + }, + "187": { + "op": "SWAP1" + }, + "188": { + "op": "SWAP2" + }, + "189": { + "op": "AND" + }, + "190": { + "op": "DUP2" + }, + "191": { + "op": "MSTORE" + }, + "192": { + "op": "PUSH1", + "value": "0x20" + }, + "194": { + "op": "ADD" + }, + "195": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "JUMPDEST", + "path": "11" + }, + "196": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "198": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "MLOAD", + "path": "11" + }, + "199": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "DUP1", + "path": "11" + }, + "200": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "SWAP2", + "path": "11" + }, + "201": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "SUB", + "path": "11" + }, + "202": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "SWAP1", + "path": "11" + }, + "203": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "RETURN", + "path": "11" + }, + "204": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "205": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH3", + "path": "0", + "value": "0xD6" + }, + "209": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1FD" + }, + "213": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "214": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "215": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "STOP", + "path": "0" + }, + "216": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "217": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH3", + "path": "13", + "value": "0xD6" + }, + "221": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH3", + "path": "13", + "value": "0x238" + }, + "225": { + "fn": "Pausable.pause", + "jump": "i", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "226": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "227": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "229": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0", + "statement": 0 + }, + "230": { + "op": "PUSH1", + "value": "0x1" + }, + "232": { + "op": "PUSH1", + "value": "0x1" + }, + "234": { + "op": "PUSH1", + "value": "0xA0" + }, + "236": { + "op": "SHL" + }, + "237": { + "op": "SUB" + }, + "238": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "239": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH3", + "path": "0", + "value": "0xAF" + }, + "243": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "244": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "JUMPDEST", + "path": "13" + }, + "245": { + "fn": "Pausable.isPaused", + "offset": [ + 2480, + 2484 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "247": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SLOAD", + "path": "13", + "statement": 1 + }, + "248": { + "op": "PUSH1", + "value": "0x1" + }, + "250": { + "op": "PUSH1", + "value": "0xA0" + }, + "252": { + "op": "SHL" + }, + "253": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SWAP1", + "path": "13" + }, + "254": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "DIV", + "path": "13" + }, + "255": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "257": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "AND", + "path": "13" + }, + "258": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "260": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "MLOAD", + "path": "13" + }, + "261": { + "op": "SWAP1" + }, + "262": { + "op": "ISZERO" + }, + "263": { + "op": "ISZERO" + }, + "264": { + "op": "DUP2" + }, + "265": { + "op": "MSTORE" + }, + "266": { + "op": "PUSH1", + "value": "0x20" + }, + "268": { + "op": "ADD" + }, + "269": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH3", + "path": "13", + "value": "0xC3" + }, + "273": { + "op": "JUMP" + }, + "274": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "JUMPDEST", + "path": "11" + }, + "275": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "PUSH3", + "path": "11", + "value": "0xAF" + }, + "279": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "PUSH3", + "path": "11", + "value": "0x123" + }, + "283": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "CALLDATASIZE", + "path": "11" + }, + "284": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "PUSH1", + "path": "11", + "value": "0x4" + }, + "286": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "PUSH3", + "path": "11", + "value": "0x626" + }, + "290": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "jump": "i", + "offset": [ + 2099, + 2650 + ], + "op": "JUMP", + "path": "11" + }, + "291": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "JUMPDEST", + "path": "11" + }, + "292": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "PUSH3", + "path": "11", + "value": "0x2A7" + }, + "296": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "jump": "i", + "offset": [ + 2099, + 2650 + ], + "op": "JUMP", + "path": "11" + }, + "297": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "298": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0xD6" + }, + "302": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x13A" + }, + "306": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "307": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "309": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x6AB" + }, + "313": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "314": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "315": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x357" + }, + "319": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "320": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "321": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH3", + "path": "13", + "value": "0xD6" + }, + "325": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH3", + "path": "13", + "value": "0x3F9" + }, + "329": { + "fn": "Pausable.unPause", + "jump": "i", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "330": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "JUMPDEST", + "path": "11" + }, + "331": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1484, + 1507 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "333": { + "offset": [ + 1040, + 1046 + ], + "op": "DUP1", + "path": "11" + }, + "334": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1040, + 1046 + ], + "op": "SLOAD", + "path": "11" + }, + "335": { + "op": "PUSH1", + "value": "0x1" + }, + "337": { + "op": "PUSH1", + "value": "0xA8" + }, + "339": { + "op": "SHL" + }, + "340": { + "offset": [ + 1040, + 1046 + ], + "op": "SWAP1", + "path": "11" + }, + "341": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1040, + 1046 + ], + "op": "DIV", + "path": "11" + }, + "342": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1040, + 1046 + ], + "op": "PUSH1", + "path": "11", + "value": "0xFF" + }, + "344": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1040, + 1046 + ], + "op": "AND", + "path": "11" + }, + "345": { + "offset": [ + 1039, + 1046 + ], + "op": "ISZERO", + "path": "11" + }, + "346": { + "offset": [ + 1031, + 1047 + ], + "op": "PUSH3", + "path": "11", + "value": "0x163" + }, + "350": { + "offset": [ + 1031, + 1047 + ], + "op": "JUMPI", + "path": "11" + }, + "351": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1031, + 1047 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "353": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1031, + 1047 + ], + "op": "DUP1", + "path": "11" + }, + "354": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1031, + 1047 + ], + "op": "REVERT", + "path": "11" + }, + "355": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1031, + 1047 + ], + "op": "JUMPDEST", + "path": "11" + }, + "356": { + "offset": [ + 1057, + 1063 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "358": { + "offset": [ + 1057, + 1070 + ], + "op": "DUP1", + "path": "11" + }, + "359": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1057, + 1070 + ], + "op": "SLOAD", + "path": "11" + }, + "360": { + "op": "PUSH1", + "value": "0xFF" + }, + "362": { + "op": "PUSH1", + "value": "0xA8" + }, + "364": { + "op": "SHL" + }, + "365": { + "op": "NOT" + }, + "366": { + "offset": [ + 1057, + 1070 + ], + "op": "AND", + "path": "11" + }, + "367": { + "op": "PUSH1", + "value": "0x1" + }, + "369": { + "op": "PUSH1", + "value": "0xA8" + }, + "371": { + "op": "SHL" + }, + "372": { + "offset": [ + 1057, + 1070 + ], + "op": "OR", + "path": "11" + }, + "373": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1057, + 1070 + ], + "op": "SWAP1", + "path": "11" + }, + "374": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1057, + 1070 + ], + "op": "DUP2", + "path": "11" + }, + "375": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1057, + 1070 + ], + "op": "SWAP1", + "path": "11" + }, + "376": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1057, + 1070 + ], + "op": "SSTORE", + "path": "11" + }, + "377": { + "op": "PUSH1", + "value": "0x1" + }, + "379": { + "op": "PUSH1", + "value": "0xA0" + }, + "381": { + "op": "SHL" + }, + "382": { + "offset": [ + 1590, + 1596 + ], + "op": "SWAP1", + "path": "13" + }, + "383": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1596 + ], + "op": "DIV", + "path": "13" + }, + "384": { + "offset": [ + 1057, + 1070 + ], + "op": "PUSH1", + "path": "11", + "value": "0xFF" + }, + "386": { + "offset": [ + 1590, + 1596 + ], + "op": "AND", + "path": "13" + }, + "387": { + "offset": [ + 1589, + 1596 + ], + "op": "ISZERO", + "path": "13" + }, + "388": { + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1AB" + }, + "392": { + "offset": [ + 1581, + 1617 + ], + "op": "JUMPI", + "path": "13" + }, + "393": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "395": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "396": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "400": { + "op": "PUSH1", + "value": "0xE5" + }, + "402": { + "op": "SHL" + }, + "403": { + "offset": [ + 1581, + 1617 + ], + "op": "DUP2", + "path": "13" + }, + "404": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "MSTORE", + "path": "13" + }, + "405": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "407": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "ADD", + "path": "13" + }, + "408": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "412": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "413": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x6D0" + }, + "417": { + "fn": "DeployerSoulbound.deploySoulbound", + "jump": "i", + "offset": [ + 1581, + 1617 + ], + "op": "JUMP", + "path": "13" + }, + "418": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "419": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "421": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "422": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "DUP1", + "path": "13" + }, + "423": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP2", + "path": "13" + }, + "424": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "SUB", + "path": "13" + }, + "425": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "426": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "13" + }, + "427": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "428": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1567, + 1587 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "430": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1604, + 1609 + ], + "op": "DUP4", + "path": "11" + }, + "431": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1611, + 1618 + ], + "op": "DUP4", + "path": "11" + }, + "432": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "434": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "MLOAD", + "path": "11" + }, + "435": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH3", + "path": "11", + "value": "0x1BD" + }, + "439": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "SWAP1", + "path": "11" + }, + "440": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH3", + "path": "11", + "value": "0x4D7" + }, + "444": { + "fn": "DeployerSoulbound.deploySoulbound", + "jump": "i", + "offset": [ + 1590, + 1619 + ], + "op": "JUMP", + "path": "11" + }, + "445": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "JUMPDEST", + "path": "11" + }, + "446": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH3", + "path": "11", + "value": "0x1CA" + }, + "450": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "SWAP3", + "path": "11" + }, + "451": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "SWAP2", + "path": "11" + }, + "452": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "SWAP1", + "path": "11" + }, + "453": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH3", + "path": "11", + "value": "0x74A" + }, + "457": { + "fn": "DeployerSoulbound.deploySoulbound", + "jump": "i", + "offset": [ + 1590, + 1619 + ], + "op": "JUMP", + "path": "11" + }, + "458": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "JUMPDEST", + "path": "11" + }, + "459": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "461": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "MLOAD", + "path": "11" + }, + "462": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "DUP1", + "path": "11" + }, + "463": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "SWAP2", + "path": "11" + }, + "464": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "SUB", + "path": "11" + }, + "465": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "SWAP1", + "path": "11" + }, + "466": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "468": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "CREATE", + "path": "11" + }, + "469": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "DUP1", + "path": "11" + }, + "470": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "ISZERO", + "path": "11" + }, + "471": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "DUP1", + "path": "11" + }, + "472": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "ISZERO", + "path": "11" + }, + "473": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH3", + "path": "11", + "value": "0x1E7" + }, + "477": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "JUMPI", + "path": "11" + }, + "478": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "RETURNDATASIZE", + "path": "11" + }, + "479": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "481": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "DUP1", + "path": "11" + }, + "482": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "RETURNDATACOPY", + "path": "11" + }, + "483": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "RETURNDATASIZE", + "path": "11" + }, + "484": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "486": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "REVERT", + "path": "11" + }, + "487": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1590, + 1619 + ], + "op": "JUMPDEST", + "path": "11" + }, + "488": { + "op": "POP" + }, + "489": { + "offset": [ + 1100, + 1105 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "491": { + "offset": [ + 1091, + 1105 + ], + "op": "DUP1", + "path": "11" + }, + "492": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1091, + 1105 + ], + "op": "SLOAD", + "path": "11" + }, + "493": { + "op": "PUSH1", + "value": "0xFF" + }, + "495": { + "op": "PUSH1", + "value": "0xA8" + }, + "497": { + "op": "SHL" + }, + "498": { + "op": "NOT" + }, + "499": { + "offset": [ + 1091, + 1105 + ], + "op": "AND", + "path": "11" + }, + "500": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1091, + 1105 + ], + "op": "SWAP1", + "path": "11" + }, + "501": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1091, + 1105 + ], + "op": "SSTORE", + "path": "11" + }, + "502": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1567, + 1619 + ], + "op": "SWAP5", + "path": "11" + }, + "503": { + "fn": "DeployerSoulbound.deploySoulbound", + "offset": [ + 1355, + 1706 + ], + "op": "SWAP4", + "path": "11" + }, + "504": { + "op": "POP" + }, + "505": { + "op": "POP" + }, + "506": { + "op": "POP" + }, + "507": { + "op": "POP" + }, + "508": { + "fn": "DeployerSoulbound.deploySoulbound", + "jump": "o", + "offset": [ + 1355, + 1706 + ], + "op": "JUMP", + "path": "11" + }, + "509": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "510": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "512": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "513": { + "op": "PUSH1", + "value": "0x1" + }, + "515": { + "op": "PUSH1", + "value": "0x1" + }, + "517": { + "op": "PUSH1", + "value": "0xA0" + }, + "519": { + "op": "SHL" + }, + "520": { + "op": "SUB" + }, + "521": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "522": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 2 + }, + "523": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "524": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x22A" + }, + "528": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "529": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "531": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "532": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "536": { + "op": "PUSH1", + "value": "0xE5" + }, + "538": { + "op": "SHL" + }, + "539": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "540": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "541": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "543": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "544": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "548": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "549": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x77C" + }, + "553": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "554": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "555": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH3", + "path": "0", + "statement": 3, + "value": "0x236" + }, + "559": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "561": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH3", + "path": "0", + "value": "0x487" + }, + "565": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "566": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "567": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "568": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "569": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "571": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "572": { + "op": "PUSH1", + "value": "0x1" + }, + "574": { + "op": "PUSH1", + "value": "0x1" + }, + "576": { + "op": "PUSH1", + "value": "0xA0" + }, + "578": { + "op": "SHL" + }, + "579": { + "op": "SUB" + }, + "580": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "581": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "582": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "583": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x265" + }, + "587": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "588": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "590": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "591": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "595": { + "op": "PUSH1", + "value": "0xE5" + }, + "597": { + "op": "SHL" + }, + "598": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "599": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "600": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "602": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "603": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "607": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "608": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x77C" + }, + "612": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "613": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "614": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "statement": 4, + "value": "0x0" + }, + "616": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SLOAD", + "path": "13" + }, + "617": { + "op": "PUSH1", + "value": "0x1" + }, + "619": { + "op": "PUSH1", + "value": "0xA0" + }, + "621": { + "op": "SHL" + }, + "622": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SWAP1", + "path": "13" + }, + "623": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "DIV", + "path": "13" + }, + "624": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "626": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "AND", + "path": "13" + }, + "627": { + "branch": 13, + "fn": "Pausable.pause", + "offset": [ + 1855, + 1862 + ], + "op": "ISZERO", + "path": "13" + }, + "628": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x292" + }, + "632": { + "branch": 13, + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPI", + "path": "13" + }, + "633": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "635": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MLOAD", + "path": "13" + }, + "636": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "640": { + "op": "PUSH1", + "value": "0xE5" + }, + "642": { + "op": "SHL" + }, + "643": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "DUP2", + "path": "13" + }, + "644": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MSTORE", + "path": "13" + }, + "645": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "647": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "ADD", + "path": "13" + }, + "648": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "652": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "SWAP1", + "path": "13" + }, + "653": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x6D0" + }, + "657": { + "fn": "Pausable.pause", + "jump": "i", + "offset": [ + 1847, + 1883 + ], + "op": "JUMP", + "path": "13" + }, + "658": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPDEST", + "path": "13" + }, + "659": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1936 + ], + "op": "PUSH1", + "path": "13", + "statement": 5, + "value": "0x0" + }, + "661": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "DUP1", + "path": "13" + }, + "662": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SLOAD", + "path": "13" + }, + "663": { + "op": "PUSH1", + "value": "0xFF" + }, + "665": { + "op": "PUSH1", + "value": "0xA0" + }, + "667": { + "op": "SHL" + }, + "668": { + "op": "NOT" + }, + "669": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "AND", + "path": "13" + }, + "670": { + "op": "PUSH1", + "value": "0x1" + }, + "672": { + "op": "PUSH1", + "value": "0xA0" + }, + "674": { + "op": "SHL" + }, + "675": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "OR", + "path": "13" + }, + "676": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SWAP1", + "path": "13" + }, + "677": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SSTORE", + "path": "13" + }, + "678": { + "fn": "Pausable.pause", + "jump": "o", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "679": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "JUMPDEST", + "path": "11" + }, + "680": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2318, + 2341 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "682": { + "offset": [ + 1040, + 1046 + ], + "op": "DUP1", + "path": "11" + }, + "683": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1040, + 1046 + ], + "op": "SLOAD", + "path": "11" + }, + "684": { + "op": "PUSH1", + "value": "0x1" + }, + "686": { + "op": "PUSH1", + "value": "0xA8" + }, + "688": { + "op": "SHL" + }, + "689": { + "offset": [ + 1040, + 1046 + ], + "op": "SWAP1", + "path": "11" + }, + "690": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1040, + 1046 + ], + "op": "DIV", + "path": "11" + }, + "691": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1040, + 1046 + ], + "op": "PUSH1", + "path": "11", + "value": "0xFF" + }, + "693": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1040, + 1046 + ], + "op": "AND", + "path": "11" + }, + "694": { + "offset": [ + 1039, + 1046 + ], + "op": "ISZERO", + "path": "11" + }, + "695": { + "offset": [ + 1031, + 1047 + ], + "op": "PUSH3", + "path": "11", + "value": "0x2C0" + }, + "699": { + "offset": [ + 1031, + 1047 + ], + "op": "JUMPI", + "path": "11" + }, + "700": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1031, + 1047 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "702": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1031, + 1047 + ], + "op": "DUP1", + "path": "11" + }, + "703": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1031, + 1047 + ], + "op": "REVERT", + "path": "11" + }, + "704": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1031, + 1047 + ], + "op": "JUMPDEST", + "path": "11" + }, + "705": { + "offset": [ + 1057, + 1063 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "707": { + "offset": [ + 1057, + 1070 + ], + "op": "DUP1", + "path": "11" + }, + "708": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1057, + 1070 + ], + "op": "SLOAD", + "path": "11" + }, + "709": { + "op": "PUSH1", + "value": "0xFF" + }, + "711": { + "op": "PUSH1", + "value": "0xA8" + }, + "713": { + "op": "SHL" + }, + "714": { + "op": "NOT" + }, + "715": { + "offset": [ + 1057, + 1070 + ], + "op": "AND", + "path": "11" + }, + "716": { + "op": "PUSH1", + "value": "0x1" + }, + "718": { + "op": "PUSH1", + "value": "0xA8" + }, + "720": { + "op": "SHL" + }, + "721": { + "offset": [ + 1057, + 1070 + ], + "op": "OR", + "path": "11" + }, + "722": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1057, + 1070 + ], + "op": "SWAP1", + "path": "11" + }, + "723": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1057, + 1070 + ], + "op": "DUP2", + "path": "11" + }, + "724": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1057, + 1070 + ], + "op": "SWAP1", + "path": "11" + }, + "725": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1057, + 1070 + ], + "op": "SSTORE", + "path": "11" + }, + "726": { + "op": "PUSH1", + "value": "0x1" + }, + "728": { + "op": "PUSH1", + "value": "0xA0" + }, + "730": { + "op": "SHL" + }, + "731": { + "offset": [ + 1590, + 1596 + ], + "op": "SWAP1", + "path": "13" + }, + "732": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1590, + 1596 + ], + "op": "DIV", + "path": "13" + }, + "733": { + "offset": [ + 1057, + 1070 + ], + "op": "PUSH1", + "path": "11", + "value": "0xFF" + }, + "735": { + "offset": [ + 1590, + 1596 + ], + "op": "AND", + "path": "13" + }, + "736": { + "offset": [ + 1589, + 1596 + ], + "op": "ISZERO", + "path": "13" + }, + "737": { + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x2FF" + }, + "741": { + "offset": [ + 1581, + 1617 + ], + "op": "JUMPI", + "path": "13" + }, + "742": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "744": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "745": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "749": { + "op": "PUSH1", + "value": "0xE5" + }, + "751": { + "op": "SHL" + }, + "752": { + "offset": [ + 1581, + 1617 + ], + "op": "DUP2", + "path": "13" + }, + "753": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "MSTORE", + "path": "13" + }, + "754": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "756": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "ADD", + "path": "13" + }, + "757": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "761": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "762": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x6D0" + }, + "766": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "jump": "i", + "offset": [ + 1581, + 1617 + ], + "op": "JUMP", + "path": "13" + }, + "767": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "768": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2405, + 2433 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "770": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2467, + 2472 + ], + "op": "DUP6", + "path": "11" + }, + "771": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2487, + 2494 + ], + "op": "DUP6", + "path": "11" + }, + "772": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2508, + 2523 + ], + "op": "DUP6", + "path": "11" + }, + "773": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2537, + 2549 + ], + "op": "DUP6", + "path": "11" + }, + "774": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "776": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "MLOAD", + "path": "11" + }, + "777": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH3", + "path": "11", + "value": "0x313" + }, + "781": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP1", + "path": "11" + }, + "782": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH3", + "path": "11", + "value": "0x4E5" + }, + "786": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "jump": "i", + "offset": [ + 2436, + 2559 + ], + "op": "JUMP", + "path": "11" + }, + "787": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "JUMPDEST", + "path": "11" + }, + "788": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH3", + "path": "11", + "value": "0x322" + }, + "792": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP5", + "path": "11" + }, + "793": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP4", + "path": "11" + }, + "794": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP3", + "path": "11" + }, + "795": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP2", + "path": "11" + }, + "796": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP1", + "path": "11" + }, + "797": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH3", + "path": "11", + "value": "0x7B1" + }, + "801": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "jump": "i", + "offset": [ + 2436, + 2559 + ], + "op": "JUMP", + "path": "11" + }, + "802": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "JUMPDEST", + "path": "11" + }, + "803": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH1", + "path": "11", + "value": "0x40" + }, + "805": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "MLOAD", + "path": "11" + }, + "806": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "DUP1", + "path": "11" + }, + "807": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP2", + "path": "11" + }, + "808": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SUB", + "path": "11" + }, + "809": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "SWAP1", + "path": "11" + }, + "810": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "812": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "CREATE", + "path": "11" + }, + "813": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "DUP1", + "path": "11" + }, + "814": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "ISZERO", + "path": "11" + }, + "815": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "DUP1", + "path": "11" + }, + "816": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "ISZERO", + "path": "11" + }, + "817": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH3", + "path": "11", + "value": "0x33F" + }, + "821": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "JUMPI", + "path": "11" + }, + "822": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "RETURNDATASIZE", + "path": "11" + }, + "823": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "825": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "DUP1", + "path": "11" + }, + "826": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "RETURNDATACOPY", + "path": "11" + }, + "827": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "RETURNDATASIZE", + "path": "11" + }, + "828": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "830": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "REVERT", + "path": "11" + }, + "831": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2436, + 2559 + ], + "op": "JUMPDEST", + "path": "11" + }, + "832": { + "op": "POP" + }, + "833": { + "offset": [ + 1100, + 1105 + ], + "op": "PUSH1", + "path": "11", + "value": "0x0" + }, + "835": { + "offset": [ + 1091, + 1105 + ], + "op": "DUP1", + "path": "11" + }, + "836": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1091, + 1105 + ], + "op": "SLOAD", + "path": "11" + }, + "837": { + "op": "PUSH1", + "value": "0xFF" + }, + "839": { + "op": "PUSH1", + "value": "0xA8" + }, + "841": { + "op": "SHL" + }, + "842": { + "op": "NOT" + }, + "843": { + "offset": [ + 1091, + 1105 + ], + "op": "AND", + "path": "11" + }, + "844": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1091, + 1105 + ], + "op": "SWAP1", + "path": "11" + }, + "845": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 1091, + 1105 + ], + "op": "SSTORE", + "path": "11" + }, + "846": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2405, + 2559 + ], + "op": "SWAP7", + "path": "11" + }, + "847": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "offset": [ + 2099, + 2650 + ], + "op": "SWAP6", + "path": "11" + }, + "848": { + "op": "POP" + }, + "849": { + "op": "POP" + }, + "850": { + "op": "POP" + }, + "851": { + "op": "POP" + }, + "852": { + "op": "POP" + }, + "853": { + "op": "POP" + }, + "854": { + "fn": "DeployerSoulbound.deploySoulboundCore", + "jump": "o", + "offset": [ + 2099, + 2650 + ], + "op": "JUMP", + "path": "11" + }, + "855": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "856": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "858": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "859": { + "op": "PUSH1", + "value": "0x1" + }, + "861": { + "op": "PUSH1", + "value": "0x1" + }, + "863": { + "op": "PUSH1", + "value": "0xA0" + }, + "865": { + "op": "SHL" + }, + "866": { + "op": "SUB" + }, + "867": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "868": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "869": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "870": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x384" + }, + "874": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "875": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "877": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "878": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "882": { + "op": "PUSH1", + "value": "0xE5" + }, + "884": { + "op": "SHL" + }, + "885": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "886": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "887": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "889": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "890": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "894": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "895": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x77C" + }, + "899": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "900": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "901": { + "op": "PUSH1", + "value": "0x1" + }, + "903": { + "op": "PUSH1", + "value": "0x1" + }, + "905": { + "op": "PUSH1", + "value": "0xA0" + }, + "907": { + "op": "SHL" + }, + "908": { + "op": "SUB" + }, + "909": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 6 + }, + "910": { + "branch": 12, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "911": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH3", + "path": "0", + "value": "0x3EB" + }, + "915": { + "branch": 12, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "916": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "918": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "919": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "923": { + "op": "PUSH1", + "value": "0xE5" + }, + "925": { + "op": "SHL" + }, + "926": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "927": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "928": { + "op": "PUSH1", + "value": "0x20" + }, + "930": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "932": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "933": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "934": { + "op": "MSTORE" + }, + "935": { + "op": "PUSH1", + "value": "0x26" + }, + "937": { + "op": "PUSH1", + "value": "0x24" + }, + "939": { + "op": "DUP3" + }, + "940": { + "op": "ADD" + }, + "941": { + "op": "MSTORE" + }, + "942": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "975": { + "op": "PUSH1", + "value": "0x44" + }, + "977": { + "op": "DUP3" + }, + "978": { + "op": "ADD" + }, + "979": { + "op": "MSTORE" + }, + "980": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "987": { + "op": "PUSH1", + "value": "0xD0" + }, + "989": { + "op": "SHL" + }, + "990": { + "op": "PUSH1", + "value": "0x64" + }, + "992": { + "op": "DUP3" + }, + "993": { + "op": "ADD" + }, + "994": { + "op": "MSTORE" + }, + "995": { + "op": "PUSH1", + "value": "0x84" + }, + "997": { + "op": "ADD" + }, + "998": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "1002": { + "op": "JUMP" + }, + "1003": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1004": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH3", + "path": "0", + "statement": 7, + "value": "0x3F6" + }, + "1008": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "1009": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH3", + "path": "0", + "value": "0x487" + }, + "1013": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "1014": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1015": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "POP", + "path": "0" + }, + "1016": { + "fn": "Ownable.transferOwnership", + "jump": "o", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "1017": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "1018": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1020": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1021": { + "op": "PUSH1", + "value": "0x1" + }, + "1023": { + "op": "PUSH1", + "value": "0x1" + }, + "1025": { + "op": "PUSH1", + "value": "0xA0" + }, + "1027": { + "op": "SHL" + }, + "1028": { + "op": "SUB" + }, + "1029": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1030": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1031": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1032": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x426" + }, + "1036": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1037": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1039": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1040": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1044": { + "op": "PUSH1", + "value": "0xE5" + }, + "1046": { + "op": "SHL" + }, + "1047": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1048": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1049": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1051": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1052": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "1056": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1057": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x77C" + }, + "1061": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1062": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1063": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "statement": 8, + "value": "0x0" + }, + "1065": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SLOAD", + "path": "13" + }, + "1066": { + "op": "PUSH1", + "value": "0x1" + }, + "1068": { + "op": "PUSH1", + "value": "0xA0" + }, + "1070": { + "op": "SHL" + }, + "1071": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SWAP1", + "path": "13" + }, + "1072": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "DIV", + "path": "13" + }, + "1073": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "1075": { + "branch": 14, + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "AND", + "path": "13" + }, + "1076": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH3", + "path": "13", + "value": "0x478" + }, + "1080": { + "branch": 14, + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPI", + "path": "13" + }, + "1081": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "1083": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MLOAD", + "path": "13" + }, + "1084": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1088": { + "op": "PUSH1", + "value": "0xE5" + }, + "1090": { + "op": "SHL" + }, + "1091": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP2", + "path": "13" + }, + "1092": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MSTORE", + "path": "13" + }, + "1093": { + "op": "PUSH1", + "value": "0x20" + }, + "1095": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "1097": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP3", + "path": "13" + }, + "1098": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "ADD", + "path": "13" + }, + "1099": { + "op": "MSTORE" + }, + "1100": { + "op": "PUSH1", + "value": "0x14" + }, + "1102": { + "op": "PUSH1", + "value": "0x24" + }, + "1104": { + "op": "DUP3" + }, + "1105": { + "op": "ADD" + }, + "1106": { + "op": "MSTORE" + }, + "1107": { + "op": "PUSH20", + "value": "0x21B7B73A3930B1BA102737BA102830BAB9B2B217" + }, + "1128": { + "op": "PUSH1", + "value": "0x61" + }, + "1130": { + "op": "SHL" + }, + "1131": { + "op": "PUSH1", + "value": "0x44" + }, + "1133": { + "op": "DUP3" + }, + "1134": { + "op": "ADD" + }, + "1135": { + "op": "MSTORE" + }, + "1136": { + "op": "PUSH1", + "value": "0x64" + }, + "1138": { + "op": "ADD" + }, + "1139": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "1143": { + "op": "JUMP" + }, + "1144": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPDEST", + "path": "13" + }, + "1145": { + "fn": "Pausable.unPause", + "offset": [ + 2256, + 2261 + ], + "op": "PUSH1", + "path": "13", + "statement": 9, + "value": "0x0" + }, + "1147": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "DUP1", + "path": "13" + }, + "1148": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "13" + }, + "1149": { + "op": "PUSH1", + "value": "0xFF" + }, + "1151": { + "op": "PUSH1", + "value": "0xA0" + }, + "1153": { + "op": "SHL" + }, + "1154": { + "op": "NOT" + }, + "1155": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "13" + }, + "1156": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "13" + }, + "1157": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SSTORE", + "path": "13" + }, + "1158": { + "fn": "Pausable.unPause", + "jump": "o", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "1159": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1160": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1162": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "1163": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "1164": { + "op": "PUSH1", + "value": "0x1" + }, + "1166": { + "op": "PUSH1", + "value": "0x1" + }, + "1168": { + "op": "PUSH1", + "value": "0xA0" + }, + "1170": { + "op": "SHL" + }, + "1171": { + "op": "SUB" + }, + "1172": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 10 + }, + "1173": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "1174": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "1175": { + "op": "PUSH1", + "value": "0x1" + }, + "1177": { + "op": "PUSH1", + "value": "0x1" + }, + "1179": { + "op": "PUSH1", + "value": "0xA0" + }, + "1181": { + "op": "SHL" + }, + "1182": { + "op": "SUB" + }, + "1183": { + "op": "NOT" + }, + "1184": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "1185": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "1186": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "1187": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "1188": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP5", + "path": "0" + }, + "1189": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "1190": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 11, + "value": "0x40" + }, + "1192": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "1193": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "1194": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "1195": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "1196": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "1197": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "1198": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP4", + "path": "0" + }, + "1199": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "1200": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "1233": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP2", + "path": "0" + }, + "1234": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "1235": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "1236": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "1237": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "1238": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "1239": { + "op": "JUMPDEST" + }, + "1240": { + "op": "PUSH2", + "value": "0xC1A" + }, + "1243": { + "op": "DUP1" + }, + "1244": { + "op": "PUSH3", + "value": "0x7F8" + }, + "1248": { + "op": "DUP4" + }, + "1249": { + "op": "CODECOPY" + }, + "1250": { + "op": "ADD" + }, + "1251": { + "op": "SWAP1" + }, + "1252": { + "jump": "o", + "op": "JUMP" + }, + "1253": { + "op": "JUMPDEST" + }, + "1254": { + "op": "PUSH2", + "value": "0x1E68" + }, + "1257": { + "op": "DUP1" + }, + "1258": { + "op": "PUSH3", + "value": "0x1412" + }, + "1262": { + "op": "DUP4" + }, + "1263": { + "op": "CODECOPY" + }, + "1264": { + "op": "ADD" + }, + "1265": { + "op": "SWAP1" + }, + "1266": { + "jump": "o", + "op": "JUMP" + }, + "1267": { + "op": "JUMPDEST" + }, + "1268": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "1273": { + "op": "PUSH1", + "value": "0xE0" + }, + "1275": { + "op": "SHL" + }, + "1276": { + "op": "PUSH1", + "value": "0x0" + }, + "1278": { + "op": "MSTORE" + }, + "1279": { + "op": "PUSH1", + "value": "0x41" + }, + "1281": { + "op": "PUSH1", + "value": "0x4" + }, + "1283": { + "op": "MSTORE" + }, + "1284": { + "op": "PUSH1", + "value": "0x24" + }, + "1286": { + "op": "PUSH1", + "value": "0x0" + }, + "1288": { + "op": "REVERT" + }, + "1289": { + "op": "JUMPDEST" + }, + "1290": { + "op": "PUSH1", + "value": "0x0" + }, + "1292": { + "op": "DUP3" + }, + "1293": { + "op": "PUSH1", + "value": "0x1F" + }, + "1295": { + "op": "DUP4" + }, + "1296": { + "op": "ADD" + }, + "1297": { + "op": "SLT" + }, + "1298": { + "op": "PUSH3", + "value": "0x51B" + }, + "1302": { + "op": "JUMPI" + }, + "1303": { + "op": "PUSH1", + "value": "0x0" + }, + "1305": { + "op": "DUP1" + }, + "1306": { + "op": "REVERT" + }, + "1307": { + "op": "JUMPDEST" + }, + "1308": { + "op": "DUP2" + }, + "1309": { + "op": "CALLDATALOAD" + }, + "1310": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1319": { + "op": "DUP1" + }, + "1320": { + "op": "DUP3" + }, + "1321": { + "op": "GT" + }, + "1322": { + "op": "ISZERO" + }, + "1323": { + "op": "PUSH3", + "value": "0x539" + }, + "1327": { + "op": "JUMPI" + }, + "1328": { + "op": "PUSH3", + "value": "0x539" + }, + "1332": { + "op": "PUSH3", + "value": "0x4F3" + }, + "1336": { + "jump": "i", + "op": "JUMP" + }, + "1337": { + "op": "JUMPDEST" + }, + "1338": { + "op": "PUSH1", + "value": "0x40" + }, + "1340": { + "op": "MLOAD" + }, + "1341": { + "op": "PUSH1", + "value": "0x1F" + }, + "1343": { + "op": "DUP4" + }, + "1344": { + "op": "ADD" + }, + "1345": { + "op": "PUSH1", + "value": "0x1F" + }, + "1347": { + "op": "NOT" + }, + "1348": { + "op": "SWAP1" + }, + "1349": { + "op": "DUP2" + }, + "1350": { + "op": "AND" + }, + "1351": { + "op": "PUSH1", + "value": "0x3F" + }, + "1353": { + "op": "ADD" + }, + "1354": { + "op": "AND" + }, + "1355": { + "op": "DUP2" + }, + "1356": { + "op": "ADD" + }, + "1357": { + "op": "SWAP1" + }, + "1358": { + "op": "DUP3" + }, + "1359": { + "op": "DUP3" + }, + "1360": { + "op": "GT" + }, + "1361": { + "op": "DUP2" + }, + "1362": { + "op": "DUP4" + }, + "1363": { + "op": "LT" + }, + "1364": { + "op": "OR" + }, + "1365": { + "op": "ISZERO" + }, + "1366": { + "op": "PUSH3", + "value": "0x564" + }, + "1370": { + "op": "JUMPI" + }, + "1371": { + "op": "PUSH3", + "value": "0x564" + }, + "1375": { + "op": "PUSH3", + "value": "0x4F3" + }, + "1379": { + "jump": "i", + "op": "JUMP" + }, + "1380": { + "op": "JUMPDEST" + }, + "1381": { + "op": "DUP2" + }, + "1382": { + "op": "PUSH1", + "value": "0x40" + }, + "1384": { + "op": "MSTORE" + }, + "1385": { + "op": "DUP4" + }, + "1386": { + "op": "DUP2" + }, + "1387": { + "op": "MSTORE" + }, + "1388": { + "op": "DUP7" + }, + "1389": { + "op": "PUSH1", + "value": "0x20" + }, + "1391": { + "op": "DUP6" + }, + "1392": { + "op": "DUP9" + }, + "1393": { + "op": "ADD" + }, + "1394": { + "op": "ADD" + }, + "1395": { + "op": "GT" + }, + "1396": { + "op": "ISZERO" + }, + "1397": { + "op": "PUSH3", + "value": "0x57E" + }, + "1401": { + "op": "JUMPI" + }, + "1402": { + "op": "PUSH1", + "value": "0x0" + }, + "1404": { + "op": "DUP1" + }, + "1405": { + "op": "REVERT" + }, + "1406": { + "op": "JUMPDEST" + }, + "1407": { + "op": "DUP4" + }, + "1408": { + "op": "PUSH1", + "value": "0x20" + }, + "1410": { + "op": "DUP8" + }, + "1411": { + "op": "ADD" + }, + "1412": { + "op": "PUSH1", + "value": "0x20" + }, + "1414": { + "op": "DUP4" + }, + "1415": { + "op": "ADD" + }, + "1416": { + "op": "CALLDATACOPY" + }, + "1417": { + "op": "PUSH1", + "value": "0x0" + }, + "1419": { + "op": "PUSH1", + "value": "0x20" + }, + "1421": { + "op": "DUP6" + }, + "1422": { + "op": "DUP4" + }, + "1423": { + "op": "ADD" + }, + "1424": { + "op": "ADD" + }, + "1425": { + "op": "MSTORE" + }, + "1426": { + "op": "DUP1" + }, + "1427": { + "op": "SWAP5" + }, + "1428": { + "op": "POP" + }, + "1429": { + "op": "POP" + }, + "1430": { + "op": "POP" + }, + "1431": { + "op": "POP" + }, + "1432": { + "op": "POP" + }, + "1433": { + "op": "SWAP3" + }, + "1434": { + "op": "SWAP2" + }, + "1435": { + "op": "POP" + }, + "1436": { + "op": "POP" + }, + "1437": { + "jump": "o", + "op": "JUMP" + }, + "1438": { + "op": "JUMPDEST" + }, + "1439": { + "op": "PUSH1", + "value": "0x0" + }, + "1441": { + "op": "DUP1" + }, + "1442": { + "op": "PUSH1", + "value": "0x40" + }, + "1444": { + "op": "DUP4" + }, + "1445": { + "op": "DUP6" + }, + "1446": { + "op": "SUB" + }, + "1447": { + "op": "SLT" + }, + "1448": { + "op": "ISZERO" + }, + "1449": { + "op": "PUSH3", + "value": "0x5B2" + }, + "1453": { + "op": "JUMPI" + }, + "1454": { + "op": "PUSH1", + "value": "0x0" + }, + "1456": { + "op": "DUP1" + }, + "1457": { + "op": "REVERT" + }, + "1458": { + "op": "JUMPDEST" + }, + "1459": { + "op": "DUP3" + }, + "1460": { + "op": "CALLDATALOAD" + }, + "1461": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1470": { + "op": "DUP1" + }, + "1471": { + "op": "DUP3" + }, + "1472": { + "op": "GT" + }, + "1473": { + "op": "ISZERO" + }, + "1474": { + "op": "PUSH3", + "value": "0x5CB" + }, + "1478": { + "op": "JUMPI" + }, + "1479": { + "op": "PUSH1", + "value": "0x0" + }, + "1481": { + "op": "DUP1" + }, + "1482": { + "op": "REVERT" + }, + "1483": { + "op": "JUMPDEST" + }, + "1484": { + "op": "PUSH3", + "value": "0x5D9" + }, + "1488": { + "op": "DUP7" + }, + "1489": { + "op": "DUP4" + }, + "1490": { + "op": "DUP8" + }, + "1491": { + "op": "ADD" + }, + "1492": { + "op": "PUSH3", + "value": "0x509" + }, + "1496": { + "jump": "i", + "op": "JUMP" + }, + "1497": { + "op": "JUMPDEST" + }, + "1498": { + "op": "SWAP4" + }, + "1499": { + "op": "POP" + }, + "1500": { + "op": "PUSH1", + "value": "0x20" + }, + "1502": { + "op": "DUP6" + }, + "1503": { + "op": "ADD" + }, + "1504": { + "op": "CALLDATALOAD" + }, + "1505": { + "op": "SWAP2" + }, + "1506": { + "op": "POP" + }, + "1507": { + "op": "DUP1" + }, + "1508": { + "op": "DUP3" + }, + "1509": { + "op": "GT" + }, + "1510": { + "op": "ISZERO" + }, + "1511": { + "op": "PUSH3", + "value": "0x5F0" + }, + "1515": { + "op": "JUMPI" + }, + "1516": { + "op": "PUSH1", + "value": "0x0" + }, + "1518": { + "op": "DUP1" + }, + "1519": { + "op": "REVERT" + }, + "1520": { + "op": "JUMPDEST" + }, + "1521": { + "op": "POP" + }, + "1522": { + "op": "PUSH3", + "value": "0x5FF" + }, + "1526": { + "op": "DUP6" + }, + "1527": { + "op": "DUP3" + }, + "1528": { + "op": "DUP7" + }, + "1529": { + "op": "ADD" + }, + "1530": { + "op": "PUSH3", + "value": "0x509" + }, + "1534": { + "jump": "i", + "op": "JUMP" + }, + "1535": { + "op": "JUMPDEST" + }, + "1536": { + "op": "SWAP2" + }, + "1537": { + "op": "POP" + }, + "1538": { + "op": "POP" + }, + "1539": { + "op": "SWAP3" + }, + "1540": { + "op": "POP" + }, + "1541": { + "op": "SWAP3" + }, + "1542": { + "op": "SWAP1" + }, + "1543": { + "op": "POP" + }, + "1544": { + "jump": "o", + "op": "JUMP" + }, + "1545": { + "op": "JUMPDEST" + }, + "1546": { + "op": "DUP1" + }, + "1547": { + "op": "CALLDATALOAD" + }, + "1548": { + "op": "PUSH1", + "value": "0x1" + }, + "1550": { + "op": "PUSH1", + "value": "0x1" + }, + "1552": { + "op": "PUSH1", + "value": "0xA0" + }, + "1554": { + "op": "SHL" + }, + "1555": { + "op": "SUB" + }, + "1556": { + "op": "DUP2" + }, + "1557": { + "op": "AND" + }, + "1558": { + "op": "DUP2" + }, + "1559": { + "op": "EQ" + }, + "1560": { + "op": "PUSH3", + "value": "0x621" + }, + "1564": { + "op": "JUMPI" + }, + "1565": { + "op": "PUSH1", + "value": "0x0" + }, + "1567": { + "op": "DUP1" + }, + "1568": { + "op": "REVERT" + }, + "1569": { + "op": "JUMPDEST" + }, + "1570": { + "op": "SWAP2" + }, + "1571": { + "op": "SWAP1" + }, + "1572": { + "op": "POP" + }, + "1573": { + "jump": "o", + "op": "JUMP" + }, + "1574": { + "op": "JUMPDEST" + }, + "1575": { + "op": "PUSH1", + "value": "0x0" + }, + "1577": { + "op": "DUP1" + }, + "1578": { + "op": "PUSH1", + "value": "0x0" + }, + "1580": { + "op": "DUP1" + }, + "1581": { + "op": "PUSH1", + "value": "0x80" + }, + "1583": { + "op": "DUP6" + }, + "1584": { + "op": "DUP8" + }, + "1585": { + "op": "SUB" + }, + "1586": { + "op": "SLT" + }, + "1587": { + "op": "ISZERO" + }, + "1588": { + "op": "PUSH3", + "value": "0x63D" + }, + "1592": { + "op": "JUMPI" + }, + "1593": { + "op": "PUSH1", + "value": "0x0" + }, + "1595": { + "op": "DUP1" + }, + "1596": { + "op": "REVERT" + }, + "1597": { + "op": "JUMPDEST" + }, + "1598": { + "op": "DUP5" + }, + "1599": { + "op": "CALLDATALOAD" + }, + "1600": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1609": { + "op": "DUP1" + }, + "1610": { + "op": "DUP3" + }, + "1611": { + "op": "GT" + }, + "1612": { + "op": "ISZERO" + }, + "1613": { + "op": "PUSH3", + "value": "0x656" + }, + "1617": { + "op": "JUMPI" + }, + "1618": { + "op": "PUSH1", + "value": "0x0" + }, + "1620": { + "op": "DUP1" + }, + "1621": { + "op": "REVERT" + }, + "1622": { + "op": "JUMPDEST" + }, + "1623": { + "op": "PUSH3", + "value": "0x664" + }, + "1627": { + "op": "DUP9" + }, + "1628": { + "op": "DUP4" + }, + "1629": { + "op": "DUP10" + }, + "1630": { + "op": "ADD" + }, + "1631": { + "op": "PUSH3", + "value": "0x509" + }, + "1635": { + "jump": "i", + "op": "JUMP" + }, + "1636": { + "op": "JUMPDEST" + }, + "1637": { + "op": "SWAP6" + }, + "1638": { + "op": "POP" + }, + "1639": { + "op": "PUSH1", + "value": "0x20" + }, + "1641": { + "op": "DUP8" + }, + "1642": { + "op": "ADD" + }, + "1643": { + "op": "CALLDATALOAD" + }, + "1644": { + "op": "SWAP2" + }, + "1645": { + "op": "POP" + }, + "1646": { + "op": "DUP1" + }, + "1647": { + "op": "DUP3" + }, + "1648": { + "op": "GT" + }, + "1649": { + "op": "ISZERO" + }, + "1650": { + "op": "PUSH3", + "value": "0x67B" + }, + "1654": { + "op": "JUMPI" + }, + "1655": { + "op": "PUSH1", + "value": "0x0" + }, + "1657": { + "op": "DUP1" + }, + "1658": { + "op": "REVERT" + }, + "1659": { + "op": "JUMPDEST" + }, + "1660": { + "op": "POP" + }, + "1661": { + "op": "PUSH3", + "value": "0x68A" + }, + "1665": { + "op": "DUP8" + }, + "1666": { + "op": "DUP3" + }, + "1667": { + "op": "DUP9" + }, + "1668": { + "op": "ADD" + }, + "1669": { + "op": "PUSH3", + "value": "0x509" + }, + "1673": { + "jump": "i", + "op": "JUMP" + }, + "1674": { + "op": "JUMPDEST" + }, + "1675": { + "op": "SWAP4" + }, + "1676": { + "op": "POP" + }, + "1677": { + "op": "POP" + }, + "1678": { + "op": "PUSH3", + "value": "0x69B" + }, + "1682": { + "op": "PUSH1", + "value": "0x40" + }, + "1684": { + "op": "DUP7" + }, + "1685": { + "op": "ADD" + }, + "1686": { + "op": "PUSH3", + "value": "0x609" + }, + "1690": { + "jump": "i", + "op": "JUMP" + }, + "1691": { + "op": "JUMPDEST" + }, + "1692": { + "op": "SWAP4" + }, + "1693": { + "op": "SWAP7" + }, + "1694": { + "op": "SWAP3" + }, + "1695": { + "op": "SWAP6" + }, + "1696": { + "op": "POP" + }, + "1697": { + "op": "SWAP3" + }, + "1698": { + "op": "SWAP4" + }, + "1699": { + "op": "PUSH1", + "value": "0x60" + }, + "1701": { + "op": "ADD" + }, + "1702": { + "op": "CALLDATALOAD" + }, + "1703": { + "op": "SWAP3" + }, + "1704": { + "op": "POP" + }, + "1705": { + "op": "POP" + }, + "1706": { + "jump": "o", + "op": "JUMP" + }, + "1707": { + "op": "JUMPDEST" + }, + "1708": { + "op": "PUSH1", + "value": "0x0" + }, + "1710": { + "op": "PUSH1", + "value": "0x20" + }, + "1712": { + "op": "DUP3" + }, + "1713": { + "op": "DUP5" + }, + "1714": { + "op": "SUB" + }, + "1715": { + "op": "SLT" + }, + "1716": { + "op": "ISZERO" + }, + "1717": { + "op": "PUSH3", + "value": "0x6BE" + }, + "1721": { + "op": "JUMPI" + }, + "1722": { + "op": "PUSH1", + "value": "0x0" + }, + "1724": { + "op": "DUP1" + }, + "1725": { + "op": "REVERT" + }, + "1726": { + "op": "JUMPDEST" + }, + "1727": { + "op": "PUSH3", + "value": "0x6C9" + }, + "1731": { + "op": "DUP3" + }, + "1732": { + "op": "PUSH3", + "value": "0x609" + }, + "1736": { + "jump": "i", + "op": "JUMP" + }, + "1737": { + "op": "JUMPDEST" + }, + "1738": { + "op": "SWAP4" + }, + "1739": { + "op": "SWAP3" + }, + "1740": { + "op": "POP" + }, + "1741": { + "op": "POP" + }, + "1742": { + "op": "POP" + }, + "1743": { + "jump": "o", + "op": "JUMP" + }, + "1744": { + "op": "JUMPDEST" + }, + "1745": { + "op": "PUSH1", + "value": "0x20" + }, + "1747": { + "op": "DUP1" + }, + "1748": { + "op": "DUP3" + }, + "1749": { + "op": "MSTORE" + }, + "1750": { + "op": "PUSH1", + "value": "0x10" + }, + "1752": { + "op": "SWAP1" + }, + "1753": { + "op": "DUP3" + }, + "1754": { + "op": "ADD" + }, + "1755": { + "op": "MSTORE" + }, + "1756": { + "op": "PUSH16", + "value": "0x21B7B73A3930B1BA102830BAB9B2B217" + }, + "1773": { + "op": "PUSH1", + "value": "0x81" + }, + "1775": { + "op": "SHL" + }, + "1776": { + "op": "PUSH1", + "value": "0x40" + }, + "1778": { + "op": "DUP3" + }, + "1779": { + "op": "ADD" + }, + "1780": { + "op": "MSTORE" + }, + "1781": { + "op": "PUSH1", + "value": "0x60" + }, + "1783": { + "op": "ADD" + }, + "1784": { + "op": "SWAP1" + }, + "1785": { + "jump": "o", + "op": "JUMP" + }, + "1786": { + "op": "JUMPDEST" + }, + "1787": { + "op": "PUSH1", + "value": "0x0" + }, + "1789": { + "op": "DUP2" + }, + "1790": { + "op": "MLOAD" + }, + "1791": { + "op": "DUP1" + }, + "1792": { + "op": "DUP5" + }, + "1793": { + "op": "MSTORE" + }, + "1794": { + "op": "PUSH1", + "value": "0x0" + }, + "1796": { + "op": "JUMPDEST" + }, + "1797": { + "op": "DUP2" + }, + "1798": { + "op": "DUP2" + }, + "1799": { + "op": "LT" + }, + "1800": { + "op": "ISZERO" + }, + "1801": { + "op": "PUSH3", + "value": "0x722" + }, + "1805": { + "op": "JUMPI" + }, + "1806": { + "op": "PUSH1", + "value": "0x20" + }, + "1808": { + "op": "DUP2" + }, + "1809": { + "op": "DUP6" + }, + "1810": { + "op": "ADD" + }, + "1811": { + "op": "DUP2" + }, + "1812": { + "op": "ADD" + }, + "1813": { + "op": "MLOAD" + }, + "1814": { + "op": "DUP7" + }, + "1815": { + "op": "DUP4" + }, + "1816": { + "op": "ADD" + }, + "1817": { + "op": "DUP3" + }, + "1818": { + "op": "ADD" + }, + "1819": { + "op": "MSTORE" + }, + "1820": { + "op": "ADD" + }, + "1821": { + "op": "PUSH3", + "value": "0x704" + }, + "1825": { + "op": "JUMP" + }, + "1826": { + "op": "JUMPDEST" + }, + "1827": { + "op": "DUP2" + }, + "1828": { + "op": "DUP2" + }, + "1829": { + "op": "GT" + }, + "1830": { + "op": "ISZERO" + }, + "1831": { + "op": "PUSH3", + "value": "0x735" + }, + "1835": { + "op": "JUMPI" + }, + "1836": { + "op": "PUSH1", + "value": "0x0" + }, + "1838": { + "op": "PUSH1", + "value": "0x20" + }, + "1840": { + "op": "DUP4" + }, + "1841": { + "op": "DUP8" + }, + "1842": { + "op": "ADD" + }, + "1843": { + "op": "ADD" + }, + "1844": { + "op": "MSTORE" + }, + "1845": { + "op": "JUMPDEST" + }, + "1846": { + "op": "POP" + }, + "1847": { + "op": "PUSH1", + "value": "0x1F" + }, + "1849": { + "op": "ADD" + }, + "1850": { + "op": "PUSH1", + "value": "0x1F" + }, + "1852": { + "op": "NOT" + }, + "1853": { + "op": "AND" + }, + "1854": { + "op": "SWAP3" + }, + "1855": { + "op": "SWAP1" + }, + "1856": { + "op": "SWAP3" + }, + "1857": { + "op": "ADD" + }, + "1858": { + "op": "PUSH1", + "value": "0x20" + }, + "1860": { + "op": "ADD" + }, + "1861": { + "op": "SWAP3" + }, + "1862": { + "op": "SWAP2" + }, + "1863": { + "op": "POP" + }, + "1864": { + "op": "POP" + }, + "1865": { + "jump": "o", + "op": "JUMP" + }, + "1866": { + "op": "JUMPDEST" + }, + "1867": { + "op": "PUSH1", + "value": "0x40" + }, + "1869": { + "op": "DUP2" + }, + "1870": { + "op": "MSTORE" + }, + "1871": { + "op": "PUSH1", + "value": "0x0" + }, + "1873": { + "op": "PUSH3", + "value": "0x75F" + }, + "1877": { + "op": "PUSH1", + "value": "0x40" + }, + "1879": { + "op": "DUP4" + }, + "1880": { + "op": "ADD" + }, + "1881": { + "op": "DUP6" + }, + "1882": { + "op": "PUSH3", + "value": "0x6FA" + }, + "1886": { + "jump": "i", + "op": "JUMP" + }, + "1887": { + "op": "JUMPDEST" + }, + "1888": { + "op": "DUP3" + }, + "1889": { + "op": "DUP2" + }, + "1890": { + "op": "SUB" + }, + "1891": { + "op": "PUSH1", + "value": "0x20" + }, + "1893": { + "op": "DUP5" + }, + "1894": { + "op": "ADD" + }, + "1895": { + "op": "MSTORE" + }, + "1896": { + "op": "PUSH3", + "value": "0x773" + }, + "1900": { + "op": "DUP2" + }, + "1901": { + "op": "DUP6" + }, + "1902": { + "op": "PUSH3", + "value": "0x6FA" + }, + "1906": { + "jump": "i", + "op": "JUMP" + }, + "1907": { + "op": "JUMPDEST" + }, + "1908": { + "op": "SWAP6" + }, + "1909": { + "op": "SWAP5" + }, + "1910": { + "op": "POP" + }, + "1911": { + "op": "POP" + }, + "1912": { + "op": "POP" + }, + "1913": { + "op": "POP" + }, + "1914": { + "op": "POP" + }, + "1915": { + "jump": "o", + "op": "JUMP" + }, + "1916": { + "op": "JUMPDEST" + }, + "1917": { + "op": "PUSH1", + "value": "0x20" + }, + "1919": { + "op": "DUP1" + }, + "1920": { + "op": "DUP3" + }, + "1921": { + "op": "MSTORE" + }, + "1922": { + "op": "DUP2" + }, + "1923": { + "op": "DUP2" + }, + "1924": { + "op": "ADD" + }, + "1925": { + "op": "MSTORE" + }, + "1926": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "1959": { + "op": "PUSH1", + "value": "0x40" + }, + "1961": { + "op": "DUP3" + }, + "1962": { + "op": "ADD" + }, + "1963": { + "op": "MSTORE" + }, + "1964": { + "op": "PUSH1", + "value": "0x60" + }, + "1966": { + "op": "ADD" + }, + "1967": { + "op": "SWAP1" + }, + "1968": { + "jump": "o", + "op": "JUMP" + }, + "1969": { + "op": "JUMPDEST" + }, + "1970": { + "op": "PUSH1", + "value": "0x80" + }, + "1972": { + "op": "DUP2" + }, + "1973": { + "op": "MSTORE" + }, + "1974": { + "op": "PUSH1", + "value": "0x0" + }, + "1976": { + "op": "PUSH3", + "value": "0x7C6" + }, + "1980": { + "op": "PUSH1", + "value": "0x80" + }, + "1982": { + "op": "DUP4" + }, + "1983": { + "op": "ADD" + }, + "1984": { + "op": "DUP8" + }, + "1985": { + "op": "PUSH3", + "value": "0x6FA" + }, + "1989": { + "jump": "i", + "op": "JUMP" + }, + "1990": { + "op": "JUMPDEST" + }, + "1991": { + "op": "DUP3" + }, + "1992": { + "op": "DUP2" + }, + "1993": { + "op": "SUB" + }, + "1994": { + "op": "PUSH1", + "value": "0x20" + }, + "1996": { + "op": "DUP5" + }, + "1997": { + "op": "ADD" + }, + "1998": { + "op": "MSTORE" + }, + "1999": { + "op": "PUSH3", + "value": "0x7DA" + }, + "2003": { + "op": "DUP2" + }, + "2004": { + "op": "DUP8" + }, + "2005": { + "op": "PUSH3", + "value": "0x6FA" + }, + "2009": { + "jump": "i", + "op": "JUMP" + }, + "2010": { + "op": "JUMPDEST" + }, + "2011": { + "op": "PUSH1", + "value": "0x1" + }, + "2013": { + "op": "PUSH1", + "value": "0x1" + }, + "2015": { + "op": "PUSH1", + "value": "0xA0" + }, + "2017": { + "op": "SHL" + }, + "2018": { + "op": "SUB" + }, + "2019": { + "op": "SWAP6" + }, + "2020": { + "op": "SWAP1" + }, + "2021": { + "op": "SWAP6" + }, + "2022": { + "op": "AND" + }, + "2023": { + "op": "PUSH1", + "value": "0x40" + }, + "2025": { + "op": "DUP5" + }, + "2026": { + "op": "ADD" + }, + "2027": { + "op": "MSTORE" + }, + "2028": { + "op": "POP" + }, + "2029": { + "op": "POP" + }, + "2030": { + "op": "PUSH1", + "value": "0x60" + }, + "2032": { + "op": "ADD" + }, + "2033": { + "op": "MSTORE" + }, + "2034": { + "op": "SWAP3" + }, + "2035": { + "op": "SWAP2" + }, + "2036": { + "op": "POP" + }, + "2037": { + "op": "POP" + }, + "2038": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "4903fb82bda02032869d7c7419fcbd87041e0428", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n/// _____ ______ ______ ______ ______ ______ _____ \n/// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-. \n/// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\ \n/// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____- \n/// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/ \n\npragma solidity ^0.8.8;\n\nimport {Pausable} from \"./Pausable.sol\";\n\nimport {Soulbound} from \"../../../packages/soulbound/contracts/Soulbound.sol\";\nimport {SoulboundCore} from \"../../../packages/soulbound/contracts/SoulboundCore.sol\";\n\n/**\n* @title Daccred DeployerSoulbound.\n* @author Daccred.\n* @dev This contracts imports and provides functions\n* that deploys each imported contract.\n*/\ncontract DeployerSoulbound is Pausable {\n /// @dev Locked for re-entrancy.\n bool private locked;\n\n /**\n * @dev Protect against Re-Entrancy.\n */\n modifier nonReentrant() {\n require(!locked);\n locked = true;\n _;\n locked = false;\n }\n\n /**\n * @dev Deploys the Soulbound Contract with a set name\n * and symbol.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n *\n * @return contractAddress Deployed address.\n */\n function deploySoulbound(string memory _name, string memory _symbol)\n external\n nonReentrant\n whenNotPaused\n returns(address contractAddress)\n {\n /// @dev Deploy Soulbound contract.\n Soulbound _soulbound = new Soulbound(_name, _symbol);\n /// @dev Return address.\n contractAddress = address(_soulbound);\n }\n\n /**\n * @dev Deploys the SoulboundCore Contract with its constructor\n * parameters.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n * @param _allowlistOwner Desired owner of the contrat for sigs.\n * @param _totalSupply Desired total supply.\n *\n * @return contractAddress Deployed address.\n */\n function deploySoulboundCore(\n string memory _name, \n string memory _symbol,\n address _allowlistOwner,\n uint256 _totalSupply\n )\n external\n nonReentrant\n whenNotPaused\n returns(address contractAddress)\n {\n /// @dev Deploy SoulboundCore contract.\n SoulboundCore _soulboundCore = new SoulboundCore(\n _name, \n _symbol,\n _allowlistOwner,\n _totalSupply\n );\n /// @dev Return address.\n contractAddress = address(_soulboundCore);\n }\n}", + "sourceMap": "833:1819:11:-:0;;;;;;;;;;;;-1:-1:-1;921:32:0;719:10:5;921:18:0;:32::i;:::-;833:1819:11;;2270:187:0;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;833:1819:11:-;;;;;;;", + "sourcePath": "contracts/contracts/core/contracts/facets/DeployerSoulbound.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/DeployerSoulboundWithExtension.json b/tests/build/contracts/DeployerSoulboundWithExtension.json new file mode 100644 index 0000000..28b7882 --- /dev/null +++ b/tests/build/contracts/DeployerSoulboundWithExtension.json @@ -0,0 +1,9290 @@ +{ + "abi": [ + { + "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": [], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "UnPaused", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_priceLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenPrice", + "type": "uint256" + } + ], + "name": "deploySoulboundRedeemable", + "outputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + } + ], + "name": "deploySoulboundWithSignature", + "outputs": [ + { + "internalType": "address", + "name": "contractAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unPause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "12": "contracts/contracts/core/contracts/facets/DeployerSoulboundWithExtension.sol", + "13": "contracts/contracts/core/contracts/facets/Pausable.sol", + "39": "contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol", + "40": "contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/core/contracts/facets/DeployerSoulboundWithExtension.sol", + "exportedSymbols": { + "DeployerSoulboundWithExtension": [ + 862 + ], + "Pausable": [ + 942 + ], + "SoulboundRedeemable": [ + 5423 + ], + "SoulboundWithSignature": [ + 5516 + ] + }, + "id": 863, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 747, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "438:23:12" + }, + { + "absolutePath": "contracts/contracts/core/contracts/facets/Pausable.sol", + "file": "./Pausable.sol", + "id": 749, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 863, + "sourceUnit": 943, + "src": "463:40:12", + "symbolAliases": [ + { + "foreign": { + "id": 748, + "name": "Pausable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 942, + "src": "471:8:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol", + "file": "../../../packages/soulbound/contracts/SoulboundWithSignature.sol", + "id": 751, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 863, + "sourceUnit": 5517, + "src": "505:104:12", + "symbolAliases": [ + { + "foreign": { + "id": 750, + "name": "SoulboundWithSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5516, + "src": "513:22:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol", + "file": "../../../packages/soulbound/contracts/SoulboundRedeemable.sol", + "id": 753, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 863, + "sourceUnit": 5424, + "src": "610:98:12", + "symbolAliases": [ + { + "foreign": { + "id": 752, + "name": "SoulboundRedeemable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5423, + "src": "618:19:12", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 755, + "name": "Pausable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 942, + "src": "927:8:12" + }, + "id": 756, + "nodeType": "InheritanceSpecifier", + "src": "927:8:12" + } + ], + "canonicalName": "DeployerSoulboundWithExtension", + "contractDependencies": [ + 5423, + 5516 + ], + "contractKind": "contract", + "documentation": { + "id": 754, + "nodeType": "StructuredDocumentation", + "src": "710:173:12", + "text": " @title Daccred DeployerSoulboundWithExtension.\n @author Daccred.\n @dev This contracts imports and provides functions\n that deploys each imported contract." + }, + "fullyImplemented": true, + "id": 862, + "linearizedBaseContracts": [ + 862, + 942, + 6075, + 6410 + ], + "name": "DeployerSoulboundWithExtension", + "nameLocation": "893:30:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 757, + "nodeType": "StructuredDocumentation", + "src": "942:32:12", + "text": "@dev Locked for re-entrancy." + }, + "id": 759, + "mutability": "mutable", + "name": "locked", + "nameLocation": "992:6:12", + "nodeType": "VariableDeclaration", + "scope": 862, + "src": "979:19:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 758, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "979:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 776, + "nodeType": "Block", + "src": "1085:91:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1103:7:12", + "subExpression": { + "id": 763, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "1104:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 762, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1095:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1095:16:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 766, + "nodeType": "ExpressionStatement", + "src": "1095:16:12" + }, + { + "expression": { + "id": 769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 767, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "1121:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1130:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1121:13:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 770, + "nodeType": "ExpressionStatement", + "src": "1121:13:12" + }, + { + "id": 771, + "nodeType": "PlaceholderStatement", + "src": "1144:1:12" + }, + { + "expression": { + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 772, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 759, + "src": "1155:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1164:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "1155:14:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 775, + "nodeType": "ExpressionStatement", + "src": "1155:14:12" + } + ] + }, + "documentation": { + "id": 760, + "nodeType": "StructuredDocumentation", + "src": "1005:51:12", + "text": " @dev Protect against Re-Entrancy." + }, + "id": 777, + "name": "nonReentrant", + "nameLocation": "1070:12:12", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 761, + "nodeType": "ParameterList", + "parameters": [], + "src": "1082:2:12" + }, + "src": "1061:115:12", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 821, + "nodeType": "Block", + "src": "1993:383:12", + "statements": [ + { + "assignments": [ + 802 + ], + "declarations": [ + { + "constant": false, + "id": 802, + "mutability": "mutable", + "name": "_soulboundRedeemable", + "nameLocation": "2077:20:12", + "nodeType": "VariableDeclaration", + "scope": 821, + "src": "2057:40:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + }, + "typeName": { + "id": 801, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 800, + "name": "SoulboundRedeemable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5423, + "src": "2057:19:12" + }, + "referencedDeclaration": 5423, + "src": "2057:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Deploy SoulboundRedeemable contract.", + "id": 813, + "initialValue": { + "arguments": [ + { + "id": 806, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 780, + "src": "2137:5:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 807, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 782, + "src": "2157:7:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 808, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 784, + "src": "2178:15:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 809, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 786, + "src": "2207:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 810, + "name": "_priceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 788, + "src": "2233:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 811, + "name": "_tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 790, + "src": "2258:11:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2100:23:12", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_contract$_SoulboundRedeemable_$5423_$", + "typeString": "function (string memory,string memory,address,uint256,uint256,uint256) returns (contract SoulboundRedeemable)" + }, + "typeName": { + "id": 804, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 803, + "name": "SoulboundRedeemable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5423, + "src": "2104:19:12" + }, + "referencedDeclaration": 5423, + "src": "2104:19:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + } + } + }, + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2100:179:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2057:222:12" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 819, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 814, + "name": "contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 797, + "src": "2322:15:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 817, + "name": "_soulboundRedeemable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 802, + "src": "2348:20:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + } + ], + "id": 816, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2340:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 815, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2340:7:12", + "typeDescriptions": {} + } + }, + "id": 818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2340:29:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2322:47:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 820, + "nodeType": "ExpressionStatement", + "src": "2322:47:12" + } + ] + }, + "documentation": { + "id": 778, + "nodeType": "StructuredDocumentation", + "src": "1182:494:12", + "text": " @dev Deploys the SoulboundRedeemable Contract with its constructor\n parameters.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @param _allowlistOwner Desired owner of the contrat for sigs.\n @param _totalSupply Desired total supply.\n @param _priceLimit Desired price limit.\n @param _tokenPrice Desired token price.\n @return contractAddress Deployed address." + }, + "functionSelector": "ab184932", + "id": 822, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 793, + "kind": "modifierInvocation", + "modifierName": { + "id": 792, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 777, + "src": "1921:12:12" + }, + "nodeType": "ModifierInvocation", + "src": "1921:12:12" + }, + { + "id": 795, + "kind": "modifierInvocation", + "modifierName": { + "id": 794, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "1938:13:12" + }, + "nodeType": "ModifierInvocation", + "src": "1938:13:12" + } + ], + "name": "deploySoulboundRedeemable", + "nameLocation": "1690:25:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 780, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1739:5:12", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "1725:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 779, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1725:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 782, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1769:7:12", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "1755:21:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 781, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1755:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 784, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "1794:15:12", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "1786:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 783, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1786:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 786, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1827:12:12", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "1819:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1819:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 788, + "mutability": "mutable", + "name": "_priceLimit", + "nameLocation": "1857:11:12", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "1849:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 787, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1849:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 790, + "mutability": "mutable", + "name": "_tokenPrice", + "nameLocation": "1886:11:12", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "1878:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 789, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1878:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1715:188:12" + }, + "returnParameters": { + "id": 798, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 797, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "1972:15:12", + "nodeType": "VariableDeclaration", + "scope": 822, + "src": "1964:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1964:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1963:25:12" + }, + "scope": 862, + "src": "1681:695:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 860, + "nodeType": "Block", + "src": "3035:347:12", + "statements": [ + { + "assignments": [ + 843 + ], + "declarations": [ + { + "constant": false, + "id": 843, + "mutability": "mutable", + "name": "_soulboundWithSignature", + "nameLocation": "3124:23:12", + "nodeType": "VariableDeclaration", + "scope": 860, + "src": "3101:46:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundWithSignature_$5516", + "typeString": "contract SoulboundWithSignature" + }, + "typeName": { + "id": 842, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 841, + "name": "SoulboundWithSignature", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5516, + "src": "3101:22:12" + }, + "referencedDeclaration": 5516, + "src": "3101:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundWithSignature_$5516", + "typeString": "contract SoulboundWithSignature" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Deploy SoulboundWthSignature contract.", + "id": 852, + "initialValue": { + "arguments": [ + { + "id": 847, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 825, + "src": "3190:5:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 848, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 827, + "src": "3210:7:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 849, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 829, + "src": "3231:15:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 850, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 831, + "src": "3260:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "3150:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_creation_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$_t_contract$_SoulboundWithSignature_$5516_$", + "typeString": "function (string memory,string memory,address,uint256) returns (contract SoulboundWithSignature)" + }, + "typeName": { + "id": 845, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 844, + "name": "SoulboundWithSignature", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5516, + "src": "3154:22:12" + }, + "referencedDeclaration": 5516, + "src": "3154:22:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundWithSignature_$5516", + "typeString": "contract SoulboundWithSignature" + } + } + }, + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3150:132:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundWithSignature_$5516", + "typeString": "contract SoulboundWithSignature" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3101:181:12" + }, + { + "documentation": "@dev Return address.", + "expression": { + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 853, + "name": "contractAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "3325:15:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 856, + "name": "_soulboundWithSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 843, + "src": "3351:23:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundWithSignature_$5516", + "typeString": "contract SoulboundWithSignature" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SoulboundWithSignature_$5516", + "typeString": "contract SoulboundWithSignature" + } + ], + "id": 855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3343:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3343:7:12", + "typeDescriptions": {} + } + }, + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3343:32:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3325:50:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 859, + "nodeType": "ExpressionStatement", + "src": "3325:50:12" + } + ] + }, + "documentation": { + "id": 823, + "nodeType": "StructuredDocumentation", + "src": "2382:391:12", + "text": " @dev Deploys the SoulboundWithSignature Contract with its constructor\n parameters.\n @param _name Name of token.\n @param _symbol Desired symbol.\n @param _allowlistOwner Desired owner of the contrat for sigs.\n @param _totalSupply Desired total supply.\n @return contractAddress Deployed address." + }, + "functionSelector": "0b33c33a", + "id": 861, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 834, + "kind": "modifierInvocation", + "modifierName": { + "id": 833, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 777, + "src": "2963:12:12" + }, + "nodeType": "ModifierInvocation", + "src": "2963:12:12" + }, + { + "id": 836, + "kind": "modifierInvocation", + "modifierName": { + "id": 835, + "name": "whenNotPaused", + "nodeType": "IdentifierPath", + "referencedDeclaration": 899, + "src": "2980:13:12" + }, + "nodeType": "ModifierInvocation", + "src": "2980:13:12" + } + ], + "name": "deploySoulboundWithSignature", + "nameLocation": "2787:28:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 825, + "mutability": "mutable", + "name": "_name", + "nameLocation": "2839:5:12", + "nodeType": "VariableDeclaration", + "scope": 861, + "src": "2825:19:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 824, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2825:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 827, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "2869:7:12", + "nodeType": "VariableDeclaration", + "scope": 861, + "src": "2855:21:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 826, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2855:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 829, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "2894:15:12", + "nodeType": "VariableDeclaration", + "scope": 861, + "src": "2886:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2886:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 831, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "2927:12:12", + "nodeType": "VariableDeclaration", + "scope": 861, + "src": "2919:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 830, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2919:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2815:130:12" + }, + "returnParameters": { + "id": 839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 838, + "mutability": "mutable", + "name": "contractAddress", + "nameLocation": "3014:15:12", + "nodeType": "VariableDeclaration", + "scope": 861, + "src": "3006:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3006:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3005:25:12" + }, + "scope": 862, + "src": "2778:604:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 863, + "src": "884:2500:12", + "usedErrors": [] + } + ], + "src": "438:2946:12" + }, + "bytecode": "608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b615bc28061007e6000396000f3fe60806040523480156200001157600080fd5b5060043610620000935760003560e01c8063ab1849321162000062578063ab18493214620000f4578063b187bd26146200010b578063f2fde38b1462000129578063f7b188a5146200014057600080fd5b80630b33c33a1462000098578063715018a614620000cc5780638456cb5914620000d85780638da5cb5b14620000e2575b600080fd5b620000af620000a9366004620005c7565b6200014a565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d662000203565b005b620000d66200023e565b6000546001600160a01b0316620000af565b620000af620001053660046200064c565b620002ad565b600054600160a01b900460ff166040519015158152602001620000c3565b620000d66200013a366004620006e5565b62000363565b620000d662000405565b60008054600160a81b900460ff16156200016357600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620001ab5760405162461bcd60e51b8152600401620001a2906200070a565b60405180910390fd5b600085858585604051620001bf90620004e3565b620001ce949392919062000784565b604051809103906000f080158015620001eb573d6000803e3d6000fd5b506000805460ff60a81b191690559695505050505050565b6000546001600160a01b03163314620002305760405162461bcd60e51b8152600401620001a290620007ca565b6200023c600062000493565b565b6000546001600160a01b031633146200026b5760405162461bcd60e51b8152600401620001a290620007ca565b600054600160a01b900460ff1615620002985760405162461bcd60e51b8152600401620001a2906200070a565b6000805460ff60a01b1916600160a01b179055565b60008054600160a81b900460ff1615620002c657600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620003055760405162461bcd60e51b8152600401620001a2906200070a565b60008787878787876040516200031b90620004f1565b6200032c96959493929190620007ff565b604051809103906000f08015801562000349573d6000803e3d6000fd5b506000805460ff60a81b1916905598975050505050505050565b6000546001600160a01b03163314620003905760405162461bcd60e51b8152600401620001a290620007ca565b6001600160a01b038116620003f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620001a2565b620004028162000493565b50565b6000546001600160a01b03163314620004325760405162461bcd60e51b8152600401620001a290620007ca565b600054600160a01b900460ff16620004845760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b6044820152606401620001a2565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611ff5806200085883390190565b613340806200284d83390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200052757600080fd5b813567ffffffffffffffff80821115620005455762000545620004ff565b604051601f8301601f19908116603f01168101908282118183101715620005705762000570620004ff565b816040528381528660208588010111156200058a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b0381168114620005c257600080fd5b919050565b60008060008060808587031215620005de57600080fd5b843567ffffffffffffffff80821115620005f757600080fd5b620006058883890162000515565b955060208701359150808211156200061c57600080fd5b506200062b8782880162000515565b9350506200063c60408601620005aa565b9396929550929360600135925050565b60008060008060008060c087890312156200066657600080fd5b863567ffffffffffffffff808211156200067f57600080fd5b6200068d8a838b0162000515565b97506020890135915080821115620006a457600080fd5b50620006b389828a0162000515565b955050620006c460408801620005aa565b9350606087013592506080870135915060a087013590509295509295509295565b600060208284031215620006f857600080fd5b6200070382620005aa565b9392505050565b60208082526010908201526f21b7b73a3930b1ba102830bab9b2b21760811b604082015260600190565b6000815180845260005b818110156200075c576020818501810151868301820152016200073e565b818111156200076f576000602083870101525b50601f01601f19169290920160200192915050565b60808152600062000799608083018762000734565b8281036020840152620007ad818762000734565b6001600160a01b0395909516604084015250506060015292915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60c0815260006200081460c083018962000734565b828103602084015262000828818962000734565b6001600160a01b0397909716604084015250506060810193909352608083019190915260a0909101529291505056fe60806040523480156200001157600080fd5b5060405162001ff538038062001ff5833981016040819052620000349162000235565b83838383818484818160006200004b838262000357565b5060016200005a828262000357565b50505062000077620000716200011260201b60201c565b62000116565b50506001600160a01b038116620000c75760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b604482015260640160405180910390fd5b600880546001600160a01b0319166001600160a01b03929092169190911790556000819003620000fe57620f424060095562000104565b60098190555b505050505050505062000423565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019057600080fd5b81516001600160401b0380821115620001ad57620001ad62000168565b604051601f8301601f19908116603f01168101908282118183101715620001d857620001d862000168565b81604052838152602092508683858801011115620001f557600080fd5b600091505b83821015620002195785820183015181830184015290820190620001fa565b838211156200022b5760008385830101525b9695505050505050565b600080600080608085870312156200024c57600080fd5b84516001600160401b03808211156200026457600080fd5b62000272888389016200017e565b955060208701519150808211156200028957600080fd5b5062000298878288016200017e565b604087015190945090506001600160a01b0381168114620002b857600080fd5b6060959095015193969295505050565b600181811c90821680620002dd57607f821691505b602082108103620002fe57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200035257600081815260208120601f850160051c810160208610156200032d5750805b601f850160051c820191505b818110156200034e5782815560010162000339565b5050505b505050565b81516001600160401b0381111562000373576200037362000168565b6200038b81620003848454620002c8565b8462000304565b602080601f831160018114620003c35760008415620003aa5750858301515b600019600386901b1c1916600185901b1785556200034e565b600085815260208120601f198616915b82811015620003f457888601518255948401946001909101908401620003d3565b5085821015620004135787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611bc280620004336000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806388433651116100b8578063c9e4c54d1161007c578063c9e4c54d146102b7578063daca6f78146102ca578063e92b0842146102dd578063ea5353c7146102f0578063f2fde38b14610303578063fb8f198d1461031657600080fd5b806388433651146102705780638da5cb5b1461028357806395d89b4114610294578063c87b56dd1461029c578063c9dd94c7146102af57600080fd5b806342966c681161010a57806342966c68146101bf5780635899e7b2146101d25780636352211e1461020b5780636e0a87461461023657806370a0823114610247578063715018a61461026857600080fd5b806301ffc9a71461014757806306fdde031461016f57806308c92e57146101845780631f04d13514610199578063210fa96b146101ac575b600080fd5b61015a6101553660046115bf565b610329565b60405190151581526020015b60405180910390f35b61017761037b565b6040516101669190611619565b6101976101923660046116ef565b61040d565b005b6101976101a73660046116ef565b610548565b6101776101ba36600461173f565b6105e4565b6101976101cd36600461173f565b610666565b61015a6101e0366004611774565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b61021e61021936600461173f565b6106db565b6040516001600160a01b039091168152602001610166565b6008546001600160a01b031661021e565b61025a61025536600461179e565b610740565b604051908152602001610166565b6101976107c9565b61019761027e3660046117b9565b6107ff565b6005546001600160a01b031661021e565b61017761089c565b6101776102aa36600461173f565b6108ab565b6101776109a0565b6101976102c5366004611807565b6109fd565b61015a6102d836600461188f565b610b32565b61015a6102eb3660046118c0565b610b45565b6101976102fe366004611807565b610bd9565b61019761031136600461179e565b610c74565b61021e610324366004611774565b610d0c565b60006001600160e01b03198216635b5e139f60e01b148061035a57506001600160e01b03198216635164cf4760e01b145b8061037557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461038a90611917565b80601f01602080910402602001604051908101604052809291908181526020018280546103b690611917565b80156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b61041681610e20565b6104675760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104b35760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b6104bd8383610b32565b6105055760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610517610511826106db565b82610e3d565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6005546001600160a01b031633146105725760405162461bcd60e51b815260040161045e90611951565b600a541561059457600a805490600061058a8361199c565b91905055506105d4565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b604482015260640161045e565b6105df83838361040d565b505050565b60606105ee6109a0565b5160000361062e5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6106366109a0565b61063f83610f05565b6040516020016106509291906119b3565b6040516020818303038152906040529050919050565b61066f816106db565b6001600160a01b0316336001600160a01b0316146106cf5760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e6572000000000000604482015260640161045e565b6106d88161100e565b50565b6000818152600260205260408120546001600160a01b0316806103755760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e277420657869737400000000604482015260640161045e565b60006001600160a01b0382166107ad5760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b606482015260840161045e565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b031633146107f35760405162461bcd60e51b815260040161045e90611951565b6107fd60006110b5565b565b6005546001600160a01b031633146108295760405162461bcd60e51b815260040161045e90611951565b8161083c6008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146108935760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b604482015260640161045e565b6105df82611107565b60606001805461038a90611917565b60606108b682610e20565b6109025760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e2774206578697374000000604482015260640161045e565b6000828152600360205260409020805461091b90611917565b80601f016020809104026020016040519081016040528092919081815260200182805461094790611917565b80156109945780601f1061096957610100808354040283529160200191610994565b820191906000526020600020905b81548152906001019060200180831161097757829003601f168201915b50505050509050919050565b6060600680546109af90611917565b90506000036109f05760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6006805461038a90611917565b6001600160a01b038516610a4b5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b8251604114610a975760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b610aa18484610b32565b610ae95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610af4858383611159565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610b3e8383611170565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610baf573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610c035760405162461bcd60e51b815260040161045e90611951565b600954600a5410610c4b5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b604482015260640161045e565b610c5885858585856109fd565b600a8054906000610c68836119e2565b91905055505050505050565b6005546001600160a01b03163314610c9e5760405162461bcd60e51b815260040161045e90611951565b6001600160a01b038116610d035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161045e565b6106d8816110b5565b60006001600160a01b038316610d645760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e000000000000000000604482015260640161045e565b610d6d82610e20565b610daf5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610dc2836106db565b6001600160a01b031614610e185760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610e4882610e20565b610e8a5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610e9d836106db565b6001600160a01b031614610ef35760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b610efc82611316565b50600192915050565b606081600003610f2c5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610f565780610f40816119e2565b9150610f4f9050600a83611a11565b9150610f30565b60008167ffffffffffffffff811115610f7157610f7161164c565b6040519080825280601f01601f191660200182016040528015610f9b576020820181803683370190505b5090505b841561100657610fb0600183611a25565b9150610fbd600a86611a3c565b610fc8906030611a50565b60f81b818381518110610fdd57610fdd611a68565b60200101906001600160f81b031916908160001a905350610fff600a86611a11565b9450610f9f565b949350505050565b6000611019826106db565b6001600160a01b03811660009081526004602052604081208054929350600192909190611047908490611a25565b9091555050600082815260026020908152604080832080546001600160a01b03191690556003909152812061107b91611571565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036111495760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b604482015260640161045e565b60066111558282611acc565b5050565b60006111668484846113ac565b5060019392505050565b6005546000906001600160a01b0316331461119d5760405162461bcd60e51b815260040161045e90611951565b6005546001600160a01b0316331461120b5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b606482015260840161045e565b815160411461125c5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e6774680000604482015260640161045e565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa1580156112c0573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61131f81610e20565b61136b5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e0000000000000000604482015260640161045e565b6000611376826106db565b90506113818261100e565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b0383166113fa5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b805160000361143d5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b604482015260640161045e565b61144883838361147a565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061148583610e20565b156114c95760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b604482015260640161045e565b6001600160a01b03841660009081526004602052604081208054600192906114f2908490611a50565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206115328382611acc565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461157d90611917565b6000825580601f1061158d575050565b601f0160209004906000526020600020908101906106d891905b808211156115bb57600081556001016115a7565b5090565b6000602082840312156115d157600080fd5b81356001600160e01b031981168114610b3e57600080fd5b60005b838110156116045781810151838201526020016115ec565b83811115611613576000848401525b50505050565b60208152600082518060208401526116388160408501602087016115e9565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261167357600080fd5b813567ffffffffffffffff8082111561168e5761168e61164c565b604051601f8301601f19908116603f011681019082821181831017156116b6576116b661164c565b816040528381528660208588010111156116cf57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561170457600080fd5b83359250602084013567ffffffffffffffff81111561172257600080fd5b61172e86828701611662565b925050604084013590509250925092565b60006020828403121561175157600080fd5b5035919050565b80356001600160a01b038116811461176f57600080fd5b919050565b6000806040838503121561178757600080fd5b61179083611758565b946020939093013593505050565b6000602082840312156117b057600080fd5b610b3e82611758565b600080604083850312156117cc57600080fd5b6117d583611758565b9150602083013567ffffffffffffffff8111156117f157600080fd5b6117fd85828601611662565b9150509250929050565b600080600080600060a0868803121561181f57600080fd5b61182886611758565b945060208601359350604086013567ffffffffffffffff8082111561184c57600080fd5b61185889838a01611662565b945060608801359350608088013591508082111561187557600080fd5b5061188288828901611662565b9150509295509295909350565b600080604083850312156118a257600080fd5b82359150602083013567ffffffffffffffff8111156117f157600080fd5b6000806000606084860312156118d557600080fd5b6118de84611758565b925060208401359150604084013567ffffffffffffffff81111561190157600080fd5b61190d86828701611662565b9150509250925092565b600181811c9082168061192b57607f821691505b60208210810361194b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816119ab576119ab611986565b506000190190565b600083516119c58184602088016115e9565b8351908301906119d98183602088016115e9565b01949350505050565b6000600182016119f4576119f4611986565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611a2057611a206119fb565b500490565b600082821015611a3757611a37611986565b500390565b600082611a4b57611a4b6119fb565b500690565b60008219821115611a6357611a63611986565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156105df57600081815260208120601f850160051c81016020861015611aa55750805b601f850160051c820191505b81811015611ac457828155600101611ab1565b505050505050565b815167ffffffffffffffff811115611ae657611ae661164c565b611afa81611af48454611917565b84611a7e565b602080601f831160018114611b2f5760008415611b175750858301515b600019600386901b1c1916600185901b178555611ac4565b600085815260208120601f198616915b82811015611b5e57888601518255948401946001909101908401611b3f565b5085821015611b7c5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b1ceaa4c757b20410497822c8f13d0bec45391587c052ebd71ae5059a9d86a0d64736f6c634300080f00336080604052600f6012553480156200001657600080fd5b50604051620033403803806200334083398101604081905262000039916200029f565b858585858383838381848481816001620000548382620003d7565b506002620000638282620003d7565b505050620000806200007a6200017c60201b60201c565b62000180565b50506001600160a01b038116620000d15760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b60448201526064015b60405180910390fd5b600980546001600160a01b0319166001600160a01b039290921691909117905560008190036200010857620f4240600a556200010e565b600a8190555b505050505050505081811115620001685760405162461bcd60e51b815260206004820152601860248201527f507269636520686967686572207468616e206c696d69742e00000000000000006044820152606401620000c8565b600e91909155600f5550620004a392505050565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001fa57600080fd5b81516001600160401b0380821115620002175762000217620001d2565b604051601f8301601f19908116603f01168101908282118183101715620002425762000242620001d2565b816040528381526020925086838588010111156200025f57600080fd5b600091505b8382101562000283578582018301518183018401529082019062000264565b83821115620002955760008385830101525b9695505050505050565b60008060008060008060c08789031215620002b957600080fd5b86516001600160401b0380821115620002d157600080fd5b620002df8a838b01620001e8565b97506020890151915080821115620002f657600080fd5b506200030589828a01620001e8565b604089015190965090506001600160a01b03811681146200032557600080fd5b80945050606087015192506080870151915060a087015190509295509295509295565b600181811c908216806200035d57607f821691505b6020821081036200037e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d257600081815260208120601f850160051c81016020861015620003ad5750805b601f850160051c820191505b81811015620003ce57828155600101620003b9565b5050505b505050565b81516001600160401b03811115620003f357620003f3620001d2565b6200040b8162000404845462000348565b8462000384565b602080601f8311600181146200044357600084156200042a5750858301515b600019600386901b1c1916600185901b178555620003ce565b600085815260208120601f198616915b82811015620004745788860151825594840194600190910190840162000453565b5085821015620004935787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612e8d80620004b36000396000f3fe6080604052600436106101fa5760003560e01c806395d89b411161010c578063daca6f781161009a578063ed7347301161006c578063ed734730146105ef578063f2fde38b14610602578063f577a50014610622578063fad54de714610652578063fb8f198d1461066757005b8063daca6f781461056f578063e8c587631461058f578063e92b0842146105af578063ea5353c7146105cf57005b8063bd97a6ad116100de578063bd97a6ad146104da578063c3cab38a146104fa578063c87b56dd1461051a578063c9dd94c71461053a578063c9e4c54d1461054f57005b806395d89b411461048a578063983a8b941461049f578063a0b97daa146104b2578063bd131786146104c757005b806351cff8d9116101895780636e0a87461161015b5780636e0a8746146103f957806370a0823114610417578063715018a614610437578063884336511461044c5780638da5cb5b1461046c57005b806351cff8d9146103205780635899e7b2146103405780636352211e146103865780636833f200146103be57005b80631f04d135116101cd5780631f04d1351461029a578063210fa96b146102ba57806333e085c1146102da5780633d1a350e146102ed57806342966c681461030057005b8062e4768b1461020357806301ffc9a71461022357806306fdde031461025857806308c92e571461027a57005b3661020157005b005b34801561020f57600080fd5b5061020161021e366004612719565b610687565b34801561022f57600080fd5b5061024361023e366004612743565b610756565b60405190151581526020015b60405180910390f35b34801561026457600080fd5b5061026d6107a8565b60405161024f919061279d565b34801561028657600080fd5b50610201610295366004612873565b61083a565b3480156102a657600080fd5b506102016102b5366004612873565b610970565b3480156102c657600080fd5b5061026d6102d53660046128c3565b610a0c565b6102016102e8366004612719565b610a8e565b6102016102fb3660046128dc565b610da6565b34801561030c57600080fd5b5061020161031b3660046128c3565b611098565b34801561032c57600080fd5b5061020161033b36600461290f565b61110d565b34801561034c57600080fd5b5061024361035b366004612719565b6001600160a01b03919091166000908152600860209081526040808320938352929052205460ff1690565b34801561039257600080fd5b506103a66103a13660046128c3565b611263565b6040516001600160a01b03909116815260200161024f565b3480156103ca57600080fd5b506103eb6103d93660046128c3565b60009081526020819052604090205490565b60405190815260200161024f565b34801561040557600080fd5b506009546001600160a01b03166103a6565b34801561042357600080fd5b506103eb61043236600461290f565b6112c8565b34801561044357600080fd5b50610201611351565b34801561045857600080fd5b5061020161046736600461292a565b611387565b34801561047857600080fd5b506006546001600160a01b03166103a6565b34801561049657600080fd5b5061026d6113fd565b6102016104ad366004612978565b61140c565b3480156104be57600080fd5b50600e546103eb565b6102016104d5366004612978565b611504565b3480156104e657600080fd5b506102016104f53660046129f2565b6115e9565b34801561050657600080fd5b50610201610515366004612a34565b6117dd565b34801561052657600080fd5b5061026d6105353660046128c3565b611835565b34801561054657600080fd5b5061026d61192a565b34801561055b57600080fd5b5061020161056a366004612a56565b611987565b34801561057b57600080fd5b5061024361058a366004612ade565b611a94565b34801561059b57600080fd5b506103eb6105aa3660046128c3565b611aa7565b3480156105bb57600080fd5b506102436105ca366004612b0f565b611ae4565b3480156105db57600080fd5b506102016105ea366004612a56565b611b78565b6102016105fd3660046128dc565b611bf7565b34801561060e57600080fd5b5061020161061d36600461290f565b611da3565b34801561062e57600080fd5b5061024361063d3660046128c3565b60009081526020819052604090205442111590565b34801561065e57600080fd5b50600f546103eb565b34801561067357600080fd5b506103a6610682366004612719565b611e3b565b6006546001600160a01b031633146106ba5760405162461bcd60e51b81526004016106b190612b66565b60405180910390fd5b816106cd6009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146106fd5760405162461bcd60e51b81526004016106b190612b9b565b600e5482111561074f5760405162461bcd60e51b815260206004820152601860248201527f507269636520686967686572207468616e206c696d69742e000000000000000060448201526064016106b1565b50600f5550565b60006001600160e01b03198216635b5e139f60e01b148061078757506001600160e01b03198216635164cf4760e01b145b806107a257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546107b790612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546107e390612bc9565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b5050505050905090565b61084381611f4f565b61088f5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064016106b1565b81516041146108db5760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b6108e58383611a94565b61092d5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b61093f61093982611263565b82611f6c565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6006546001600160a01b0316331461099a5760405162461bcd60e51b81526004016106b190612b66565b600b54156109bc57600b80549060006109b283612c19565b91905055506109fc565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b60448201526064016106b1565b610a0783838361083a565b505050565b6060610a1661192a565b51600003610a565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b610a5e61192a565b610a6783612034565b604051602001610a78929190612c30565b6040516020818303038152906040529050919050565b6006546001600160a01b03163314610ab85760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610ac857600080fd5b6013805460ff191660011790556001600160a01b038216610afb5760405162461bcd60e51b81526004016106b190612c5f565b610b0481611f4f565b15610b515760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008181526010602052604090205460ff16610ba95760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000818152601160205260409020546001600160a01b03838116911614610c0a5760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b600081815260208190526040902054421115610c795760405162461bcd60e51b815260206004820152602860248201527f526563656976616c206f66206578706972656420746f6b656e2c20726564656560448201526736903a37b5b2b71760c11b60648201526084016106b1565b600f54341015610ccb5760405162461bcd60e51b815260206004820152601c60248201527f5072696365206c6f776572207468616e20746f6b656e20636f73742e0000000060448201526064016106b1565b6000600f54341115610d1f57600f54610ce49034612c8e565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610d1d573d6000803e3d6000fd5b505b6000610d2a83610a0c565b9050610d3784848361213d565b50600c8054906000610d4883612ca5565b9190505550600f54600d6000828254610d619190612cbe565b909155505050600091825250601060209081526040808320805460ff19908116909155601190925290912080546001600160a01b031916905560138054909116905550565b6006546001600160a01b03163314610dd05760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610de057600080fd5b6013805460ff191660011790556001600160a01b038316610e435760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b610e4c82611f4f565b610ea25760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e206f66206e6f6e2d6578697374696e6720746f6b656e6044820152601760f91b60648201526084016106b1565b60008281526010602052604090205460ff1615610ef85760405162461bcd60e51b81526020600482015260146024820152732a37b5b2b71039ba34b636103832b73234b7339760611b60448201526064016106b1565b826001600160a01b0316610f0b83611263565b6001600160a01b031614610f545760405162461bcd60e51b815260206004820152601060248201526f2737ba103a37b5b2b71037bbb732b91760811b60448201526064016106b1565b6000828152602081905260409020544211610fa45760405162461bcd60e51b815260206004820152601060248201526f2a37b5b2b7103ab732bc3834b932b21760811b60448201526064016106b1565b6000610fb1601254612154565b9050803410156110035760405162461bcd60e51b815260206004820181905260248201527f5072696365206c6f776572207468616e20726564656d7074696f6e207461782e60448201526064016106b1565b60008115611050576110158234612c8e565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f1935050505015801561104e573d6000803e3d6000fd5b505b61105a84846117dd565b604051839085907f6f73b7b8d37df32ea60a45eadc8fc3d2d716d705ee099bd506817482ce84731690600090a350506013805460ff19169055505050565b6110a181611263565b6001600160a01b0316336001600160a01b0316146111015760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064016106b1565b61110a81612190565b50565b6006546001600160a01b031633146111375760405162461bcd60e51b81526004016106b190612b66565b8061114a6009546001600160a01b031690565b6001600160a01b0316816001600160a01b03161461117a5760405162461bcd60e51b81526004016106b190612b9b565b6001600160a01b0382166111d05760405162461bcd60e51b815260206004820152601860248201527f53656e64696e6720746f207a65726f20616464726573732e000000000000000060448201526064016106b1565b600d544710156112225760405162461bcd60e51b815260206004820152601c60248201527f526576656e756520213d20436f6e74726163742062616c616e63652e0000000060448201526064016106b1565b600d546040516001600160a01b0384169180156108fc02916000818181858888f19350505050158015611259573d6000803e3d6000fd5b50506000600d5550565b6000818152600360205260408120546001600160a01b0316806107a25760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016106b1565b60006001600160a01b0382166113355760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016106b1565b506001600160a01b031660009081526005602052604090205490565b6006546001600160a01b0316331461137b5760405162461bcd60e51b81526004016106b190612b66565b6113856000612237565b565b6006546001600160a01b031633146113b15760405162461bcd60e51b81526004016106b190612b66565b816113c46009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146113f45760405162461bcd60e51b81526004016106b190612b9b565b610a0782612289565b6060600280546107b790612bc9565b6006546001600160a01b031633146114365760405162461bcd60e51b81526004016106b190612b66565b856114496009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146114795760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561148957600080fd5b6013805460ff191660011790556114a08383611a94565b6114e65760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686610da6565b50506013805460ff191690555050505050565b6006546001600160a01b0316331461152e5760405162461bcd60e51b81526004016106b190612b66565b856115416009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146115715760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561158157600080fd5b6013805460ff191660011790556115988383611a94565b6115de5760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686611bf7565b6006546001600160a01b031633146116135760405162461bcd60e51b81526004016106b190612b66565b836116266009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146116565760405162461bcd60e51b81526004016106b190612b9b565b600a54600b541061169e5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6001600160a01b0384166116c45760405162461bcd60e51b81526004016106b190612c5f565b6116cd83611f4f565b1561171a5760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008381526010602052604090205460ff16156117795760405162461bcd60e51b815260206004820152601e60248201527f4d696e74206f6620616c72656164792070656e64696e6720746f6b656e2e000060448201526064016106b1565b6000838152601060209081526040808320805460ff191660011790556011909152902080546001600160a01b0386166001600160a01b03199091161790556117c183836117dd565b600b80549060006117d183612ca5565b91905055505050505050565b6117e78142612cbe565b600083815260208181526040918290209290925580518481529182018390527f41a73beb1018a8b63e0f451a8a4f483806142cf14be45b1a58a23776a1e9b4bc910160405180910390a15050565b606061184082611f4f565b61188c5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016106b1565b600082815260046020526040902080546118a590612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546118d190612bc9565b801561191e5780601f106118f35761010080835404028352916020019161191e565b820191906000526020600020905b81548152906001019060200180831161190157829003601f168201915b50505050509050919050565b60606007805461193990612bc9565b905060000361197a5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b600780546107b790612bc9565b6001600160a01b0385166119ad5760405162461bcd60e51b81526004016106b190612c5f565b82516041146119f95760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b611a038484611a94565b611a4b5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b611a5685838361213d565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000611aa083836122db565b9392505050565b600081815260208190526040812054421115611ac557506000919050565b6000828152602081905260409020546107a2904290612c8e565b919050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015611b4e573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6006546001600160a01b03163314611ba25760405162461bcd60e51b81526004016106b190612b66565b600a54600b5410611bea5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6117c18585858585611987565b6006546001600160a01b03163314611c215760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615611c3157600080fd5b6013805460ff191660011790556001600160a01b038316611c945760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b611c9d82611f4f565b15611cea5760405162461bcd60e51b815260206004820152601d60248201527f526564656d7074696f6e206f66206578697374696e6720746f6b656e2e00000060448201526064016106b1565b60008281526010602052604090205460ff16611d425760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000828152601160205260409020546001600160a01b03848116911614610f545760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b6006546001600160a01b03163314611dcd5760405162461bcd60e51b81526004016106b190612b66565b6001600160a01b038116611e325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b1565b61110a81612237565b60006001600160a01b038316611e935760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016106b1565b611e9c82611f4f565b611ede5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611ef183611263565b6001600160a01b031614611f475760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b503092915050565b6000908152600360205260409020546001600160a01b0316151590565b6000611f7782611f4f565b611fb95760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611fcc83611263565b6001600160a01b0316146120225760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b61202b82612481565b50600192915050565b60608160000361205b5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612085578061206f81612ca5565b915061207e9050600a83612cec565b915061205f565b60008167ffffffffffffffff8111156120a0576120a06127d0565b6040519080825280601f01601f1916602001820160405280156120ca576020820181803683370190505b5090505b8415612135576120df600183612c8e565b91506120ec600a86612d00565b6120f7906030612cbe565b60f81b81838151811061210c5761210c612d14565b60200101906001600160f81b031916908160001a90535061212e600a86612cec565b94506120ce565b949350505050565b600061214a848484612517565b5060019392505050565b600064746a528800600d54101561216a57600091505b6103e8600d548361217b9190612d2a565b61218690600a612d2a565b6107a29190612cec565b600061219b82611263565b6001600160a01b038116600090815260056020526040812080549293506001929091906121c9908490612c8e565b9091555050600082815260036020908152604080832080546001600160a01b0319169055600490915281206121fd916126b4565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036122cb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b60448201526064016106b1565b60076122d78282612d97565b5050565b6006546000906001600160a01b031633146123085760405162461bcd60e51b81526004016106b190612b66565b6006546001600160a01b031633146123765760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b60648201526084016106b1565b81516041146123c75760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e677468000060448201526064016106b1565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa15801561242b573d6000803e3d6000fd5b5050604051601f198101516009549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61248a81611f4f565b6124d65760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e000000000000000060448201526064016106b1565b60006124e182611263565b90506124ec82612190565b6001600160a01b0316600090815260086020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661253d5760405162461bcd60e51b81526004016106b190612c5f565b80516000036125805760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b60448201526064016106b1565b61258b8383836125bd565b50506001600160a01b03909116600090815260086020908152604080832093835292905220805460ff19166001179055565b60006125c883611f4f565b1561260c5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b60448201526064016106b1565b6001600160a01b0384166000908152600560205260408120805460019290612635908490612cbe565b9091555050600083815260036020908152604080832080546001600160a01b0319166001600160a01b038916179055600490915290206126758382612d97565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b5080546126c090612bc9565b6000825580601f106126d0575050565b601f01602090049060005260206000209081019061110a91905b808211156126fe57600081556001016126ea565b5090565b80356001600160a01b0381168114611adf57600080fd5b6000806040838503121561272c57600080fd5b61273583612702565b946020939093013593505050565b60006020828403121561275557600080fd5b81356001600160e01b031981168114611aa057600080fd5b60005b83811015612788578181015183820152602001612770565b83811115612797576000848401525b50505050565b60208152600082518060208401526127bc81604085016020870161276d565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127f757600080fd5b813567ffffffffffffffff80821115612812576128126127d0565b604051601f8301601f19908116603f0116810190828211818310171561283a5761283a6127d0565b8160405283815286602085880101111561285357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561288857600080fd5b83359250602084013567ffffffffffffffff8111156128a657600080fd5b6128b2868287016127e6565b925050604084013590509250925092565b6000602082840312156128d557600080fd5b5035919050565b6000806000606084860312156128f157600080fd5b6128fa84612702565b95602085013595506040909401359392505050565b60006020828403121561292157600080fd5b611aa082612702565b6000806040838503121561293d57600080fd5b61294683612702565b9150602083013567ffffffffffffffff81111561296257600080fd5b61296e858286016127e6565b9150509250929050565b60008060008060008060c0878903121561299157600080fd5b61299a87612702565b95506129a860208801612702565b945060408701359350606087013592506080870135915060a087013567ffffffffffffffff8111156129d957600080fd5b6129e589828a016127e6565b9150509295509295509295565b60008060008060808587031215612a0857600080fd5b612a1185612702565b9350612a1f60208601612702565b93969395505050506040820135916060013590565b60008060408385031215612a4757600080fd5b50508035926020909101359150565b600080600080600060a08688031215612a6e57600080fd5b612a7786612702565b945060208601359350604086013567ffffffffffffffff80821115612a9b57600080fd5b612aa789838a016127e6565b9450606088013593506080880135915080821115612ac457600080fd5b50612ad1888289016127e6565b9150509295509295909350565b60008060408385031215612af157600080fd5b82359150602083013567ffffffffffffffff81111561296257600080fd5b600080600060608486031215612b2457600080fd5b612b2d84612702565b925060208401359150604084013567ffffffffffffffff811115612b5057600080fd5b612b5c868287016127e6565b9150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601490820152734e6f7420416c6c6f776c697374204f776e65722160601b604082015260600190565b600181811c90821680612bdd57607f821691505b602082108103612bfd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600081612c2857612c28612c03565b506000190190565b60008351612c4281846020880161276d565b835190830190612c5681836020880161276d565b01949350505050565b60208082526015908201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604082015260600190565b600082821015612ca057612ca0612c03565b500390565b600060018201612cb757612cb7612c03565b5060010190565b60008219821115612cd157612cd1612c03565b500190565b634e487b7160e01b600052601260045260246000fd5b600082612cfb57612cfb612cd6565b500490565b600082612d0f57612d0f612cd6565b500690565b634e487b7160e01b600052603260045260246000fd5b6000816000190483118215151615612d4457612d44612c03565b500290565b601f821115610a0757600081815260208120601f850160051c81016020861015612d705750805b601f850160051c820191505b81811015612d8f57828155600101612d7c565b505050505050565b815167ffffffffffffffff811115612db157612db16127d0565b612dc581612dbf8454612bc9565b84612d49565b602080601f831160018114612dfa5760008415612de25750858301515b600019600386901b1c1916600185901b178555612d8f565b600085815260208120601f198616915b82811015612e2957888601518255948401946001909101908401612e0a565b5085821015612e475787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220d84be31b55b9957eedec9ac513cd6049f6f334a1ebc344347050ca815bd44d6864736f6c634300080f0033a26469706673582212207e587ab96e0d99d510936502da08487fd4caa9f8ad5aa4c8035416d5fb3faa7264736f6c634300080f0033", + "bytecodeSha1": "a6ea8695ca076f30b62ba051edc80c8c57a61288", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "DeployerSoulboundWithExtension", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "12": [ + 2006, + 2028, + true + ] + } + }, + "12": {}, + "13": { + "Pausable.pause": { + "13": [ + 1855, + 1862, + true + ] + }, + "Pausable.unPause": { + "14": [ + 2168, + 2174, + true + ] + } + }, + "39": {}, + "40": {}, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "10": [ + 2378, + 2395 + ], + "11": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "0": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "3": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "6": [ + 1998, + 2071 + ], + "7": [ + 2081, + 2109 + ] + } + }, + "12": {}, + "13": { + "Pausable.isPaused": { + "1": [ + 2496, + 2509 + ] + }, + "Pausable.pause": { + "4": [ + 1847, + 1883 + ], + "5": [ + 1930, + 1943 + ] + }, + "Pausable.unPause": { + "8": [ + 2160, + 2199 + ], + "9": [ + 2247, + 2261 + ] + } + }, + "39": {}, + "40": {}, + "5": { + "Context._msgSender": { + "2": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable", + "Pausable", + "SoulboundRedeemable", + "SoulboundWithSignature" + ], + "deployedBytecode": "60806040523480156200001157600080fd5b5060043610620000935760003560e01c8063ab1849321162000062578063ab18493214620000f4578063b187bd26146200010b578063f2fde38b1462000129578063f7b188a5146200014057600080fd5b80630b33c33a1462000098578063715018a614620000cc5780638456cb5914620000d85780638da5cb5b14620000e2575b600080fd5b620000af620000a9366004620005c7565b6200014a565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d662000203565b005b620000d66200023e565b6000546001600160a01b0316620000af565b620000af620001053660046200064c565b620002ad565b600054600160a01b900460ff166040519015158152602001620000c3565b620000d66200013a366004620006e5565b62000363565b620000d662000405565b60008054600160a81b900460ff16156200016357600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620001ab5760405162461bcd60e51b8152600401620001a2906200070a565b60405180910390fd5b600085858585604051620001bf90620004e3565b620001ce949392919062000784565b604051809103906000f080158015620001eb573d6000803e3d6000fd5b506000805460ff60a81b191690559695505050505050565b6000546001600160a01b03163314620002305760405162461bcd60e51b8152600401620001a290620007ca565b6200023c600062000493565b565b6000546001600160a01b031633146200026b5760405162461bcd60e51b8152600401620001a290620007ca565b600054600160a01b900460ff1615620002985760405162461bcd60e51b8152600401620001a2906200070a565b6000805460ff60a01b1916600160a01b179055565b60008054600160a81b900460ff1615620002c657600080fd5b6000805460ff60a81b1916600160a81b1790819055600160a01b900460ff1615620003055760405162461bcd60e51b8152600401620001a2906200070a565b60008787878787876040516200031b90620004f1565b6200032c96959493929190620007ff565b604051809103906000f08015801562000349573d6000803e3d6000fd5b506000805460ff60a81b1916905598975050505050505050565b6000546001600160a01b03163314620003905760405162461bcd60e51b8152600401620001a290620007ca565b6001600160a01b038116620003f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620001a2565b620004028162000493565b50565b6000546001600160a01b03163314620004325760405162461bcd60e51b8152600401620001a290620007ca565b600054600160a01b900460ff16620004845760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b6044820152606401620001a2565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611ff5806200085883390190565b613340806200284d83390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200052757600080fd5b813567ffffffffffffffff80821115620005455762000545620004ff565b604051601f8301601f19908116603f01168101908282118183101715620005705762000570620004ff565b816040528381528660208588010111156200058a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b0381168114620005c257600080fd5b919050565b60008060008060808587031215620005de57600080fd5b843567ffffffffffffffff80821115620005f757600080fd5b620006058883890162000515565b955060208701359150808211156200061c57600080fd5b506200062b8782880162000515565b9350506200063c60408601620005aa565b9396929550929360600135925050565b60008060008060008060c087890312156200066657600080fd5b863567ffffffffffffffff808211156200067f57600080fd5b6200068d8a838b0162000515565b97506020890135915080821115620006a457600080fd5b50620006b389828a0162000515565b955050620006c460408801620005aa565b9350606087013592506080870135915060a087013590509295509295509295565b600060208284031215620006f857600080fd5b6200070382620005aa565b9392505050565b60208082526010908201526f21b7b73a3930b1ba102830bab9b2b21760811b604082015260600190565b6000815180845260005b818110156200075c576020818501810151868301820152016200073e565b818111156200076f576000602083870101525b50601f01601f19169290920160200192915050565b60808152600062000799608083018762000734565b8281036020840152620007ad818762000734565b6001600160a01b0395909516604084015250506060015292915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60c0815260006200081460c083018962000734565b828103602084015262000828818962000734565b6001600160a01b0397909716604084015250506060810193909352608083019190915260a0909101529291505056fe60806040523480156200001157600080fd5b5060405162001ff538038062001ff5833981016040819052620000349162000235565b83838383818484818160006200004b838262000357565b5060016200005a828262000357565b50505062000077620000716200011260201b60201c565b62000116565b50506001600160a01b038116620000c75760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b604482015260640160405180910390fd5b600880546001600160a01b0319166001600160a01b03929092169190911790556000819003620000fe57620f424060095562000104565b60098190555b505050505050505062000423565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019057600080fd5b81516001600160401b0380821115620001ad57620001ad62000168565b604051601f8301601f19908116603f01168101908282118183101715620001d857620001d862000168565b81604052838152602092508683858801011115620001f557600080fd5b600091505b83821015620002195785820183015181830184015290820190620001fa565b838211156200022b5760008385830101525b9695505050505050565b600080600080608085870312156200024c57600080fd5b84516001600160401b03808211156200026457600080fd5b62000272888389016200017e565b955060208701519150808211156200028957600080fd5b5062000298878288016200017e565b604087015190945090506001600160a01b0381168114620002b857600080fd5b6060959095015193969295505050565b600181811c90821680620002dd57607f821691505b602082108103620002fe57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200035257600081815260208120601f850160051c810160208610156200032d5750805b601f850160051c820191505b818110156200034e5782815560010162000339565b5050505b505050565b81516001600160401b0381111562000373576200037362000168565b6200038b81620003848454620002c8565b8462000304565b602080601f831160018114620003c35760008415620003aa5750858301515b600019600386901b1c1916600185901b1785556200034e565b600085815260208120601f198616915b82811015620003f457888601518255948401946001909101908401620003d3565b5085821015620004135787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611bc280620004336000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806388433651116100b8578063c9e4c54d1161007c578063c9e4c54d146102b7578063daca6f78146102ca578063e92b0842146102dd578063ea5353c7146102f0578063f2fde38b14610303578063fb8f198d1461031657600080fd5b806388433651146102705780638da5cb5b1461028357806395d89b4114610294578063c87b56dd1461029c578063c9dd94c7146102af57600080fd5b806342966c681161010a57806342966c68146101bf5780635899e7b2146101d25780636352211e1461020b5780636e0a87461461023657806370a0823114610247578063715018a61461026857600080fd5b806301ffc9a71461014757806306fdde031461016f57806308c92e57146101845780631f04d13514610199578063210fa96b146101ac575b600080fd5b61015a6101553660046115bf565b610329565b60405190151581526020015b60405180910390f35b61017761037b565b6040516101669190611619565b6101976101923660046116ef565b61040d565b005b6101976101a73660046116ef565b610548565b6101776101ba36600461173f565b6105e4565b6101976101cd36600461173f565b610666565b61015a6101e0366004611774565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b61021e61021936600461173f565b6106db565b6040516001600160a01b039091168152602001610166565b6008546001600160a01b031661021e565b61025a61025536600461179e565b610740565b604051908152602001610166565b6101976107c9565b61019761027e3660046117b9565b6107ff565b6005546001600160a01b031661021e565b61017761089c565b6101776102aa36600461173f565b6108ab565b6101776109a0565b6101976102c5366004611807565b6109fd565b61015a6102d836600461188f565b610b32565b61015a6102eb3660046118c0565b610b45565b6101976102fe366004611807565b610bd9565b61019761031136600461179e565b610c74565b61021e610324366004611774565b610d0c565b60006001600160e01b03198216635b5e139f60e01b148061035a57506001600160e01b03198216635164cf4760e01b145b8061037557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461038a90611917565b80601f01602080910402602001604051908101604052809291908181526020018280546103b690611917565b80156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b61041681610e20565b6104675760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104b35760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b6104bd8383610b32565b6105055760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610517610511826106db565b82610e3d565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6005546001600160a01b031633146105725760405162461bcd60e51b815260040161045e90611951565b600a541561059457600a805490600061058a8361199c565b91905055506105d4565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b604482015260640161045e565b6105df83838361040d565b505050565b60606105ee6109a0565b5160000361062e5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6106366109a0565b61063f83610f05565b6040516020016106509291906119b3565b6040516020818303038152906040529050919050565b61066f816106db565b6001600160a01b0316336001600160a01b0316146106cf5760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e6572000000000000604482015260640161045e565b6106d88161100e565b50565b6000818152600260205260408120546001600160a01b0316806103755760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e277420657869737400000000604482015260640161045e565b60006001600160a01b0382166107ad5760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b606482015260840161045e565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b031633146107f35760405162461bcd60e51b815260040161045e90611951565b6107fd60006110b5565b565b6005546001600160a01b031633146108295760405162461bcd60e51b815260040161045e90611951565b8161083c6008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146108935760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b604482015260640161045e565b6105df82611107565b60606001805461038a90611917565b60606108b682610e20565b6109025760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e2774206578697374000000604482015260640161045e565b6000828152600360205260409020805461091b90611917565b80601f016020809104026020016040519081016040528092919081815260200182805461094790611917565b80156109945780601f1061096957610100808354040283529160200191610994565b820191906000526020600020905b81548152906001019060200180831161097757829003601f168201915b50505050509050919050565b6060600680546109af90611917565b90506000036109f05760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6006805461038a90611917565b6001600160a01b038516610a4b5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b8251604114610a975760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b610aa18484610b32565b610ae95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610af4858383611159565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610b3e8383611170565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610baf573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610c035760405162461bcd60e51b815260040161045e90611951565b600954600a5410610c4b5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b604482015260640161045e565b610c5885858585856109fd565b600a8054906000610c68836119e2565b91905055505050505050565b6005546001600160a01b03163314610c9e5760405162461bcd60e51b815260040161045e90611951565b6001600160a01b038116610d035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161045e565b6106d8816110b5565b60006001600160a01b038316610d645760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e000000000000000000604482015260640161045e565b610d6d82610e20565b610daf5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610dc2836106db565b6001600160a01b031614610e185760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610e4882610e20565b610e8a5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610e9d836106db565b6001600160a01b031614610ef35760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b610efc82611316565b50600192915050565b606081600003610f2c5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610f565780610f40816119e2565b9150610f4f9050600a83611a11565b9150610f30565b60008167ffffffffffffffff811115610f7157610f7161164c565b6040519080825280601f01601f191660200182016040528015610f9b576020820181803683370190505b5090505b841561100657610fb0600183611a25565b9150610fbd600a86611a3c565b610fc8906030611a50565b60f81b818381518110610fdd57610fdd611a68565b60200101906001600160f81b031916908160001a905350610fff600a86611a11565b9450610f9f565b949350505050565b6000611019826106db565b6001600160a01b03811660009081526004602052604081208054929350600192909190611047908490611a25565b9091555050600082815260026020908152604080832080546001600160a01b03191690556003909152812061107b91611571565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036111495760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b604482015260640161045e565b60066111558282611acc565b5050565b60006111668484846113ac565b5060019392505050565b6005546000906001600160a01b0316331461119d5760405162461bcd60e51b815260040161045e90611951565b6005546001600160a01b0316331461120b5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b606482015260840161045e565b815160411461125c5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e6774680000604482015260640161045e565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa1580156112c0573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61131f81610e20565b61136b5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e0000000000000000604482015260640161045e565b6000611376826106db565b90506113818261100e565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b0383166113fa5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b805160000361143d5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b604482015260640161045e565b61144883838361147a565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061148583610e20565b156114c95760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b604482015260640161045e565b6001600160a01b03841660009081526004602052604081208054600192906114f2908490611a50565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206115328382611acc565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461157d90611917565b6000825580601f1061158d575050565b601f0160209004906000526020600020908101906106d891905b808211156115bb57600081556001016115a7565b5090565b6000602082840312156115d157600080fd5b81356001600160e01b031981168114610b3e57600080fd5b60005b838110156116045781810151838201526020016115ec565b83811115611613576000848401525b50505050565b60208152600082518060208401526116388160408501602087016115e9565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261167357600080fd5b813567ffffffffffffffff8082111561168e5761168e61164c565b604051601f8301601f19908116603f011681019082821181831017156116b6576116b661164c565b816040528381528660208588010111156116cf57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561170457600080fd5b83359250602084013567ffffffffffffffff81111561172257600080fd5b61172e86828701611662565b925050604084013590509250925092565b60006020828403121561175157600080fd5b5035919050565b80356001600160a01b038116811461176f57600080fd5b919050565b6000806040838503121561178757600080fd5b61179083611758565b946020939093013593505050565b6000602082840312156117b057600080fd5b610b3e82611758565b600080604083850312156117cc57600080fd5b6117d583611758565b9150602083013567ffffffffffffffff8111156117f157600080fd5b6117fd85828601611662565b9150509250929050565b600080600080600060a0868803121561181f57600080fd5b61182886611758565b945060208601359350604086013567ffffffffffffffff8082111561184c57600080fd5b61185889838a01611662565b945060608801359350608088013591508082111561187557600080fd5b5061188288828901611662565b9150509295509295909350565b600080604083850312156118a257600080fd5b82359150602083013567ffffffffffffffff8111156117f157600080fd5b6000806000606084860312156118d557600080fd5b6118de84611758565b925060208401359150604084013567ffffffffffffffff81111561190157600080fd5b61190d86828701611662565b9150509250925092565b600181811c9082168061192b57607f821691505b60208210810361194b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816119ab576119ab611986565b506000190190565b600083516119c58184602088016115e9565b8351908301906119d98183602088016115e9565b01949350505050565b6000600182016119f4576119f4611986565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611a2057611a206119fb565b500490565b600082821015611a3757611a37611986565b500390565b600082611a4b57611a4b6119fb565b500690565b60008219821115611a6357611a63611986565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156105df57600081815260208120601f850160051c81016020861015611aa55750805b601f850160051c820191505b81811015611ac457828155600101611ab1565b505050505050565b815167ffffffffffffffff811115611ae657611ae661164c565b611afa81611af48454611917565b84611a7e565b602080601f831160018114611b2f5760008415611b175750858301515b600019600386901b1c1916600185901b178555611ac4565b600085815260208120601f198616915b82811015611b5e57888601518255948401946001909101908401611b3f565b5085821015611b7c5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b1ceaa4c757b20410497822c8f13d0bec45391587c052ebd71ae5059a9d86a0d64736f6c634300080f00336080604052600f6012553480156200001657600080fd5b50604051620033403803806200334083398101604081905262000039916200029f565b858585858383838381848481816001620000548382620003d7565b506002620000638282620003d7565b505050620000806200007a6200017c60201b60201c565b62000180565b50506001600160a01b038116620000d15760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b60448201526064015b60405180910390fd5b600980546001600160a01b0319166001600160a01b039290921691909117905560008190036200010857620f4240600a556200010e565b600a8190555b505050505050505081811115620001685760405162461bcd60e51b815260206004820152601860248201527f507269636520686967686572207468616e206c696d69742e00000000000000006044820152606401620000c8565b600e91909155600f5550620004a392505050565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001fa57600080fd5b81516001600160401b0380821115620002175762000217620001d2565b604051601f8301601f19908116603f01168101908282118183101715620002425762000242620001d2565b816040528381526020925086838588010111156200025f57600080fd5b600091505b8382101562000283578582018301518183018401529082019062000264565b83821115620002955760008385830101525b9695505050505050565b60008060008060008060c08789031215620002b957600080fd5b86516001600160401b0380821115620002d157600080fd5b620002df8a838b01620001e8565b97506020890151915080821115620002f657600080fd5b506200030589828a01620001e8565b604089015190965090506001600160a01b03811681146200032557600080fd5b80945050606087015192506080870151915060a087015190509295509295509295565b600181811c908216806200035d57607f821691505b6020821081036200037e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d257600081815260208120601f850160051c81016020861015620003ad5750805b601f850160051c820191505b81811015620003ce57828155600101620003b9565b5050505b505050565b81516001600160401b03811115620003f357620003f3620001d2565b6200040b8162000404845462000348565b8462000384565b602080601f8311600181146200044357600084156200042a5750858301515b600019600386901b1c1916600185901b178555620003ce565b600085815260208120601f198616915b82811015620004745788860151825594840194600190910190840162000453565b5085821015620004935787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612e8d80620004b36000396000f3fe6080604052600436106101fa5760003560e01c806395d89b411161010c578063daca6f781161009a578063ed7347301161006c578063ed734730146105ef578063f2fde38b14610602578063f577a50014610622578063fad54de714610652578063fb8f198d1461066757005b8063daca6f781461056f578063e8c587631461058f578063e92b0842146105af578063ea5353c7146105cf57005b8063bd97a6ad116100de578063bd97a6ad146104da578063c3cab38a146104fa578063c87b56dd1461051a578063c9dd94c71461053a578063c9e4c54d1461054f57005b806395d89b411461048a578063983a8b941461049f578063a0b97daa146104b2578063bd131786146104c757005b806351cff8d9116101895780636e0a87461161015b5780636e0a8746146103f957806370a0823114610417578063715018a614610437578063884336511461044c5780638da5cb5b1461046c57005b806351cff8d9146103205780635899e7b2146103405780636352211e146103865780636833f200146103be57005b80631f04d135116101cd5780631f04d1351461029a578063210fa96b146102ba57806333e085c1146102da5780633d1a350e146102ed57806342966c681461030057005b8062e4768b1461020357806301ffc9a71461022357806306fdde031461025857806308c92e571461027a57005b3661020157005b005b34801561020f57600080fd5b5061020161021e366004612719565b610687565b34801561022f57600080fd5b5061024361023e366004612743565b610756565b60405190151581526020015b60405180910390f35b34801561026457600080fd5b5061026d6107a8565b60405161024f919061279d565b34801561028657600080fd5b50610201610295366004612873565b61083a565b3480156102a657600080fd5b506102016102b5366004612873565b610970565b3480156102c657600080fd5b5061026d6102d53660046128c3565b610a0c565b6102016102e8366004612719565b610a8e565b6102016102fb3660046128dc565b610da6565b34801561030c57600080fd5b5061020161031b3660046128c3565b611098565b34801561032c57600080fd5b5061020161033b36600461290f565b61110d565b34801561034c57600080fd5b5061024361035b366004612719565b6001600160a01b03919091166000908152600860209081526040808320938352929052205460ff1690565b34801561039257600080fd5b506103a66103a13660046128c3565b611263565b6040516001600160a01b03909116815260200161024f565b3480156103ca57600080fd5b506103eb6103d93660046128c3565b60009081526020819052604090205490565b60405190815260200161024f565b34801561040557600080fd5b506009546001600160a01b03166103a6565b34801561042357600080fd5b506103eb61043236600461290f565b6112c8565b34801561044357600080fd5b50610201611351565b34801561045857600080fd5b5061020161046736600461292a565b611387565b34801561047857600080fd5b506006546001600160a01b03166103a6565b34801561049657600080fd5b5061026d6113fd565b6102016104ad366004612978565b61140c565b3480156104be57600080fd5b50600e546103eb565b6102016104d5366004612978565b611504565b3480156104e657600080fd5b506102016104f53660046129f2565b6115e9565b34801561050657600080fd5b50610201610515366004612a34565b6117dd565b34801561052657600080fd5b5061026d6105353660046128c3565b611835565b34801561054657600080fd5b5061026d61192a565b34801561055b57600080fd5b5061020161056a366004612a56565b611987565b34801561057b57600080fd5b5061024361058a366004612ade565b611a94565b34801561059b57600080fd5b506103eb6105aa3660046128c3565b611aa7565b3480156105bb57600080fd5b506102436105ca366004612b0f565b611ae4565b3480156105db57600080fd5b506102016105ea366004612a56565b611b78565b6102016105fd3660046128dc565b611bf7565b34801561060e57600080fd5b5061020161061d36600461290f565b611da3565b34801561062e57600080fd5b5061024361063d3660046128c3565b60009081526020819052604090205442111590565b34801561065e57600080fd5b50600f546103eb565b34801561067357600080fd5b506103a6610682366004612719565b611e3b565b6006546001600160a01b031633146106ba5760405162461bcd60e51b81526004016106b190612b66565b60405180910390fd5b816106cd6009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146106fd5760405162461bcd60e51b81526004016106b190612b9b565b600e5482111561074f5760405162461bcd60e51b815260206004820152601860248201527f507269636520686967686572207468616e206c696d69742e000000000000000060448201526064016106b1565b50600f5550565b60006001600160e01b03198216635b5e139f60e01b148061078757506001600160e01b03198216635164cf4760e01b145b806107a257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546107b790612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546107e390612bc9565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b5050505050905090565b61084381611f4f565b61088f5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064016106b1565b81516041146108db5760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b6108e58383611a94565b61092d5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b61093f61093982611263565b82611f6c565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6006546001600160a01b0316331461099a5760405162461bcd60e51b81526004016106b190612b66565b600b54156109bc57600b80549060006109b283612c19565b91905055506109fc565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b60448201526064016106b1565b610a0783838361083a565b505050565b6060610a1661192a565b51600003610a565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b610a5e61192a565b610a6783612034565b604051602001610a78929190612c30565b6040516020818303038152906040529050919050565b6006546001600160a01b03163314610ab85760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610ac857600080fd5b6013805460ff191660011790556001600160a01b038216610afb5760405162461bcd60e51b81526004016106b190612c5f565b610b0481611f4f565b15610b515760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008181526010602052604090205460ff16610ba95760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000818152601160205260409020546001600160a01b03838116911614610c0a5760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b600081815260208190526040902054421115610c795760405162461bcd60e51b815260206004820152602860248201527f526563656976616c206f66206578706972656420746f6b656e2c20726564656560448201526736903a37b5b2b71760c11b60648201526084016106b1565b600f54341015610ccb5760405162461bcd60e51b815260206004820152601c60248201527f5072696365206c6f776572207468616e20746f6b656e20636f73742e0000000060448201526064016106b1565b6000600f54341115610d1f57600f54610ce49034612c8e565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610d1d573d6000803e3d6000fd5b505b6000610d2a83610a0c565b9050610d3784848361213d565b50600c8054906000610d4883612ca5565b9190505550600f54600d6000828254610d619190612cbe565b909155505050600091825250601060209081526040808320805460ff19908116909155601190925290912080546001600160a01b031916905560138054909116905550565b6006546001600160a01b03163314610dd05760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610de057600080fd5b6013805460ff191660011790556001600160a01b038316610e435760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b610e4c82611f4f565b610ea25760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e206f66206e6f6e2d6578697374696e6720746f6b656e6044820152601760f91b60648201526084016106b1565b60008281526010602052604090205460ff1615610ef85760405162461bcd60e51b81526020600482015260146024820152732a37b5b2b71039ba34b636103832b73234b7339760611b60448201526064016106b1565b826001600160a01b0316610f0b83611263565b6001600160a01b031614610f545760405162461bcd60e51b815260206004820152601060248201526f2737ba103a37b5b2b71037bbb732b91760811b60448201526064016106b1565b6000828152602081905260409020544211610fa45760405162461bcd60e51b815260206004820152601060248201526f2a37b5b2b7103ab732bc3834b932b21760811b60448201526064016106b1565b6000610fb1601254612154565b9050803410156110035760405162461bcd60e51b815260206004820181905260248201527f5072696365206c6f776572207468616e20726564656d7074696f6e207461782e60448201526064016106b1565b60008115611050576110158234612c8e565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f1935050505015801561104e573d6000803e3d6000fd5b505b61105a84846117dd565b604051839085907f6f73b7b8d37df32ea60a45eadc8fc3d2d716d705ee099bd506817482ce84731690600090a350506013805460ff19169055505050565b6110a181611263565b6001600160a01b0316336001600160a01b0316146111015760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064016106b1565b61110a81612190565b50565b6006546001600160a01b031633146111375760405162461bcd60e51b81526004016106b190612b66565b8061114a6009546001600160a01b031690565b6001600160a01b0316816001600160a01b03161461117a5760405162461bcd60e51b81526004016106b190612b9b565b6001600160a01b0382166111d05760405162461bcd60e51b815260206004820152601860248201527f53656e64696e6720746f207a65726f20616464726573732e000000000000000060448201526064016106b1565b600d544710156112225760405162461bcd60e51b815260206004820152601c60248201527f526576656e756520213d20436f6e74726163742062616c616e63652e0000000060448201526064016106b1565b600d546040516001600160a01b0384169180156108fc02916000818181858888f19350505050158015611259573d6000803e3d6000fd5b50506000600d5550565b6000818152600360205260408120546001600160a01b0316806107a25760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016106b1565b60006001600160a01b0382166113355760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016106b1565b506001600160a01b031660009081526005602052604090205490565b6006546001600160a01b0316331461137b5760405162461bcd60e51b81526004016106b190612b66565b6113856000612237565b565b6006546001600160a01b031633146113b15760405162461bcd60e51b81526004016106b190612b66565b816113c46009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146113f45760405162461bcd60e51b81526004016106b190612b9b565b610a0782612289565b6060600280546107b790612bc9565b6006546001600160a01b031633146114365760405162461bcd60e51b81526004016106b190612b66565b856114496009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146114795760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561148957600080fd5b6013805460ff191660011790556114a08383611a94565b6114e65760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686610da6565b50506013805460ff191690555050505050565b6006546001600160a01b0316331461152e5760405162461bcd60e51b81526004016106b190612b66565b856115416009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146115715760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561158157600080fd5b6013805460ff191660011790556115988383611a94565b6115de5760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686611bf7565b6006546001600160a01b031633146116135760405162461bcd60e51b81526004016106b190612b66565b836116266009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146116565760405162461bcd60e51b81526004016106b190612b9b565b600a54600b541061169e5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6001600160a01b0384166116c45760405162461bcd60e51b81526004016106b190612c5f565b6116cd83611f4f565b1561171a5760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008381526010602052604090205460ff16156117795760405162461bcd60e51b815260206004820152601e60248201527f4d696e74206f6620616c72656164792070656e64696e6720746f6b656e2e000060448201526064016106b1565b6000838152601060209081526040808320805460ff191660011790556011909152902080546001600160a01b0386166001600160a01b03199091161790556117c183836117dd565b600b80549060006117d183612ca5565b91905055505050505050565b6117e78142612cbe565b600083815260208181526040918290209290925580518481529182018390527f41a73beb1018a8b63e0f451a8a4f483806142cf14be45b1a58a23776a1e9b4bc910160405180910390a15050565b606061184082611f4f565b61188c5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016106b1565b600082815260046020526040902080546118a590612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546118d190612bc9565b801561191e5780601f106118f35761010080835404028352916020019161191e565b820191906000526020600020905b81548152906001019060200180831161190157829003601f168201915b50505050509050919050565b60606007805461193990612bc9565b905060000361197a5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b600780546107b790612bc9565b6001600160a01b0385166119ad5760405162461bcd60e51b81526004016106b190612c5f565b82516041146119f95760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b611a038484611a94565b611a4b5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b611a5685838361213d565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000611aa083836122db565b9392505050565b600081815260208190526040812054421115611ac557506000919050565b6000828152602081905260409020546107a2904290612c8e565b919050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015611b4e573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6006546001600160a01b03163314611ba25760405162461bcd60e51b81526004016106b190612b66565b600a54600b5410611bea5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6117c18585858585611987565b6006546001600160a01b03163314611c215760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615611c3157600080fd5b6013805460ff191660011790556001600160a01b038316611c945760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b611c9d82611f4f565b15611cea5760405162461bcd60e51b815260206004820152601d60248201527f526564656d7074696f6e206f66206578697374696e6720746f6b656e2e00000060448201526064016106b1565b60008281526010602052604090205460ff16611d425760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000828152601160205260409020546001600160a01b03848116911614610f545760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b6006546001600160a01b03163314611dcd5760405162461bcd60e51b81526004016106b190612b66565b6001600160a01b038116611e325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b1565b61110a81612237565b60006001600160a01b038316611e935760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016106b1565b611e9c82611f4f565b611ede5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611ef183611263565b6001600160a01b031614611f475760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b503092915050565b6000908152600360205260409020546001600160a01b0316151590565b6000611f7782611f4f565b611fb95760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611fcc83611263565b6001600160a01b0316146120225760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b61202b82612481565b50600192915050565b60608160000361205b5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612085578061206f81612ca5565b915061207e9050600a83612cec565b915061205f565b60008167ffffffffffffffff8111156120a0576120a06127d0565b6040519080825280601f01601f1916602001820160405280156120ca576020820181803683370190505b5090505b8415612135576120df600183612c8e565b91506120ec600a86612d00565b6120f7906030612cbe565b60f81b81838151811061210c5761210c612d14565b60200101906001600160f81b031916908160001a90535061212e600a86612cec565b94506120ce565b949350505050565b600061214a848484612517565b5060019392505050565b600064746a528800600d54101561216a57600091505b6103e8600d548361217b9190612d2a565b61218690600a612d2a565b6107a29190612cec565b600061219b82611263565b6001600160a01b038116600090815260056020526040812080549293506001929091906121c9908490612c8e565b9091555050600082815260036020908152604080832080546001600160a01b0319169055600490915281206121fd916126b4565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036122cb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b60448201526064016106b1565b60076122d78282612d97565b5050565b6006546000906001600160a01b031633146123085760405162461bcd60e51b81526004016106b190612b66565b6006546001600160a01b031633146123765760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b60648201526084016106b1565b81516041146123c75760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e677468000060448201526064016106b1565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa15801561242b573d6000803e3d6000fd5b5050604051601f198101516009549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61248a81611f4f565b6124d65760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e000000000000000060448201526064016106b1565b60006124e182611263565b90506124ec82612190565b6001600160a01b0316600090815260086020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661253d5760405162461bcd60e51b81526004016106b190612c5f565b80516000036125805760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b60448201526064016106b1565b61258b8383836125bd565b50506001600160a01b03909116600090815260086020908152604080832093835292905220805460ff19166001179055565b60006125c883611f4f565b1561260c5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b60448201526064016106b1565b6001600160a01b0384166000908152600560205260408120805460019290612635908490612cbe565b9091555050600083815260036020908152604080832080546001600160a01b0319166001600160a01b038916179055600490915290206126758382612d97565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b5080546126c090612bc9565b6000825580601f106126d0575050565b601f01602090049060005260206000209081019061110a91905b808211156126fe57600081556001016126ea565b5090565b80356001600160a01b0381168114611adf57600080fd5b6000806040838503121561272c57600080fd5b61273583612702565b946020939093013593505050565b60006020828403121561275557600080fd5b81356001600160e01b031981168114611aa057600080fd5b60005b83811015612788578181015183820152602001612770565b83811115612797576000848401525b50505050565b60208152600082518060208401526127bc81604085016020870161276d565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127f757600080fd5b813567ffffffffffffffff80821115612812576128126127d0565b604051601f8301601f19908116603f0116810190828211818310171561283a5761283a6127d0565b8160405283815286602085880101111561285357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561288857600080fd5b83359250602084013567ffffffffffffffff8111156128a657600080fd5b6128b2868287016127e6565b925050604084013590509250925092565b6000602082840312156128d557600080fd5b5035919050565b6000806000606084860312156128f157600080fd5b6128fa84612702565b95602085013595506040909401359392505050565b60006020828403121561292157600080fd5b611aa082612702565b6000806040838503121561293d57600080fd5b61294683612702565b9150602083013567ffffffffffffffff81111561296257600080fd5b61296e858286016127e6565b9150509250929050565b60008060008060008060c0878903121561299157600080fd5b61299a87612702565b95506129a860208801612702565b945060408701359350606087013592506080870135915060a087013567ffffffffffffffff8111156129d957600080fd5b6129e589828a016127e6565b9150509295509295509295565b60008060008060808587031215612a0857600080fd5b612a1185612702565b9350612a1f60208601612702565b93969395505050506040820135916060013590565b60008060408385031215612a4757600080fd5b50508035926020909101359150565b600080600080600060a08688031215612a6e57600080fd5b612a7786612702565b945060208601359350604086013567ffffffffffffffff80821115612a9b57600080fd5b612aa789838a016127e6565b9450606088013593506080880135915080821115612ac457600080fd5b50612ad1888289016127e6565b9150509295509295909350565b60008060408385031215612af157600080fd5b82359150602083013567ffffffffffffffff81111561296257600080fd5b600080600060608486031215612b2457600080fd5b612b2d84612702565b925060208401359150604084013567ffffffffffffffff811115612b5057600080fd5b612b5c868287016127e6565b9150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601490820152734e6f7420416c6c6f776c697374204f776e65722160601b604082015260600190565b600181811c90821680612bdd57607f821691505b602082108103612bfd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600081612c2857612c28612c03565b506000190190565b60008351612c4281846020880161276d565b835190830190612c5681836020880161276d565b01949350505050565b60208082526015908201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604082015260600190565b600082821015612ca057612ca0612c03565b500390565b600060018201612cb757612cb7612c03565b5060010190565b60008219821115612cd157612cd1612c03565b500190565b634e487b7160e01b600052601260045260246000fd5b600082612cfb57612cfb612cd6565b500490565b600082612d0f57612d0f612cd6565b500690565b634e487b7160e01b600052603260045260246000fd5b6000816000190483118215151615612d4457612d44612c03565b500290565b601f821115610a0757600081815260208120601f850160051c81016020861015612d705750805b601f850160051c820191505b81811015612d8f57828155600101612d7c565b505050505050565b815167ffffffffffffffff811115612db157612db16127d0565b612dc581612dbf8454612bc9565b84612d49565b602080601f831160018114612dfa5760008415612de25750858301515b600019600386901b1c1916600185901b178555612d8f565b600085815260208120601f198616915b82811015612e2957888601518255948401946001909101908401612e0a565b5085821015612e475787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220d84be31b55b9957eedec9ac513cd6049f6f334a1ebc344347050ca815bd44d6864736f6c634300080f0033a26469706673582212207e587ab96e0d99d510936502da08487fd4caa9f8ad5aa4c8035416d5fb3faa7264736f6c634300080f0033", + "deployedSourceMap": "884:2500:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:604;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1903:32:43;;;1885:51;;1873:2;1858:18;2778:604:12;;;;;;;;1668:101:0;;;:::i;:::-;;1754:196:13;;;:::i;1036:85:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;1036:85;;1681:695:12;;;;;;:::i;:::-;;:::i;2440:76:13:-;2480:4;2503:6;-1:-1:-1;;;2503:6:13;;;;2440:76;;2941:14:43;;2934:22;2916:41;;2904:2;2889:18;2440:76:13;2776:187:43;1918:198:0;;;;;;:::i;:::-;;:::i;2069:199:13:-;;;:::i;2778:604:12:-;3006:23;1104:6;;-1:-1:-1;;;1104:6:12;;;;1103:7;1095:16;;;;;;1121:6;:13;;-1:-1:-1;;;;1121:13:12;-1:-1:-1;;;1121:13:12;;;;;-1:-1:-1;;;1590:6:13;::::1;1121:13:12::0;1590:6:13::1;1589:7;1581:36;;;;-1:-1:-1::0;;;1581:36:13::1;;;;;;;:::i;:::-;;;;;;;;;3101:46:12::2;3190:5;3210:7;3231:15;3260:12;3150:132;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;1164:5:12;1155:14;;-1:-1:-1;;;;1155:14:12;;;3101:181;2778:604;-1:-1:-1;;;;;;2778:604:12:o;1668:101:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1754:196:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1856:6:13::1;::::0;-1:-1:-1;;;1856:6:13;::::1;;;1855:7;1847:36;;;;-1:-1:-1::0;;;1847:36:13::1;;;;;;;:::i;:::-;1930:6;:13:::0;;-1:-1:-1;;;;1930:13:13::1;-1:-1:-1::0;;;1930:13:13::1;::::0;;1754:196::o;1681:695:12:-;1964:23;1104:6;;-1:-1:-1;;;1104:6:12;;;;1103:7;1095:16;;;;;;1121:6;:13;;-1:-1:-1;;;;1121:13:12;-1:-1:-1;;;1121:13:12;;;;;-1:-1:-1;;;1590:6:13;::::1;1121:13:12::0;1590:6:13::1;1589:7;1581:36;;;;-1:-1:-1::0;;;1581:36:13::1;;;;;;;:::i;:::-;2057:40:12::2;2137:5;2157:7;2178:15;2207:12;2233:11;2258;2100:179;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;1164:5:12;1155:14;;-1:-1:-1;;;;1155:14:12;;;2057:222;1681:695;-1:-1:-1;;;;;;;;1681:695:12:o;1918:198:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;5804:2:43;1998:73:0::1;::::0;::::1;5786:21:43::0;5843:2;5823:18;;;5816:30;5882:34;5862:18;;;5855:62;-1:-1:-1;;;5933:18:43;;;5926:36;5979:19;;1998:73:0::1;5602:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2069:199:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2168:6:13::1;::::0;-1:-1:-1;;;2168:6:13;::::1;;;2160:39;;;::::0;-1:-1:-1;;;2160:39:13;;6211:2:43;2160:39:13::1;::::0;::::1;6193:21:43::0;6250:2;6230:18;;;6223:30;-1:-1:-1;;;6269:18:43;;;6262:50;6329:18;;2160:39:13::1;6009:344:43::0;2160:39:13::1;2256:5;2247:14:::0;;-1:-1:-1;;;;2247:14:13::1;::::0;;2069:199::o;2270:187:0:-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:127:43:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:719;189:5;242:3;235:4;227:6;223:17;219:27;209:55;;260:1;257;250:12;209:55;296:6;283:20;322:18;359:2;355;352:10;349:36;;;365:18;;:::i;:::-;440:2;434:9;408:2;494:13;;-1:-1:-1;;490:22:43;;;514:2;486:31;482:40;470:53;;;538:18;;;558:22;;;535:46;532:72;;;584:18;;:::i;:::-;624:10;620:2;613:22;659:2;651:6;644:18;705:3;698:4;693:2;685:6;681:15;677:26;674:35;671:55;;;722:1;719;712:12;671:55;786:2;779:4;771:6;767:17;760:4;752:6;748:17;735:54;833:1;826:4;821:2;813:6;809:15;805:26;798:37;853:6;844:15;;;;;;146:719;;;;:::o;870:173::-;938:20;;-1:-1:-1;;;;;987:31:43;;977:42;;967:70;;1033:1;1030;1023:12;967:70;870:173;;;:::o;1048:686::-;1154:6;1162;1170;1178;1231:3;1219:9;1210:7;1206:23;1202:33;1199:53;;;1248:1;1245;1238:12;1199:53;1288:9;1275:23;1317:18;1358:2;1350:6;1347:14;1344:34;;;1374:1;1371;1364:12;1344:34;1397:50;1439:7;1430:6;1419:9;1415:22;1397:50;:::i;:::-;1387:60;;1500:2;1489:9;1485:18;1472:32;1456:48;;1529:2;1519:8;1516:16;1513:36;;;1545:1;1542;1535:12;1513:36;;1568:52;1612:7;1601:8;1590:9;1586:24;1568:52;:::i;:::-;1558:62;;;1639:38;1673:2;1662:9;1658:18;1639:38;:::i;:::-;1048:686;;;;-1:-1:-1;1629:48:43;;1724:2;1709:18;1696:32;;-1:-1:-1;;1048:686:43:o;1947:824::-;2071:6;2079;2087;2095;2103;2111;2164:3;2152:9;2143:7;2139:23;2135:33;2132:53;;;2181:1;2178;2171:12;2132:53;2221:9;2208:23;2250:18;2291:2;2283:6;2280:14;2277:34;;;2307:1;2304;2297:12;2277:34;2330:50;2372:7;2363:6;2352:9;2348:22;2330:50;:::i;:::-;2320:60;;2433:2;2422:9;2418:18;2405:32;2389:48;;2462:2;2452:8;2449:16;2446:36;;;2478:1;2475;2468:12;2446:36;;2501:52;2545:7;2534:8;2523:9;2519:24;2501:52;:::i;:::-;2491:62;;;2572:38;2606:2;2595:9;2591:18;2572:38;:::i;:::-;2562:48;;2657:2;2646:9;2642:18;2629:32;2619:42;;2708:3;2697:9;2693:19;2680:33;2670:43;;2760:3;2749:9;2745:19;2732:33;2722:43;;1947:824;;;;;;;;:::o;2968:186::-;3027:6;3080:2;3068:9;3059:7;3055:23;3051:32;3048:52;;;3096:1;3093;3086:12;3048:52;3119:29;3138:9;3119:29;:::i;:::-;3109:39;2968:186;-1:-1:-1;;;2968:186:43:o;3159:340::-;3361:2;3343:21;;;3400:2;3380:18;;;3373:30;-1:-1:-1;;;3434:2:43;3419:18;;3412:46;3490:2;3475:18;;3159:340::o;3504:472::-;3546:3;3584:5;3578:12;3611:6;3606:3;3599:19;3636:1;3646:162;3660:6;3657:1;3654:13;3646:162;;;3722:4;3778:13;;;3774:22;;3768:29;3750:11;;;3746:20;;3739:59;3675:12;3646:162;;;3826:6;3823:1;3820:13;3817:87;;;3892:1;3885:4;3876:6;3871:3;3867:16;3863:27;3856:38;3817:87;-1:-1:-1;3958:2:43;3937:15;-1:-1:-1;;3933:29:43;3924:39;;;;3965:4;3920:50;;3504:472;-1:-1:-1;;3504:472:43:o;3981:553::-;4234:3;4223:9;4216:22;4197:4;4261:46;4302:3;4291:9;4287:19;4279:6;4261:46;:::i;:::-;4355:9;4347:6;4343:22;4338:2;4327:9;4323:18;4316:50;4383:33;4409:6;4401;4383:33;:::i;:::-;-1:-1:-1;;;;;4452:32:43;;;;4447:2;4432:18;;4425:60;-1:-1:-1;;4516:2:43;4501:18;4494:34;4375:41;3981:553;-1:-1:-1;;3981:553:43:o;4539:356::-;4741:2;4723:21;;;4760:18;;;4753:30;4819:34;4814:2;4799:18;;4792:62;4886:2;4871:18;;4539:356::o;4900:697::-;5209:3;5198:9;5191:22;5172:4;5236:46;5277:3;5266:9;5262:19;5254:6;5236:46;:::i;:::-;5330:9;5322:6;5318:22;5313:2;5302:9;5298:18;5291:50;5358:33;5384:6;5376;5358:33;:::i;:::-;-1:-1:-1;;;;;5427:32:43;;;;5422:2;5407:18;;5400:60;-1:-1:-1;;5491:2:43;5476:18;;5469:34;;;;5534:3;5519:19;;5512:35;;;;5447:3;5563:19;;;5556:35;5427:32;5350:41;-1:-1:-1;;4900:697:43:o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "This contracts imports and provides functions that deploys each imported contract.", + "kind": "dev", + "methods": { + "deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)": { + "details": "Deploys the SoulboundRedeemable Contract with its constructor parameters.", + "params": { + "_allowlistOwner": "Desired owner of the contrat for sigs.", + "_name": "Name of token.", + "_priceLimit": "Desired price limit.", + "_symbol": "Desired symbol.", + "_tokenPrice": "Desired token price.", + "_totalSupply": "Desired total supply." + }, + "returns": { + "contractAddress": "Deployed address." + } + }, + "deploySoulboundWithSignature(string,string,address,uint256)": { + "details": "Deploys the SoulboundWithSignature Contract with its constructor parameters.", + "params": { + "_allowlistOwner": "Desired owner of the contrat for sigs.", + "_name": "Name of token.", + "_symbol": "Desired symbol.", + "_totalSupply": "Desired total supply." + }, + "returns": { + "contractAddress": "Deployed address." + } + }, + "isPaused()": { + "details": "Returns true or false if the contract is paused. This function is callable by anyone.", + "returns": { + "_0": "bool True or false." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "pause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "unPause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + } + }, + "stateVariables": { + "locked": { + "details": "Locked for re-entrancy." + } + }, + "title": "Daccred DeployerSoulboundWithExtension.", + "version": 1 + }, + "offset": [ + 884, + 3384 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH3 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xAB184932 GT PUSH3 0x62 JUMPI DUP1 PUSH4 0xAB184932 EQ PUSH3 0xF4 JUMPI DUP1 PUSH4 0xB187BD26 EQ PUSH3 0x10B JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH3 0x129 JUMPI DUP1 PUSH4 0xF7B188A5 EQ PUSH3 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB33C33A EQ PUSH3 0x98 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH3 0xCC JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH3 0xD8 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH3 0xE2 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0xAF PUSH3 0xA9 CALLDATASIZE PUSH1 0x4 PUSH3 0x5C7 JUMP JUMPDEST PUSH3 0x14A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH3 0xD6 PUSH3 0x203 JUMP JUMPDEST STOP JUMPDEST PUSH3 0xD6 PUSH3 0x23E JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH3 0xAF JUMP JUMPDEST PUSH3 0xAF PUSH3 0x105 CALLDATASIZE PUSH1 0x4 PUSH3 0x64C JUMP JUMPDEST PUSH3 0x2AD JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH3 0xC3 JUMP JUMPDEST PUSH3 0xD6 PUSH3 0x13A CALLDATASIZE PUSH1 0x4 PUSH3 0x6E5 JUMP JUMPDEST PUSH3 0x363 JUMP JUMPDEST PUSH3 0xD6 PUSH3 0x405 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x163 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 DUP2 SWAP1 SSTORE PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x1AB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x70A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP6 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH3 0x1BF SWAP1 PUSH3 0x4E3 JUMP JUMPDEST PUSH3 0x1CE SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x784 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x1EB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND SWAP1 SSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x230 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7CA JUMP JUMPDEST PUSH3 0x23C PUSH1 0x0 PUSH3 0x493 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x26B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7CA JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x298 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x70A JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x2C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 DUP2 SWAP1 SSTORE PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x305 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x70A JUMP JUMPDEST PUSH1 0x0 DUP8 DUP8 DUP8 DUP8 DUP8 DUP8 PUSH1 0x40 MLOAD PUSH3 0x31B SWAP1 PUSH3 0x4F1 JUMP JUMPDEST PUSH3 0x32C SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH3 0x7FF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x349 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND SWAP1 SSTORE SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x390 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7CA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0x3F7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH3 0x1A2 JUMP JUMPDEST PUSH3 0x402 DUP2 PUSH3 0x493 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH3 0x432 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1A2 SWAP1 PUSH3 0x7CA JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH3 0x484 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x21B7B73A3930B1BA102737BA102830BAB9B2B217 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0x1A2 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x1FF5 DUP1 PUSH3 0x858 DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0x3340 DUP1 PUSH3 0x284D DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x527 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x545 JUMPI PUSH3 0x545 PUSH3 0x4FF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x570 JUMPI PUSH3 0x570 PUSH3 0x4FF JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x58A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x5C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x5DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x5F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x605 DUP9 DUP4 DUP10 ADD PUSH3 0x515 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x61C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x62B DUP8 DUP3 DUP9 ADD PUSH3 0x515 JUMP JUMPDEST SWAP4 POP POP PUSH3 0x63C PUSH1 0x40 DUP7 ADD PUSH3 0x5AA JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP3 SWAP4 PUSH1 0x60 ADD CALLDATALOAD SWAP3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x666 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH3 0x67F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x68D DUP11 DUP4 DUP12 ADD PUSH3 0x515 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x6A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x6B3 DUP10 DUP3 DUP11 ADD PUSH3 0x515 JUMP JUMPDEST SWAP6 POP POP PUSH3 0x6C4 PUSH1 0x40 DUP9 ADD PUSH3 0x5AA JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x6F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x703 DUP3 PUSH3 0x5AA JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x21B7B73A3930B1BA102830BAB9B2B217 PUSH1 0x81 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x75C JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH3 0x73E JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH3 0x76F JUMPI PUSH1 0x0 PUSH1 0x20 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 DUP2 MSTORE PUSH1 0x0 PUSH3 0x799 PUSH1 0x80 DUP4 ADD DUP8 PUSH3 0x734 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x7AD DUP2 DUP8 PUSH3 0x734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP6 SWAP1 SWAP6 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH3 0x814 PUSH1 0xC0 DUP4 ADD DUP10 PUSH3 0x734 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH3 0x828 DUP2 DUP10 PUSH3 0x734 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 SWAP1 SWAP8 AND PUSH1 0x40 DUP5 ADD MSTORE POP POP PUSH1 0x60 DUP2 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x80 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x1FF5 CODESIZE SUB DUP1 PUSH3 0x1FF5 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x235 JUMP JUMPDEST DUP4 DUP4 DUP4 DUP4 DUP2 DUP5 DUP5 DUP2 DUP2 PUSH1 0x0 PUSH3 0x4B DUP4 DUP3 PUSH3 0x357 JUMP JUMPDEST POP PUSH1 0x1 PUSH3 0x5A DUP3 DUP3 PUSH3 0x357 JUMP JUMPDEST POP POP POP PUSH3 0x77 PUSH3 0x71 PUSH3 0x112 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x116 JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0xC7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x24B73B30B634B21020B2323932B9B997 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 DUP2 SWAP1 SUB PUSH3 0xFE JUMPI PUSH3 0xF4240 PUSH1 0x9 SSTORE PUSH3 0x104 JUMP JUMPDEST PUSH1 0x9 DUP2 SWAP1 SSTORE JUMPDEST POP POP POP POP POP POP POP POP PUSH3 0x423 JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x190 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x1AD JUMPI PUSH3 0x1AD PUSH3 0x168 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x1D8 JUMPI PUSH3 0x1D8 PUSH3 0x168 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x219 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x1FA JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x22B JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x24C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x272 DUP9 DUP4 DUP10 ADD PUSH3 0x17E JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x289 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x298 DUP8 DUP3 DUP9 ADD PUSH3 0x17E JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MLOAD SWAP1 SWAP5 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x2B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x2DD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x2FE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x352 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x32D JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x34E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x339 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x373 JUMPI PUSH3 0x373 PUSH3 0x168 JUMP JUMPDEST PUSH3 0x38B DUP2 PUSH3 0x384 DUP5 SLOAD PUSH3 0x2C8 JUMP JUMPDEST DUP5 PUSH3 0x304 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x3C3 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x3AA JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x34E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x3F4 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x3D3 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x413 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x1BC2 DUP1 PUSH3 0x433 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x88433651 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xC9E4C54D GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xC9E4C54D EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xDACA6F78 EQ PUSH2 0x2CA JUMPI DUP1 PUSH4 0xE92B0842 EQ PUSH2 0x2DD JUMPI DUP1 PUSH4 0xEA5353C7 EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x316 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x88433651 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x283 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x6E0A8746 EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x268 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x16F JUMPI DUP1 PUSH4 0x8C92E57 EQ PUSH2 0x184 JUMPI DUP1 PUSH4 0x1F04D135 EQ PUSH2 0x199 JUMPI DUP1 PUSH4 0x210FA96B EQ PUSH2 0x1AC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15A PUSH2 0x155 CALLDATASIZE PUSH1 0x4 PUSH2 0x15BF JUMP JUMPDEST PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x177 PUSH2 0x37B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x1619 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x192 CALLDATASIZE PUSH1 0x4 PUSH2 0x16EF JUMP JUMPDEST PUSH2 0x40D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x197 PUSH2 0x1A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x16EF JUMP JUMPDEST PUSH2 0x548 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x1CD CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x666 JUMP JUMPDEST PUSH2 0x15A PUSH2 0x1E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1774 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x21E PUSH2 0x219 CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x166 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x21E JUMP JUMPDEST PUSH2 0x25A PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0x179E JUMP JUMPDEST PUSH2 0x740 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x166 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x27E CALLDATASIZE PUSH1 0x4 PUSH2 0x17B9 JUMP JUMPDEST PUSH2 0x7FF JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x21E JUMP JUMPDEST PUSH2 0x177 PUSH2 0x89C JUMP JUMPDEST PUSH2 0x177 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x8AB JUMP JUMPDEST PUSH2 0x177 PUSH2 0x9A0 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x2C5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1807 JUMP JUMPDEST PUSH2 0x9FD JUMP JUMPDEST PUSH2 0x15A PUSH2 0x2D8 CALLDATASIZE PUSH1 0x4 PUSH2 0x188F JUMP JUMPDEST PUSH2 0xB32 JUMP JUMPDEST PUSH2 0x15A PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0x18C0 JUMP JUMPDEST PUSH2 0xB45 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x2FE CALLDATASIZE PUSH1 0x4 PUSH2 0x1807 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x311 CALLDATASIZE PUSH1 0x4 PUSH2 0x179E JUMP JUMPDEST PUSH2 0xC74 JUMP JUMPDEST PUSH2 0x21E PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x1774 JUMP JUMPDEST PUSH2 0xD0C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x35A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x375 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x38A SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3B6 SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x403 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3D8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x403 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3E6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x416 DUP2 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0x467 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x4B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x4BD DUP4 DUP4 PUSH2 0xB32 JUMP JUMPDEST PUSH2 0x505 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x517 PUSH2 0x511 DUP3 PUSH2 0x6DB JUMP JUMPDEST DUP3 PUSH2 0xE3D JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH32 0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x572 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0xA SLOAD ISZERO PUSH2 0x594 JUMPI PUSH1 0xA DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x58A DUP4 PUSH2 0x199C JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2637BBB2B9BA103634B6B4BA103932B0B1B432B217 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x5DF DUP4 DUP4 DUP4 PUSH2 0x40D JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5EE PUSH2 0x9A0 JUMP JUMPDEST MLOAD PUSH1 0x0 SUB PUSH2 0x62E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x636 PUSH2 0x9A0 JUMP JUMPDEST PUSH2 0x63F DUP4 PUSH2 0xF05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x650 SWAP3 SWAP2 SWAP1 PUSH2 0x19B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x66F DUP2 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x6CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x6D8 DUP2 PUSH2 0x100E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x375 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x7AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x45E JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x7F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH2 0x7FD PUSH1 0x0 PUSH2 0x10B5 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x829 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST DUP2 PUSH2 0x83C PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x893 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x4E6F7420416C6C6F776C697374204F776E657221 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x5DF DUP3 PUSH2 0x1107 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x38A SWAP1 PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x8B6 DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0x902 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x91B SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x947 SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x994 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x969 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x994 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x977 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x6 DUP1 SLOAD PUSH2 0x9AF SWAP1 PUSH2 0x1917 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x9F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH2 0x38A SWAP1 PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP3 MLOAD PUSH1 0x41 EQ PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xAA1 DUP5 DUP5 PUSH2 0xB32 JUMP JUMPDEST PUSH2 0xAE9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xAF4 DUP6 DUP4 DUP4 PUSH2 0x1159 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH32 0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3E DUP4 DUP4 PUSH2 0x1170 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBAF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xC03 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0xA SLOAD LT PUSH2 0xC4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x24B9B9BAB29021B0B8102932B0B1B432B217 PUSH1 0x71 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xC58 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x9FD JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xC68 DUP4 PUSH2 0x19E2 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xC9E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xD03 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x6D8 DUP2 PUSH2 0x10B5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xD64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xD6D DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0xDAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xDC2 DUP4 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xE18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE48 DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0xE8A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xE9D DUP4 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xEF3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xEFC DUP3 PUSH2 0x1316 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0xF2C JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xF56 JUMPI DUP1 PUSH2 0xF40 DUP2 PUSH2 0x19E2 JUMP JUMPDEST SWAP2 POP PUSH2 0xF4F SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x1A11 JUMP JUMPDEST SWAP2 POP PUSH2 0xF30 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF71 JUMPI PUSH2 0xF71 PUSH2 0x164C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF9B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x1006 JUMPI PUSH2 0xFB0 PUSH1 0x1 DUP4 PUSH2 0x1A25 JUMP JUMPDEST SWAP2 POP PUSH2 0xFBD PUSH1 0xA DUP7 PUSH2 0x1A3C JUMP JUMPDEST PUSH2 0xFC8 SWAP1 PUSH1 0x30 PUSH2 0x1A50 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xFDD JUMPI PUSH2 0xFDD PUSH2 0x1A68 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0xFFF PUSH1 0xA DUP7 PUSH2 0x1A11 JUMP JUMPDEST SWAP5 POP PUSH2 0xF9F JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1019 DUP3 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x1047 SWAP1 DUP5 SWAP1 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0x107B SWAP2 PUSH2 0x1571 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x1149 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x92DCECC2D8D2C840D8CADCCEE8D PUSH1 0x93 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x6 PUSH2 0x1155 DUP3 DUP3 PUSH2 0x1ACC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1166 DUP5 DUP5 DUP5 PUSH2 0x13AC JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x119D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x120B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x3C903737B716B7BBB732B9 PUSH1 0xA9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x45E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x125C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP1 DUP8 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE SWAP7 DUP2 ADD DUP1 DUP7 MSTORE DUP11 SWAP1 MSTORE SWAP1 DUP7 BYTE SWAP4 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP3 SWAP1 MSTORE SWAP3 SWAP4 SWAP1 SWAP3 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12C0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT DUP2 ADD MLOAD PUSH1 0x8 SLOAD SWAP1 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 AND EQ SWAP2 POP DUP2 SWAP1 DUP10 SWAP1 PUSH32 0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36 SWAP1 PUSH1 0x0 SWAP1 LOG3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x131F DUP2 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0x136B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1376 DUP3 PUSH2 0x6DB JUMP JUMPDEST SWAP1 POP PUSH2 0x1381 DUP3 PUSH2 0x100E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x13FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x143D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x22B6B83A3C903A37B5B2B72AA92497 PUSH1 0x89 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x1448 DUP4 DUP4 DUP4 PUSH2 0x147A JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1485 DUP4 PUSH2 0xE20 JUMP JUMPDEST ISZERO PUSH2 0x14C9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x6D696E743A20746F6B656E494420657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x14F2 SWAP1 DUP5 SWAP1 PUSH2 0x1A50 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH2 0x1532 DUP4 DUP3 PUSH2 0x1ACC JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x157D SWAP1 PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x158D JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x6D8 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x15BB JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x15A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xB3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1604 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x15EC JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1613 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1638 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x15E9 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1673 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x168E JUMPI PUSH2 0x168E PUSH2 0x164C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x16B6 JUMPI PUSH2 0x16B6 PUSH2 0x164C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x16CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1704 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1722 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x172E DUP7 DUP3 DUP8 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1751 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x176F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1790 DUP4 PUSH2 0x1758 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB3E DUP3 PUSH2 0x1758 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17D5 DUP4 PUSH2 0x1758 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17FD DUP6 DUP3 DUP7 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x181F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1828 DUP7 PUSH2 0x1758 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x184C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1858 DUP10 DUP4 DUP11 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1875 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1882 DUP9 DUP3 DUP10 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x18A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x18D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18DE DUP5 PUSH2 0x1758 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1901 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x190D DUP7 DUP3 DUP8 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x192B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x194B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x19AB JUMPI PUSH2 0x19AB PUSH2 0x1986 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x19C5 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x15E9 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x19D9 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x15E9 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x19F4 JUMPI PUSH2 0x19F4 PUSH2 0x1986 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1A20 JUMPI PUSH2 0x1A20 PUSH2 0x19FB JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1A37 JUMPI PUSH2 0x1A37 PUSH2 0x1986 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1A4B JUMPI PUSH2 0x1A4B PUSH2 0x19FB JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1A63 JUMPI PUSH2 0x1A63 PUSH2 0x1986 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5DF JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1AA5 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1AC4 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1AB1 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1AE6 JUMPI PUSH2 0x1AE6 PUSH2 0x164C JUMP JUMPDEST PUSH2 0x1AFA DUP2 PUSH2 0x1AF4 DUP5 SLOAD PUSH2 0x1917 JUMP JUMPDEST DUP5 PUSH2 0x1A7E JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1B2F JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1B17 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1AC4 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1B5E JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x1B3F JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1B7C JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB1 0xCE 0xAA 0x4C PUSH22 0x7B20410497822C8F13D0BEC45391587C052EBD71AE50 MSIZE 0xA9 0xD8 PUSH11 0xD64736F6C634300080F00 CALLER PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xF PUSH1 0x12 SSTORE CALLVALUE DUP1 ISZERO PUSH3 0x16 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x3340 CODESIZE SUB DUP1 PUSH3 0x3340 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x39 SWAP2 PUSH3 0x29F JUMP JUMPDEST DUP6 DUP6 DUP6 DUP6 DUP4 DUP4 DUP4 DUP4 DUP2 DUP5 DUP5 DUP2 DUP2 PUSH1 0x1 PUSH3 0x54 DUP4 DUP3 PUSH3 0x3D7 JUMP JUMPDEST POP PUSH1 0x2 PUSH3 0x63 DUP3 DUP3 PUSH3 0x3D7 JUMP JUMPDEST POP POP POP PUSH3 0x80 PUSH3 0x7A PUSH3 0x17C PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x180 JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0xD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x24B73B30B634B21020B2323932B9B997 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x0 DUP2 SWAP1 SUB PUSH3 0x108 JUMPI PUSH3 0xF4240 PUSH1 0xA SSTORE PUSH3 0x10E JUMP JUMPDEST PUSH1 0xA DUP2 SWAP1 SSTORE JUMPDEST POP POP POP POP POP POP POP POP DUP2 DUP2 GT ISZERO PUSH3 0x168 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x507269636520686967686572207468616E206C696D69742E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH3 0xC8 JUMP JUMPDEST PUSH1 0xE SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0xF SSTORE POP PUSH3 0x4A3 SWAP3 POP POP POP JUMP JUMPDEST CALLER SWAP1 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x1FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x217 JUMPI PUSH3 0x217 PUSH3 0x1D2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x242 JUMPI PUSH3 0x242 PUSH3 0x1D2 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 DUP4 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x25F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x283 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x264 JUMP JUMPDEST DUP4 DUP3 GT ISZERO PUSH3 0x295 JUMPI PUSH1 0x0 DUP4 DUP6 DUP4 ADD ADD MSTORE JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH3 0x2B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x2D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x2DF DUP11 DUP4 DUP12 ADD PUSH3 0x1E8 JUMP JUMPDEST SWAP8 POP PUSH1 0x20 DUP10 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x2F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x305 DUP10 DUP3 DUP11 ADD PUSH3 0x1E8 JUMP JUMPDEST PUSH1 0x40 DUP10 ADD MLOAD SWAP1 SWAP7 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP5 POP POP PUSH1 0x60 DUP8 ADD MLOAD SWAP3 POP PUSH1 0x80 DUP8 ADD MLOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD MLOAD SWAP1 POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x35D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x37E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x3D2 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x3AD JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x3CE JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x3B9 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x3F3 JUMPI PUSH3 0x3F3 PUSH3 0x1D2 JUMP JUMPDEST PUSH3 0x40B DUP2 PUSH3 0x404 DUP5 SLOAD PUSH3 0x348 JUMP JUMPDEST DUP5 PUSH3 0x384 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x443 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x42A JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x3CE JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x474 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x453 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x493 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x2E8D DUP1 PUSH3 0x4B3 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1FA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x95D89B41 GT PUSH2 0x10C JUMPI DUP1 PUSH4 0xDACA6F78 GT PUSH2 0x9A JUMPI DUP1 PUSH4 0xED734730 GT PUSH2 0x6C JUMPI DUP1 PUSH4 0xED734730 EQ PUSH2 0x5EF JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0xF577A500 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0xFAD54DE7 EQ PUSH2 0x652 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x667 JUMPI STOP JUMPDEST DUP1 PUSH4 0xDACA6F78 EQ PUSH2 0x56F JUMPI DUP1 PUSH4 0xE8C58763 EQ PUSH2 0x58F JUMPI DUP1 PUSH4 0xE92B0842 EQ PUSH2 0x5AF JUMPI DUP1 PUSH4 0xEA5353C7 EQ PUSH2 0x5CF JUMPI STOP JUMPDEST DUP1 PUSH4 0xBD97A6AD GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xBD97A6AD EQ PUSH2 0x4DA JUMPI DUP1 PUSH4 0xC3CAB38A EQ PUSH2 0x4FA JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x51A JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x53A JUMPI DUP1 PUSH4 0xC9E4C54D EQ PUSH2 0x54F JUMPI STOP JUMPDEST DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x48A JUMPI DUP1 PUSH4 0x983A8B94 EQ PUSH2 0x49F JUMPI DUP1 PUSH4 0xA0B97DAA EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xBD131786 EQ PUSH2 0x4C7 JUMPI STOP JUMPDEST DUP1 PUSH4 0x51CFF8D9 GT PUSH2 0x189 JUMPI DUP1 PUSH4 0x6E0A8746 GT PUSH2 0x15B JUMPI DUP1 PUSH4 0x6E0A8746 EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x437 JUMPI DUP1 PUSH4 0x88433651 EQ PUSH2 0x44C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x46C JUMPI STOP JUMPDEST DUP1 PUSH4 0x51CFF8D9 EQ PUSH2 0x320 JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0x340 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x386 JUMPI DUP1 PUSH4 0x6833F200 EQ PUSH2 0x3BE JUMPI STOP JUMPDEST DUP1 PUSH4 0x1F04D135 GT PUSH2 0x1CD JUMPI DUP1 PUSH4 0x1F04D135 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x210FA96B EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x33E085C1 EQ PUSH2 0x2DA JUMPI DUP1 PUSH4 0x3D1A350E EQ PUSH2 0x2ED JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x300 JUMPI STOP JUMPDEST DUP1 PUSH3 0xE4768B EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x223 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x8C92E57 EQ PUSH2 0x27A JUMPI STOP JUMPDEST CALLDATASIZE PUSH2 0x201 JUMPI STOP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH2 0x687 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x23E CALLDATASIZE PUSH1 0x4 PUSH2 0x2743 JUMP JUMPDEST PUSH2 0x756 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x7A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24F SWAP2 SWAP1 PUSH2 0x279D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x295 CALLDATASIZE PUSH1 0x4 PUSH2 0x2873 JUMP JUMPDEST PUSH2 0x83A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x2B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2873 JUMP JUMPDEST PUSH2 0x970 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x2D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0xA0C JUMP JUMPDEST PUSH2 0x201 PUSH2 0x2E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH2 0xA8E JUMP JUMPDEST PUSH2 0x201 PUSH2 0x2FB CALLDATASIZE PUSH1 0x4 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0xDA6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x31B CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1098 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x33B CALLDATASIZE PUSH1 0x4 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x110D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x35B CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x392 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x3A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x24F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH2 0x3D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x24F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH2 0x432 CALLDATASIZE PUSH1 0x4 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x12C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x443 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x1351 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x467 CALLDATASIZE PUSH1 0x4 PUSH2 0x292A JUMP JUMPDEST PUSH2 0x1387 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x496 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x13FD JUMP JUMPDEST PUSH2 0x201 PUSH2 0x4AD CALLDATASIZE PUSH1 0x4 PUSH2 0x2978 JUMP JUMPDEST PUSH2 0x140C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xE SLOAD PUSH2 0x3EB JUMP JUMPDEST PUSH2 0x201 PUSH2 0x4D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2978 JUMP JUMPDEST PUSH2 0x1504 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x4F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x29F2 JUMP JUMPDEST PUSH2 0x15E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x515 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A34 JUMP JUMPDEST PUSH2 0x17DD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x526 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x535 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1835 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x546 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x192A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x56A CALLDATASIZE PUSH1 0x4 PUSH2 0x2A56 JUMP JUMPDEST PUSH2 0x1987 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x58A CALLDATASIZE PUSH1 0x4 PUSH2 0x2ADE JUMP JUMPDEST PUSH2 0x1A94 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH2 0x5AA CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1AA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x5CA CALLDATASIZE PUSH1 0x4 PUSH2 0x2B0F JUMP JUMPDEST PUSH2 0x1AE4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x5EA CALLDATASIZE PUSH1 0x4 PUSH2 0x2A56 JUMP JUMPDEST PUSH2 0x1B78 JUMP JUMPDEST PUSH2 0x201 PUSH2 0x5FD CALLDATASIZE PUSH1 0x4 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0x1BF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x1DA3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP GT ISZERO SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x65E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xF SLOAD PUSH2 0x3EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x673 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x682 CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH2 0x1E3B JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x6BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH2 0x6CD PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x6FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0xE SLOAD DUP3 GT ISZERO PUSH2 0x74F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x507269636520686967686572207468616E206C696D69742E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST POP PUSH1 0xF SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x787 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x7A2 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x7B7 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x843 DUP2 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x88F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x8DB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x8E5 DUP4 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x92D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x93F PUSH2 0x939 DUP3 PUSH2 0x1263 JUMP JUMPDEST DUP3 PUSH2 0x1F6C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH32 0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x99A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0xB SLOAD ISZERO PUSH2 0x9BC JUMPI PUSH1 0xB DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x9B2 DUP4 PUSH2 0x2C19 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x9FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2637BBB2B9BA103634B6B4BA103932B0B1B432B217 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0xA07 DUP4 DUP4 DUP4 PUSH2 0x83A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xA16 PUSH2 0x192A JUMP JUMPDEST MLOAD PUSH1 0x0 SUB PUSH2 0xA56 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0xA5E PUSH2 0x192A JUMP JUMPDEST PUSH2 0xA67 DUP4 PUSH2 0x2034 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xA78 SWAP3 SWAP2 SWAP1 PUSH2 0x2C30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAB8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xAC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAFB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST PUSH2 0xB04 DUP2 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0xB51 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E74206F6620616C7265616479206578697374696E6720746F6B656E2E00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xBA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x20B63932B0B23C903932B1B2B4BB32B2103A37B5B2B717 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x11 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ PUSH2 0xC0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2737BA103832B73234B733903932B1B2B4BB32B917 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP GT ISZERO PUSH2 0xC79 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526563656976616C206F66206578706972656420746F6B656E2C207265646565 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x36903A37B5B2B717 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0xF SLOAD CALLVALUE LT ISZERO PUSH2 0xCCB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5072696365206C6F776572207468616E20746F6B656E20636F73742E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xF SLOAD CALLVALUE GT ISZERO PUSH2 0xD1F JUMPI PUSH1 0xF SLOAD PUSH2 0xCE4 SWAP1 CALLVALUE PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xD1D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xD2A DUP4 PUSH2 0xA0C JUMP JUMPDEST SWAP1 POP PUSH2 0xD37 DUP5 DUP5 DUP4 PUSH2 0x213D JUMP JUMPDEST POP PUSH1 0xC DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xD48 DUP4 PUSH2 0x2CA5 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0xF SLOAD PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xD61 SWAP2 SWAP1 PUSH2 0x2CBE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP PUSH1 0x0 SWAP2 DUP3 MSTORE POP PUSH1 0x10 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x11 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x13 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xDD0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xDE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xE43 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E20746F207A65726F20616464726573732E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0xE4C DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0xEA2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E206F66206E6F6E2D6578697374696E6720746F6B656E PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xEF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x2A37B5B2B71039BA34B636103832B73234B73397 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF0B DUP4 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF54 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2737BA103A37B5B2B71037BBB732B917 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP GT PUSH2 0xFA4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2A37B5B2B7103AB732BC3834B932B217 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB1 PUSH1 0x12 SLOAD PUSH2 0x2154 JUMP JUMPDEST SWAP1 POP DUP1 CALLVALUE LT ISZERO PUSH2 0x1003 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5072696365206C6F776572207468616E20726564656D7074696F6E207461782E PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO PUSH2 0x1050 JUMPI PUSH2 0x1015 DUP3 CALLVALUE PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x104E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH2 0x105A DUP5 DUP5 PUSH2 0x17DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 SWAP1 DUP6 SWAP1 PUSH32 0x6F73B7B8D37DF32EA60A45EADC8FC3D2D716D705EE099BD506817482CE847316 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH2 0x10A1 DUP2 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1101 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x110A DUP2 PUSH2 0x2190 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1137 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP1 PUSH2 0x114A PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x117A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x11D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53656E64696E6720746F207A65726F20616464726573732E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0xD SLOAD SELFBALANCE LT ISZERO PUSH2 0x1222 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526576656E756520213D20436F6E74726163742062616C616E63652E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0xD SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP2 DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1259 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x0 PUSH1 0xD SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x7A2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1335 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x137B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH2 0x1385 PUSH1 0x0 PUSH2 0x2237 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP2 PUSH2 0x13C4 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH2 0xA07 DUP3 PUSH2 0x2289 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x7B7 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1436 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP6 PUSH2 0x1449 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1479 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1489 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x14A0 DUP4 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x14E6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x2430B9B4103737BA1039B4B3B732B210313C903CB7BA97 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x14F1 DUP7 DUP7 DUP7 PUSH2 0xDA6 JUMP JUMPDEST POP POP PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x152E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP6 PUSH2 0x1541 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1571 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1581 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1598 DUP4 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x15DE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x2430B9B4103737BA1039B4B3B732B210313C903CB7BA97 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x14F1 DUP7 DUP7 DUP7 PUSH2 0x1BF7 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1613 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP4 PUSH2 0x1626 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1656 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0xB SLOAD LT PUSH2 0x169E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x24B9B9BAB29021B0B8102932B0B1B432B217 PUSH1 0x71 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x16C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST PUSH2 0x16CD DUP4 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0x171A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E74206F6620616C7265616479206578697374696E6720746F6B656E2E00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1779 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E74206F6620616C72656164792070656E64696E6720746F6B656E2E0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x11 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH2 0x17C1 DUP4 DUP4 PUSH2 0x17DD JUMP JUMPDEST PUSH1 0xB DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x17D1 DUP4 PUSH2 0x2CA5 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x17E7 DUP2 TIMESTAMP PUSH2 0x2CBE JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE DUP1 MLOAD DUP5 DUP2 MSTORE SWAP2 DUP3 ADD DUP4 SWAP1 MSTORE PUSH32 0x41A73BEB1018A8B63E0F451A8A4F483806142CF14BE45B1A58A23776A1E9B4BC SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1840 DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x188C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x18A5 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18D1 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x191E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x18F3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x191E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1901 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x7 DUP1 SLOAD PUSH2 0x1939 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x197A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH2 0x7B7 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x19AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST DUP3 MLOAD PUSH1 0x41 EQ PUSH2 0x19F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1A03 DUP5 DUP5 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x1A4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1A56 DUP6 DUP4 DUP4 PUSH2 0x213D JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH32 0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AA0 DUP4 DUP4 PUSH2 0x22DB JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD TIMESTAMP GT ISZERO PUSH2 0x1AC5 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x7A2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x2C8E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B4E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BA2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0xB SLOAD LT PUSH2 0x1BEA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x24B9B9BAB29021B0B8102932B0B1B432B217 PUSH1 0x71 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x17C1 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x1987 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1C21 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1C31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1C94 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E20746F207A65726F20616464726573732E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1C9D DUP3 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0x1CEA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E206F66206578697374696E6720746F6B656E2E000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1D42 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x20B63932B0B23C903932B1B2B4BB32B2103A37B5B2B717 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x11 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 AND EQ PUSH2 0xF54 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2737BA103832B73234B733903932B1B2B4BB32B917 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1DCD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1E32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x110A DUP2 PUSH2 0x2237 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1E93 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1E9C DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x1EDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1EF1 DUP4 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1F47 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F77 DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x1FB9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FCC DUP4 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2022 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x202B DUP3 PUSH2 0x2481 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x205B JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x2085 JUMPI DUP1 PUSH2 0x206F DUP2 PUSH2 0x2CA5 JUMP JUMPDEST SWAP2 POP PUSH2 0x207E SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x2CEC JUMP JUMPDEST SWAP2 POP PUSH2 0x205F JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20A0 JUMPI PUSH2 0x20A0 PUSH2 0x27D0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x20CA JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x2135 JUMPI PUSH2 0x20DF PUSH1 0x1 DUP4 PUSH2 0x2C8E JUMP JUMPDEST SWAP2 POP PUSH2 0x20EC PUSH1 0xA DUP7 PUSH2 0x2D00 JUMP JUMPDEST PUSH2 0x20F7 SWAP1 PUSH1 0x30 PUSH2 0x2CBE JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x210C JUMPI PUSH2 0x210C PUSH2 0x2D14 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x212E PUSH1 0xA DUP7 PUSH2 0x2CEC JUMP JUMPDEST SWAP5 POP PUSH2 0x20CE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x214A DUP5 DUP5 DUP5 PUSH2 0x2517 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH5 0x746A528800 PUSH1 0xD SLOAD LT ISZERO PUSH2 0x216A JUMPI PUSH1 0x0 SWAP2 POP JUMPDEST PUSH2 0x3E8 PUSH1 0xD SLOAD DUP4 PUSH2 0x217B SWAP2 SWAP1 PUSH2 0x2D2A JUMP JUMPDEST PUSH2 0x2186 SWAP1 PUSH1 0xA PUSH2 0x2D2A JUMP JUMPDEST PUSH2 0x7A2 SWAP2 SWAP1 PUSH2 0x2CEC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x219B DUP3 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x21C9 SWAP1 DUP5 SWAP1 PUSH2 0x2C8E JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0x21FD SWAP2 PUSH2 0x26B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x22CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x92DCECC2D8D2C840D8CADCCEE8D PUSH1 0x93 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x7 PUSH2 0x22D7 DUP3 DUP3 PUSH2 0x2D97 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2308 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2376 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x3C903737B716B7BBB732B9 PUSH1 0xA9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x23C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP1 DUP8 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE SWAP7 DUP2 ADD DUP1 DUP7 MSTORE DUP11 SWAP1 MSTORE SWAP1 DUP7 BYTE SWAP4 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP3 SWAP1 MSTORE SWAP3 SWAP4 SWAP1 SWAP3 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x242B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT DUP2 ADD MLOAD PUSH1 0x9 SLOAD SWAP1 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 AND EQ SWAP2 POP DUP2 SWAP1 DUP10 SWAP1 PUSH32 0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36 SWAP1 PUSH1 0x0 SWAP1 LOG3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x248A DUP2 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x24D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E1 DUP3 PUSH2 0x1263 JUMP JUMPDEST SWAP1 POP PUSH2 0x24EC DUP3 PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x253D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x2580 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x22B6B83A3C903A37B5B2B72AA92497 PUSH1 0x89 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x258B DUP4 DUP4 DUP4 PUSH2 0x25BD JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25C8 DUP4 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0x260C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x6D696E743A20746F6B656E494420657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x2635 SWAP1 DUP5 SWAP1 PUSH2 0x2CBE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x4 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH2 0x2675 DUP4 DUP3 PUSH2 0x2D97 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x26C0 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x26D0 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x110A SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x26FE JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x26EA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1ADF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x272C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2735 DUP4 PUSH2 0x2702 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2755 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1AA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2788 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2770 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2797 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x27BC DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x276D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x27F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2812 JUMPI PUSH2 0x2812 PUSH2 0x27D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x283A JUMPI PUSH2 0x283A PUSH2 0x27D0 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x28A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28B2 DUP7 DUP3 DUP8 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28FA DUP5 PUSH2 0x2702 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2921 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AA0 DUP3 PUSH2 0x2702 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x293D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2946 DUP4 PUSH2 0x2702 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x296E DUP6 DUP3 DUP7 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x299A DUP8 PUSH2 0x2702 JUMP JUMPDEST SWAP6 POP PUSH2 0x29A8 PUSH1 0x20 DUP9 ADD PUSH2 0x2702 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29E5 DUP10 DUP3 DUP11 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2A08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A11 DUP6 PUSH2 0x2702 JUMP JUMPDEST SWAP4 POP PUSH2 0x2A1F PUSH1 0x20 DUP7 ADD PUSH2 0x2702 JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2A6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A77 DUP7 PUSH2 0x2702 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2A9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2AA7 DUP10 DUP4 DUP11 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2AC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2AD1 DUP9 DUP3 DUP10 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2B24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B2D DUP5 PUSH2 0x2702 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5C DUP7 DUP3 DUP8 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH20 0x4E6F7420416C6C6F776C697374204F776E657221 PUSH1 0x60 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2BDD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2BFD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x2C28 JUMPI PUSH2 0x2C28 PUSH2 0x2C03 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x2C42 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x276D JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x2C56 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x276D JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x15 SWAP1 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x2CA0 JUMPI PUSH2 0x2CA0 PUSH2 0x2C03 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2CB7 JUMPI PUSH2 0x2CB7 PUSH2 0x2C03 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x2CD1 JUMPI PUSH2 0x2CD1 PUSH2 0x2C03 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2CFB JUMPI PUSH2 0x2CFB PUSH2 0x2CD6 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2D0F JUMPI PUSH2 0x2D0F PUSH2 0x2CD6 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2D44 JUMPI PUSH2 0x2D44 PUSH2 0x2C03 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xA07 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2D70 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D8F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2D7C JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2DB1 JUMPI PUSH2 0x2DB1 PUSH2 0x27D0 JUMP JUMPDEST PUSH2 0x2DC5 DUP2 PUSH2 0x2DBF DUP5 SLOAD PUSH2 0x2BC9 JUMP JUMPDEST DUP5 PUSH2 0x2D49 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2DFA JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2DE2 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2D8F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2E29 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2E0A JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2E47 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD8 0x4B 0xE3 SHL SSTORE 0xB9 SWAP6 PUSH31 0xEDEC9AC513CD6049F6F334A1EBC344347050CA815BD44D6864736F6C634300 ADDMOD 0xF STOP CALLER LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH31 0x587AB96E0D99D510936502DA08487FD4CAA9F8AD5AA4C8035416D5FB3FAA72 PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "MSTORE", + "path": "12" + }, + "5": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "CALLVALUE", + "path": "12" + }, + "6": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "7": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "ISZERO", + "path": "12" + }, + "8": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0x11" + }, + "12": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "13": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "16": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "REVERT", + "path": "12" + }, + "17": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPDEST", + "path": "12" + }, + "18": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "POP", + "path": "12" + }, + "19": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0x4" + }, + "21": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "CALLDATASIZE", + "path": "12" + }, + "22": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "LT", + "path": "12" + }, + "23": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0x93" + }, + "27": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "28": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "30": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "CALLDATALOAD", + "path": "12" + }, + "31": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0xE0" + }, + "33": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "SHR", + "path": "12" + }, + "34": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "35": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0xAB184932" + }, + "40": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "GT", + "path": "12" + }, + "41": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0x62" + }, + "45": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "46": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "47": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0xAB184932" + }, + "52": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "53": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0xF4" + }, + "57": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "58": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "59": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0xB187BD26" + }, + "64": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "65": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0x10B" + }, + "69": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "70": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "71": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0xF2FDE38B" + }, + "76": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "77": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0x129" + }, + "81": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "82": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "83": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0xF7B188A5" + }, + "88": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "89": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0x140" + }, + "93": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "94": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "96": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "97": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "REVERT", + "path": "12" + }, + "98": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPDEST", + "path": "12" + }, + "99": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "100": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0xB33C33A" + }, + "105": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "106": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0x98" + }, + "110": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "111": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "112": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0x715018A6" + }, + "117": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "118": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0xCC" + }, + "122": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "123": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "124": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0x8456CB59" + }, + "129": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "130": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0xD8" + }, + "134": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "135": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "136": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH4", + "path": "12", + "value": "0x8DA5CB5B" + }, + "141": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "EQ", + "path": "12" + }, + "142": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH3", + "path": "12", + "value": "0xE2" + }, + "146": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPI", + "path": "12" + }, + "147": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "JUMPDEST", + "path": "12" + }, + "148": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "150": { + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "DUP1", + "path": "12" + }, + "151": { + "first_revert": true, + "fn": null, + "offset": [ + 884, + 3384 + ], + "op": "REVERT", + "path": "12" + }, + "152": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "JUMPDEST", + "path": "12" + }, + "153": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "PUSH3", + "path": "12", + "value": "0xAF" + }, + "157": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "PUSH3", + "path": "12", + "value": "0xA9" + }, + "161": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "CALLDATASIZE", + "path": "12" + }, + "162": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "PUSH1", + "path": "12", + "value": "0x4" + }, + "164": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "PUSH3", + "path": "12", + "value": "0x5C7" + }, + "168": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 2778, + 3382 + ], + "op": "JUMP", + "path": "12" + }, + "169": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "JUMPDEST", + "path": "12" + }, + "170": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "PUSH3", + "path": "12", + "value": "0x14A" + }, + "174": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 2778, + 3382 + ], + "op": "JUMP", + "path": "12" + }, + "175": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "JUMPDEST", + "path": "12" + }, + "176": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "178": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "MLOAD", + "path": "12" + }, + "179": { + "op": "PUSH1", + "value": "0x1" + }, + "181": { + "op": "PUSH1", + "value": "0x1" + }, + "183": { + "op": "PUSH1", + "value": "0xA0" + }, + "185": { + "op": "SHL" + }, + "186": { + "op": "SUB" + }, + "187": { + "op": "SWAP1" + }, + "188": { + "op": "SWAP2" + }, + "189": { + "op": "AND" + }, + "190": { + "op": "DUP2" + }, + "191": { + "op": "MSTORE" + }, + "192": { + "op": "PUSH1", + "value": "0x20" + }, + "194": { + "op": "ADD" + }, + "195": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "JUMPDEST", + "path": "12" + }, + "196": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "198": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "MLOAD", + "path": "12" + }, + "199": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "DUP1", + "path": "12" + }, + "200": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "SWAP2", + "path": "12" + }, + "201": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "SUB", + "path": "12" + }, + "202": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "SWAP1", + "path": "12" + }, + "203": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "RETURN", + "path": "12" + }, + "204": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "205": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH3", + "path": "0", + "value": "0xD6" + }, + "209": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH3", + "path": "0", + "value": "0x203" + }, + "213": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "214": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "215": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "STOP", + "path": "0" + }, + "216": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "217": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH3", + "path": "13", + "value": "0xD6" + }, + "221": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH3", + "path": "13", + "value": "0x23E" + }, + "225": { + "fn": "Pausable.pause", + "jump": "i", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "226": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "227": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "229": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0", + "statement": 0 + }, + "230": { + "op": "PUSH1", + "value": "0x1" + }, + "232": { + "op": "PUSH1", + "value": "0x1" + }, + "234": { + "op": "PUSH1", + "value": "0xA0" + }, + "236": { + "op": "SHL" + }, + "237": { + "op": "SUB" + }, + "238": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "239": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH3", + "path": "0", + "value": "0xAF" + }, + "243": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "244": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "JUMPDEST", + "path": "12" + }, + "245": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "PUSH3", + "path": "12", + "value": "0xAF" + }, + "249": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "PUSH3", + "path": "12", + "value": "0x105" + }, + "253": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "CALLDATASIZE", + "path": "12" + }, + "254": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "PUSH1", + "path": "12", + "value": "0x4" + }, + "256": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "PUSH3", + "path": "12", + "value": "0x64C" + }, + "260": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 1681, + 2376 + ], + "op": "JUMP", + "path": "12" + }, + "261": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "JUMPDEST", + "path": "12" + }, + "262": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "PUSH3", + "path": "12", + "value": "0x2AD" + }, + "266": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 1681, + 2376 + ], + "op": "JUMP", + "path": "12" + }, + "267": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "JUMPDEST", + "path": "13" + }, + "268": { + "fn": "Pausable.isPaused", + "offset": [ + 2480, + 2484 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "270": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SLOAD", + "path": "13", + "statement": 1 + }, + "271": { + "op": "PUSH1", + "value": "0x1" + }, + "273": { + "op": "PUSH1", + "value": "0xA0" + }, + "275": { + "op": "SHL" + }, + "276": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SWAP1", + "path": "13" + }, + "277": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "DIV", + "path": "13" + }, + "278": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "280": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "AND", + "path": "13" + }, + "281": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "283": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "MLOAD", + "path": "13" + }, + "284": { + "op": "SWAP1" + }, + "285": { + "op": "ISZERO" + }, + "286": { + "op": "ISZERO" + }, + "287": { + "op": "DUP2" + }, + "288": { + "op": "MSTORE" + }, + "289": { + "op": "PUSH1", + "value": "0x20" + }, + "291": { + "op": "ADD" + }, + "292": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH3", + "path": "13", + "value": "0xC3" + }, + "296": { + "op": "JUMP" + }, + "297": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "298": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0xD6" + }, + "302": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x13A" + }, + "306": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "307": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "309": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x6E5" + }, + "313": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "314": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "315": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH3", + "path": "0", + "value": "0x363" + }, + "319": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "320": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "321": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH3", + "path": "13", + "value": "0xD6" + }, + "325": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH3", + "path": "13", + "value": "0x405" + }, + "329": { + "fn": "Pausable.unPause", + "jump": "i", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "330": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "JUMPDEST", + "path": "12" + }, + "331": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3006, + 3029 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "333": { + "offset": [ + 1104, + 1110 + ], + "op": "DUP1", + "path": "12" + }, + "334": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1104, + 1110 + ], + "op": "SLOAD", + "path": "12" + }, + "335": { + "op": "PUSH1", + "value": "0x1" + }, + "337": { + "op": "PUSH1", + "value": "0xA8" + }, + "339": { + "op": "SHL" + }, + "340": { + "offset": [ + 1104, + 1110 + ], + "op": "SWAP1", + "path": "12" + }, + "341": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1104, + 1110 + ], + "op": "DIV", + "path": "12" + }, + "342": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1104, + 1110 + ], + "op": "PUSH1", + "path": "12", + "value": "0xFF" + }, + "344": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1104, + 1110 + ], + "op": "AND", + "path": "12" + }, + "345": { + "offset": [ + 1103, + 1110 + ], + "op": "ISZERO", + "path": "12" + }, + "346": { + "offset": [ + 1095, + 1111 + ], + "op": "PUSH3", + "path": "12", + "value": "0x163" + }, + "350": { + "offset": [ + 1095, + 1111 + ], + "op": "JUMPI", + "path": "12" + }, + "351": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1095, + 1111 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "353": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1095, + 1111 + ], + "op": "DUP1", + "path": "12" + }, + "354": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1095, + 1111 + ], + "op": "REVERT", + "path": "12" + }, + "355": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1095, + 1111 + ], + "op": "JUMPDEST", + "path": "12" + }, + "356": { + "offset": [ + 1121, + 1127 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "358": { + "offset": [ + 1121, + 1134 + ], + "op": "DUP1", + "path": "12" + }, + "359": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1121, + 1134 + ], + "op": "SLOAD", + "path": "12" + }, + "360": { + "op": "PUSH1", + "value": "0xFF" + }, + "362": { + "op": "PUSH1", + "value": "0xA8" + }, + "364": { + "op": "SHL" + }, + "365": { + "op": "NOT" + }, + "366": { + "offset": [ + 1121, + 1134 + ], + "op": "AND", + "path": "12" + }, + "367": { + "op": "PUSH1", + "value": "0x1" + }, + "369": { + "op": "PUSH1", + "value": "0xA8" + }, + "371": { + "op": "SHL" + }, + "372": { + "offset": [ + 1121, + 1134 + ], + "op": "OR", + "path": "12" + }, + "373": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1121, + 1134 + ], + "op": "SWAP1", + "path": "12" + }, + "374": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1121, + 1134 + ], + "op": "DUP2", + "path": "12" + }, + "375": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1121, + 1134 + ], + "op": "SWAP1", + "path": "12" + }, + "376": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1121, + 1134 + ], + "op": "SSTORE", + "path": "12" + }, + "377": { + "op": "PUSH1", + "value": "0x1" + }, + "379": { + "op": "PUSH1", + "value": "0xA0" + }, + "381": { + "op": "SHL" + }, + "382": { + "offset": [ + 1590, + 1596 + ], + "op": "SWAP1", + "path": "13" + }, + "383": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1590, + 1596 + ], + "op": "DIV", + "path": "13" + }, + "384": { + "offset": [ + 1121, + 1134 + ], + "op": "PUSH1", + "path": "12", + "value": "0xFF" + }, + "386": { + "offset": [ + 1590, + 1596 + ], + "op": "AND", + "path": "13" + }, + "387": { + "offset": [ + 1589, + 1596 + ], + "op": "ISZERO", + "path": "13" + }, + "388": { + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1AB" + }, + "392": { + "offset": [ + 1581, + 1617 + ], + "op": "JUMPI", + "path": "13" + }, + "393": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "395": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "396": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "400": { + "op": "PUSH1", + "value": "0xE5" + }, + "402": { + "op": "SHL" + }, + "403": { + "offset": [ + 1581, + 1617 + ], + "op": "DUP2", + "path": "13" + }, + "404": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "MSTORE", + "path": "13" + }, + "405": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "407": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "ADD", + "path": "13" + }, + "408": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "412": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "413": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x70A" + }, + "417": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 1581, + 1617 + ], + "op": "JUMP", + "path": "13" + }, + "418": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "419": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "421": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "422": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "DUP1", + "path": "13" + }, + "423": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP2", + "path": "13" + }, + "424": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "SUB", + "path": "13" + }, + "425": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "426": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "13" + }, + "427": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "428": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3101, + 3147 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "430": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3190, + 3195 + ], + "op": "DUP6", + "path": "12" + }, + "431": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3210, + 3217 + ], + "op": "DUP6", + "path": "12" + }, + "432": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3231, + 3246 + ], + "op": "DUP6", + "path": "12" + }, + "433": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3260, + 3272 + ], + "op": "DUP6", + "path": "12" + }, + "434": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "436": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "MLOAD", + "path": "12" + }, + "437": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH3", + "path": "12", + "value": "0x1BF" + }, + "441": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP1", + "path": "12" + }, + "442": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH3", + "path": "12", + "value": "0x4E3" + }, + "446": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 3150, + 3282 + ], + "op": "JUMP", + "path": "12" + }, + "447": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "JUMPDEST", + "path": "12" + }, + "448": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH3", + "path": "12", + "value": "0x1CE" + }, + "452": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP5", + "path": "12" + }, + "453": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP4", + "path": "12" + }, + "454": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP3", + "path": "12" + }, + "455": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP2", + "path": "12" + }, + "456": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP1", + "path": "12" + }, + "457": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH3", + "path": "12", + "value": "0x784" + }, + "461": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "jump": "i", + "offset": [ + 3150, + 3282 + ], + "op": "JUMP", + "path": "12" + }, + "462": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "JUMPDEST", + "path": "12" + }, + "463": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "465": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "MLOAD", + "path": "12" + }, + "466": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "DUP1", + "path": "12" + }, + "467": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP2", + "path": "12" + }, + "468": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SUB", + "path": "12" + }, + "469": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "SWAP1", + "path": "12" + }, + "470": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "472": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "CREATE", + "path": "12" + }, + "473": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "DUP1", + "path": "12" + }, + "474": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "ISZERO", + "path": "12" + }, + "475": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "DUP1", + "path": "12" + }, + "476": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "ISZERO", + "path": "12" + }, + "477": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH3", + "path": "12", + "value": "0x1EB" + }, + "481": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "JUMPI", + "path": "12" + }, + "482": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "RETURNDATASIZE", + "path": "12" + }, + "483": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "485": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "DUP1", + "path": "12" + }, + "486": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "RETURNDATACOPY", + "path": "12" + }, + "487": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "RETURNDATASIZE", + "path": "12" + }, + "488": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "490": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "REVERT", + "path": "12" + }, + "491": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3150, + 3282 + ], + "op": "JUMPDEST", + "path": "12" + }, + "492": { + "op": "POP" + }, + "493": { + "offset": [ + 1164, + 1169 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "495": { + "offset": [ + 1155, + 1169 + ], + "op": "DUP1", + "path": "12" + }, + "496": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1155, + 1169 + ], + "op": "SLOAD", + "path": "12" + }, + "497": { + "op": "PUSH1", + "value": "0xFF" + }, + "499": { + "op": "PUSH1", + "value": "0xA8" + }, + "501": { + "op": "SHL" + }, + "502": { + "op": "NOT" + }, + "503": { + "offset": [ + 1155, + 1169 + ], + "op": "AND", + "path": "12" + }, + "504": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1155, + 1169 + ], + "op": "SWAP1", + "path": "12" + }, + "505": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 1155, + 1169 + ], + "op": "SSTORE", + "path": "12" + }, + "506": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 3101, + 3282 + ], + "op": "SWAP7", + "path": "12" + }, + "507": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "offset": [ + 2778, + 3382 + ], + "op": "SWAP6", + "path": "12" + }, + "508": { + "op": "POP" + }, + "509": { + "op": "POP" + }, + "510": { + "op": "POP" + }, + "511": { + "op": "POP" + }, + "512": { + "op": "POP" + }, + "513": { + "op": "POP" + }, + "514": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundWithSignature", + "jump": "o", + "offset": [ + 2778, + 3382 + ], + "op": "JUMP", + "path": "12" + }, + "515": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "516": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "518": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "519": { + "op": "PUSH1", + "value": "0x1" + }, + "521": { + "op": "PUSH1", + "value": "0x1" + }, + "523": { + "op": "PUSH1", + "value": "0xA0" + }, + "525": { + "op": "SHL" + }, + "526": { + "op": "SUB" + }, + "527": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "528": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 2 + }, + "529": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "530": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x230" + }, + "534": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "535": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "537": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "538": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "542": { + "op": "PUSH1", + "value": "0xE5" + }, + "544": { + "op": "SHL" + }, + "545": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "546": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "547": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "549": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "550": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "554": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "555": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7CA" + }, + "559": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "560": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "561": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH3", + "path": "0", + "statement": 3, + "value": "0x23C" + }, + "565": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "567": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH3", + "path": "0", + "value": "0x493" + }, + "571": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "572": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "573": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "574": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "575": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "577": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "578": { + "op": "PUSH1", + "value": "0x1" + }, + "580": { + "op": "PUSH1", + "value": "0x1" + }, + "582": { + "op": "PUSH1", + "value": "0xA0" + }, + "584": { + "op": "SHL" + }, + "585": { + "op": "SUB" + }, + "586": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "587": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "588": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "589": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x26B" + }, + "593": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "594": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "596": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "597": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "601": { + "op": "PUSH1", + "value": "0xE5" + }, + "603": { + "op": "SHL" + }, + "604": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "605": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "606": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "608": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "609": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "613": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "614": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7CA" + }, + "618": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "619": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "620": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "statement": 4, + "value": "0x0" + }, + "622": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SLOAD", + "path": "13" + }, + "623": { + "op": "PUSH1", + "value": "0x1" + }, + "625": { + "op": "PUSH1", + "value": "0xA0" + }, + "627": { + "op": "SHL" + }, + "628": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SWAP1", + "path": "13" + }, + "629": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "DIV", + "path": "13" + }, + "630": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "632": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "AND", + "path": "13" + }, + "633": { + "branch": 13, + "fn": "Pausable.pause", + "offset": [ + 1855, + 1862 + ], + "op": "ISZERO", + "path": "13" + }, + "634": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x298" + }, + "638": { + "branch": 13, + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPI", + "path": "13" + }, + "639": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "641": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MLOAD", + "path": "13" + }, + "642": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "646": { + "op": "PUSH1", + "value": "0xE5" + }, + "648": { + "op": "SHL" + }, + "649": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "DUP2", + "path": "13" + }, + "650": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MSTORE", + "path": "13" + }, + "651": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "653": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "ADD", + "path": "13" + }, + "654": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "658": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "SWAP1", + "path": "13" + }, + "659": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH3", + "path": "13", + "value": "0x70A" + }, + "663": { + "fn": "Pausable.pause", + "jump": "i", + "offset": [ + 1847, + 1883 + ], + "op": "JUMP", + "path": "13" + }, + "664": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPDEST", + "path": "13" + }, + "665": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1936 + ], + "op": "PUSH1", + "path": "13", + "statement": 5, + "value": "0x0" + }, + "667": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "DUP1", + "path": "13" + }, + "668": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SLOAD", + "path": "13" + }, + "669": { + "op": "PUSH1", + "value": "0xFF" + }, + "671": { + "op": "PUSH1", + "value": "0xA0" + }, + "673": { + "op": "SHL" + }, + "674": { + "op": "NOT" + }, + "675": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "AND", + "path": "13" + }, + "676": { + "op": "PUSH1", + "value": "0x1" + }, + "678": { + "op": "PUSH1", + "value": "0xA0" + }, + "680": { + "op": "SHL" + }, + "681": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "OR", + "path": "13" + }, + "682": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SWAP1", + "path": "13" + }, + "683": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SSTORE", + "path": "13" + }, + "684": { + "fn": "Pausable.pause", + "jump": "o", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "685": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "JUMPDEST", + "path": "12" + }, + "686": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1964, + 1987 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "688": { + "offset": [ + 1104, + 1110 + ], + "op": "DUP1", + "path": "12" + }, + "689": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1104, + 1110 + ], + "op": "SLOAD", + "path": "12" + }, + "690": { + "op": "PUSH1", + "value": "0x1" + }, + "692": { + "op": "PUSH1", + "value": "0xA8" + }, + "694": { + "op": "SHL" + }, + "695": { + "offset": [ + 1104, + 1110 + ], + "op": "SWAP1", + "path": "12" + }, + "696": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1104, + 1110 + ], + "op": "DIV", + "path": "12" + }, + "697": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1104, + 1110 + ], + "op": "PUSH1", + "path": "12", + "value": "0xFF" + }, + "699": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1104, + 1110 + ], + "op": "AND", + "path": "12" + }, + "700": { + "offset": [ + 1103, + 1110 + ], + "op": "ISZERO", + "path": "12" + }, + "701": { + "offset": [ + 1095, + 1111 + ], + "op": "PUSH3", + "path": "12", + "value": "0x2C6" + }, + "705": { + "offset": [ + 1095, + 1111 + ], + "op": "JUMPI", + "path": "12" + }, + "706": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1095, + 1111 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "708": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1095, + 1111 + ], + "op": "DUP1", + "path": "12" + }, + "709": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1095, + 1111 + ], + "op": "REVERT", + "path": "12" + }, + "710": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1095, + 1111 + ], + "op": "JUMPDEST", + "path": "12" + }, + "711": { + "offset": [ + 1121, + 1127 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "713": { + "offset": [ + 1121, + 1134 + ], + "op": "DUP1", + "path": "12" + }, + "714": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1121, + 1134 + ], + "op": "SLOAD", + "path": "12" + }, + "715": { + "op": "PUSH1", + "value": "0xFF" + }, + "717": { + "op": "PUSH1", + "value": "0xA8" + }, + "719": { + "op": "SHL" + }, + "720": { + "op": "NOT" + }, + "721": { + "offset": [ + 1121, + 1134 + ], + "op": "AND", + "path": "12" + }, + "722": { + "op": "PUSH1", + "value": "0x1" + }, + "724": { + "op": "PUSH1", + "value": "0xA8" + }, + "726": { + "op": "SHL" + }, + "727": { + "offset": [ + 1121, + 1134 + ], + "op": "OR", + "path": "12" + }, + "728": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1121, + 1134 + ], + "op": "SWAP1", + "path": "12" + }, + "729": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1121, + 1134 + ], + "op": "DUP2", + "path": "12" + }, + "730": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1121, + 1134 + ], + "op": "SWAP1", + "path": "12" + }, + "731": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1121, + 1134 + ], + "op": "SSTORE", + "path": "12" + }, + "732": { + "op": "PUSH1", + "value": "0x1" + }, + "734": { + "op": "PUSH1", + "value": "0xA0" + }, + "736": { + "op": "SHL" + }, + "737": { + "offset": [ + 1590, + 1596 + ], + "op": "SWAP1", + "path": "13" + }, + "738": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1590, + 1596 + ], + "op": "DIV", + "path": "13" + }, + "739": { + "offset": [ + 1121, + 1134 + ], + "op": "PUSH1", + "path": "12", + "value": "0xFF" + }, + "741": { + "offset": [ + 1590, + 1596 + ], + "op": "AND", + "path": "13" + }, + "742": { + "offset": [ + 1589, + 1596 + ], + "op": "ISZERO", + "path": "13" + }, + "743": { + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x305" + }, + "747": { + "offset": [ + 1581, + 1617 + ], + "op": "JUMPI", + "path": "13" + }, + "748": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "750": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "MLOAD", + "path": "13" + }, + "751": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "755": { + "op": "PUSH1", + "value": "0xE5" + }, + "757": { + "op": "SHL" + }, + "758": { + "offset": [ + 1581, + 1617 + ], + "op": "DUP2", + "path": "13" + }, + "759": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "MSTORE", + "path": "13" + }, + "760": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "762": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "ADD", + "path": "13" + }, + "763": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "767": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "SWAP1", + "path": "13" + }, + "768": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "PUSH3", + "path": "13", + "value": "0x70A" + }, + "772": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 1581, + 1617 + ], + "op": "JUMP", + "path": "13" + }, + "773": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1581, + 1617 + ], + "op": "JUMPDEST", + "path": "13" + }, + "774": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2057, + 2097 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "776": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2137, + 2142 + ], + "op": "DUP8", + "path": "12" + }, + "777": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2157, + 2164 + ], + "op": "DUP8", + "path": "12" + }, + "778": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2178, + 2193 + ], + "op": "DUP8", + "path": "12" + }, + "779": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2207, + 2219 + ], + "op": "DUP8", + "path": "12" + }, + "780": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2233, + 2244 + ], + "op": "DUP8", + "path": "12" + }, + "781": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2258, + 2269 + ], + "op": "DUP8", + "path": "12" + }, + "782": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "784": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "MLOAD", + "path": "12" + }, + "785": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH3", + "path": "12", + "value": "0x31B" + }, + "789": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP1", + "path": "12" + }, + "790": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH3", + "path": "12", + "value": "0x4F1" + }, + "794": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 2100, + 2279 + ], + "op": "JUMP", + "path": "12" + }, + "795": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "JUMPDEST", + "path": "12" + }, + "796": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH3", + "path": "12", + "value": "0x32C" + }, + "800": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP7", + "path": "12" + }, + "801": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP6", + "path": "12" + }, + "802": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP5", + "path": "12" + }, + "803": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP4", + "path": "12" + }, + "804": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP3", + "path": "12" + }, + "805": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP2", + "path": "12" + }, + "806": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP1", + "path": "12" + }, + "807": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH3", + "path": "12", + "value": "0x7FF" + }, + "811": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "jump": "i", + "offset": [ + 2100, + 2279 + ], + "op": "JUMP", + "path": "12" + }, + "812": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "JUMPDEST", + "path": "12" + }, + "813": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH1", + "path": "12", + "value": "0x40" + }, + "815": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "MLOAD", + "path": "12" + }, + "816": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "DUP1", + "path": "12" + }, + "817": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP2", + "path": "12" + }, + "818": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SUB", + "path": "12" + }, + "819": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "SWAP1", + "path": "12" + }, + "820": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "822": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "CREATE", + "path": "12" + }, + "823": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "DUP1", + "path": "12" + }, + "824": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "ISZERO", + "path": "12" + }, + "825": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "DUP1", + "path": "12" + }, + "826": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "ISZERO", + "path": "12" + }, + "827": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH3", + "path": "12", + "value": "0x349" + }, + "831": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "JUMPI", + "path": "12" + }, + "832": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "RETURNDATASIZE", + "path": "12" + }, + "833": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "835": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "DUP1", + "path": "12" + }, + "836": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "RETURNDATACOPY", + "path": "12" + }, + "837": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "RETURNDATASIZE", + "path": "12" + }, + "838": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "840": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "REVERT", + "path": "12" + }, + "841": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2100, + 2279 + ], + "op": "JUMPDEST", + "path": "12" + }, + "842": { + "op": "POP" + }, + "843": { + "offset": [ + 1164, + 1169 + ], + "op": "PUSH1", + "path": "12", + "value": "0x0" + }, + "845": { + "offset": [ + 1155, + 1169 + ], + "op": "DUP1", + "path": "12" + }, + "846": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1155, + 1169 + ], + "op": "SLOAD", + "path": "12" + }, + "847": { + "op": "PUSH1", + "value": "0xFF" + }, + "849": { + "op": "PUSH1", + "value": "0xA8" + }, + "851": { + "op": "SHL" + }, + "852": { + "op": "NOT" + }, + "853": { + "offset": [ + 1155, + 1169 + ], + "op": "AND", + "path": "12" + }, + "854": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1155, + 1169 + ], + "op": "SWAP1", + "path": "12" + }, + "855": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1155, + 1169 + ], + "op": "SSTORE", + "path": "12" + }, + "856": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 2057, + 2279 + ], + "op": "SWAP9", + "path": "12" + }, + "857": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "offset": [ + 1681, + 2376 + ], + "op": "SWAP8", + "path": "12" + }, + "858": { + "op": "POP" + }, + "859": { + "op": "POP" + }, + "860": { + "op": "POP" + }, + "861": { + "op": "POP" + }, + "862": { + "op": "POP" + }, + "863": { + "op": "POP" + }, + "864": { + "op": "POP" + }, + "865": { + "op": "POP" + }, + "866": { + "fn": "DeployerSoulboundWithExtension.deploySoulboundRedeemable", + "jump": "o", + "offset": [ + 1681, + 2376 + ], + "op": "JUMP", + "path": "12" + }, + "867": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "868": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "870": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "871": { + "op": "PUSH1", + "value": "0x1" + }, + "873": { + "op": "PUSH1", + "value": "0x1" + }, + "875": { + "op": "PUSH1", + "value": "0xA0" + }, + "877": { + "op": "SHL" + }, + "878": { + "op": "SUB" + }, + "879": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "880": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "881": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "882": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x390" + }, + "886": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "887": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "889": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "890": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "894": { + "op": "PUSH1", + "value": "0xE5" + }, + "896": { + "op": "SHL" + }, + "897": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "898": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "899": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "901": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "902": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "906": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "907": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7CA" + }, + "911": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "912": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "913": { + "op": "PUSH1", + "value": "0x1" + }, + "915": { + "op": "PUSH1", + "value": "0x1" + }, + "917": { + "op": "PUSH1", + "value": "0xA0" + }, + "919": { + "op": "SHL" + }, + "920": { + "op": "SUB" + }, + "921": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 6 + }, + "922": { + "branch": 12, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "923": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH3", + "path": "0", + "value": "0x3F7" + }, + "927": { + "branch": 12, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "928": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "930": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "931": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "935": { + "op": "PUSH1", + "value": "0xE5" + }, + "937": { + "op": "SHL" + }, + "938": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "939": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "940": { + "op": "PUSH1", + "value": "0x20" + }, + "942": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "944": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "945": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "946": { + "op": "MSTORE" + }, + "947": { + "op": "PUSH1", + "value": "0x26" + }, + "949": { + "op": "PUSH1", + "value": "0x24" + }, + "951": { + "op": "DUP3" + }, + "952": { + "op": "ADD" + }, + "953": { + "op": "MSTORE" + }, + "954": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "987": { + "op": "PUSH1", + "value": "0x44" + }, + "989": { + "op": "DUP3" + }, + "990": { + "op": "ADD" + }, + "991": { + "op": "MSTORE" + }, + "992": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "999": { + "op": "PUSH1", + "value": "0xD0" + }, + "1001": { + "op": "SHL" + }, + "1002": { + "op": "PUSH1", + "value": "0x64" + }, + "1004": { + "op": "DUP3" + }, + "1005": { + "op": "ADD" + }, + "1006": { + "op": "MSTORE" + }, + "1007": { + "op": "PUSH1", + "value": "0x84" + }, + "1009": { + "op": "ADD" + }, + "1010": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "1014": { + "op": "JUMP" + }, + "1015": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1016": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH3", + "path": "0", + "statement": 7, + "value": "0x402" + }, + "1020": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "1021": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH3", + "path": "0", + "value": "0x493" + }, + "1025": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "1026": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1027": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "POP", + "path": "0" + }, + "1028": { + "fn": "Ownable.transferOwnership", + "jump": "o", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "1029": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "1030": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1032": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1033": { + "op": "PUSH1", + "value": "0x1" + }, + "1035": { + "op": "PUSH1", + "value": "0x1" + }, + "1037": { + "op": "PUSH1", + "value": "0xA0" + }, + "1039": { + "op": "SHL" + }, + "1040": { + "op": "SUB" + }, + "1041": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1042": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1043": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1044": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x432" + }, + "1048": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1049": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1051": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1052": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1056": { + "op": "PUSH1", + "value": "0xE5" + }, + "1058": { + "op": "SHL" + }, + "1059": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1060": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1061": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1063": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1064": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x1A2" + }, + "1068": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1069": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH3", + "path": "0", + "value": "0x7CA" + }, + "1073": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1074": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1075": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "statement": 8, + "value": "0x0" + }, + "1077": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SLOAD", + "path": "13" + }, + "1078": { + "op": "PUSH1", + "value": "0x1" + }, + "1080": { + "op": "PUSH1", + "value": "0xA0" + }, + "1082": { + "op": "SHL" + }, + "1083": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SWAP1", + "path": "13" + }, + "1084": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "DIV", + "path": "13" + }, + "1085": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "1087": { + "branch": 14, + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "AND", + "path": "13" + }, + "1088": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH3", + "path": "13", + "value": "0x484" + }, + "1092": { + "branch": 14, + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPI", + "path": "13" + }, + "1093": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "1095": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MLOAD", + "path": "13" + }, + "1096": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1100": { + "op": "PUSH1", + "value": "0xE5" + }, + "1102": { + "op": "SHL" + }, + "1103": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP2", + "path": "13" + }, + "1104": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MSTORE", + "path": "13" + }, + "1105": { + "op": "PUSH1", + "value": "0x20" + }, + "1107": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "1109": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP3", + "path": "13" + }, + "1110": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "ADD", + "path": "13" + }, + "1111": { + "op": "MSTORE" + }, + "1112": { + "op": "PUSH1", + "value": "0x14" + }, + "1114": { + "op": "PUSH1", + "value": "0x24" + }, + "1116": { + "op": "DUP3" + }, + "1117": { + "op": "ADD" + }, + "1118": { + "op": "MSTORE" + }, + "1119": { + "op": "PUSH20", + "value": "0x21B7B73A3930B1BA102737BA102830BAB9B2B217" + }, + "1140": { + "op": "PUSH1", + "value": "0x61" + }, + "1142": { + "op": "SHL" + }, + "1143": { + "op": "PUSH1", + "value": "0x44" + }, + "1145": { + "op": "DUP3" + }, + "1146": { + "op": "ADD" + }, + "1147": { + "op": "MSTORE" + }, + "1148": { + "op": "PUSH1", + "value": "0x64" + }, + "1150": { + "op": "ADD" + }, + "1151": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH3", + "path": "13", + "value": "0x1A2" + }, + "1155": { + "op": "JUMP" + }, + "1156": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPDEST", + "path": "13" + }, + "1157": { + "fn": "Pausable.unPause", + "offset": [ + 2256, + 2261 + ], + "op": "PUSH1", + "path": "13", + "statement": 9, + "value": "0x0" + }, + "1159": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "DUP1", + "path": "13" + }, + "1160": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "13" + }, + "1161": { + "op": "PUSH1", + "value": "0xFF" + }, + "1163": { + "op": "PUSH1", + "value": "0xA0" + }, + "1165": { + "op": "SHL" + }, + "1166": { + "op": "NOT" + }, + "1167": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "13" + }, + "1168": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "13" + }, + "1169": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SSTORE", + "path": "13" + }, + "1170": { + "fn": "Pausable.unPause", + "jump": "o", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "1171": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1172": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1174": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "1175": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "1176": { + "op": "PUSH1", + "value": "0x1" + }, + "1178": { + "op": "PUSH1", + "value": "0x1" + }, + "1180": { + "op": "PUSH1", + "value": "0xA0" + }, + "1182": { + "op": "SHL" + }, + "1183": { + "op": "SUB" + }, + "1184": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 10 + }, + "1185": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "1186": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "1187": { + "op": "PUSH1", + "value": "0x1" + }, + "1189": { + "op": "PUSH1", + "value": "0x1" + }, + "1191": { + "op": "PUSH1", + "value": "0xA0" + }, + "1193": { + "op": "SHL" + }, + "1194": { + "op": "SUB" + }, + "1195": { + "op": "NOT" + }, + "1196": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "1197": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "1198": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "1199": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "1200": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP5", + "path": "0" + }, + "1201": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "1202": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 11, + "value": "0x40" + }, + "1204": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "1205": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "1206": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "1207": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "1208": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "1209": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "1210": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP4", + "path": "0" + }, + "1211": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "1212": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "1245": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP2", + "path": "0" + }, + "1246": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "1247": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "1248": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "1249": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "1250": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "1251": { + "op": "JUMPDEST" + }, + "1252": { + "op": "PUSH2", + "value": "0x1FF5" + }, + "1255": { + "op": "DUP1" + }, + "1256": { + "op": "PUSH3", + "value": "0x858" + }, + "1260": { + "op": "DUP4" + }, + "1261": { + "op": "CODECOPY" + }, + "1262": { + "op": "ADD" + }, + "1263": { + "op": "SWAP1" + }, + "1264": { + "jump": "o", + "op": "JUMP" + }, + "1265": { + "op": "JUMPDEST" + }, + "1266": { + "op": "PUSH2", + "value": "0x3340" + }, + "1269": { + "op": "DUP1" + }, + "1270": { + "op": "PUSH3", + "value": "0x284D" + }, + "1274": { + "op": "DUP4" + }, + "1275": { + "op": "CODECOPY" + }, + "1276": { + "op": "ADD" + }, + "1277": { + "op": "SWAP1" + }, + "1278": { + "jump": "o", + "op": "JUMP" + }, + "1279": { + "op": "JUMPDEST" + }, + "1280": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "1285": { + "op": "PUSH1", + "value": "0xE0" + }, + "1287": { + "op": "SHL" + }, + "1288": { + "op": "PUSH1", + "value": "0x0" + }, + "1290": { + "op": "MSTORE" + }, + "1291": { + "op": "PUSH1", + "value": "0x41" + }, + "1293": { + "op": "PUSH1", + "value": "0x4" + }, + "1295": { + "op": "MSTORE" + }, + "1296": { + "op": "PUSH1", + "value": "0x24" + }, + "1298": { + "op": "PUSH1", + "value": "0x0" + }, + "1300": { + "op": "REVERT" + }, + "1301": { + "op": "JUMPDEST" + }, + "1302": { + "op": "PUSH1", + "value": "0x0" + }, + "1304": { + "op": "DUP3" + }, + "1305": { + "op": "PUSH1", + "value": "0x1F" + }, + "1307": { + "op": "DUP4" + }, + "1308": { + "op": "ADD" + }, + "1309": { + "op": "SLT" + }, + "1310": { + "op": "PUSH3", + "value": "0x527" + }, + "1314": { + "op": "JUMPI" + }, + "1315": { + "op": "PUSH1", + "value": "0x0" + }, + "1317": { + "op": "DUP1" + }, + "1318": { + "op": "REVERT" + }, + "1319": { + "op": "JUMPDEST" + }, + "1320": { + "op": "DUP2" + }, + "1321": { + "op": "CALLDATALOAD" + }, + "1322": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1331": { + "op": "DUP1" + }, + "1332": { + "op": "DUP3" + }, + "1333": { + "op": "GT" + }, + "1334": { + "op": "ISZERO" + }, + "1335": { + "op": "PUSH3", + "value": "0x545" + }, + "1339": { + "op": "JUMPI" + }, + "1340": { + "op": "PUSH3", + "value": "0x545" + }, + "1344": { + "op": "PUSH3", + "value": "0x4FF" + }, + "1348": { + "jump": "i", + "op": "JUMP" + }, + "1349": { + "op": "JUMPDEST" + }, + "1350": { + "op": "PUSH1", + "value": "0x40" + }, + "1352": { + "op": "MLOAD" + }, + "1353": { + "op": "PUSH1", + "value": "0x1F" + }, + "1355": { + "op": "DUP4" + }, + "1356": { + "op": "ADD" + }, + "1357": { + "op": "PUSH1", + "value": "0x1F" + }, + "1359": { + "op": "NOT" + }, + "1360": { + "op": "SWAP1" + }, + "1361": { + "op": "DUP2" + }, + "1362": { + "op": "AND" + }, + "1363": { + "op": "PUSH1", + "value": "0x3F" + }, + "1365": { + "op": "ADD" + }, + "1366": { + "op": "AND" + }, + "1367": { + "op": "DUP2" + }, + "1368": { + "op": "ADD" + }, + "1369": { + "op": "SWAP1" + }, + "1370": { + "op": "DUP3" + }, + "1371": { + "op": "DUP3" + }, + "1372": { + "op": "GT" + }, + "1373": { + "op": "DUP2" + }, + "1374": { + "op": "DUP4" + }, + "1375": { + "op": "LT" + }, + "1376": { + "op": "OR" + }, + "1377": { + "op": "ISZERO" + }, + "1378": { + "op": "PUSH3", + "value": "0x570" + }, + "1382": { + "op": "JUMPI" + }, + "1383": { + "op": "PUSH3", + "value": "0x570" + }, + "1387": { + "op": "PUSH3", + "value": "0x4FF" + }, + "1391": { + "jump": "i", + "op": "JUMP" + }, + "1392": { + "op": "JUMPDEST" + }, + "1393": { + "op": "DUP2" + }, + "1394": { + "op": "PUSH1", + "value": "0x40" + }, + "1396": { + "op": "MSTORE" + }, + "1397": { + "op": "DUP4" + }, + "1398": { + "op": "DUP2" + }, + "1399": { + "op": "MSTORE" + }, + "1400": { + "op": "DUP7" + }, + "1401": { + "op": "PUSH1", + "value": "0x20" + }, + "1403": { + "op": "DUP6" + }, + "1404": { + "op": "DUP9" + }, + "1405": { + "op": "ADD" + }, + "1406": { + "op": "ADD" + }, + "1407": { + "op": "GT" + }, + "1408": { + "op": "ISZERO" + }, + "1409": { + "op": "PUSH3", + "value": "0x58A" + }, + "1413": { + "op": "JUMPI" + }, + "1414": { + "op": "PUSH1", + "value": "0x0" + }, + "1416": { + "op": "DUP1" + }, + "1417": { + "op": "REVERT" + }, + "1418": { + "op": "JUMPDEST" + }, + "1419": { + "op": "DUP4" + }, + "1420": { + "op": "PUSH1", + "value": "0x20" + }, + "1422": { + "op": "DUP8" + }, + "1423": { + "op": "ADD" + }, + "1424": { + "op": "PUSH1", + "value": "0x20" + }, + "1426": { + "op": "DUP4" + }, + "1427": { + "op": "ADD" + }, + "1428": { + "op": "CALLDATACOPY" + }, + "1429": { + "op": "PUSH1", + "value": "0x0" + }, + "1431": { + "op": "PUSH1", + "value": "0x20" + }, + "1433": { + "op": "DUP6" + }, + "1434": { + "op": "DUP4" + }, + "1435": { + "op": "ADD" + }, + "1436": { + "op": "ADD" + }, + "1437": { + "op": "MSTORE" + }, + "1438": { + "op": "DUP1" + }, + "1439": { + "op": "SWAP5" + }, + "1440": { + "op": "POP" + }, + "1441": { + "op": "POP" + }, + "1442": { + "op": "POP" + }, + "1443": { + "op": "POP" + }, + "1444": { + "op": "POP" + }, + "1445": { + "op": "SWAP3" + }, + "1446": { + "op": "SWAP2" + }, + "1447": { + "op": "POP" + }, + "1448": { + "op": "POP" + }, + "1449": { + "jump": "o", + "op": "JUMP" + }, + "1450": { + "op": "JUMPDEST" + }, + "1451": { + "op": "DUP1" + }, + "1452": { + "op": "CALLDATALOAD" + }, + "1453": { + "op": "PUSH1", + "value": "0x1" + }, + "1455": { + "op": "PUSH1", + "value": "0x1" + }, + "1457": { + "op": "PUSH1", + "value": "0xA0" + }, + "1459": { + "op": "SHL" + }, + "1460": { + "op": "SUB" + }, + "1461": { + "op": "DUP2" + }, + "1462": { + "op": "AND" + }, + "1463": { + "op": "DUP2" + }, + "1464": { + "op": "EQ" + }, + "1465": { + "op": "PUSH3", + "value": "0x5C2" + }, + "1469": { + "op": "JUMPI" + }, + "1470": { + "op": "PUSH1", + "value": "0x0" + }, + "1472": { + "op": "DUP1" + }, + "1473": { + "op": "REVERT" + }, + "1474": { + "op": "JUMPDEST" + }, + "1475": { + "op": "SWAP2" + }, + "1476": { + "op": "SWAP1" + }, + "1477": { + "op": "POP" + }, + "1478": { + "jump": "o", + "op": "JUMP" + }, + "1479": { + "op": "JUMPDEST" + }, + "1480": { + "op": "PUSH1", + "value": "0x0" + }, + "1482": { + "op": "DUP1" + }, + "1483": { + "op": "PUSH1", + "value": "0x0" + }, + "1485": { + "op": "DUP1" + }, + "1486": { + "op": "PUSH1", + "value": "0x80" + }, + "1488": { + "op": "DUP6" + }, + "1489": { + "op": "DUP8" + }, + "1490": { + "op": "SUB" + }, + "1491": { + "op": "SLT" + }, + "1492": { + "op": "ISZERO" + }, + "1493": { + "op": "PUSH3", + "value": "0x5DE" + }, + "1497": { + "op": "JUMPI" + }, + "1498": { + "op": "PUSH1", + "value": "0x0" + }, + "1500": { + "op": "DUP1" + }, + "1501": { + "op": "REVERT" + }, + "1502": { + "op": "JUMPDEST" + }, + "1503": { + "op": "DUP5" + }, + "1504": { + "op": "CALLDATALOAD" + }, + "1505": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1514": { + "op": "DUP1" + }, + "1515": { + "op": "DUP3" + }, + "1516": { + "op": "GT" + }, + "1517": { + "op": "ISZERO" + }, + "1518": { + "op": "PUSH3", + "value": "0x5F7" + }, + "1522": { + "op": "JUMPI" + }, + "1523": { + "op": "PUSH1", + "value": "0x0" + }, + "1525": { + "op": "DUP1" + }, + "1526": { + "op": "REVERT" + }, + "1527": { + "op": "JUMPDEST" + }, + "1528": { + "op": "PUSH3", + "value": "0x605" + }, + "1532": { + "op": "DUP9" + }, + "1533": { + "op": "DUP4" + }, + "1534": { + "op": "DUP10" + }, + "1535": { + "op": "ADD" + }, + "1536": { + "op": "PUSH3", + "value": "0x515" + }, + "1540": { + "jump": "i", + "op": "JUMP" + }, + "1541": { + "op": "JUMPDEST" + }, + "1542": { + "op": "SWAP6" + }, + "1543": { + "op": "POP" + }, + "1544": { + "op": "PUSH1", + "value": "0x20" + }, + "1546": { + "op": "DUP8" + }, + "1547": { + "op": "ADD" + }, + "1548": { + "op": "CALLDATALOAD" + }, + "1549": { + "op": "SWAP2" + }, + "1550": { + "op": "POP" + }, + "1551": { + "op": "DUP1" + }, + "1552": { + "op": "DUP3" + }, + "1553": { + "op": "GT" + }, + "1554": { + "op": "ISZERO" + }, + "1555": { + "op": "PUSH3", + "value": "0x61C" + }, + "1559": { + "op": "JUMPI" + }, + "1560": { + "op": "PUSH1", + "value": "0x0" + }, + "1562": { + "op": "DUP1" + }, + "1563": { + "op": "REVERT" + }, + "1564": { + "op": "JUMPDEST" + }, + "1565": { + "op": "POP" + }, + "1566": { + "op": "PUSH3", + "value": "0x62B" + }, + "1570": { + "op": "DUP8" + }, + "1571": { + "op": "DUP3" + }, + "1572": { + "op": "DUP9" + }, + "1573": { + "op": "ADD" + }, + "1574": { + "op": "PUSH3", + "value": "0x515" + }, + "1578": { + "jump": "i", + "op": "JUMP" + }, + "1579": { + "op": "JUMPDEST" + }, + "1580": { + "op": "SWAP4" + }, + "1581": { + "op": "POP" + }, + "1582": { + "op": "POP" + }, + "1583": { + "op": "PUSH3", + "value": "0x63C" + }, + "1587": { + "op": "PUSH1", + "value": "0x40" + }, + "1589": { + "op": "DUP7" + }, + "1590": { + "op": "ADD" + }, + "1591": { + "op": "PUSH3", + "value": "0x5AA" + }, + "1595": { + "jump": "i", + "op": "JUMP" + }, + "1596": { + "op": "JUMPDEST" + }, + "1597": { + "op": "SWAP4" + }, + "1598": { + "op": "SWAP7" + }, + "1599": { + "op": "SWAP3" + }, + "1600": { + "op": "SWAP6" + }, + "1601": { + "op": "POP" + }, + "1602": { + "op": "SWAP3" + }, + "1603": { + "op": "SWAP4" + }, + "1604": { + "op": "PUSH1", + "value": "0x60" + }, + "1606": { + "op": "ADD" + }, + "1607": { + "op": "CALLDATALOAD" + }, + "1608": { + "op": "SWAP3" + }, + "1609": { + "op": "POP" + }, + "1610": { + "op": "POP" + }, + "1611": { + "jump": "o", + "op": "JUMP" + }, + "1612": { + "op": "JUMPDEST" + }, + "1613": { + "op": "PUSH1", + "value": "0x0" + }, + "1615": { + "op": "DUP1" + }, + "1616": { + "op": "PUSH1", + "value": "0x0" + }, + "1618": { + "op": "DUP1" + }, + "1619": { + "op": "PUSH1", + "value": "0x0" + }, + "1621": { + "op": "DUP1" + }, + "1622": { + "op": "PUSH1", + "value": "0xC0" + }, + "1624": { + "op": "DUP8" + }, + "1625": { + "op": "DUP10" + }, + "1626": { + "op": "SUB" + }, + "1627": { + "op": "SLT" + }, + "1628": { + "op": "ISZERO" + }, + "1629": { + "op": "PUSH3", + "value": "0x666" + }, + "1633": { + "op": "JUMPI" + }, + "1634": { + "op": "PUSH1", + "value": "0x0" + }, + "1636": { + "op": "DUP1" + }, + "1637": { + "op": "REVERT" + }, + "1638": { + "op": "JUMPDEST" + }, + "1639": { + "op": "DUP7" + }, + "1640": { + "op": "CALLDATALOAD" + }, + "1641": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1650": { + "op": "DUP1" + }, + "1651": { + "op": "DUP3" + }, + "1652": { + "op": "GT" + }, + "1653": { + "op": "ISZERO" + }, + "1654": { + "op": "PUSH3", + "value": "0x67F" + }, + "1658": { + "op": "JUMPI" + }, + "1659": { + "op": "PUSH1", + "value": "0x0" + }, + "1661": { + "op": "DUP1" + }, + "1662": { + "op": "REVERT" + }, + "1663": { + "op": "JUMPDEST" + }, + "1664": { + "op": "PUSH3", + "value": "0x68D" + }, + "1668": { + "op": "DUP11" + }, + "1669": { + "op": "DUP4" + }, + "1670": { + "op": "DUP12" + }, + "1671": { + "op": "ADD" + }, + "1672": { + "op": "PUSH3", + "value": "0x515" + }, + "1676": { + "jump": "i", + "op": "JUMP" + }, + "1677": { + "op": "JUMPDEST" + }, + "1678": { + "op": "SWAP8" + }, + "1679": { + "op": "POP" + }, + "1680": { + "op": "PUSH1", + "value": "0x20" + }, + "1682": { + "op": "DUP10" + }, + "1683": { + "op": "ADD" + }, + "1684": { + "op": "CALLDATALOAD" + }, + "1685": { + "op": "SWAP2" + }, + "1686": { + "op": "POP" + }, + "1687": { + "op": "DUP1" + }, + "1688": { + "op": "DUP3" + }, + "1689": { + "op": "GT" + }, + "1690": { + "op": "ISZERO" + }, + "1691": { + "op": "PUSH3", + "value": "0x6A4" + }, + "1695": { + "op": "JUMPI" + }, + "1696": { + "op": "PUSH1", + "value": "0x0" + }, + "1698": { + "op": "DUP1" + }, + "1699": { + "op": "REVERT" + }, + "1700": { + "op": "JUMPDEST" + }, + "1701": { + "op": "POP" + }, + "1702": { + "op": "PUSH3", + "value": "0x6B3" + }, + "1706": { + "op": "DUP10" + }, + "1707": { + "op": "DUP3" + }, + "1708": { + "op": "DUP11" + }, + "1709": { + "op": "ADD" + }, + "1710": { + "op": "PUSH3", + "value": "0x515" + }, + "1714": { + "jump": "i", + "op": "JUMP" + }, + "1715": { + "op": "JUMPDEST" + }, + "1716": { + "op": "SWAP6" + }, + "1717": { + "op": "POP" + }, + "1718": { + "op": "POP" + }, + "1719": { + "op": "PUSH3", + "value": "0x6C4" + }, + "1723": { + "op": "PUSH1", + "value": "0x40" + }, + "1725": { + "op": "DUP9" + }, + "1726": { + "op": "ADD" + }, + "1727": { + "op": "PUSH3", + "value": "0x5AA" + }, + "1731": { + "jump": "i", + "op": "JUMP" + }, + "1732": { + "op": "JUMPDEST" + }, + "1733": { + "op": "SWAP4" + }, + "1734": { + "op": "POP" + }, + "1735": { + "op": "PUSH1", + "value": "0x60" + }, + "1737": { + "op": "DUP8" + }, + "1738": { + "op": "ADD" + }, + "1739": { + "op": "CALLDATALOAD" + }, + "1740": { + "op": "SWAP3" + }, + "1741": { + "op": "POP" + }, + "1742": { + "op": "PUSH1", + "value": "0x80" + }, + "1744": { + "op": "DUP8" + }, + "1745": { + "op": "ADD" + }, + "1746": { + "op": "CALLDATALOAD" + }, + "1747": { + "op": "SWAP2" + }, + "1748": { + "op": "POP" + }, + "1749": { + "op": "PUSH1", + "value": "0xA0" + }, + "1751": { + "op": "DUP8" + }, + "1752": { + "op": "ADD" + }, + "1753": { + "op": "CALLDATALOAD" + }, + "1754": { + "op": "SWAP1" + }, + "1755": { + "op": "POP" + }, + "1756": { + "op": "SWAP3" + }, + "1757": { + "op": "SWAP6" + }, + "1758": { + "op": "POP" + }, + "1759": { + "op": "SWAP3" + }, + "1760": { + "op": "SWAP6" + }, + "1761": { + "op": "POP" + }, + "1762": { + "op": "SWAP3" + }, + "1763": { + "op": "SWAP6" + }, + "1764": { + "jump": "o", + "op": "JUMP" + }, + "1765": { + "op": "JUMPDEST" + }, + "1766": { + "op": "PUSH1", + "value": "0x0" + }, + "1768": { + "op": "PUSH1", + "value": "0x20" + }, + "1770": { + "op": "DUP3" + }, + "1771": { + "op": "DUP5" + }, + "1772": { + "op": "SUB" + }, + "1773": { + "op": "SLT" + }, + "1774": { + "op": "ISZERO" + }, + "1775": { + "op": "PUSH3", + "value": "0x6F8" + }, + "1779": { + "op": "JUMPI" + }, + "1780": { + "op": "PUSH1", + "value": "0x0" + }, + "1782": { + "op": "DUP1" + }, + "1783": { + "op": "REVERT" + }, + "1784": { + "op": "JUMPDEST" + }, + "1785": { + "op": "PUSH3", + "value": "0x703" + }, + "1789": { + "op": "DUP3" + }, + "1790": { + "op": "PUSH3", + "value": "0x5AA" + }, + "1794": { + "jump": "i", + "op": "JUMP" + }, + "1795": { + "op": "JUMPDEST" + }, + "1796": { + "op": "SWAP4" + }, + "1797": { + "op": "SWAP3" + }, + "1798": { + "op": "POP" + }, + "1799": { + "op": "POP" + }, + "1800": { + "op": "POP" + }, + "1801": { + "jump": "o", + "op": "JUMP" + }, + "1802": { + "op": "JUMPDEST" + }, + "1803": { + "op": "PUSH1", + "value": "0x20" + }, + "1805": { + "op": "DUP1" + }, + "1806": { + "op": "DUP3" + }, + "1807": { + "op": "MSTORE" + }, + "1808": { + "op": "PUSH1", + "value": "0x10" + }, + "1810": { + "op": "SWAP1" + }, + "1811": { + "op": "DUP3" + }, + "1812": { + "op": "ADD" + }, + "1813": { + "op": "MSTORE" + }, + "1814": { + "op": "PUSH16", + "value": "0x21B7B73A3930B1BA102830BAB9B2B217" + }, + "1831": { + "op": "PUSH1", + "value": "0x81" + }, + "1833": { + "op": "SHL" + }, + "1834": { + "op": "PUSH1", + "value": "0x40" + }, + "1836": { + "op": "DUP3" + }, + "1837": { + "op": "ADD" + }, + "1838": { + "op": "MSTORE" + }, + "1839": { + "op": "PUSH1", + "value": "0x60" + }, + "1841": { + "op": "ADD" + }, + "1842": { + "op": "SWAP1" + }, + "1843": { + "jump": "o", + "op": "JUMP" + }, + "1844": { + "op": "JUMPDEST" + }, + "1845": { + "op": "PUSH1", + "value": "0x0" + }, + "1847": { + "op": "DUP2" + }, + "1848": { + "op": "MLOAD" + }, + "1849": { + "op": "DUP1" + }, + "1850": { + "op": "DUP5" + }, + "1851": { + "op": "MSTORE" + }, + "1852": { + "op": "PUSH1", + "value": "0x0" + }, + "1854": { + "op": "JUMPDEST" + }, + "1855": { + "op": "DUP2" + }, + "1856": { + "op": "DUP2" + }, + "1857": { + "op": "LT" + }, + "1858": { + "op": "ISZERO" + }, + "1859": { + "op": "PUSH3", + "value": "0x75C" + }, + "1863": { + "op": "JUMPI" + }, + "1864": { + "op": "PUSH1", + "value": "0x20" + }, + "1866": { + "op": "DUP2" + }, + "1867": { + "op": "DUP6" + }, + "1868": { + "op": "ADD" + }, + "1869": { + "op": "DUP2" + }, + "1870": { + "op": "ADD" + }, + "1871": { + "op": "MLOAD" + }, + "1872": { + "op": "DUP7" + }, + "1873": { + "op": "DUP4" + }, + "1874": { + "op": "ADD" + }, + "1875": { + "op": "DUP3" + }, + "1876": { + "op": "ADD" + }, + "1877": { + "op": "MSTORE" + }, + "1878": { + "op": "ADD" + }, + "1879": { + "op": "PUSH3", + "value": "0x73E" + }, + "1883": { + "op": "JUMP" + }, + "1884": { + "op": "JUMPDEST" + }, + "1885": { + "op": "DUP2" + }, + "1886": { + "op": "DUP2" + }, + "1887": { + "op": "GT" + }, + "1888": { + "op": "ISZERO" + }, + "1889": { + "op": "PUSH3", + "value": "0x76F" + }, + "1893": { + "op": "JUMPI" + }, + "1894": { + "op": "PUSH1", + "value": "0x0" + }, + "1896": { + "op": "PUSH1", + "value": "0x20" + }, + "1898": { + "op": "DUP4" + }, + "1899": { + "op": "DUP8" + }, + "1900": { + "op": "ADD" + }, + "1901": { + "op": "ADD" + }, + "1902": { + "op": "MSTORE" + }, + "1903": { + "op": "JUMPDEST" + }, + "1904": { + "op": "POP" + }, + "1905": { + "op": "PUSH1", + "value": "0x1F" + }, + "1907": { + "op": "ADD" + }, + "1908": { + "op": "PUSH1", + "value": "0x1F" + }, + "1910": { + "op": "NOT" + }, + "1911": { + "op": "AND" + }, + "1912": { + "op": "SWAP3" + }, + "1913": { + "op": "SWAP1" + }, + "1914": { + "op": "SWAP3" + }, + "1915": { + "op": "ADD" + }, + "1916": { + "op": "PUSH1", + "value": "0x20" + }, + "1918": { + "op": "ADD" + }, + "1919": { + "op": "SWAP3" + }, + "1920": { + "op": "SWAP2" + }, + "1921": { + "op": "POP" + }, + "1922": { + "op": "POP" + }, + "1923": { + "jump": "o", + "op": "JUMP" + }, + "1924": { + "op": "JUMPDEST" + }, + "1925": { + "op": "PUSH1", + "value": "0x80" + }, + "1927": { + "op": "DUP2" + }, + "1928": { + "op": "MSTORE" + }, + "1929": { + "op": "PUSH1", + "value": "0x0" + }, + "1931": { + "op": "PUSH3", + "value": "0x799" + }, + "1935": { + "op": "PUSH1", + "value": "0x80" + }, + "1937": { + "op": "DUP4" + }, + "1938": { + "op": "ADD" + }, + "1939": { + "op": "DUP8" + }, + "1940": { + "op": "PUSH3", + "value": "0x734" + }, + "1944": { + "jump": "i", + "op": "JUMP" + }, + "1945": { + "op": "JUMPDEST" + }, + "1946": { + "op": "DUP3" + }, + "1947": { + "op": "DUP2" + }, + "1948": { + "op": "SUB" + }, + "1949": { + "op": "PUSH1", + "value": "0x20" + }, + "1951": { + "op": "DUP5" + }, + "1952": { + "op": "ADD" + }, + "1953": { + "op": "MSTORE" + }, + "1954": { + "op": "PUSH3", + "value": "0x7AD" + }, + "1958": { + "op": "DUP2" + }, + "1959": { + "op": "DUP8" + }, + "1960": { + "op": "PUSH3", + "value": "0x734" + }, + "1964": { + "jump": "i", + "op": "JUMP" + }, + "1965": { + "op": "JUMPDEST" + }, + "1966": { + "op": "PUSH1", + "value": "0x1" + }, + "1968": { + "op": "PUSH1", + "value": "0x1" + }, + "1970": { + "op": "PUSH1", + "value": "0xA0" + }, + "1972": { + "op": "SHL" + }, + "1973": { + "op": "SUB" + }, + "1974": { + "op": "SWAP6" + }, + "1975": { + "op": "SWAP1" + }, + "1976": { + "op": "SWAP6" + }, + "1977": { + "op": "AND" + }, + "1978": { + "op": "PUSH1", + "value": "0x40" + }, + "1980": { + "op": "DUP5" + }, + "1981": { + "op": "ADD" + }, + "1982": { + "op": "MSTORE" + }, + "1983": { + "op": "POP" + }, + "1984": { + "op": "POP" + }, + "1985": { + "op": "PUSH1", + "value": "0x60" + }, + "1987": { + "op": "ADD" + }, + "1988": { + "op": "MSTORE" + }, + "1989": { + "op": "SWAP3" + }, + "1990": { + "op": "SWAP2" + }, + "1991": { + "op": "POP" + }, + "1992": { + "op": "POP" + }, + "1993": { + "jump": "o", + "op": "JUMP" + }, + "1994": { + "op": "JUMPDEST" + }, + "1995": { + "op": "PUSH1", + "value": "0x20" + }, + "1997": { + "op": "DUP1" + }, + "1998": { + "op": "DUP3" + }, + "1999": { + "op": "MSTORE" + }, + "2000": { + "op": "DUP2" + }, + "2001": { + "op": "DUP2" + }, + "2002": { + "op": "ADD" + }, + "2003": { + "op": "MSTORE" + }, + "2004": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "2037": { + "op": "PUSH1", + "value": "0x40" + }, + "2039": { + "op": "DUP3" + }, + "2040": { + "op": "ADD" + }, + "2041": { + "op": "MSTORE" + }, + "2042": { + "op": "PUSH1", + "value": "0x60" + }, + "2044": { + "op": "ADD" + }, + "2045": { + "op": "SWAP1" + }, + "2046": { + "jump": "o", + "op": "JUMP" + }, + "2047": { + "op": "JUMPDEST" + }, + "2048": { + "op": "PUSH1", + "value": "0xC0" + }, + "2050": { + "op": "DUP2" + }, + "2051": { + "op": "MSTORE" + }, + "2052": { + "op": "PUSH1", + "value": "0x0" + }, + "2054": { + "op": "PUSH3", + "value": "0x814" + }, + "2058": { + "op": "PUSH1", + "value": "0xC0" + }, + "2060": { + "op": "DUP4" + }, + "2061": { + "op": "ADD" + }, + "2062": { + "op": "DUP10" + }, + "2063": { + "op": "PUSH3", + "value": "0x734" + }, + "2067": { + "jump": "i", + "op": "JUMP" + }, + "2068": { + "op": "JUMPDEST" + }, + "2069": { + "op": "DUP3" + }, + "2070": { + "op": "DUP2" + }, + "2071": { + "op": "SUB" + }, + "2072": { + "op": "PUSH1", + "value": "0x20" + }, + "2074": { + "op": "DUP5" + }, + "2075": { + "op": "ADD" + }, + "2076": { + "op": "MSTORE" + }, + "2077": { + "op": "PUSH3", + "value": "0x828" + }, + "2081": { + "op": "DUP2" + }, + "2082": { + "op": "DUP10" + }, + "2083": { + "op": "PUSH3", + "value": "0x734" + }, + "2087": { + "jump": "i", + "op": "JUMP" + }, + "2088": { + "op": "JUMPDEST" + }, + "2089": { + "op": "PUSH1", + "value": "0x1" + }, + "2091": { + "op": "PUSH1", + "value": "0x1" + }, + "2093": { + "op": "PUSH1", + "value": "0xA0" + }, + "2095": { + "op": "SHL" + }, + "2096": { + "op": "SUB" + }, + "2097": { + "op": "SWAP8" + }, + "2098": { + "op": "SWAP1" + }, + "2099": { + "op": "SWAP8" + }, + "2100": { + "op": "AND" + }, + "2101": { + "op": "PUSH1", + "value": "0x40" + }, + "2103": { + "op": "DUP5" + }, + "2104": { + "op": "ADD" + }, + "2105": { + "op": "MSTORE" + }, + "2106": { + "op": "POP" + }, + "2107": { + "op": "POP" + }, + "2108": { + "op": "PUSH1", + "value": "0x60" + }, + "2110": { + "op": "DUP2" + }, + "2111": { + "op": "ADD" + }, + "2112": { + "op": "SWAP4" + }, + "2113": { + "op": "SWAP1" + }, + "2114": { + "op": "SWAP4" + }, + "2115": { + "op": "MSTORE" + }, + "2116": { + "op": "PUSH1", + "value": "0x80" + }, + "2118": { + "op": "DUP4" + }, + "2119": { + "op": "ADD" + }, + "2120": { + "op": "SWAP2" + }, + "2121": { + "op": "SWAP1" + }, + "2122": { + "op": "SWAP2" + }, + "2123": { + "op": "MSTORE" + }, + "2124": { + "op": "PUSH1", + "value": "0xA0" + }, + "2126": { + "op": "SWAP1" + }, + "2127": { + "op": "SWAP2" + }, + "2128": { + "op": "ADD" + }, + "2129": { + "op": "MSTORE" + }, + "2130": { + "op": "SWAP3" + }, + "2131": { + "op": "SWAP2" + }, + "2132": { + "op": "POP" + }, + "2133": { + "op": "POP" + }, + "2134": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "42f378bb58afa4d90301d44e317d647135ce949d", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n/// _____ ______ ______ ______ ______ ______ _____ \n/// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-. \n/// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\ \n/// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____- \n/// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/ \n\npragma solidity ^0.8.8;\n\nimport {Pausable} from \"./Pausable.sol\";\n\nimport {SoulboundWithSignature} from \"../../../packages/soulbound/contracts/SoulboundWithSignature.sol\";\nimport {SoulboundRedeemable} from \"../../../packages/soulbound/contracts/SoulboundRedeemable.sol\";\n\n/**\n* @title Daccred DeployerSoulboundWithExtension.\n* @author Daccred.\n* @dev This contracts imports and provides functions\n* that deploys each imported contract.\n*/\ncontract DeployerSoulboundWithExtension is Pausable {\n /// @dev Locked for re-entrancy.\n bool private locked;\n\n /**\n * @dev Protect against Re-Entrancy.\n */\n modifier nonReentrant() {\n require(!locked);\n locked = true;\n _;\n locked = false;\n }\n\n /**\n * @dev Deploys the SoulboundRedeemable Contract with its constructor\n * parameters.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n * @param _allowlistOwner Desired owner of the contrat for sigs.\n * @param _totalSupply Desired total supply.\n * @param _priceLimit Desired price limit.\n * @param _tokenPrice Desired token price.\n *\n * @return contractAddress Deployed address.\n */\n function deploySoulboundRedeemable(\n string memory _name, \n string memory _symbol,\n address _allowlistOwner,\n uint256 _totalSupply,\n uint256 _priceLimit,\n uint256 _tokenPrice\n )\n external\n nonReentrant\n whenNotPaused\n returns(address contractAddress)\n {\n /// @dev Deploy SoulboundRedeemable contract.\n SoulboundRedeemable _soulboundRedeemable = new SoulboundRedeemable(\n _name, \n _symbol,\n _allowlistOwner,\n _totalSupply,\n _priceLimit,\n _tokenPrice\n );\n /// @dev Return address.\n contractAddress = address(_soulboundRedeemable);\n }\n\n /**\n * @dev Deploys the SoulboundWithSignature Contract with its constructor\n * parameters.\n *\n * @param _name Name of token.\n * @param _symbol Desired symbol.\n * @param _allowlistOwner Desired owner of the contrat for sigs.\n * @param _totalSupply Desired total supply.\n *\n * @return contractAddress Deployed address.\n */\n function deploySoulboundWithSignature(\n string memory _name, \n string memory _symbol,\n address _allowlistOwner,\n uint256 _totalSupply\n )\n external\n nonReentrant\n whenNotPaused\n returns(address contractAddress)\n {\n /// @dev Deploy SoulboundWthSignature contract.\n SoulboundWithSignature _soulboundWithSignature = new SoulboundWithSignature(\n _name, \n _symbol,\n _allowlistOwner,\n _totalSupply\n );\n /// @dev Return address.\n contractAddress = address(_soulboundWithSignature);\n }\n}", + "sourceMap": "884:2500:12:-:0;;;;;;;;;;;;-1:-1:-1;921:32:0;719:10:5;921:18:0;:32::i;:::-;884:2500:12;;2270:187:0;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;884:2500:12:-;;;;;;;", + "sourcePath": "contracts/contracts/core/contracts/facets/DeployerSoulboundWithExtension.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC165.json b/tests/build/contracts/ERC165.json new file mode 100644 index 0000000..d6ccac5 --- /dev/null +++ b/tests/build/contracts/ERC165.json @@ -0,0 +1,4451 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "exportedSymbols": { + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ] + }, + "id": 5877, + "license": "CC0-1.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5518, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:41" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5519, + "nodeType": "StructuredDocumentation", + "src": "196:279:41", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 5528, + "linearizedBaseContracts": [ + 5528 + ], + "name": "IERC165", + "nameLocation": "486:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 5520, + "nodeType": "StructuredDocumentation", + "src": "500:340:41", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 5527, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "854:17:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5522, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "879:11:41", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "872:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5521, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "872:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "871:20:41" + }, + "returnParameters": { + "id": 5526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "915:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "915:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "914:6:41" + }, + "scope": 5528, + "src": "845:76:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "476:447:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5530, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5528, + "src": "1530:7:41" + }, + "id": 5531, + "nodeType": "InheritanceSpecifier", + "src": "1530:7:41" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5529, + "nodeType": "StructuredDocumentation", + "src": "925:576:41", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 5549, + "linearizedBaseContracts": [ + 5549, + 5528 + ], + "name": "ERC165", + "nameLocation": "1520:6:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 5527 + ], + "body": { + "id": 5547, + "nodeType": "Block", + "src": "1740:64:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5540, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5534, + "src": "1757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5542, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5528, + "src": "1777:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 5541, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1772:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1772:13:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$5528", + "typeString": "type(contract IERC165)" + } + }, + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1772:25:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1757:40:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5539, + "id": 5546, + "nodeType": "Return", + "src": "1750:47:41" + } + ] + }, + "documentation": { + "id": 5532, + "nodeType": "StructuredDocumentation", + "src": "1544:56:41", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 5548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1614:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5536, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1704:8:41" + }, + "parameters": { + "id": 5535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5534, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1639:11:41", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1632:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5533, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1632:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1631:20:41" + }, + "returnParameters": { + "id": 5539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5538, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1730:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1730:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1729:6:41" + }, + "scope": 5549, + "src": "1605:199:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 5877, + "src": "1502:304:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Metadata", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 5567, + "linearizedBaseContracts": [ + 5567 + ], + "name": "IERC721Metadata", + "nameLocation": "1818:15:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "06fdde03", + "id": 5554, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1849:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5550, + "nodeType": "ParameterList", + "parameters": [], + "src": "1853:2:41" + }, + "returnParameters": { + "id": 5553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5552, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5554, + "src": "1879:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1879:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1878:15:41" + }, + "scope": 5567, + "src": "1840:54:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "95d89b41", + "id": 5559, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "1909:6:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5555, + "nodeType": "ParameterList", + "parameters": [], + "src": "1915:2:41" + }, + "returnParameters": { + "id": 5558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5557, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5559, + "src": "1941:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5556, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1940:15:41" + }, + "scope": 5567, + "src": "1900:56:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c87b56dd", + "id": 5566, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1971:8:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5561, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1988:7:41", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "1980:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1980:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1979:17:41" + }, + "returnParameters": { + "id": 5565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5564, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "2020:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2020:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2019:15:41" + }, + "scope": 5567, + "src": "1962:73:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "1808:229:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC4973", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5568, + "nodeType": "StructuredDocumentation", + "src": "2039:151:41", + "text": "@title Account-bound tokens\n @dev See https://eips.ethereum.org/EIPS/eip-4973\n Note: the ERC-165 identifier for this interface is 0x5164cf47" + }, + "fullyImplemented": false, + "id": 5605, + "linearizedBaseContracts": [ + 5605 + ], + "name": "IERC4973", + "nameLocation": "2200:8:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 5569, + "nodeType": "StructuredDocumentation", + "src": "2215:207:41", + "text": "@dev This emits when a new token is created and bound to an account by\n any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "e9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a27", + "id": 5575, + "name": "Attest", + "nameLocation": "2433:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5571, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2456:2:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2440:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5573, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2476:7:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2460:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2460:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:45:41" + }, + "src": "2427:58:41" + }, + { + "anonymous": false, + "documentation": { + "id": 5576, + "nodeType": "StructuredDocumentation", + "src": "2490:217:41", + "text": "@dev This emits when an existing ABT is revoked from an account and\n destroyed by any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "ec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b", + "id": 5582, + "name": "Revoke", + "nameLocation": "2718:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5578, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2741:2:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2725:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2725:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5580, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2761:7:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2745:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2724:45:41" + }, + "src": "2712:58:41" + }, + { + "documentation": { + "id": 5583, + "nodeType": "StructuredDocumentation", + "src": "2776:317:41", + "text": "@notice Count all ABTs assigned to an owner\n @dev ABTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param owner An address for whom to query the balance\n @return The number of ABTs owned by `owner`, possibly zero" + }, + "functionSelector": "70a08231", + "id": 5590, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3107:9:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5585, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3125:5:41", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3117:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3117:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3116:15:41" + }, + "returnParameters": { + "id": 5589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5588, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3155:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:9:41" + }, + "scope": 5605, + "src": "3098:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5591, + "nodeType": "StructuredDocumentation", + "src": "3170:284:41", + "text": "@notice Find the address bound to an ERC4973 account-bound token\n @dev ABTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param tokenId The identifier for an ABT\n @return The address of the owner bound to the ABT" + }, + "functionSelector": "6352211e", + "id": 5598, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3468:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5593, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3484:7:41", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3476:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3476:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3475:17:41" + }, + "returnParameters": { + "id": 5597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5596, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3516:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3516:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3515:9:41" + }, + "scope": 5605, + "src": "3459:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5599, + "nodeType": "StructuredDocumentation", + "src": "3531:326:41", + "text": "@notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n disassociate themselves from an ABT publicly through calling this\n function.\n @dev Must emit a `event Revoke` with the `address to` field pointing to\n the zero address.\n @param tokenId The identifier for an ABT" + }, + "functionSelector": "42966c68", + "id": 5604, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "3871:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5601, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3884:7:41", + "nodeType": "VariableDeclaration", + "scope": 5604, + "src": "3876:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3876:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3875:17:41" + }, + "returnParameters": { + "id": 5603, + "nodeType": "ParameterList", + "parameters": [], + "src": "3901:0:41" + }, + "scope": 5605, + "src": "3862:40:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "2190:1714:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5607, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5549, + "src": "4082:6:41" + }, + "id": 5608, + "nodeType": "InheritanceSpecifier", + "src": "4082:6:41" + }, + { + "baseName": { + "id": 5609, + "name": "IERC721Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5567, + "src": "4090:15:41" + }, + "id": 5610, + "nodeType": "InheritanceSpecifier", + "src": "4090:15:41" + }, + { + "baseName": { + "id": 5611, + "name": "IERC4973", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5605, + "src": "4107:8:41" + }, + "id": 5612, + "nodeType": "InheritanceSpecifier", + "src": "4107:8:41" + } + ], + "canonicalName": "ERC4973", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5606, + "nodeType": "StructuredDocumentation", + "src": "3906:147:41", + "text": "@notice Reference implementation of EIP-4973 tokens.\n @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)" + }, + "fullyImplemented": true, + "id": 5876, + "linearizedBaseContracts": [ + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "ERC4973", + "nameLocation": "4071:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5614, + "mutability": "mutable", + "name": "_name", + "nameLocation": "4137:5:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4122:20:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4122:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5616, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "4163:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4148:22:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5615, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4148:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5620, + "mutability": "mutable", + "name": "_owners", + "nameLocation": "4213:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4177:43:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 5619, + "keyType": { + "id": 5617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4185:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4177:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 5618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4196:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5624, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "4261:10:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4226:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 5623, + "keyType": { + "id": 5621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4234:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4226:26:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 5622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4245:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5628, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "4313:9:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4277:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5627, + "keyType": { + "id": 5625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4285:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "4277:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4296:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 5643, + "nodeType": "Block", + "src": "4385:57:41", + "statements": [ + { + "expression": { + "id": 5637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5635, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4395:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5636, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5630, + "src": "4403:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4395:13:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5638, + "nodeType": "ExpressionStatement", + "src": "4395:13:41" + }, + { + "expression": { + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5639, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4418:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5640, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5632, + "src": "4428:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4418:17:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5642, + "nodeType": "ExpressionStatement", + "src": "4418:17:41" + } + ] + }, + "id": 5644, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5630, + "mutability": "mutable", + "name": "name_", + "nameLocation": "4355:5:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4341:19:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4341:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5632, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "4376:7:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4362:21:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5631, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4362:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4340:44:41" + }, + "returnParameters": { + "id": 5634, + "nodeType": "ParameterList", + "parameters": [], + "src": "4385:0:41" + }, + "scope": 5876, + "src": "4329:113:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 5548 + ], + "body": { + "id": 5671, + "nodeType": "Block", + "src": "4583:193:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5652, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4612:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5654, + "name": "IERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5567, + "src": "4632:15:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + ], + "id": 5653, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4627:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4627:21:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$5567", + "typeString": "type(contract IERC721Metadata)" + } + }, + "id": 5656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4627:33:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4612:48:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5658, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4676:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5660, + "name": "IERC4973", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "4696:8:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + ], + "id": 5659, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4691:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC4973_$5605", + "typeString": "type(contract IERC4973)" + } + }, + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4691:26:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4676:41:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:105:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 5667, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 5665, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "4733:5:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC4973_$5876_$", + "typeString": "type(contract super ERC4973)" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 5548, + "src": "4733:23:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4733:36:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:157:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5651, + "id": 5670, + "nodeType": "Return", + "src": "4593:176:41" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 5672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4457:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5648, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4547:8:41" + }, + "parameters": { + "id": 5647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5646, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4482:11:41", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4475:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5645, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4475:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4474:20:41" + }, + "returnParameters": { + "id": 5651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5650, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4573:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4573:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4572:6:41" + }, + "scope": 5876, + "src": "4448:328:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5554 + ], + "body": { + "id": 5680, + "nodeType": "Block", + "src": "4851:29:41", + "statements": [ + { + "expression": { + "id": 5678, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4868:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5677, + "id": 5679, + "nodeType": "Return", + "src": "4861:12:41" + } + ] + }, + "functionSelector": "06fdde03", + "id": 5681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "4791:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5674, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4818:8:41" + }, + "parameters": { + "id": 5673, + "nodeType": "ParameterList", + "parameters": [], + "src": "4795:2:41" + }, + "returnParameters": { + "id": 5677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5676, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5681, + "src": "4836:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5675, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4836:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4835:15:41" + }, + "scope": 5876, + "src": "4782:98:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5559 + ], + "body": { + "id": 5689, + "nodeType": "Block", + "src": "4957:31:41", + "statements": [ + { + "expression": { + "id": 5687, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4974:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5686, + "id": 5688, + "nodeType": "Return", + "src": "4967:14:41" + } + ] + }, + "functionSelector": "95d89b41", + "id": 5690, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "4895:6:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5683, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4924:8:41" + }, + "parameters": { + "id": 5682, + "nodeType": "ParameterList", + "parameters": [], + "src": "4901:2:41" + }, + "returnParameters": { + "id": 5686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5690, + "src": "4942:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5684, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4942:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4941:15:41" + }, + "scope": 5876, + "src": "4886:102:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5566 + ], + "body": { + "id": 5709, + "nodeType": "Block", + "src": "5126:111:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5700, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5152:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5699, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "5144:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5144:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e5552493a20746f6b656e20646f65736e2774206578697374", + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5162:31:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + }, + "value": "tokenURI: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + } + ], + "id": 5698, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5136:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5136:58:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5704, + "nodeType": "ExpressionStatement", + "src": "5136:58:41" + }, + { + "expression": { + "baseExpression": { + "id": 5705, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "5211:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5707, + "indexExpression": { + "id": 5706, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5222:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5211:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5697, + "id": 5708, + "nodeType": "Return", + "src": "5204:26:41" + } + ] + }, + "functionSelector": "c87b56dd", + "id": 5710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "5003:8:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5694, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5081:8:41" + }, + "parameters": { + "id": 5693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5692, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5020:7:41", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5012:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5011:17:41" + }, + "returnParameters": { + "id": 5697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5107:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5107:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5106:15:41" + }, + "scope": 5876, + "src": "4994:243:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5604 + ], + "body": { + "id": 5730, + "nodeType": "Block", + "src": "5298:110:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5717, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5316:3:41", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5316:10:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 5720, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5338:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5719, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "5330:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5330:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5316:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6275726e3a2073656e646572206d757374206265206f776e6572", + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5348:28:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + }, + "value": "burn: sender must be owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + } + ], + "id": 5716, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5308:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5308:69:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5725, + "nodeType": "ExpressionStatement", + "src": "5308:69:41" + }, + { + "expression": { + "arguments": [ + { + "id": 5727, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5393:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5726, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5875, + "src": "5387:5:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5387:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5729, + "nodeType": "ExpressionStatement", + "src": "5387:14:41" + } + ] + }, + "functionSelector": "42966c68", + "id": 5731, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "5252:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5714, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5289:8:41" + }, + "parameters": { + "id": 5713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5712, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5265:7:41", + "nodeType": "VariableDeclaration", + "scope": 5731, + "src": "5257:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5257:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5256:17:41" + }, + "returnParameters": { + "id": 5715, + "nodeType": "ParameterList", + "parameters": [], + "src": "5298:0:41" + }, + "scope": 5876, + "src": "5243:165:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5590 + ], + "body": { + "id": 5753, + "nodeType": "Block", + "src": "5539:160:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5740, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5570:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5587:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5579:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5579:7:41", + "typeDescriptions": {} + } + }, + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5570:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "62616c616e63654f663a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5603:46:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + }, + "value": "balanceOf: address zero is not a valid owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + } + ], + "id": 5739, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5549:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5549:110:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5748, + "nodeType": "ExpressionStatement", + "src": "5549:110:41" + }, + { + "expression": { + "baseExpression": { + "id": 5749, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "5676:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5751, + "indexExpression": { + "id": 5750, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5686:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5676:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5738, + "id": 5752, + "nodeType": "Return", + "src": "5669:23:41" + } + ] + }, + "functionSelector": "70a08231", + "id": 5754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "5423:9:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5735, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5500:8:41" + }, + "parameters": { + "id": 5734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5733, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5441:5:41", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5433:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5433:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5432:15:41" + }, + "returnParameters": { + "id": 5738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5526:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5526:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5525:9:41" + }, + "scope": 5876, + "src": "5414:285:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5598 + ], + "body": { + "id": 5779, + "nodeType": "Block", + "src": "5777:141:41", + "statements": [ + { + "assignments": [ + 5762 + ], + "declarations": [ + { + "constant": false, + "id": 5762, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5795:5:41", + "nodeType": "VariableDeclaration", + "scope": 5779, + "src": "5787:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5787:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5766, + "initialValue": { + "baseExpression": { + "id": 5763, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "5803:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5765, + "indexExpression": { + "id": 5764, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5756, + "src": "5811:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5803:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5787:32:41" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5768, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5837:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5854:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5846:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5846:7:41", + "typeDescriptions": {} + } + }, + "id": 5772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5846:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5837:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6f776e65724f663a20746f6b656e20646f65736e2774206578697374", + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5858:30:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + }, + "value": "ownerOf: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + } + ], + "id": 5767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5829:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5829:60:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "5829:60:41" + }, + { + "expression": { + "id": 5777, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5906:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5760, + "id": 5778, + "nodeType": "Return", + "src": "5899:12:41" + } + ] + }, + "functionSelector": "6352211e", + "id": 5780, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "5714:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5756, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5730:7:41", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5722:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5722:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5721:17:41" + }, + "returnParameters": { + "id": 5760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5759, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5768:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5768:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5767:9:41" + }, + "scope": 5876, + "src": "5705:213:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 5796, + "nodeType": "Block", + "src": "5995:54:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5787, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5789, + "indexExpression": { + "id": 5788, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5782, + "src": "6020:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6012:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6040:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6032:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6032:7:41", + "typeDescriptions": {} + } + }, + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6012:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5786, + "id": 5795, + "nodeType": "Return", + "src": "6005:37:41" + } + ] + }, + "id": 5797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nameLocation": "5933:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5782, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5949:7:41", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5941:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5941:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5940:17:41" + }, + "returnParameters": { + "id": 5786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5989:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5989:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5988:6:41" + }, + "scope": 5876, + "src": "5924:125:41", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5841, + "nodeType": "Block", + "src": "6183:219:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6201:17:41", + "subExpression": { + "arguments": [ + { + "id": 5810, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6210:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5809, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "6202:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6202:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d696e743a20746f6b656e494420657869737473", + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6220:22:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + }, + "value": "mint: tokenID exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + } + ], + "id": 5808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6193:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6193:50:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5815, + "nodeType": "ExpressionStatement", + "src": "6193:50:41" + }, + { + "expression": { + "id": 5820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5816, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6253:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5818, + "indexExpression": { + "id": 5817, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6263:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6253:13:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 5819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6270:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6253:18:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5821, + "nodeType": "ExpressionStatement", + "src": "6253:18:41" + }, + { + "expression": { + "id": 5826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5822, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6281:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5824, + "indexExpression": { + "id": 5823, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6289:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6281:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5825, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6300:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6281:21:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5827, + "nodeType": "ExpressionStatement", + "src": "6281:21:41" + }, + { + "expression": { + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5828, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6312:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5830, + "indexExpression": { + "id": 5829, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6323:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6312:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5831, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5803, + "src": "6334:3:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6312:25:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5833, + "nodeType": "ExpressionStatement", + "src": "6312:25:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5835, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6359:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5836, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6363:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5834, + "name": "Attest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5575, + "src": "6352:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6352:19:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5838, + "nodeType": "EmitStatement", + "src": "6347:24:41" + }, + { + "expression": { + "id": 5839, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6388:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5807, + "id": 5840, + "nodeType": "Return", + "src": "6381:14:41" + } + ] + }, + "id": 5842, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "6064:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5799, + "mutability": "mutable", + "name": "to", + "nameLocation": "6087:2:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6079:10:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6079:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5801, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6107:7:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6099:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6099:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5803, + "mutability": "mutable", + "name": "uri", + "nameLocation": "6138:3:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6124:17:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6124:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6069:78:41" + }, + "returnParameters": { + "id": 5807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5806, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6174:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6174:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6173:9:41" + }, + "scope": 5876, + "src": "6055:347:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5874, + "nodeType": "Block", + "src": "6457:188:41", + "statements": [ + { + "assignments": [ + 5848 + ], + "declarations": [ + { + "constant": false, + "id": 5848, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6475:5:41", + "nodeType": "VariableDeclaration", + "scope": 5874, + "src": "6467:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6467:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5852, + "initialValue": { + "arguments": [ + { + "id": 5850, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6491:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5849, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6483:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6483:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6467:32:41" + }, + { + "expression": { + "id": 5857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5853, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6510:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5855, + "indexExpression": { + "id": 5854, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6520:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6510:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6530:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6510:21:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5858, + "nodeType": "ExpressionStatement", + "src": "6510:21:41" + }, + { + "expression": { + "id": 5862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6541:23:41", + "subExpression": { + "baseExpression": { + "id": 5859, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6548:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5861, + "indexExpression": { + "id": 5860, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6556:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6548:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5863, + "nodeType": "ExpressionStatement", + "src": "6541:23:41" + }, + { + "expression": { + "id": 5867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6574:26:41", + "subExpression": { + "baseExpression": { + "id": 5864, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6581:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5866, + "indexExpression": { + "id": 5865, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6592:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6581:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5868, + "nodeType": "ExpressionStatement", + "src": "6574:26:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6623:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5871, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6630:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5869, + "name": "Revoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "6616:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6616:22:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5873, + "nodeType": "EmitStatement", + "src": "6611:27:41" + } + ] + }, + "id": 5875, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "6417:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5844, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6431:7:41", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "6423:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6423:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6422:17:41" + }, + "returnParameters": { + "id": 5846, + "nodeType": "ParameterList", + "parameters": [], + "src": "6457:0:41" + }, + "scope": 5876, + "src": "6408:237:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 5877, + "src": "4053:2594:41", + "usedErrors": [] + } + ], + "src": "36:6612:41" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC165", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "IERC165" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.", + "kind": "dev", + "methods": { + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "offset": [ + 1502, + 1806 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "38ba42158af6f3e3b85639052b00f6ff9e032829", + "source": "// SPDX-License-Identifier: CC0-1.0\npragma solidity ^0.8.8;\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n\ninterface IERC721Metadata {\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n\n/// @title Account-bound tokens\n/// @dev See https://eips.ethereum.org/EIPS/eip-4973\n/// Note: the ERC-165 identifier for this interface is 0x5164cf47\ninterface IERC4973 {\n /// @dev This emits when a new token is created and bound to an account by\n /// any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Attest(address indexed to, uint256 indexed tokenId);\n /// @dev This emits when an existing ABT is revoked from an account and\n /// destroyed by any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Revoke(address indexed to, uint256 indexed tokenId);\n\n /// @notice Count all ABTs assigned to an owner\n /// @dev ABTs assigned to the zero address are considered invalid, and this\n /// function throws for queries about the zero address.\n /// @param owner An address for whom to query the balance\n /// @return The number of ABTs owned by `owner`, possibly zero\n function balanceOf(address owner) external view returns (uint256);\n\n /// @notice Find the address bound to an ERC4973 account-bound token\n /// @dev ABTs assigned to zero address are considered invalid, and queries\n /// about them do throw.\n /// @param tokenId The identifier for an ABT\n /// @return The address of the owner bound to the ABT\n function ownerOf(uint256 tokenId) external view returns (address);\n\n /// @notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n /// disassociate themselves from an ABT publicly through calling this\n /// function.\n /// @dev Must emit a `event Revoke` with the `address to` field pointing to\n /// the zero address.\n /// @param tokenId The identifier for an ABT\n function burn(uint256 tokenId) external;\n}\n\n/// @notice Reference implementation of EIP-4973 tokens.\n/// @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)\nabstract contract ERC4973 is ERC165, IERC721Metadata, IERC4973 {\n string private _name;\n string private _symbol;\n\n mapping(uint256 => address) private _owners;\n mapping(uint256 => string) private _tokenURIs;\n mapping(address => uint256) private _balances;\n\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return\n interfaceId == type(IERC721Metadata).interfaceId ||\n interfaceId == type(IERC4973).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n function tokenURI(uint256 tokenId)\n public\n view\n virtual\n override\n returns (string memory)\n {\n require(_exists(tokenId), \"tokenURI: token doesn't exist\");\n return _tokenURIs[tokenId];\n }\n\n function burn(uint256 tokenId) public virtual override {\n require(msg.sender == ownerOf(tokenId), \"burn: sender must be owner\");\n _burn(tokenId);\n }\n\n function balanceOf(address owner)\n public\n view\n virtual\n override\n returns (uint256)\n {\n require(\n owner != address(0),\n \"balanceOf: address zero is not a valid owner\"\n );\n return _balances[owner];\n }\n\n function ownerOf(uint256 tokenId) public view virtual returns (address) {\n address owner = _owners[tokenId];\n require(owner != address(0), \"ownerOf: token doesn't exist\");\n return owner;\n }\n\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _owners[tokenId] != address(0);\n }\n\n function _mint(\n address to,\n uint256 tokenId,\n string memory uri\n ) internal virtual returns (uint256) {\n require(!_exists(tokenId), \"mint: tokenID exists\");\n _balances[to] += 1;\n _owners[tokenId] = to;\n _tokenURIs[tokenId] = uri;\n emit Attest(to, tokenId);\n return tokenId;\n }\n\n function _burn(uint256 tokenId) internal virtual {\n address owner = ownerOf(tokenId);\n\n _balances[owner] -= 1;\n delete _owners[tokenId];\n delete _tokenURIs[tokenId];\n\n emit Revoke(owner, tokenId);\n }\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC4973.json b/tests/build/contracts/ERC4973.json new file mode 100644 index 0000000..ccd7efa --- /dev/null +++ b/tests/build/contracts/ERC4973.json @@ -0,0 +1,4616 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Attest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Revoke", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "exportedSymbols": { + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ] + }, + "id": 5877, + "license": "CC0-1.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5518, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:41" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5519, + "nodeType": "StructuredDocumentation", + "src": "196:279:41", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 5528, + "linearizedBaseContracts": [ + 5528 + ], + "name": "IERC165", + "nameLocation": "486:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 5520, + "nodeType": "StructuredDocumentation", + "src": "500:340:41", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 5527, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "854:17:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5522, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "879:11:41", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "872:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5521, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "872:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "871:20:41" + }, + "returnParameters": { + "id": 5526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "915:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "915:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "914:6:41" + }, + "scope": 5528, + "src": "845:76:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "476:447:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5530, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5528, + "src": "1530:7:41" + }, + "id": 5531, + "nodeType": "InheritanceSpecifier", + "src": "1530:7:41" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5529, + "nodeType": "StructuredDocumentation", + "src": "925:576:41", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 5549, + "linearizedBaseContracts": [ + 5549, + 5528 + ], + "name": "ERC165", + "nameLocation": "1520:6:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 5527 + ], + "body": { + "id": 5547, + "nodeType": "Block", + "src": "1740:64:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5540, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5534, + "src": "1757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5542, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5528, + "src": "1777:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 5541, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1772:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1772:13:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$5528", + "typeString": "type(contract IERC165)" + } + }, + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1772:25:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1757:40:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5539, + "id": 5546, + "nodeType": "Return", + "src": "1750:47:41" + } + ] + }, + "documentation": { + "id": 5532, + "nodeType": "StructuredDocumentation", + "src": "1544:56:41", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 5548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1614:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5536, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1704:8:41" + }, + "parameters": { + "id": 5535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5534, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1639:11:41", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1632:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5533, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1632:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1631:20:41" + }, + "returnParameters": { + "id": 5539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5538, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1730:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1730:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1729:6:41" + }, + "scope": 5549, + "src": "1605:199:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 5877, + "src": "1502:304:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Metadata", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 5567, + "linearizedBaseContracts": [ + 5567 + ], + "name": "IERC721Metadata", + "nameLocation": "1818:15:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "06fdde03", + "id": 5554, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1849:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5550, + "nodeType": "ParameterList", + "parameters": [], + "src": "1853:2:41" + }, + "returnParameters": { + "id": 5553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5552, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5554, + "src": "1879:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1879:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1878:15:41" + }, + "scope": 5567, + "src": "1840:54:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "95d89b41", + "id": 5559, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "1909:6:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5555, + "nodeType": "ParameterList", + "parameters": [], + "src": "1915:2:41" + }, + "returnParameters": { + "id": 5558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5557, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5559, + "src": "1941:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5556, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1940:15:41" + }, + "scope": 5567, + "src": "1900:56:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c87b56dd", + "id": 5566, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1971:8:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5561, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1988:7:41", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "1980:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1980:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1979:17:41" + }, + "returnParameters": { + "id": 5565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5564, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "2020:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2020:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2019:15:41" + }, + "scope": 5567, + "src": "1962:73:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "1808:229:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC4973", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5568, + "nodeType": "StructuredDocumentation", + "src": "2039:151:41", + "text": "@title Account-bound tokens\n @dev See https://eips.ethereum.org/EIPS/eip-4973\n Note: the ERC-165 identifier for this interface is 0x5164cf47" + }, + "fullyImplemented": false, + "id": 5605, + "linearizedBaseContracts": [ + 5605 + ], + "name": "IERC4973", + "nameLocation": "2200:8:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 5569, + "nodeType": "StructuredDocumentation", + "src": "2215:207:41", + "text": "@dev This emits when a new token is created and bound to an account by\n any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "e9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a27", + "id": 5575, + "name": "Attest", + "nameLocation": "2433:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5571, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2456:2:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2440:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5573, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2476:7:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2460:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2460:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:45:41" + }, + "src": "2427:58:41" + }, + { + "anonymous": false, + "documentation": { + "id": 5576, + "nodeType": "StructuredDocumentation", + "src": "2490:217:41", + "text": "@dev This emits when an existing ABT is revoked from an account and\n destroyed by any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "ec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b", + "id": 5582, + "name": "Revoke", + "nameLocation": "2718:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5578, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2741:2:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2725:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2725:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5580, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2761:7:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2745:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2724:45:41" + }, + "src": "2712:58:41" + }, + { + "documentation": { + "id": 5583, + "nodeType": "StructuredDocumentation", + "src": "2776:317:41", + "text": "@notice Count all ABTs assigned to an owner\n @dev ABTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param owner An address for whom to query the balance\n @return The number of ABTs owned by `owner`, possibly zero" + }, + "functionSelector": "70a08231", + "id": 5590, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3107:9:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5585, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3125:5:41", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3117:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3117:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3116:15:41" + }, + "returnParameters": { + "id": 5589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5588, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3155:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:9:41" + }, + "scope": 5605, + "src": "3098:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5591, + "nodeType": "StructuredDocumentation", + "src": "3170:284:41", + "text": "@notice Find the address bound to an ERC4973 account-bound token\n @dev ABTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param tokenId The identifier for an ABT\n @return The address of the owner bound to the ABT" + }, + "functionSelector": "6352211e", + "id": 5598, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3468:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5593, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3484:7:41", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3476:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3476:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3475:17:41" + }, + "returnParameters": { + "id": 5597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5596, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3516:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3516:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3515:9:41" + }, + "scope": 5605, + "src": "3459:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5599, + "nodeType": "StructuredDocumentation", + "src": "3531:326:41", + "text": "@notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n disassociate themselves from an ABT publicly through calling this\n function.\n @dev Must emit a `event Revoke` with the `address to` field pointing to\n the zero address.\n @param tokenId The identifier for an ABT" + }, + "functionSelector": "42966c68", + "id": 5604, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "3871:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5601, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3884:7:41", + "nodeType": "VariableDeclaration", + "scope": 5604, + "src": "3876:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3876:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3875:17:41" + }, + "returnParameters": { + "id": 5603, + "nodeType": "ParameterList", + "parameters": [], + "src": "3901:0:41" + }, + "scope": 5605, + "src": "3862:40:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "2190:1714:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5607, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5549, + "src": "4082:6:41" + }, + "id": 5608, + "nodeType": "InheritanceSpecifier", + "src": "4082:6:41" + }, + { + "baseName": { + "id": 5609, + "name": "IERC721Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5567, + "src": "4090:15:41" + }, + "id": 5610, + "nodeType": "InheritanceSpecifier", + "src": "4090:15:41" + }, + { + "baseName": { + "id": 5611, + "name": "IERC4973", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5605, + "src": "4107:8:41" + }, + "id": 5612, + "nodeType": "InheritanceSpecifier", + "src": "4107:8:41" + } + ], + "canonicalName": "ERC4973", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5606, + "nodeType": "StructuredDocumentation", + "src": "3906:147:41", + "text": "@notice Reference implementation of EIP-4973 tokens.\n @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)" + }, + "fullyImplemented": true, + "id": 5876, + "linearizedBaseContracts": [ + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "ERC4973", + "nameLocation": "4071:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5614, + "mutability": "mutable", + "name": "_name", + "nameLocation": "4137:5:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4122:20:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4122:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5616, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "4163:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4148:22:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5615, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4148:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5620, + "mutability": "mutable", + "name": "_owners", + "nameLocation": "4213:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4177:43:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 5619, + "keyType": { + "id": 5617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4185:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4177:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 5618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4196:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5624, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "4261:10:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4226:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 5623, + "keyType": { + "id": 5621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4234:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4226:26:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 5622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4245:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5628, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "4313:9:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4277:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5627, + "keyType": { + "id": 5625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4285:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "4277:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4296:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 5643, + "nodeType": "Block", + "src": "4385:57:41", + "statements": [ + { + "expression": { + "id": 5637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5635, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4395:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5636, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5630, + "src": "4403:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4395:13:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5638, + "nodeType": "ExpressionStatement", + "src": "4395:13:41" + }, + { + "expression": { + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5639, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4418:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5640, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5632, + "src": "4428:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4418:17:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5642, + "nodeType": "ExpressionStatement", + "src": "4418:17:41" + } + ] + }, + "id": 5644, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5630, + "mutability": "mutable", + "name": "name_", + "nameLocation": "4355:5:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4341:19:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4341:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5632, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "4376:7:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4362:21:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5631, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4362:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4340:44:41" + }, + "returnParameters": { + "id": 5634, + "nodeType": "ParameterList", + "parameters": [], + "src": "4385:0:41" + }, + "scope": 5876, + "src": "4329:113:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 5548 + ], + "body": { + "id": 5671, + "nodeType": "Block", + "src": "4583:193:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5652, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4612:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5654, + "name": "IERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5567, + "src": "4632:15:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + ], + "id": 5653, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4627:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4627:21:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$5567", + "typeString": "type(contract IERC721Metadata)" + } + }, + "id": 5656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4627:33:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4612:48:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5658, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4676:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5660, + "name": "IERC4973", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "4696:8:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + ], + "id": 5659, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4691:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC4973_$5605", + "typeString": "type(contract IERC4973)" + } + }, + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4691:26:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4676:41:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:105:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 5667, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 5665, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "4733:5:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC4973_$5876_$", + "typeString": "type(contract super ERC4973)" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 5548, + "src": "4733:23:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4733:36:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:157:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5651, + "id": 5670, + "nodeType": "Return", + "src": "4593:176:41" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 5672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4457:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5648, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4547:8:41" + }, + "parameters": { + "id": 5647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5646, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4482:11:41", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4475:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5645, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4475:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4474:20:41" + }, + "returnParameters": { + "id": 5651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5650, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4573:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4573:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4572:6:41" + }, + "scope": 5876, + "src": "4448:328:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5554 + ], + "body": { + "id": 5680, + "nodeType": "Block", + "src": "4851:29:41", + "statements": [ + { + "expression": { + "id": 5678, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4868:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5677, + "id": 5679, + "nodeType": "Return", + "src": "4861:12:41" + } + ] + }, + "functionSelector": "06fdde03", + "id": 5681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "4791:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5674, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4818:8:41" + }, + "parameters": { + "id": 5673, + "nodeType": "ParameterList", + "parameters": [], + "src": "4795:2:41" + }, + "returnParameters": { + "id": 5677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5676, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5681, + "src": "4836:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5675, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4836:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4835:15:41" + }, + "scope": 5876, + "src": "4782:98:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5559 + ], + "body": { + "id": 5689, + "nodeType": "Block", + "src": "4957:31:41", + "statements": [ + { + "expression": { + "id": 5687, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4974:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5686, + "id": 5688, + "nodeType": "Return", + "src": "4967:14:41" + } + ] + }, + "functionSelector": "95d89b41", + "id": 5690, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "4895:6:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5683, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4924:8:41" + }, + "parameters": { + "id": 5682, + "nodeType": "ParameterList", + "parameters": [], + "src": "4901:2:41" + }, + "returnParameters": { + "id": 5686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5690, + "src": "4942:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5684, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4942:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4941:15:41" + }, + "scope": 5876, + "src": "4886:102:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5566 + ], + "body": { + "id": 5709, + "nodeType": "Block", + "src": "5126:111:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5700, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5152:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5699, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "5144:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5144:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e5552493a20746f6b656e20646f65736e2774206578697374", + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5162:31:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + }, + "value": "tokenURI: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + } + ], + "id": 5698, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5136:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5136:58:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5704, + "nodeType": "ExpressionStatement", + "src": "5136:58:41" + }, + { + "expression": { + "baseExpression": { + "id": 5705, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "5211:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5707, + "indexExpression": { + "id": 5706, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5222:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5211:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5697, + "id": 5708, + "nodeType": "Return", + "src": "5204:26:41" + } + ] + }, + "functionSelector": "c87b56dd", + "id": 5710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "5003:8:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5694, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5081:8:41" + }, + "parameters": { + "id": 5693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5692, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5020:7:41", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5012:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5011:17:41" + }, + "returnParameters": { + "id": 5697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5107:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5107:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5106:15:41" + }, + "scope": 5876, + "src": "4994:243:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5604 + ], + "body": { + "id": 5730, + "nodeType": "Block", + "src": "5298:110:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5717, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5316:3:41", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5316:10:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 5720, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5338:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5719, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "5330:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5330:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5316:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6275726e3a2073656e646572206d757374206265206f776e6572", + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5348:28:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + }, + "value": "burn: sender must be owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + } + ], + "id": 5716, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5308:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5308:69:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5725, + "nodeType": "ExpressionStatement", + "src": "5308:69:41" + }, + { + "expression": { + "arguments": [ + { + "id": 5727, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5393:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5726, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5875, + "src": "5387:5:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5387:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5729, + "nodeType": "ExpressionStatement", + "src": "5387:14:41" + } + ] + }, + "functionSelector": "42966c68", + "id": 5731, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "5252:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5714, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5289:8:41" + }, + "parameters": { + "id": 5713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5712, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5265:7:41", + "nodeType": "VariableDeclaration", + "scope": 5731, + "src": "5257:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5257:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5256:17:41" + }, + "returnParameters": { + "id": 5715, + "nodeType": "ParameterList", + "parameters": [], + "src": "5298:0:41" + }, + "scope": 5876, + "src": "5243:165:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5590 + ], + "body": { + "id": 5753, + "nodeType": "Block", + "src": "5539:160:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5740, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5570:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5587:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5579:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5579:7:41", + "typeDescriptions": {} + } + }, + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5570:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "62616c616e63654f663a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5603:46:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + }, + "value": "balanceOf: address zero is not a valid owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + } + ], + "id": 5739, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5549:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5549:110:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5748, + "nodeType": "ExpressionStatement", + "src": "5549:110:41" + }, + { + "expression": { + "baseExpression": { + "id": 5749, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "5676:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5751, + "indexExpression": { + "id": 5750, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5686:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5676:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5738, + "id": 5752, + "nodeType": "Return", + "src": "5669:23:41" + } + ] + }, + "functionSelector": "70a08231", + "id": 5754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "5423:9:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5735, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5500:8:41" + }, + "parameters": { + "id": 5734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5733, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5441:5:41", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5433:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5433:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5432:15:41" + }, + "returnParameters": { + "id": 5738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5526:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5526:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5525:9:41" + }, + "scope": 5876, + "src": "5414:285:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5598 + ], + "body": { + "id": 5779, + "nodeType": "Block", + "src": "5777:141:41", + "statements": [ + { + "assignments": [ + 5762 + ], + "declarations": [ + { + "constant": false, + "id": 5762, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5795:5:41", + "nodeType": "VariableDeclaration", + "scope": 5779, + "src": "5787:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5787:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5766, + "initialValue": { + "baseExpression": { + "id": 5763, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "5803:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5765, + "indexExpression": { + "id": 5764, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5756, + "src": "5811:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5803:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5787:32:41" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5768, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5837:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5854:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5846:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5846:7:41", + "typeDescriptions": {} + } + }, + "id": 5772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5846:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5837:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6f776e65724f663a20746f6b656e20646f65736e2774206578697374", + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5858:30:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + }, + "value": "ownerOf: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + } + ], + "id": 5767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5829:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5829:60:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "5829:60:41" + }, + { + "expression": { + "id": 5777, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5906:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5760, + "id": 5778, + "nodeType": "Return", + "src": "5899:12:41" + } + ] + }, + "functionSelector": "6352211e", + "id": 5780, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "5714:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5756, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5730:7:41", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5722:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5722:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5721:17:41" + }, + "returnParameters": { + "id": 5760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5759, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5768:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5768:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5767:9:41" + }, + "scope": 5876, + "src": "5705:213:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 5796, + "nodeType": "Block", + "src": "5995:54:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5787, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5789, + "indexExpression": { + "id": 5788, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5782, + "src": "6020:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6012:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6040:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6032:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6032:7:41", + "typeDescriptions": {} + } + }, + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6012:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5786, + "id": 5795, + "nodeType": "Return", + "src": "6005:37:41" + } + ] + }, + "id": 5797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nameLocation": "5933:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5782, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5949:7:41", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5941:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5941:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5940:17:41" + }, + "returnParameters": { + "id": 5786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5989:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5989:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5988:6:41" + }, + "scope": 5876, + "src": "5924:125:41", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5841, + "nodeType": "Block", + "src": "6183:219:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6201:17:41", + "subExpression": { + "arguments": [ + { + "id": 5810, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6210:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5809, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "6202:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6202:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d696e743a20746f6b656e494420657869737473", + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6220:22:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + }, + "value": "mint: tokenID exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + } + ], + "id": 5808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6193:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6193:50:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5815, + "nodeType": "ExpressionStatement", + "src": "6193:50:41" + }, + { + "expression": { + "id": 5820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5816, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6253:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5818, + "indexExpression": { + "id": 5817, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6263:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6253:13:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 5819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6270:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6253:18:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5821, + "nodeType": "ExpressionStatement", + "src": "6253:18:41" + }, + { + "expression": { + "id": 5826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5822, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6281:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5824, + "indexExpression": { + "id": 5823, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6289:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6281:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5825, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6300:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6281:21:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5827, + "nodeType": "ExpressionStatement", + "src": "6281:21:41" + }, + { + "expression": { + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5828, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6312:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5830, + "indexExpression": { + "id": 5829, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6323:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6312:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5831, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5803, + "src": "6334:3:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6312:25:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5833, + "nodeType": "ExpressionStatement", + "src": "6312:25:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5835, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6359:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5836, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6363:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5834, + "name": "Attest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5575, + "src": "6352:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6352:19:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5838, + "nodeType": "EmitStatement", + "src": "6347:24:41" + }, + { + "expression": { + "id": 5839, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6388:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5807, + "id": 5840, + "nodeType": "Return", + "src": "6381:14:41" + } + ] + }, + "id": 5842, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "6064:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5799, + "mutability": "mutable", + "name": "to", + "nameLocation": "6087:2:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6079:10:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6079:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5801, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6107:7:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6099:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6099:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5803, + "mutability": "mutable", + "name": "uri", + "nameLocation": "6138:3:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6124:17:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6124:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6069:78:41" + }, + "returnParameters": { + "id": 5807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5806, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6174:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6174:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6173:9:41" + }, + "scope": 5876, + "src": "6055:347:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5874, + "nodeType": "Block", + "src": "6457:188:41", + "statements": [ + { + "assignments": [ + 5848 + ], + "declarations": [ + { + "constant": false, + "id": 5848, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6475:5:41", + "nodeType": "VariableDeclaration", + "scope": 5874, + "src": "6467:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6467:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5852, + "initialValue": { + "arguments": [ + { + "id": 5850, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6491:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5849, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6483:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6483:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6467:32:41" + }, + { + "expression": { + "id": 5857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5853, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6510:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5855, + "indexExpression": { + "id": 5854, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6520:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6510:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6530:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6510:21:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5858, + "nodeType": "ExpressionStatement", + "src": "6510:21:41" + }, + { + "expression": { + "id": 5862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6541:23:41", + "subExpression": { + "baseExpression": { + "id": 5859, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6548:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5861, + "indexExpression": { + "id": 5860, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6556:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6548:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5863, + "nodeType": "ExpressionStatement", + "src": "6541:23:41" + }, + { + "expression": { + "id": 5867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6574:26:41", + "subExpression": { + "baseExpression": { + "id": 5864, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6581:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5866, + "indexExpression": { + "id": 5865, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6592:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6581:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5868, + "nodeType": "ExpressionStatement", + "src": "6574:26:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6623:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5871, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6630:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5869, + "name": "Revoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "6616:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6616:22:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5873, + "nodeType": "EmitStatement", + "src": "6611:27:41" + } + ] + }, + "id": 5875, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "6417:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5844, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6431:7:41", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "6423:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6423:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6422:17:41" + }, + "returnParameters": { + "id": 5846, + "nodeType": "ParameterList", + "parameters": [], + "src": "6457:0:41" + }, + "scope": 5876, + "src": "6408:237:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 5877, + "src": "4053:2594:41", + "usedErrors": [] + } + ], + "src": "36:6612:41" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC4973", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "ERC165", + "IERC165", + "IERC4973", + "IERC721Metadata" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)", + "kind": "dev", + "methods": { + "balanceOf(address)": { + "details": "ABTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.", + "notice": "Count all ABTs assigned to an owner", + "params": { + "owner": "An address for whom to query the balance" + }, + "returns": { + "_0": "The number of ABTs owned by `owner`, possibly zero" + } + }, + "burn(uint256)": { + "details": "Must emit a `event Revoke` with the `address to` field pointing to the zero address.", + "notice": "Destroys `tokenId`. At any time, an ABT receiver must be able to disassociate themselves from an ABT publicly through calling this function.", + "params": { + "tokenId": "The identifier for an ABT" + } + }, + "ownerOf(uint256)": { + "details": "ABTs assigned to zero address are considered invalid, and queries about them do throw.", + "notice": "Find the address bound to an ERC4973 account-bound token", + "params": { + "tokenId": "The identifier for an ABT" + }, + "returns": { + "_0": "The address of the owner bound to the ABT" + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "notice": "Reference implementation of EIP-4973 tokens.", + "version": 1 + }, + "offset": [ + 4053, + 6647 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "38ba42158af6f3e3b85639052b00f6ff9e032829", + "source": "// SPDX-License-Identifier: CC0-1.0\npragma solidity ^0.8.8;\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n\ninterface IERC721Metadata {\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n\n/// @title Account-bound tokens\n/// @dev See https://eips.ethereum.org/EIPS/eip-4973\n/// Note: the ERC-165 identifier for this interface is 0x5164cf47\ninterface IERC4973 {\n /// @dev This emits when a new token is created and bound to an account by\n /// any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Attest(address indexed to, uint256 indexed tokenId);\n /// @dev This emits when an existing ABT is revoked from an account and\n /// destroyed by any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Revoke(address indexed to, uint256 indexed tokenId);\n\n /// @notice Count all ABTs assigned to an owner\n /// @dev ABTs assigned to the zero address are considered invalid, and this\n /// function throws for queries about the zero address.\n /// @param owner An address for whom to query the balance\n /// @return The number of ABTs owned by `owner`, possibly zero\n function balanceOf(address owner) external view returns (uint256);\n\n /// @notice Find the address bound to an ERC4973 account-bound token\n /// @dev ABTs assigned to zero address are considered invalid, and queries\n /// about them do throw.\n /// @param tokenId The identifier for an ABT\n /// @return The address of the owner bound to the ABT\n function ownerOf(uint256 tokenId) external view returns (address);\n\n /// @notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n /// disassociate themselves from an ABT publicly through calling this\n /// function.\n /// @dev Must emit a `event Revoke` with the `address to` field pointing to\n /// the zero address.\n /// @param tokenId The identifier for an ABT\n function burn(uint256 tokenId) external;\n}\n\n/// @notice Reference implementation of EIP-4973 tokens.\n/// @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)\nabstract contract ERC4973 is ERC165, IERC721Metadata, IERC4973 {\n string private _name;\n string private _symbol;\n\n mapping(uint256 => address) private _owners;\n mapping(uint256 => string) private _tokenURIs;\n mapping(address => uint256) private _balances;\n\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return\n interfaceId == type(IERC721Metadata).interfaceId ||\n interfaceId == type(IERC4973).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n function tokenURI(uint256 tokenId)\n public\n view\n virtual\n override\n returns (string memory)\n {\n require(_exists(tokenId), \"tokenURI: token doesn't exist\");\n return _tokenURIs[tokenId];\n }\n\n function burn(uint256 tokenId) public virtual override {\n require(msg.sender == ownerOf(tokenId), \"burn: sender must be owner\");\n _burn(tokenId);\n }\n\n function balanceOf(address owner)\n public\n view\n virtual\n override\n returns (uint256)\n {\n require(\n owner != address(0),\n \"balanceOf: address zero is not a valid owner\"\n );\n return _balances[owner];\n }\n\n function ownerOf(uint256 tokenId) public view virtual returns (address) {\n address owner = _owners[tokenId];\n require(owner != address(0), \"ownerOf: token doesn't exist\");\n return owner;\n }\n\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _owners[tokenId] != address(0);\n }\n\n function _mint(\n address to,\n uint256 tokenId,\n string memory uri\n ) internal virtual returns (uint256) {\n require(!_exists(tokenId), \"mint: tokenID exists\");\n _balances[to] += 1;\n _owners[tokenId] = to;\n _tokenURIs[tokenId] = uri;\n emit Attest(to, tokenId);\n return tokenId;\n }\n\n function _burn(uint256 tokenId) internal virtual {\n address owner = ownerOf(tokenId);\n\n _balances[owner] -= 1;\n delete _owners[tokenId];\n delete _tokenURIs[tokenId];\n\n emit Revoke(owner, tokenId);\n }\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721A.json b/tests/build/contracts/ERC721A.json new file mode 100644 index 0000000..6abfbbe --- /dev/null +++ b/tests/build/contracts/ERC721A.json @@ -0,0 +1,17535 @@ +{ + "abi": [ + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "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": "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "2": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721Receiver.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "4": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Address.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "6": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Strings.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "Strings": [ + 6613 + ] + }, + "id": 2708, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1335, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:17" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "file": "./interfaces/IERC721A.sol", + "id": 1336, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2708, + "sourceUnit": 3391, + "src": "454:35:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721Receiver.sol", + "file": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", + "id": 1337, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2708, + "sourceUnit": 6094, + "src": "490:66:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Address.sol", + "file": "@openzeppelin/contracts/utils/Address.sol", + "id": 1338, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2708, + "sourceUnit": 6389, + "src": "557:51:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "file": "@openzeppelin/contracts/utils/Context.sol", + "id": 1339, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2708, + "sourceUnit": 6411, + "src": "609:51:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Strings.sol", + "file": "@openzeppelin/contracts/utils/Strings.sol", + "id": 1340, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2708, + "sourceUnit": 6614, + "src": "661:51:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "file": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "id": 1341, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2708, + "sourceUnit": 6638, + "src": "713:64:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1343, + "name": "Context", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6410, + "src": "1299:7:17" + }, + "id": 1344, + "nodeType": "InheritanceSpecifier", + "src": "1299:7:17" + }, + { + "baseName": { + "id": 1345, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6637, + "src": "1308:6:17" + }, + "id": 1346, + "nodeType": "InheritanceSpecifier", + "src": "1308:6:17" + }, + { + "baseName": { + "id": 1347, + "name": "IERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3390, + "src": "1316:8:17" + }, + "id": 1348, + "nodeType": "InheritanceSpecifier", + "src": "1316:8:17" + } + ], + "canonicalName": "ERC721A", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1342, + "nodeType": "StructuredDocumentation", + "src": "779:490:17", + "text": " @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n the Metadata extension. Built to optimize for lower gas during batch mints.\n Assumes serials are sequentially minted starting at _startTokenId() (defaults to 0, e.g. 0, 1, 2, 3..).\n Assumes that an owner cannot have more than 2**64 - 1 (max value of uint64) of supply.\n Assumes that the maximum token id cannot exceed 2**256 - 1 (max value of uint256)." + }, + "fullyImplemented": true, + "id": 2707, + "linearizedBaseContracts": [ + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410 + ], + "name": "ERC721A", + "nameLocation": "1288:7:17", + "nodeType": "ContractDefinition", + "nodes": [ + { + "global": false, + "id": 1351, + "libraryName": { + "id": 1349, + "name": "Address", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6388, + "src": "1337:7:17" + }, + "nodeType": "UsingForDirective", + "src": "1331:26:17", + "typeName": { + "id": 1350, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1349:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + { + "global": false, + "id": 1354, + "libraryName": { + "id": 1352, + "name": "Strings", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6613, + "src": "1368:7:17" + }, + "nodeType": "UsingForDirective", + "src": "1362:26:17", + "typeName": { + "id": 1353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1380:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + { + "constant": false, + "id": 1356, + "mutability": "mutable", + "name": "_currentIndex", + "nameLocation": "1462:13:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "1445:30:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1355, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1445:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1358, + "mutability": "mutable", + "name": "_burnCounter", + "nameLocation": "1535:12:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "1518:29:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1357, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1518:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1360, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1587:5:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "1572:20:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 1359, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1572:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1362, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1634:7:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "1619:22:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 1361, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1619:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1367, + "mutability": "mutable", + "name": "_ownerships", + "nameLocation": "1864:11:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "1820:55:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership)" + }, + "typeName": { + "id": 1366, + "keyType": { + "id": 1363, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1828:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1820:34:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership)" + }, + "valueType": { + "id": 1365, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1364, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "1839:14:17" + }, + "referencedDeclaration": 3374, + "src": "1839:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1372, + "mutability": "mutable", + "name": "_addressData", + "nameLocation": "1967:12:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "1927:52:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData)" + }, + "typeName": { + "id": 1371, + "keyType": { + "id": 1368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1935:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1927:31:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData)" + }, + "valueType": { + "id": 1370, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1369, + "name": "AddressData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3383, + "src": "1946:11:17" + }, + "referencedDeclaration": 3383, + "src": "1946:11:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage_ptr", + "typeString": "struct IERC721A.AddressData" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1376, + "mutability": "mutable", + "name": "_tokenApprovals", + "nameLocation": "2071:15:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "2035:51:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 1375, + "keyType": { + "id": 1373, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2043:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "2035:27:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 1374, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2054:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1382, + "mutability": "mutable", + "name": "_operatorApprovals", + "nameLocation": "2194:18:17", + "nodeType": "VariableDeclaration", + "scope": 2707, + "src": "2141:71:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "typeName": { + "id": 1381, + "keyType": { + "id": 1377, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2149:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2141:44:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + }, + "valueType": { + "id": 1380, + "keyType": { + "id": 1378, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2168:7:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "2160:24:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 1379, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2179:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 1402, + "nodeType": "Block", + "src": "2275:98:17", + "statements": [ + { + "expression": { + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1389, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1360, + "src": "2285:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1390, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1384, + "src": "2293:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2285:13:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1392, + "nodeType": "ExpressionStatement", + "src": "2285:13:17" + }, + { + "expression": { + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1393, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1362, + "src": "2308:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1394, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1386, + "src": "2318:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2308:17:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 1396, + "nodeType": "ExpressionStatement", + "src": "2308:17:17" + }, + { + "expression": { + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1397, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "2335:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1398, + "name": "_startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "2351:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 1399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2351:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2335:31:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1401, + "nodeType": "ExpressionStatement", + "src": "2335:31:17" + } + ] + }, + "id": 1403, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1387, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1384, + "mutability": "mutable", + "name": "name_", + "nameLocation": "2245:5:17", + "nodeType": "VariableDeclaration", + "scope": 1403, + "src": "2231:19:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2231:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1386, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "2266:7:17", + "nodeType": "VariableDeclaration", + "scope": 1403, + "src": "2252:21:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1385, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2252:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2230:44:17" + }, + "returnParameters": { + "id": 1388, + "nodeType": "ParameterList", + "parameters": [], + "src": "2275:0:17" + }, + "scope": 2707, + "src": "2219:154:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1411, + "nodeType": "Block", + "src": "2530:25:17", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 1409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2547:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 1408, + "id": 1410, + "nodeType": "Return", + "src": "2540:8:17" + } + ] + }, + "documentation": { + "id": 1404, + "nodeType": "StructuredDocumentation", + "src": "2379:81:17", + "text": " To change the starting tokenId, please override this function." + }, + "id": 1412, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_startTokenId", + "nameLocation": "2474:13:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1405, + "nodeType": "ParameterList", + "parameters": [], + "src": "2487:2:17" + }, + "returnParameters": { + "id": 1408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1407, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1412, + "src": "2521:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2521:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2520:9:17" + }, + "scope": 2707, + "src": "2465:90:17", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 3389 + ], + "body": { + "id": 1427, + "nodeType": "Block", + "src": "2746:244:17", + "statements": [ + { + "id": 1426, + "nodeType": "UncheckedBlock", + "src": "2896:88:17", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1419, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "2927:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1420, + "name": "_burnCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1358, + "src": "2943:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2927:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1422, + "name": "_startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "2958:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 1423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2958:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2927:46:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1418, + "id": 1425, + "nodeType": "Return", + "src": "2920:53:17" + } + ] + } + ] + }, + "documentation": { + "id": 1413, + "nodeType": "StructuredDocumentation", + "src": "2561:118:17", + "text": " @dev Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "functionSelector": "18160ddd", + "id": 1428, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "2693:11:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1415, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2719:8:17" + }, + "parameters": { + "id": 1414, + "nodeType": "ParameterList", + "parameters": [], + "src": "2704:2:17" + }, + "returnParameters": { + "id": 1418, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1417, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1428, + "src": "2737:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2737:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2736:9:17" + }, + "scope": 2707, + "src": "2684:306:17", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1440, + "nodeType": "Block", + "src": "3134:221:17", + "statements": [ + { + "id": 1439, + "nodeType": "UncheckedBlock", + "src": "3276:73:17", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1434, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "3307:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1435, + "name": "_startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "3323:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 1436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3323:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3307:31:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1433, + "id": 1438, + "nodeType": "Return", + "src": "3300:38:17" + } + ] + } + ] + }, + "documentation": { + "id": 1429, + "nodeType": "StructuredDocumentation", + "src": "2996:77:17", + "text": " Returns the total amount of tokens minted in the contract." + }, + "id": 1441, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_totalMinted", + "nameLocation": "3087:12:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1430, + "nodeType": "ParameterList", + "parameters": [], + "src": "3099:2:17" + }, + "returnParameters": { + "id": 1433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1432, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1441, + "src": "3125:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1431, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3125:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3124:9:17" + }, + "scope": 2707, + "src": "3078:277:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 6636, + 6791 + ], + "body": { + "id": 1471, + "nodeType": "Block", + "src": "3530:156:17", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1464, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1452, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "3547:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 1454, + "name": "IERC721", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6753, + "src": "3567:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721_$6753_$", + "typeString": "type(contract IERC721)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721_$6753_$", + "typeString": "type(contract IERC721)" + } + ], + "id": 1453, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3562:4:17", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3562:13:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721_$6753", + "typeString": "type(contract IERC721)" + } + }, + "id": 1456, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "3562:25:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "3547:40:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1458, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "3591:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 1460, + "name": "IERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6780, + "src": "3611:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$6780_$", + "typeString": "type(contract IERC721Metadata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$6780_$", + "typeString": "type(contract IERC721Metadata)" + } + ], + "id": 1459, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "3606:4:17", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3606:21:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$6780", + "typeString": "type(contract IERC721Metadata)" + } + }, + "id": 1462, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "3606:33:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "3591:48:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3547:92:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 1467, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1444, + "src": "3667:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 1465, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "3643:5:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC721A_$2707_$", + "typeString": "type(contract super ERC721A)" + } + }, + "id": 1466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 6636, + "src": "3643:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3643:36:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "3547:132:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1451, + "id": 1470, + "nodeType": "Return", + "src": "3540:139:17" + } + ] + }, + "documentation": { + "id": 1442, + "nodeType": "StructuredDocumentation", + "src": "3361:56:17", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 1472, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "3431:17:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1448, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 1446, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6637, + "src": "3498:6:17" + }, + { + "id": 1447, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6792, + "src": "3506:7:17" + } + ], + "src": "3489:25:17" + }, + "parameters": { + "id": 1445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1444, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "3456:11:17", + "nodeType": "VariableDeclaration", + "scope": 1472, + "src": "3449:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1443, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "3449:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "3448:20:17" + }, + "returnParameters": { + "id": 1451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1450, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1472, + "src": "3524:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1449, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3524:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3523:6:17" + }, + "scope": 2707, + "src": "3422:264:17", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 6678 + ], + "body": { + "id": 1499, + "nodeType": "Block", + "src": "3818:130:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1481, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1475, + "src": "3832:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3849:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3841:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1482, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3841:7:17", + "typeDescriptions": {} + } + }, + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3841:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3832:19:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1490, + "nodeType": "IfStatement", + "src": "3828:60:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1487, + "name": "BalanceQueryForZeroAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3343, + "src": "3860:26:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3860:28:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1489, + "nodeType": "RevertStatement", + "src": "3853:35:17" + } + }, + { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 1493, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "3913:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 1495, + "indexExpression": { + "id": 1494, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1475, + "src": "3926:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3913:19:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 1496, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 3376, + "src": "3913:27:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 1492, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3905:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1491, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3905:7:17", + "typeDescriptions": {} + } + }, + "id": 1497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3905:36:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1480, + "id": 1498, + "nodeType": "Return", + "src": "3898:43:17" + } + ] + }, + "documentation": { + "id": 1473, + "nodeType": "StructuredDocumentation", + "src": "3692:48:17", + "text": " @dev See {IERC721-balanceOf}." + }, + "functionSelector": "70a08231", + "id": 1500, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3754:9:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1477, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3791:8:17" + }, + "parameters": { + "id": 1476, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1475, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3772:5:17", + "nodeType": "VariableDeclaration", + "scope": 1500, + "src": "3764:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1474, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3764:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3763:15:17" + }, + "returnParameters": { + "id": 1480, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1479, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1500, + "src": "3809:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1478, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3809:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3808:9:17" + }, + "scope": 2707, + "src": "3745:203:17", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1516, + "nodeType": "Block", + "src": "4095:65:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 1510, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "4120:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 1512, + "indexExpression": { + "id": 1511, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1503, + "src": "4133:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4120:19:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 1513, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "numberMinted", + "nodeType": "MemberAccess", + "referencedDeclaration": 3378, + "src": "4120:32:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4112:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1508, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4112:7:17", + "typeDescriptions": {} + } + }, + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4112:41:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1507, + "id": 1515, + "nodeType": "Return", + "src": "4105:48:17" + } + ] + }, + "documentation": { + "id": 1501, + "nodeType": "StructuredDocumentation", + "src": "3954:66:17", + "text": " Returns the number of tokens minted by `owner`." + }, + "id": 1517, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_numberMinted", + "nameLocation": "4034:13:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1504, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1503, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4056:5:17", + "nodeType": "VariableDeclaration", + "scope": 1517, + "src": "4048:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1502, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4048:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4047:15:17" + }, + "returnParameters": { + "id": 1507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1506, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1517, + "src": "4086:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4086:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4085:9:17" + }, + "scope": 2707, + "src": "4025:135:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1533, + "nodeType": "Block", + "src": "4323:65:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 1527, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "4348:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 1529, + "indexExpression": { + "id": 1528, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1520, + "src": "4361:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4348:19:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 1530, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "numberBurned", + "nodeType": "MemberAccess", + "referencedDeclaration": 3380, + "src": "4348:32:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4340:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1525, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4340:7:17", + "typeDescriptions": {} + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4340:41:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1524, + "id": 1532, + "nodeType": "Return", + "src": "4333:48:17" + } + ] + }, + "documentation": { + "id": 1518, + "nodeType": "StructuredDocumentation", + "src": "4166:82:17", + "text": " Returns the number of tokens burned by or on behalf of `owner`." + }, + "id": 1534, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_numberBurned", + "nameLocation": "4262:13:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1520, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4284:5:17", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "4276:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1519, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4276:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4275:15:17" + }, + "returnParameters": { + "id": 1524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1523, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1534, + "src": "4314:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1522, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4314:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4313:9:17" + }, + "scope": 2707, + "src": "4253:135:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1547, + "nodeType": "Block", + "src": "4564:47:17", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 1542, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "4581:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 1544, + "indexExpression": { + "id": 1543, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1537, + "src": "4594:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4581:19:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 1545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "aux", + "nodeType": "MemberAccess", + "referencedDeclaration": 3382, + "src": "4581:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 1541, + "id": 1546, + "nodeType": "Return", + "src": "4574:30:17" + } + ] + }, + "documentation": { + "id": 1535, + "nodeType": "StructuredDocumentation", + "src": "4394:102:17", + "text": " Returns the auxillary data for `owner`. (e.g. number of whitelist mint slots used)." + }, + "id": 1548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getAux", + "nameLocation": "4510:7:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1538, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1537, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4526:5:17", + "nodeType": "VariableDeclaration", + "scope": 1548, + "src": "4518:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4518:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4517:15:17" + }, + "returnParameters": { + "id": 1541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1540, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1548, + "src": "4556:6:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1539, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "4556:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "4555:8:17" + }, + "scope": 2707, + "src": "4501:110:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1563, + "nodeType": "Block", + "src": "4846:46:17", + "statements": [ + { + "expression": { + "id": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1556, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "4856:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 1558, + "indexExpression": { + "id": 1557, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1551, + "src": "4869:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4856:19:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 1559, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "aux", + "nodeType": "MemberAccess", + "referencedDeclaration": 3382, + "src": "4856:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1560, + "name": "aux", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1553, + "src": "4882:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "4856:29:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 1562, + "nodeType": "ExpressionStatement", + "src": "4856:29:17" + } + ] + }, + "documentation": { + "id": 1549, + "nodeType": "StructuredDocumentation", + "src": "4617:171:17", + "text": " Sets the auxillary data for `owner`. (e.g. number of whitelist mint slots used).\n If there are multiple variables, please pack them into a uint64." + }, + "id": 1564, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setAux", + "nameLocation": "4802:7:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1554, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1551, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4818:5:17", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "4810:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1550, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4810:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1553, + "mutability": "mutable", + "name": "aux", + "nameLocation": "4832:3:17", + "nodeType": "VariableDeclaration", + "scope": 1564, + "src": "4825:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 1552, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "4825:6:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "4809:27:17" + }, + "returnParameters": { + "id": 1555, + "nodeType": "ParameterList", + "parameters": [], + "src": "4846:0:17" + }, + "scope": 2707, + "src": "4793:99:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1637, + "nodeType": "Block", + "src": "5173:1089:17", + "statements": [ + { + "assignments": [ + 1574 + ], + "declarations": [ + { + "constant": false, + "id": 1574, + "mutability": "mutable", + "name": "curr", + "nameLocation": "5191:4:17", + "nodeType": "VariableDeclaration", + "scope": 1637, + "src": "5183:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5183:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1576, + "initialValue": { + "id": 1575, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "5198:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5183:22:17" + }, + { + "id": 1633, + "nodeType": "UncheckedBlock", + "src": "5216:992:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1577, + "name": "_startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "5244:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 1578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5244:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1579, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1574, + "src": "5263:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5244:23:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1632, + "nodeType": "IfStatement", + "src": "5240:958:17", + "trueBody": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1581, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1574, + "src": "5289:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1582, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "5296:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5289:20:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1631, + "nodeType": "IfStatement", + "src": "5285:913:17", + "trueBody": { + "id": 1630, + "nodeType": "Block", + "src": "5311:887:17", + "statements": [ + { + "assignments": [ + 1586 + ], + "declarations": [ + { + "constant": false, + "id": 1586, + "mutability": "mutable", + "name": "ownership", + "nameLocation": "5355:9:17", + "nodeType": "VariableDeclaration", + "scope": 1630, + "src": "5333:31:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 1585, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1584, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "5333:14:17" + }, + "referencedDeclaration": 3374, + "src": "5333:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "id": 1590, + "initialValue": { + "baseExpression": { + "id": 1587, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "5367:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 1589, + "indexExpression": { + "id": 1588, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1574, + "src": "5379:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5367:17:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5333:51:17" + }, + { + "condition": { + "id": 1593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5410:17:17", + "subExpression": { + "expression": { + "id": 1591, + "name": "ownership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1586, + "src": "5411:9:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 1592, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "burned", + "nodeType": "MemberAccess", + "referencedDeclaration": 3373, + "src": "5411:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1629, + "nodeType": "IfStatement", + "src": "5406:774:17", + "trueBody": { + "id": 1628, + "nodeType": "Block", + "src": "5429:751:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1594, + "name": "ownership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1586, + "src": "5459:9:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 1595, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "5459:14:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5485:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5477:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1596, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5477:7:17", + "typeDescriptions": {} + } + }, + "id": 1599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5477:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5459:28:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1604, + "nodeType": "IfStatement", + "src": "5455:107:17", + "trueBody": { + "id": 1603, + "nodeType": "Block", + "src": "5489:73:17", + "statements": [ + { + "expression": { + "id": 1601, + "name": "ownership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1586, + "src": "5526:9:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "functionReturnParameters": 1572, + "id": 1602, + "nodeType": "Return", + "src": "5519:16:17" + } + ] + } + }, + { + "body": { + "id": 1626, + "nodeType": "Block", + "src": "5892:266:17", + "statements": [ + { + "expression": { + "id": 1607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "5922:6:17", + "subExpression": { + "id": 1606, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1574, + "src": "5922:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1608, + "nodeType": "ExpressionStatement", + "src": "5922:6:17" + }, + { + "expression": { + "id": 1613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1609, + "name": "ownership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1586, + "src": "5958:9:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 1610, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "5970:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 1612, + "indexExpression": { + "id": 1611, + "name": "curr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1574, + "src": "5982:4:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5970:17:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "src": "5958:29:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 1614, + "nodeType": "ExpressionStatement", + "src": "5958:29:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1615, + "name": "ownership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1586, + "src": "6021:9:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 1616, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "6021:14:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1619, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6047:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1618, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6039:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6039:7:17", + "typeDescriptions": {} + } + }, + "id": 1620, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6039:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6021:28:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1625, + "nodeType": "IfStatement", + "src": "6017:115:17", + "trueBody": { + "id": 1624, + "nodeType": "Block", + "src": "6051:81:17", + "statements": [ + { + "expression": { + "id": 1622, + "name": "ownership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1586, + "src": "6092:9:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "functionReturnParameters": 1572, + "id": 1623, + "nodeType": "Return", + "src": "6085:16:17" + } + ] + } + } + ] + }, + "condition": { + "hexValue": "74727565", + "id": 1605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5886:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "id": 1627, + "nodeType": "WhileStatement", + "src": "5879:279:17" + } + ] + } + } + ] + } + } + } + ] + }, + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1634, + "name": "OwnerQueryForNonexistentToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3352, + "src": "6224:29:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6224:31:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1636, + "nodeType": "RevertStatement", + "src": "6217:38:17" + } + ] + }, + "documentation": { + "id": 1565, + "nodeType": "StructuredDocumentation", + "src": "4898:185:17", + "text": " Gas spent here starts off proportional to the maximum mint batch size.\n It gradually moves to O(1) as tokens get transferred around in the collection over time." + }, + "id": 1638, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_ownershipOf", + "nameLocation": "5097:12:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1568, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1567, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5118:7:17", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "5110:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1566, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5110:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5109:17:17" + }, + "returnParameters": { + "id": 1572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1571, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "5150:21:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 1570, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1569, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "5150:14:17" + }, + "referencedDeclaration": 3374, + "src": "5150:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "src": "5149:23:17" + }, + "scope": 2707, + "src": "5088:1174:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 6686 + ], + "body": { + "id": 1652, + "nodeType": "Block", + "src": "6392:50:17", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 1648, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "6422:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1647, + "name": "_ownershipOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "6409:12:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenOwnership_$3374_memory_ptr_$", + "typeString": "function (uint256) view returns (struct IERC721A.TokenOwnership memory)" + } + }, + "id": 1649, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6409:21:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 1650, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "6409:26:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1646, + "id": 1651, + "nodeType": "Return", + "src": "6402:33:17" + } + ] + }, + "documentation": { + "id": 1639, + "nodeType": "StructuredDocumentation", + "src": "6268:46:17", + "text": " @dev See {IERC721-ownerOf}." + }, + "functionSelector": "6352211e", + "id": 1653, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "6328:7:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1643, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6365:8:17" + }, + "parameters": { + "id": 1642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1641, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6344:7:17", + "nodeType": "VariableDeclaration", + "scope": 1653, + "src": "6336:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1640, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6336:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6335:17:17" + }, + "returnParameters": { + "id": 1646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1645, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1653, + "src": "6383:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1644, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6383:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6382:9:17" + }, + "scope": 2707, + "src": "6319:123:17", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 6765 + ], + "body": { + "id": 1662, + "nodeType": "Block", + "src": "6573:29:17", + "statements": [ + { + "expression": { + "id": 1660, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1360, + "src": "6590:5:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 1659, + "id": 1661, + "nodeType": "Return", + "src": "6583:12:17" + } + ] + }, + "documentation": { + "id": 1654, + "nodeType": "StructuredDocumentation", + "src": "6448:51:17", + "text": " @dev See {IERC721Metadata-name}." + }, + "functionSelector": "06fdde03", + "id": 1663, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "6513:4:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1656, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6540:8:17" + }, + "parameters": { + "id": 1655, + "nodeType": "ParameterList", + "parameters": [], + "src": "6517:2:17" + }, + "returnParameters": { + "id": 1659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1658, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1663, + "src": "6558:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1657, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6558:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6557:15:17" + }, + "scope": 2707, + "src": "6504:98:17", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 6771 + ], + "body": { + "id": 1672, + "nodeType": "Block", + "src": "6737:31:17", + "statements": [ + { + "expression": { + "id": 1670, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1362, + "src": "6754:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 1669, + "id": 1671, + "nodeType": "Return", + "src": "6747:14:17" + } + ] + }, + "documentation": { + "id": 1664, + "nodeType": "StructuredDocumentation", + "src": "6608:53:17", + "text": " @dev See {IERC721Metadata-symbol}." + }, + "functionSelector": "95d89b41", + "id": 1673, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "6675:6:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1666, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6704:8:17" + }, + "parameters": { + "id": 1665, + "nodeType": "ParameterList", + "parameters": [], + "src": "6681:2:17" + }, + "returnParameters": { + "id": 1669, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1668, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1673, + "src": "6722:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1667, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6722:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6721:15:17" + }, + "scope": 2707, + "src": "6666:102:17", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 6779 + ], + "body": { + "id": 1715, + "nodeType": "Block", + "src": "6922:225:17", + "statements": [ + { + "condition": { + "id": 1685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6936:17:17", + "subExpression": { + "arguments": [ + { + "id": 1683, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "6945:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1682, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "6937:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6937:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1689, + "nodeType": "IfStatement", + "src": "6932:59:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1686, + "name": "URIQueryForNonexistentToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3367, + "src": "6962:27:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6962:29:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1688, + "nodeType": "RevertStatement", + "src": "6955:36:17" + } + }, + { + "assignments": [ + 1691 + ], + "declarations": [ + { + "constant": false, + "id": 1691, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "7016:7:17", + "nodeType": "VariableDeclaration", + "scope": 1715, + "src": "7002:21:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1690, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7002:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 1694, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1692, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1725, + "src": "7026:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 1693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7026:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7002:34:17" + }, + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 1697, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1691, + "src": "7059:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7053:5:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 1695, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7053:5:17", + "typeDescriptions": {} + } + }, + "id": 1698, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7053:14:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7053:21:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 1700, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7078:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7053:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "", + "id": 1712, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7138:2:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "id": 1713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "7053:87:17", + "trueExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 1706, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1691, + "src": "7106:7:17", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1707, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "7115:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toString", + "nodeType": "MemberAccess", + "referencedDeclaration": 6495, + "src": "7115:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 1709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7115:18:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1704, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7089:3:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "7089:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 1710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7089:45:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1703, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7082:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 1702, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7082:6:17", + "typeDescriptions": {} + } + }, + "id": 1711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7082:53:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1681, + "id": 1714, + "nodeType": "Return", + "src": "7046:94:17" + } + ] + }, + "documentation": { + "id": 1674, + "nodeType": "StructuredDocumentation", + "src": "6774:55:17", + "text": " @dev See {IERC721Metadata-tokenURI}." + }, + "functionSelector": "c87b56dd", + "id": 1716, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "6843:8:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1678, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6889:8:17" + }, + "parameters": { + "id": 1677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1676, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6860:7:17", + "nodeType": "VariableDeclaration", + "scope": 1716, + "src": "6852:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1675, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6852:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6851:17:17" + }, + "returnParameters": { + "id": 1681, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1680, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1716, + "src": "6907:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1679, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6907:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6906:15:17" + }, + "scope": 2707, + "src": "6834:313:17", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1724, + "nodeType": "Block", + "src": "7454:26:17", + "statements": [ + { + "expression": { + "hexValue": "", + "id": 1722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7471:2:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "functionReturnParameters": 1721, + "id": 1723, + "nodeType": "Return", + "src": "7464:9:17" + } + ] + }, + "documentation": { + "id": 1717, + "nodeType": "StructuredDocumentation", + "src": "7153:230:17", + "text": " @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n by default, can be overriden in child contracts." + }, + "id": 1725, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_baseURI", + "nameLocation": "7397:8:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1718, + "nodeType": "ParameterList", + "parameters": [], + "src": "7405:2:17" + }, + "returnParameters": { + "id": 1721, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1720, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1725, + "src": "7439:13:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1719, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7439:6:17", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7438:15:17" + }, + "scope": 2707, + "src": "7388:92:17", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 6726 + ], + "body": { + "id": 1770, + "nodeType": "Block", + "src": "7599:322:17", + "statements": [ + { + "assignments": [ + 1735 + ], + "declarations": [ + { + "constant": false, + "id": 1735, + "mutability": "mutable", + "name": "owner", + "nameLocation": "7617:5:17", + "nodeType": "VariableDeclaration", + "scope": 1770, + "src": "7609:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1734, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7609:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1740, + "initialValue": { + "arguments": [ + { + "id": 1738, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "7641:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1736, + "name": "ERC721A", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2707, + "src": "7625:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC721A_$2707_$", + "typeString": "type(contract ERC721A)" + } + }, + "id": 1737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 1653, + "src": "7625:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7625:24:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7609:40:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1743, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1741, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1728, + "src": "7663:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1742, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1735, + "src": "7669:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7663:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1747, + "nodeType": "IfStatement", + "src": "7659:48:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1744, + "name": "ApprovalToCurrentOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3340, + "src": "7683:22:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7683:24:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1746, + "nodeType": "RevertStatement", + "src": "7676:31:17" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1748, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "7722:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7722:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 1750, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1735, + "src": "7738:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7722:21:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1763, + "nodeType": "IfStatement", + "src": "7718:158:17", + "trueBody": { + "condition": { + "id": 1757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "7761:38:17", + "subExpression": { + "arguments": [ + { + "id": 1753, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1735, + "src": "7779:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1754, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "7786:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1755, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7786:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1752, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1845, + "src": "7762:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 1756, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7762:37:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1762, + "nodeType": "IfStatement", + "src": "7757:119:17", + "trueBody": { + "id": 1761, + "nodeType": "Block", + "src": "7801:75:17", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1758, + "name": "ApprovalCallerNotOwnerNorApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3331, + "src": "7826:33:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7826:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1760, + "nodeType": "RevertStatement", + "src": "7819:42:17" + } + ] + } + } + }, + { + "expression": { + "arguments": [ + { + "id": 1765, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1728, + "src": "7895:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1766, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "7899:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1767, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1735, + "src": "7908:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1764, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2625, + "src": "7886:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7886:28:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1769, + "nodeType": "ExpressionStatement", + "src": "7886:28:17" + } + ] + }, + "documentation": { + "id": 1726, + "nodeType": "StructuredDocumentation", + "src": "7486:46:17", + "text": " @dev See {IERC721-approve}." + }, + "functionSelector": "095ea7b3", + "id": 1771, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "7546:7:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1732, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7590:8:17" + }, + "parameters": { + "id": 1731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1728, + "mutability": "mutable", + "name": "to", + "nameLocation": "7562:2:17", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "7554:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1727, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7554:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1730, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "7574:7:17", + "nodeType": "VariableDeclaration", + "scope": 1771, + "src": "7566:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7566:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7553:29:17" + }, + "returnParameters": { + "id": 1733, + "nodeType": "ParameterList", + "parameters": [], + "src": "7599:0:17" + }, + "scope": 2707, + "src": "7537:384:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 6742 + ], + "body": { + "id": 1792, + "nodeType": "Block", + "src": "8059:123:17", + "statements": [ + { + "condition": { + "id": 1783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8073:17:17", + "subExpression": { + "arguments": [ + { + "id": 1781, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "8082:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1780, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "8074:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 1782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8074:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1787, + "nodeType": "IfStatement", + "src": "8069:64:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1784, + "name": "ApprovalQueryForNonexistentToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3334, + "src": "8099:32:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1785, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8099:34:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1786, + "nodeType": "RevertStatement", + "src": "8092:41:17" + } + }, + { + "expression": { + "baseExpression": { + "id": 1788, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1376, + "src": "8151:15:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 1790, + "indexExpression": { + "id": 1789, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "8167:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8151:24:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1779, + "id": 1791, + "nodeType": "Return", + "src": "8144:31:17" + } + ] + }, + "documentation": { + "id": 1772, + "nodeType": "StructuredDocumentation", + "src": "7927:50:17", + "text": " @dev See {IERC721-getApproved}." + }, + "functionSelector": "081812fc", + "id": 1793, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "7991:11:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1776, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8032:8:17" + }, + "parameters": { + "id": 1775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1774, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "8011:7:17", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "8003:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8003:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8002:17:17" + }, + "returnParameters": { + "id": 1779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1778, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1793, + "src": "8050:7:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1777, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8050:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8049:9:17" + }, + "scope": 2707, + "src": "7982:200:17", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 6734 + ], + "body": { + "id": 1826, + "nodeType": "Block", + "src": "8333:198:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1802, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1796, + "src": "8347:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1803, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "8359:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8359:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8347:24:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1809, + "nodeType": "IfStatement", + "src": "8343:54:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1806, + "name": "ApproveToCaller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3337, + "src": "8380:15:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8380:17:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1808, + "nodeType": "RevertStatement", + "src": "8373:24:17" + } + }, + { + "expression": { + "id": 1817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 1810, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "8408:18:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 1814, + "indexExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1811, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "8427:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8427:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8408:32:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1815, + "indexExpression": { + "id": 1813, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1796, + "src": "8441:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8408:42:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1816, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1798, + "src": "8453:8:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8408:53:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1818, + "nodeType": "ExpressionStatement", + "src": "8408:53:17" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1820, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "8491:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8491:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1822, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1796, + "src": "8505:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1823, + "name": "approved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1798, + "src": "8515:8:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1819, + "name": "ApprovalForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6670, + "src": "8476:14:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", + "typeString": "function (address,address,bool)" + } + }, + "id": 1824, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8476:48:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1825, + "nodeType": "EmitStatement", + "src": "8471:53:17" + } + ] + }, + "documentation": { + "id": 1794, + "nodeType": "StructuredDocumentation", + "src": "8188:56:17", + "text": " @dev See {IERC721-setApprovalForAll}." + }, + "functionSelector": "a22cb465", + "id": 1827, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "8258:17:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1800, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8324:8:17" + }, + "parameters": { + "id": 1799, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1796, + "mutability": "mutable", + "name": "operator", + "nameLocation": "8284:8:17", + "nodeType": "VariableDeclaration", + "scope": 1827, + "src": "8276:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8276:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1798, + "mutability": "mutable", + "name": "approved", + "nameLocation": "8299:8:17", + "nodeType": "VariableDeclaration", + "scope": 1827, + "src": "8294:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1797, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8294:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8275:33:17" + }, + "returnParameters": { + "id": 1801, + "nodeType": "ParameterList", + "parameters": [], + "src": "8333:0:17" + }, + "scope": 2707, + "src": "8249:282:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 6752 + ], + "body": { + "id": 1844, + "nodeType": "Block", + "src": "8700:59:17", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 1838, + "name": "_operatorApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1382, + "src": "8717:18:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", + "typeString": "mapping(address => mapping(address => bool))" + } + }, + "id": 1840, + "indexExpression": { + "id": 1839, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1830, + "src": "8736:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8717:25:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 1842, + "indexExpression": { + "id": 1841, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1832, + "src": "8743:8:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8717:35:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1837, + "id": 1843, + "nodeType": "Return", + "src": "8710:42:17" + } + ] + }, + "documentation": { + "id": 1828, + "nodeType": "StructuredDocumentation", + "src": "8537:55:17", + "text": " @dev See {IERC721-isApprovedForAll}." + }, + "functionSelector": "e985e9c5", + "id": 1845, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "8606:16:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1834, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8676:8:17" + }, + "parameters": { + "id": 1833, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1830, + "mutability": "mutable", + "name": "owner", + "nameLocation": "8631:5:17", + "nodeType": "VariableDeclaration", + "scope": 1845, + "src": "8623:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1829, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8623:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1832, + "mutability": "mutable", + "name": "operator", + "nameLocation": "8646:8:17", + "nodeType": "VariableDeclaration", + "scope": 1845, + "src": "8638:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1831, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8638:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8622:33:17" + }, + "returnParameters": { + "id": 1837, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1836, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1845, + "src": "8694:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1835, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8694:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8693:6:17" + }, + "scope": 2707, + "src": "8597:162:17", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 6718 + ], + "body": { + "id": 1862, + "nodeType": "Block", + "src": "8940:45:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1857, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1848, + "src": "8960:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1858, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1850, + "src": "8966:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1859, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1852, + "src": "8970:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1856, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2408, + "src": "8950:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8950:28:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1861, + "nodeType": "ExpressionStatement", + "src": "8950:28:17" + } + ] + }, + "documentation": { + "id": 1846, + "nodeType": "StructuredDocumentation", + "src": "8765:51:17", + "text": " @dev See {IERC721-transferFrom}." + }, + "functionSelector": "23b872dd", + "id": 1863, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "8830:12:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1854, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "8931:8:17" + }, + "parameters": { + "id": 1853, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1848, + "mutability": "mutable", + "name": "from", + "nameLocation": "8860:4:17", + "nodeType": "VariableDeclaration", + "scope": 1863, + "src": "8852:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8852:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1850, + "mutability": "mutable", + "name": "to", + "nameLocation": "8882:2:17", + "nodeType": "VariableDeclaration", + "scope": 1863, + "src": "8874:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8874:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1852, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "8902:7:17", + "nodeType": "VariableDeclaration", + "scope": 1863, + "src": "8894:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1851, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8894:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8842:73:17" + }, + "returnParameters": { + "id": 1855, + "nodeType": "ParameterList", + "parameters": [], + "src": "8940:0:17" + }, + "scope": 2707, + "src": "8821:164:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 6708 + ], + "body": { + "id": 1881, + "nodeType": "Block", + "src": "9174:56:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1875, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1866, + "src": "9201:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1876, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1868, + "src": "9207:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1877, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1870, + "src": "9211:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 1878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9220:2:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 1874, + "name": "safeTransferFrom", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1882, + 1918 + ], + "referencedDeclaration": 1918, + "src": "9184:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory)" + } + }, + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9184:39:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1880, + "nodeType": "ExpressionStatement", + "src": "9184:39:17" + } + ] + }, + "documentation": { + "id": 1864, + "nodeType": "StructuredDocumentation", + "src": "8991:55:17", + "text": " @dev See {IERC721-safeTransferFrom}." + }, + "functionSelector": "42842e0e", + "id": 1882, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "9060:16:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1872, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "9165:8:17" + }, + "parameters": { + "id": 1871, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1866, + "mutability": "mutable", + "name": "from", + "nameLocation": "9094:4:17", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "9086:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1865, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9086:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1868, + "mutability": "mutable", + "name": "to", + "nameLocation": "9116:2:17", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "9108:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9108:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1870, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "9136:7:17", + "nodeType": "VariableDeclaration", + "scope": 1882, + "src": "9128:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1869, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9128:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9076:73:17" + }, + "returnParameters": { + "id": 1873, + "nodeType": "ParameterList", + "parameters": [], + "src": "9174:0:17" + }, + "scope": 2707, + "src": "9051:179:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 6698 + ], + "body": { + "id": 1917, + "nodeType": "Block", + "src": "9447:230:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1896, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1885, + "src": "9467:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1897, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1887, + "src": "9473:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1898, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1889, + "src": "9477:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1895, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2408, + "src": "9457:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9457:28:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1900, + "nodeType": "ExpressionStatement", + "src": "9457:28:17" + }, + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1901, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1887, + "src": "9499:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 6111, + "src": "9499:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 1903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9499:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1916, + "nodeType": "IfStatement", + "src": "9495:176:17", + "trueBody": { + "condition": { + "id": 1910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "9532:57:17", + "subExpression": { + "arguments": [ + { + "id": 1905, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1885, + "src": "9564:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1906, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1887, + "src": "9570:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1907, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1889, + "src": "9574:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1908, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1891, + "src": "9583:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1904, + "name": "_checkContractOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "9533:30:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 1909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9533:56:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1915, + "nodeType": "IfStatement", + "src": "9528:143:17", + "trueBody": { + "id": 1914, + "nodeType": "Block", + "src": "9591:80:17", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1911, + "name": "TransferToNonERC721ReceiverImplementer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3361, + "src": "9616:38:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9616:40:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1913, + "nodeType": "RevertStatement", + "src": "9609:47:17" + } + ] + } + } + } + ] + }, + "documentation": { + "id": 1883, + "nodeType": "StructuredDocumentation", + "src": "9236:55:17", + "text": " @dev See {IERC721-safeTransferFrom}." + }, + "functionSelector": "b88d4fde", + "id": 1918, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "9305:16:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1893, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "9438:8:17" + }, + "parameters": { + "id": 1892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1885, + "mutability": "mutable", + "name": "from", + "nameLocation": "9339:4:17", + "nodeType": "VariableDeclaration", + "scope": 1918, + "src": "9331:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1884, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9331:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1887, + "mutability": "mutable", + "name": "to", + "nameLocation": "9361:2:17", + "nodeType": "VariableDeclaration", + "scope": 1918, + "src": "9353:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1886, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9353:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1889, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "9381:7:17", + "nodeType": "VariableDeclaration", + "scope": 1918, + "src": "9373:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1888, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9373:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1891, + "mutability": "mutable", + "name": "_data", + "nameLocation": "9411:5:17", + "nodeType": "VariableDeclaration", + "scope": 1918, + "src": "9398:18:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1890, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "9398:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "9321:101:17" + }, + "returnParameters": { + "id": 1894, + "nodeType": "ParameterList", + "parameters": [], + "src": "9447:0:17" + }, + "scope": 2707, + "src": "9296:381:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 1941, + "nodeType": "Block", + "src": "9986:109:17", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1926, + "name": "_startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1412, + "src": "10003:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 1927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10003:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 1928, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1921, + "src": "10022:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10003:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1930, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1921, + "src": "10033:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1931, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "10043:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10033:23:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10003:53:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 1938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "10060:28:17", + "subExpression": { + "expression": { + "baseExpression": { + "id": 1934, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "10061:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 1936, + "indexExpression": { + "id": 1935, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1921, + "src": "10073:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10061:20:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "id": 1937, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "burned", + "nodeType": "MemberAccess", + "referencedDeclaration": 3373, + "src": "10061:27:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "10003:85:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1925, + "id": 1940, + "nodeType": "Return", + "src": "9996:92:17" + } + ] + }, + "documentation": { + "id": 1919, + "nodeType": "StructuredDocumentation", + "src": "9683:235:17", + "text": " @dev Returns whether `tokenId` exists.\n Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n Tokens start existing when they are minted (`_mint`)," + }, + "id": 1942, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nameLocation": "9932:7:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1922, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1921, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "9948:7:17", + "nodeType": "VariableDeclaration", + "scope": 1942, + "src": "9940:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1920, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9940:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9939:17:17" + }, + "returnParameters": { + "id": 1925, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1924, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1942, + "src": "9980:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1923, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9980:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9979:6:17" + }, + "scope": 2707, + "src": "9923:172:17", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1956, + "nodeType": "Block", + "src": "10232:44:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1951, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1945, + "src": "10252:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1952, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1947, + "src": "10256:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "", + "id": 1953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10266:2:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "id": 1950, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1957, + 2120 + ], + "referencedDeclaration": 2120, + "src": "10242:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 1954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10242:27:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1955, + "nodeType": "ExpressionStatement", + "src": "10242:27:17" + } + ] + }, + "documentation": { + "id": 1943, + "nodeType": "StructuredDocumentation", + "src": "10101:68:17", + "text": " @dev Equivalent to `_safeMint(to, quantity, '')`." + }, + "id": 1957, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeMint", + "nameLocation": "10183:9:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1948, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1945, + "mutability": "mutable", + "name": "to", + "nameLocation": "10201:2:17", + "nodeType": "VariableDeclaration", + "scope": 1957, + "src": "10193:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10193:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1947, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "10213:8:17", + "nodeType": "VariableDeclaration", + "scope": 1957, + "src": "10205:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1946, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10205:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10192:30:17" + }, + "returnParameters": { + "id": 1949, + "nodeType": "ParameterList", + "parameters": [], + "src": "10232:0:17" + }, + "scope": 2707, + "src": "10174:102:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2119, + "nodeType": "Block", + "src": "10744:1600:17", + "statements": [ + { + "assignments": [ + 1968 + ], + "declarations": [ + { + "constant": false, + "id": 1968, + "mutability": "mutable", + "name": "startTokenId", + "nameLocation": "10762:12:17", + "nodeType": "VariableDeclaration", + "scope": 2119, + "src": "10754:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1967, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10754:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1970, + "initialValue": { + "id": 1969, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "10777:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10754:36:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1971, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "10804:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10818:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10810:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1972, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10810:7:17", + "typeDescriptions": {} + } + }, + "id": 1975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10810:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10804:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1980, + "nodeType": "IfStatement", + "src": "10800:48:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1977, + "name": "MintToZeroAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3346, + "src": "10829:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10829:19:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1979, + "nodeType": "RevertStatement", + "src": "10822:26:17" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1981, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "10862:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10874:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "10862:13:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1987, + "nodeType": "IfStatement", + "src": "10858:44:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1984, + "name": "MintZeroQuantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3349, + "src": "10884:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10884:18:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1986, + "nodeType": "RevertStatement", + "src": "10877:25:17" + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 1991, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10943:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10935:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1989, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10935:7:17", + "typeDescriptions": {} + } + }, + "id": 1992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10935:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1993, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "10947:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1994, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1968, + "src": "10951:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1995, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "10965:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1988, + "name": "_beforeTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2693, + "src": "10913:21:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10913:61:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1997, + "nodeType": "ExpressionStatement", + "src": "10913:61:17" + }, + { + "id": 2108, + "nodeType": "UncheckedBlock", + "src": "11221:1047:17", + "statements": [ + { + "expression": { + "id": 2006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1998, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "11245:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 2000, + "indexExpression": { + "id": 1999, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "11258:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11245:16:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 2001, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 3376, + "src": "11245:24:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "arguments": [ + { + "id": 2004, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "11280:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11273:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2002, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "11273:6:17", + "typeDescriptions": {} + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11273:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "11245:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2007, + "nodeType": "ExpressionStatement", + "src": "11245:44:17" + }, + { + "expression": { + "id": 2016, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2008, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "11303:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 2010, + "indexExpression": { + "id": 2009, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "11316:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11303:16:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 2011, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "numberMinted", + "nodeType": "MemberAccess", + "referencedDeclaration": 3378, + "src": "11303:29:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "arguments": [ + { + "id": 2014, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "11343:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11336:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2012, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "11336:6:17", + "typeDescriptions": {} + } + }, + "id": 2015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11336:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "11303:49:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2017, + "nodeType": "ExpressionStatement", + "src": "11303:49:17" + }, + { + "expression": { + "id": 2023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2018, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "11367:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2020, + "indexExpression": { + "id": 2019, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1968, + "src": "11379:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11367:25:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "id": 2021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "11367:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2022, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "11400:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11367:35:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2024, + "nodeType": "ExpressionStatement", + "src": "11367:35:17" + }, + { + "expression": { + "id": 2034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2025, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "11416:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2027, + "indexExpression": { + "id": 2026, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1968, + "src": "11428:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11416:25:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "id": 2028, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "11416:40:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 2031, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "11466:5:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "11466:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11459:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2029, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "11459:6:17", + "typeDescriptions": {} + } + }, + "id": 2033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11459:23:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "11416:66:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2035, + "nodeType": "ExpressionStatement", + "src": "11416:66:17" + }, + { + "assignments": [ + 2037 + ], + "declarations": [ + { + "constant": false, + "id": 2037, + "mutability": "mutable", + "name": "updatedIndex", + "nameLocation": "11505:12:17", + "nodeType": "VariableDeclaration", + "scope": 2108, + "src": "11497:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2036, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11497:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2039, + "initialValue": { + "id": 2038, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1968, + "src": "11520:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11497:35:17" + }, + { + "assignments": [ + 2041 + ], + "declarations": [ + { + "constant": false, + "id": 2041, + "mutability": "mutable", + "name": "end", + "nameLocation": "11554:3:17", + "nodeType": "VariableDeclaration", + "scope": 2108, + "src": "11546:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2040, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11546:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2045, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2042, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "11560:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2043, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "11575:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11560:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11546:37:17" + }, + { + "condition": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2046, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "11602:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "isContract", + "nodeType": "MemberAccess", + "referencedDeclaration": 6111, + "src": "11602:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11602:15:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2102, + "nodeType": "Block", + "src": "12067:149:17", + "statements": [ + { + "body": { + "id": 2097, + "nodeType": "Block", + "src": "12088:86:17", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2090, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12132:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2089, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12124:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2088, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12124:7:17", + "typeDescriptions": {} + } + }, + "id": 2091, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12124:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2092, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "12136:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2094, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12140:14:17", + "subExpression": { + "id": 2093, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "12140:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2087, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6652, + "src": "12115:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2095, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12115:40:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2096, + "nodeType": "EmitStatement", + "src": "12110:45:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2098, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "12182:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2099, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2041, + "src": "12197:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12182:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2101, + "nodeType": "DoWhileStatement", + "src": "12085:117:17" + } + ] + }, + "id": 2103, + "nodeType": "IfStatement", + "src": "11598:618:17", + "trueBody": { + "id": 2086, + "nodeType": "Block", + "src": "11619:442:17", + "statements": [ + { + "body": { + "id": 2074, + "nodeType": "Block", + "src": "11640:277:17", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11684:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11676:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2050, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11676:7:17", + "typeDescriptions": {} + } + }, + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11676:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2054, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "11688:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2055, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "11692:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2049, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6652, + "src": "11667:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11667:38:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2057, + "nodeType": "EmitStatement", + "src": "11662:43:17" + }, + { + "condition": { + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11731:70:17", + "subExpression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11771:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2060, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11763:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2059, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11763:7:17", + "typeDescriptions": {} + } + }, + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11763:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2063, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "11775:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11779:14:17", + "subExpression": { + "id": 2064, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "11779:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2066, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1964, + "src": "11795:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2058, + "name": "_checkContractOnERC721Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2680, + "src": "11732:30:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,address,uint256,bytes memory) returns (bool)" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11732:69:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2073, + "nodeType": "IfStatement", + "src": "11727:172:17", + "trueBody": { + "id": 2072, + "nodeType": "Block", + "src": "11803:96:17", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2069, + "name": "TransferToNonERC721ReceiverImplementer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3361, + "src": "11836:38:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11836:40:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2071, + "nodeType": "RevertStatement", + "src": "11829:47:17" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2075, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "11925:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2076, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2041, + "src": "11940:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11925:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2078, + "nodeType": "DoWhileStatement", + "src": "11637:308:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2079, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "12007:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2080, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1968, + "src": "12024:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12007:29:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2085, + "nodeType": "IfStatement", + "src": "12003:43:17", + "trueBody": { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2082, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "12038:6:17", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12038:8:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2084, + "nodeType": "ExpressionStatement", + "src": "12038:8:17" + } + } + ] + } + }, + { + "expression": { + "id": 2106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2104, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "12229:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2105, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "12245:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12229:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2107, + "nodeType": "ExpressionStatement", + "src": "12229:28:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12306:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12298:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2110, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12298:7:17", + "typeDescriptions": {} + } + }, + "id": 2113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12298:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2114, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1960, + "src": "12310:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2115, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1968, + "src": "12314:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2116, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1962, + "src": "12328:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2109, + "name": "_afterTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "12277:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12277:60:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2118, + "nodeType": "ExpressionStatement", + "src": "12277:60:17" + } + ] + }, + "documentation": { + "id": 1958, + "nodeType": "StructuredDocumentation", + "src": "10282:349:17", + "text": " @dev Safely mints `quantity` tokens and transfers them to `to`.\n Requirements:\n - If `to` refers to a smart contract, it must implement\n {IERC721Receiver-onERC721Received}, which is called for each safe transfer.\n - `quantity` must be greater than 0.\n Emits a {Transfer} event." + }, + "id": 2120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_safeMint", + "nameLocation": "10645:9:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1960, + "mutability": "mutable", + "name": "to", + "nameLocation": "10672:2:17", + "nodeType": "VariableDeclaration", + "scope": 2120, + "src": "10664:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10664:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1962, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "10692:8:17", + "nodeType": "VariableDeclaration", + "scope": 2120, + "src": "10684:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1961, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10684:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1964, + "mutability": "mutable", + "name": "_data", + "nameLocation": "10723:5:17", + "nodeType": "VariableDeclaration", + "scope": 2120, + "src": "10710:18:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1963, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "10710:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "10654:80:17" + }, + "returnParameters": { + "id": 1966, + "nodeType": "ParameterList", + "parameters": [], + "src": "10744:0:17" + }, + "scope": 2707, + "src": "10636:1708:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2237, + "nodeType": "Block", + "src": "12645:1092:17", + "statements": [ + { + "assignments": [ + 2129 + ], + "declarations": [ + { + "constant": false, + "id": 2129, + "mutability": "mutable", + "name": "startTokenId", + "nameLocation": "12663:12:17", + "nodeType": "VariableDeclaration", + "scope": 2237, + "src": "12655:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2128, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12655:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2131, + "initialValue": { + "id": 2130, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "12678:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12655:36:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2132, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "12705:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2135, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12719:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2134, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12711:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2133, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12711:7:17", + "typeDescriptions": {} + } + }, + "id": 2136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12711:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12705:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2141, + "nodeType": "IfStatement", + "src": "12701:48:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2138, + "name": "MintToZeroAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3346, + "src": "12730:17:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12730:19:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2140, + "nodeType": "RevertStatement", + "src": "12723:26:17" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2142, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "12763:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12775:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "12763:13:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2148, + "nodeType": "IfStatement", + "src": "12759:44:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2145, + "name": "MintZeroQuantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3349, + "src": "12785:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12785:18:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2147, + "nodeType": "RevertStatement", + "src": "12778:25:17" + } + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12844:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2151, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "12836:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2150, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12836:7:17", + "typeDescriptions": {} + } + }, + "id": 2153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12836:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2154, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "12848:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2155, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "12852:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2156, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "12866:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2149, + "name": "_beforeTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2693, + "src": "12814:21:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12814:61:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2158, + "nodeType": "ExpressionStatement", + "src": "12814:61:17" + }, + { + "id": 2226, + "nodeType": "UncheckedBlock", + "src": "13122:539:17", + "statements": [ + { + "expression": { + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2159, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "13146:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 2161, + "indexExpression": { + "id": 2160, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "13159:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13146:16:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 2162, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 3376, + "src": "13146:24:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "arguments": [ + { + "id": 2165, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "13181:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13174:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2163, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13174:6:17", + "typeDescriptions": {} + } + }, + "id": 2166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13174:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "13146:44:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2168, + "nodeType": "ExpressionStatement", + "src": "13146:44:17" + }, + { + "expression": { + "id": 2177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2169, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "13204:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 2171, + "indexExpression": { + "id": 2170, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "13217:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13204:16:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 2172, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "numberMinted", + "nodeType": "MemberAccess", + "referencedDeclaration": 3378, + "src": "13204:29:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "arguments": [ + { + "id": 2175, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "13244:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2174, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13237:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2173, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13237:6:17", + "typeDescriptions": {} + } + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13237:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "13204:49:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2178, + "nodeType": "ExpressionStatement", + "src": "13204:49:17" + }, + { + "expression": { + "id": 2184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2179, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "13268:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2181, + "indexExpression": { + "id": 2180, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "13280:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13268:25:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "id": 2182, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "13268:30:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2183, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "13301:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13268:35:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2185, + "nodeType": "ExpressionStatement", + "src": "13268:35:17" + }, + { + "expression": { + "id": 2195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2186, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "13317:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2188, + "indexExpression": { + "id": 2187, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "13329:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13317:25:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "id": 2189, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "13317:40:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 2192, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "13367:5:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "13367:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13360:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2190, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "13360:6:17", + "typeDescriptions": {} + } + }, + "id": 2194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13360:23:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "13317:66:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2196, + "nodeType": "ExpressionStatement", + "src": "13317:66:17" + }, + { + "assignments": [ + 2198 + ], + "declarations": [ + { + "constant": false, + "id": 2198, + "mutability": "mutable", + "name": "updatedIndex", + "nameLocation": "13406:12:17", + "nodeType": "VariableDeclaration", + "scope": 2226, + "src": "13398:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2197, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13398:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2200, + "initialValue": { + "id": 2199, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "13421:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13398:35:17" + }, + { + "assignments": [ + 2202 + ], + "declarations": [ + { + "constant": false, + "id": 2202, + "mutability": "mutable", + "name": "end", + "nameLocation": "13455:3:17", + "nodeType": "VariableDeclaration", + "scope": 2226, + "src": "13447:11:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13447:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2206, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2203, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "13461:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 2204, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "13476:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13461:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "13447:37:17" + }, + { + "body": { + "id": 2217, + "nodeType": "Block", + "src": "13502:78:17", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13542:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13534:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2208, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13534:7:17", + "typeDescriptions": {} + } + }, + "id": 2211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13534:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2212, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "13546:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "13550:14:17", + "subExpression": { + "id": 2213, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "13550:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2207, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6652, + "src": "13525:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13525:40:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2216, + "nodeType": "EmitStatement", + "src": "13520:45:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2218, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "13588:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2219, + "name": "end", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2202, + "src": "13603:3:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13588:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2221, + "nodeType": "DoWhileStatement", + "src": "13499:109:17" + }, + { + "expression": { + "id": 2224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2222, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "13622:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2223, + "name": "updatedIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2198, + "src": "13638:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13622:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2225, + "nodeType": "ExpressionStatement", + "src": "13622:28:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13699:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2229, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13691:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2228, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13691:7:17", + "typeDescriptions": {} + } + }, + "id": 2231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13691:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2232, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2123, + "src": "13703:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2233, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2129, + "src": "13707:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2234, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2125, + "src": "13721:8:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2227, + "name": "_afterTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "13670:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13670:60:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2236, + "nodeType": "ExpressionStatement", + "src": "13670:60:17" + } + ] + }, + "documentation": { + "id": 2121, + "nodeType": "StructuredDocumentation", + "src": "12350:236:17", + "text": " @dev Mints `quantity` tokens and transfers them to `to`.\n Requirements:\n - `to` cannot be the zero address.\n - `quantity` must be greater than 0.\n Emits a {Transfer} event." + }, + "id": 2238, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "12600:5:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2123, + "mutability": "mutable", + "name": "to", + "nameLocation": "12614:2:17", + "nodeType": "VariableDeclaration", + "scope": 2238, + "src": "12606:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2122, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12606:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2125, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "12626:8:17", + "nodeType": "VariableDeclaration", + "scope": 2238, + "src": "12618:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2124, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12618:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12605:30:17" + }, + "returnParameters": { + "id": 2127, + "nodeType": "ParameterList", + "parameters": [], + "src": "12645:0:17" + }, + "scope": 2707, + "src": "12591:1146:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2407, + "nodeType": "Block", + "src": "14079:1958:17", + "statements": [ + { + "assignments": [ + 2250 + ], + "declarations": [ + { + "constant": false, + "id": 2250, + "mutability": "mutable", + "name": "prevOwnership", + "nameLocation": "14111:13:17", + "nodeType": "VariableDeclaration", + "scope": 2407, + "src": "14089:35:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 2249, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2248, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "14089:14:17" + }, + "referencedDeclaration": 3374, + "src": "14089:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "id": 2254, + "initialValue": { + "arguments": [ + { + "id": 2252, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "14140:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2251, + "name": "_ownershipOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "14127:12:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenOwnership_$3374_memory_ptr_$", + "typeString": "function (uint256) view returns (struct IERC721A.TokenOwnership memory)" + } + }, + "id": 2253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14127:21:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14089:59:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2255, + "name": "prevOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2250, + "src": "14163:13:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 2256, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "14163:18:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2257, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14185:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14163:26:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2262, + "nodeType": "IfStatement", + "src": "14159:67:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2259, + "name": "TransferFromIncorrectOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3358, + "src": "14198:26:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14198:28:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2261, + "nodeType": "RevertStatement", + "src": "14191:35:17" + } + }, + { + "assignments": [ + 2264 + ], + "declarations": [ + { + "constant": false, + "id": 2264, + "mutability": "mutable", + "name": "isApprovedOrOwner", + "nameLocation": "14242:17:17", + "nodeType": "VariableDeclaration", + "scope": 2407, + "src": "14237:22:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2263, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14237:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 2283, + "initialValue": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2265, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "14263:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14263:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2267, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14279:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14263:20:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 2270, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14304:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2271, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "14310:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14310:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2269, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1845, + "src": "14287:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 2273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14287:36:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14263:60:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2276, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "14339:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2275, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1793, + "src": "14327:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 2277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14327:20:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2278, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "14351:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14351:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14327:36:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "14263:100:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2282, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "14262:102:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "14237:127:17" + }, + { + "condition": { + "id": 2285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "14379:18:17", + "subExpression": { + "id": 2284, + "name": "isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "14380:17:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2289, + "nodeType": "IfStatement", + "src": "14375:66:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2286, + "name": "TransferCallerNotOwnerNorApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3355, + "src": "14406:33:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14406:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2288, + "nodeType": "RevertStatement", + "src": "14399:42:17" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2290, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "14455:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14469:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14461:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2291, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14461:7:17", + "typeDescriptions": {} + } + }, + "id": 2294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14461:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14455:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2299, + "nodeType": "IfStatement", + "src": "14451:52:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2296, + "name": "TransferToZeroAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3364, + "src": "14480:21:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14480:23:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2298, + "nodeType": "RevertStatement", + "src": "14473:30:17" + } + }, + { + "expression": { + "arguments": [ + { + "id": 2301, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14536:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2302, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "14542:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2303, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "14546:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 2304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14555:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 2300, + "name": "_beforeTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2693, + "src": "14514:21:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2305, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14514:43:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2306, + "nodeType": "ExpressionStatement", + "src": "14514:43:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14636:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14628:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14628:7:17", + "typeDescriptions": {} + } + }, + "id": 2311, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14628:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2312, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "14640:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2313, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14649:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2307, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2625, + "src": "14619:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 2314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14619:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2315, + "nodeType": "ExpressionStatement", + "src": "14619:35:17" + }, + { + "id": 2393, + "nodeType": "UncheckedBlock", + "src": "14920:1016:17", + "statements": [ + { + "expression": { + "id": 2321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2316, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "14944:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 2318, + "indexExpression": { + "id": 2317, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "14957:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14944:18:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 2319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 3376, + "src": "14944:26:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 2320, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14974:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "14944:31:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2322, + "nodeType": "ExpressionStatement", + "src": "14944:31:17" + }, + { + "expression": { + "id": 2328, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2323, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "14989:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 2325, + "indexExpression": { + "id": 2324, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "15002:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "14989:16:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "id": 2326, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 3376, + "src": "14989:24:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 2327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15017:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "14989:29:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2329, + "nodeType": "ExpressionStatement", + "src": "14989:29:17" + }, + { + "assignments": [ + 2332 + ], + "declarations": [ + { + "constant": false, + "id": 2332, + "mutability": "mutable", + "name": "currSlot", + "nameLocation": "15056:8:17", + "nodeType": "VariableDeclaration", + "scope": 2393, + "src": "15033:31:17", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 2331, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2330, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "15033:14:17" + }, + "referencedDeclaration": 3374, + "src": "15033:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "id": 2336, + "initialValue": { + "baseExpression": { + "id": 2333, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "15067:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2335, + "indexExpression": { + "id": 2334, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "15079:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15067:20:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15033:54:17" + }, + { + "expression": { + "id": 2341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2337, + "name": "currSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2332, + "src": "15101:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2339, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "15101:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2340, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "15117:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15101:18:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2342, + "nodeType": "ExpressionStatement", + "src": "15101:18:17" + }, + { + "expression": { + "id": 2351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2343, + "name": "currSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2332, + "src": "15133:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2345, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "15133:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 2348, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "15166:5:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "15166:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15159:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2346, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "15159:6:17", + "typeDescriptions": {} + } + }, + "id": 2350, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15159:23:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "15133:49:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2352, + "nodeType": "ExpressionStatement", + "src": "15133:49:17" + }, + { + "assignments": [ + 2354 + ], + "declarations": [ + { + "constant": false, + "id": 2354, + "mutability": "mutable", + "name": "nextTokenId", + "nameLocation": "15438:11:17", + "nodeType": "VariableDeclaration", + "scope": 2393, + "src": "15430:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2353, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15430:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2358, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2355, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "15452:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15462:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "15452:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15430:33:17" + }, + { + "assignments": [ + 2361 + ], + "declarations": [ + { + "constant": false, + "id": 2361, + "mutability": "mutable", + "name": "nextSlot", + "nameLocation": "15500:8:17", + "nodeType": "VariableDeclaration", + "scope": 2393, + "src": "15477:31:17", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 2360, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2359, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "15477:14:17" + }, + "referencedDeclaration": 3374, + "src": "15477:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "id": 2365, + "initialValue": { + "baseExpression": { + "id": 2362, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "15511:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2364, + "indexExpression": { + "id": 2363, + "name": "nextTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2354, + "src": "15523:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "15511:24:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "15477:58:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2366, + "name": "nextSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "15553:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2367, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "15553:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15578:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2369, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15570:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15570:7:17", + "typeDescriptions": {} + } + }, + "id": 2371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15570:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15553:27:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2392, + "nodeType": "IfStatement", + "src": "15549:377:17", + "trueBody": { + "id": 2391, + "nodeType": "Block", + "src": "15582:344:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2373, + "name": "nextTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2354, + "src": "15745:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2374, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "15760:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15745:28:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2390, + "nodeType": "IfStatement", + "src": "15741:171:17", + "trueBody": { + "id": 2389, + "nodeType": "Block", + "src": "15775:137:17", + "statements": [ + { + "expression": { + "id": 2380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2376, + "name": "nextSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "15797:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2378, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "15797:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2379, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "15813:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "15797:20:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2381, + "nodeType": "ExpressionStatement", + "src": "15797:20:17" + }, + { + "expression": { + "id": 2387, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2382, + "name": "nextSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2361, + "src": "15839:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2384, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "15839:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2385, + "name": "prevOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2250, + "src": "15865:13:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 2386, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "15865:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "15839:54:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2388, + "nodeType": "ExpressionStatement", + "src": "15839:54:17" + } + ] + } + } + ] + } + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 2395, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "15960:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2396, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "15966:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2397, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "15970:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2394, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6652, + "src": "15951:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2398, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15951:27:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2399, + "nodeType": "EmitStatement", + "src": "15946:32:17" + }, + { + "expression": { + "arguments": [ + { + "id": 2401, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "16009:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2402, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2243, + "src": "16015:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2403, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "16019:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 2404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16028:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 2400, + "name": "_afterTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "15988:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15988:42:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2406, + "nodeType": "ExpressionStatement", + "src": "15988:42:17" + } + ] + }, + "documentation": { + "id": 2239, + "nodeType": "StructuredDocumentation", + "src": "13743:231:17", + "text": " @dev Transfers `tokenId` from `from` to `to`.\n Requirements:\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n Emits a {Transfer} event." + }, + "id": 2408, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "13988:9:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2241, + "mutability": "mutable", + "name": "from", + "nameLocation": "14015:4:17", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "14007:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14007:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2243, + "mutability": "mutable", + "name": "to", + "nameLocation": "14037:2:17", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "14029:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2242, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14029:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2245, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "14057:7:17", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "14049:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14049:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13997:73:17" + }, + "returnParameters": { + "id": 2247, + "nodeType": "ParameterList", + "parameters": [], + "src": "14079:0:17" + }, + "scope": 2707, + "src": "13979:2058:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2419, + "nodeType": "Block", + "src": "16159:38:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2415, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2411, + "src": "16175:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "66616c7365", + "id": 2416, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16184:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2414, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2420, + 2602 + ], + "referencedDeclaration": 2602, + "src": "16169:5:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool)" + } + }, + "id": 2417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16169:21:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2418, + "nodeType": "ExpressionStatement", + "src": "16169:21:17" + } + ] + }, + "documentation": { + "id": 2409, + "nodeType": "StructuredDocumentation", + "src": "16043:62:17", + "text": " @dev Equivalent to `_burn(tokenId, false)`." + }, + "id": 2420, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "16119:5:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2411, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "16133:7:17", + "nodeType": "VariableDeclaration", + "scope": 2420, + "src": "16125:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16125:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16124:17:17" + }, + "returnParameters": { + "id": 2413, + "nodeType": "ParameterList", + "parameters": [], + "src": "16159:0:17" + }, + "scope": 2707, + "src": "16110:87:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2601, + "nodeType": "Block", + "src": "16483:2254:17", + "statements": [ + { + "assignments": [ + 2430 + ], + "declarations": [ + { + "constant": false, + "id": 2430, + "mutability": "mutable", + "name": "prevOwnership", + "nameLocation": "16515:13:17", + "nodeType": "VariableDeclaration", + "scope": 2601, + "src": "16493:35:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 2429, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2428, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "16493:14:17" + }, + "referencedDeclaration": 3374, + "src": "16493:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "id": 2434, + "initialValue": { + "arguments": [ + { + "id": 2432, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "16544:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2431, + "name": "_ownershipOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "16531:12:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_struct$_TokenOwnership_$3374_memory_ptr_$", + "typeString": "function (uint256) view returns (struct IERC721A.TokenOwnership memory)" + } + }, + "id": 2433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16531:21:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16493:59:17" + }, + { + "assignments": [ + 2436 + ], + "declarations": [ + { + "constant": false, + "id": 2436, + "mutability": "mutable", + "name": "from", + "nameLocation": "16571:4:17", + "nodeType": "VariableDeclaration", + "scope": 2601, + "src": "16563:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2435, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16563:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2439, + "initialValue": { + "expression": { + "id": 2437, + "name": "prevOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2430, + "src": "16578:13:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 2438, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "16578:18:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16563:33:17" + }, + { + "condition": { + "id": 2440, + "name": "approvalCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2425, + "src": "16611:13:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2469, + "nodeType": "IfStatement", + "src": "16607:252:17", + "trueBody": { + "id": 2468, + "nodeType": "Block", + "src": "16626:233:17", + "statements": [ + { + "assignments": [ + 2442 + ], + "declarations": [ + { + "constant": false, + "id": 2442, + "mutability": "mutable", + "name": "isApprovedOrOwner", + "nameLocation": "16645:17:17", + "nodeType": "VariableDeclaration", + "scope": 2468, + "src": "16640:22:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2441, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16640:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 2461, + "initialValue": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2443, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "16666:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16666:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2445, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "16682:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16666:20:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 2448, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "16707:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2449, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "16713:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16713:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2447, + "name": "isApprovedForAll", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1845, + "src": "16690:16:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 2451, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16690:36:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16666:60:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 2454, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "16742:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2453, + "name": "getApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1793, + "src": "16730:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 2455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16730:20:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2456, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "16754:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16754:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "16730:36:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "16666:100:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2460, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "16665:102:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "16640:127:17" + }, + { + "condition": { + "id": 2463, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "16786:18:17", + "subExpression": { + "id": 2462, + "name": "isApprovedOrOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2442, + "src": "16787:17:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2467, + "nodeType": "IfStatement", + "src": "16782:66:17", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2464, + "name": "TransferCallerNotOwnerNorApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3355, + "src": "16813:33:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16813:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2466, + "nodeType": "RevertStatement", + "src": "16806:42:17" + } + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 2471, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "16891:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 2474, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16905:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16897:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2472, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16897:7:17", + "typeDescriptions": {} + } + }, + "id": 2475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16897:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2476, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "16909:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 2477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16918:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 2470, + "name": "_beforeTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2693, + "src": "16869:21:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16869:51:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2479, + "nodeType": "ExpressionStatement", + "src": "16869:51:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 2483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16999:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2482, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "16991:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2481, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16991:7:17", + "typeDescriptions": {} + } + }, + "id": 2484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16991:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2485, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "17003:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2486, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "17012:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2480, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2625, + "src": "16982:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 2487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16982:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2488, + "nodeType": "ExpressionStatement", + "src": "16982:35:17" + }, + { + "id": 2577, + "nodeType": "UncheckedBlock", + "src": "17283:1190:17", + "statements": [ + { + "assignments": [ + 2491 + ], + "declarations": [ + { + "constant": false, + "id": 2491, + "mutability": "mutable", + "name": "addressData", + "nameLocation": "17327:11:17", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "17307:31:17", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage_ptr", + "typeString": "struct IERC721A.AddressData" + }, + "typeName": { + "id": 2490, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2489, + "name": "AddressData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3383, + "src": "17307:11:17" + }, + "referencedDeclaration": 3383, + "src": "17307:11:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage_ptr", + "typeString": "struct IERC721A.AddressData" + } + }, + "visibility": "internal" + } + ], + "id": 2495, + "initialValue": { + "baseExpression": { + "id": 2492, + "name": "_addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1372, + "src": "17341:12:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressData_$3383_storage_$", + "typeString": "mapping(address => struct IERC721A.AddressData storage ref)" + } + }, + "id": 2494, + "indexExpression": { + "id": 2493, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "17354:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17341:18:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage", + "typeString": "struct IERC721A.AddressData storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17307:52:17" + }, + { + "expression": { + "id": 2500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2496, + "name": "addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2491, + "src": "17373:11:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage_ptr", + "typeString": "struct IERC721A.AddressData storage pointer" + } + }, + "id": 2498, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "balance", + "nodeType": "MemberAccess", + "referencedDeclaration": 3376, + "src": "17373:19:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 2499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17396:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "17373:24:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2501, + "nodeType": "ExpressionStatement", + "src": "17373:24:17" + }, + { + "expression": { + "id": 2506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2502, + "name": "addressData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2491, + "src": "17411:11:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressData_$3383_storage_ptr", + "typeString": "struct IERC721A.AddressData storage pointer" + } + }, + "id": 2504, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "numberBurned", + "nodeType": "MemberAccess", + "referencedDeclaration": 3380, + "src": "17411:24:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 2505, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17439:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "17411:29:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2507, + "nodeType": "ExpressionStatement", + "src": "17411:29:17" + }, + { + "assignments": [ + 2510 + ], + "declarations": [ + { + "constant": false, + "id": 2510, + "mutability": "mutable", + "name": "currSlot", + "nameLocation": "17559:8:17", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "17536:31:17", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 2509, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2508, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "17536:14:17" + }, + "referencedDeclaration": 3374, + "src": "17536:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "id": 2514, + "initialValue": { + "baseExpression": { + "id": 2511, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "17570:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2513, + "indexExpression": { + "id": 2512, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "17582:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "17570:20:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17536:54:17" + }, + { + "expression": { + "id": 2519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2515, + "name": "currSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "17604:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2517, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "17604:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2518, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "17620:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "17604:20:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2520, + "nodeType": "ExpressionStatement", + "src": "17604:20:17" + }, + { + "expression": { + "id": 2529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2521, + "name": "currSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "17638:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2523, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "17638:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 2526, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "17671:5:17", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "17671:15:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "17664:6:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 2524, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "17664:6:17", + "typeDescriptions": {} + } + }, + "id": 2528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17664:23:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "17638:49:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2530, + "nodeType": "ExpressionStatement", + "src": "17638:49:17" + }, + { + "expression": { + "id": 2535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2531, + "name": "currSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "17701:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2533, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "burned", + "nodeType": "MemberAccess", + "referencedDeclaration": 3373, + "src": "17701:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17719:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "17701:22:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2536, + "nodeType": "ExpressionStatement", + "src": "17701:22:17" + }, + { + "assignments": [ + 2538 + ], + "declarations": [ + { + "constant": false, + "id": 2538, + "mutability": "mutable", + "name": "nextTokenId", + "nameLocation": "17975:11:17", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "17967:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2537, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "17967:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2542, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2539, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "17989:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 2540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17999:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "17989:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "17967:33:17" + }, + { + "assignments": [ + 2545 + ], + "declarations": [ + { + "constant": false, + "id": 2545, + "mutability": "mutable", + "name": "nextSlot", + "nameLocation": "18037:8:17", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "18014:31:17", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 2544, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2543, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "18014:14:17" + }, + "referencedDeclaration": 3374, + "src": "18014:14:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "id": 2549, + "initialValue": { + "baseExpression": { + "id": 2546, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "18048:11:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 2548, + "indexExpression": { + "id": 2547, + "name": "nextTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2538, + "src": "18060:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "18048:24:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "18014:58:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2556, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2550, + "name": "nextSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2545, + "src": "18090:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2551, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "18090:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2554, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18115:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18107:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2552, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18107:7:17", + "typeDescriptions": {} + } + }, + "id": 2555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18107:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18090:27:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2576, + "nodeType": "IfStatement", + "src": "18086:377:17", + "trueBody": { + "id": 2575, + "nodeType": "Block", + "src": "18119:344:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2557, + "name": "nextTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2538, + "src": "18282:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2558, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "18297:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "18282:28:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2574, + "nodeType": "IfStatement", + "src": "18278:171:17", + "trueBody": { + "id": 2573, + "nodeType": "Block", + "src": "18312:137:17", + "statements": [ + { + "expression": { + "id": 2564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2560, + "name": "nextSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2545, + "src": "18334:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2562, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "addr", + "nodeType": "MemberAccess", + "referencedDeclaration": 3369, + "src": "18334:13:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2563, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "18350:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18334:20:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2565, + "nodeType": "ExpressionStatement", + "src": "18334:20:17" + }, + { + "expression": { + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2566, + "name": "nextSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2545, + "src": "18376:8:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership storage pointer" + } + }, + "id": 2568, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "18376:23:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2569, + "name": "prevOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2430, + "src": "18402:13:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership memory" + } + }, + "id": 2570, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "startTimestamp", + "nodeType": "MemberAccess", + "referencedDeclaration": 3371, + "src": "18402:28:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "18376:54:17", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 2572, + "nodeType": "ExpressionStatement", + "src": "18376:54:17" + } + ] + } + } + ] + } + } + ] + }, + { + "eventCall": { + "arguments": [ + { + "id": 2579, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "18497:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 2582, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18511:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18503:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18503:7:17", + "typeDescriptions": {} + } + }, + "id": 2583, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18503:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2584, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "18515:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2578, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6652, + "src": "18488:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18488:35:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2586, + "nodeType": "EmitStatement", + "src": "18483:40:17" + }, + { + "expression": { + "arguments": [ + { + "id": 2588, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2436, + "src": "18554:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 2591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18568:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "18560:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2589, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18560:7:17", + "typeDescriptions": {} + } + }, + "id": 2592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18560:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2593, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2423, + "src": "18572:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "31", + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18581:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 2587, + "name": "_afterTokenTransfers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2706, + "src": "18533:20:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 2595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18533:50:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2596, + "nodeType": "ExpressionStatement", + "src": "18533:50:17" + }, + { + "id": 2600, + "nodeType": "UncheckedBlock", + "src": "18682:49:17", + "statements": [ + { + "expression": { + "id": 2598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "18706:14:17", + "subExpression": { + "id": 2597, + "name": "_burnCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1358, + "src": "18706:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2599, + "nodeType": "ExpressionStatement", + "src": "18706:14:17" + } + ] + } + ] + }, + "documentation": { + "id": 2421, + "nodeType": "StructuredDocumentation", + "src": "16203:206:17", + "text": " @dev Destroys `tokenId`.\n The approval is cleared when the token is burned.\n Requirements:\n - `tokenId` must exist.\n Emits a {Transfer} event." + }, + "id": 2602, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "16423:5:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2423, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "16437:7:17", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "16429:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2422, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "16429:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2425, + "mutability": "mutable", + "name": "approvalCheck", + "nameLocation": "16451:13:17", + "nodeType": "VariableDeclaration", + "scope": 2602, + "src": "16446:18:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2424, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16446:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16428:37:17" + }, + "returnParameters": { + "id": 2427, + "nodeType": "ParameterList", + "parameters": [], + "src": "16483:0:17" + }, + "scope": 2707, + "src": "16414:2323:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2624, + "nodeType": "Block", + "src": "18948:89:17", + "statements": [ + { + "expression": { + "id": 2616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2612, + "name": "_tokenApprovals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1376, + "src": "18958:15:17", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 2614, + "indexExpression": { + "id": 2613, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2607, + "src": "18974:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "18958:24:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2615, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2605, + "src": "18985:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "18958:29:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2617, + "nodeType": "ExpressionStatement", + "src": "18958:29:17" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2619, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2609, + "src": "19011:5:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2620, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2605, + "src": "19018:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2621, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2607, + "src": "19022:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2618, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6661, + "src": "19002:8:17", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19002:28:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2623, + "nodeType": "EmitStatement", + "src": "18997:33:17" + } + ] + }, + "documentation": { + "id": 2603, + "nodeType": "StructuredDocumentation", + "src": "18743:100:17", + "text": " @dev Approve `to` to operate on `tokenId`\n Emits a {Approval} event." + }, + "id": 2625, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "18857:8:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2605, + "mutability": "mutable", + "name": "to", + "nameLocation": "18883:2:17", + "nodeType": "VariableDeclaration", + "scope": 2625, + "src": "18875:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18875:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2607, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "18903:7:17", + "nodeType": "VariableDeclaration", + "scope": 2625, + "src": "18895:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2606, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "18895:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2609, + "mutability": "mutable", + "name": "owner", + "nameLocation": "18928:5:17", + "nodeType": "VariableDeclaration", + "scope": 2625, + "src": "18920:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2608, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18920:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "18865:74:17" + }, + "returnParameters": { + "id": 2611, + "nodeType": "ParameterList", + "parameters": [], + "src": "18948:0:17" + }, + "scope": 2707, + "src": "18848:189:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2679, + "nodeType": "Block", + "src": "19682:486:17", + "statements": [ + { + "clauses": [ + { + "block": { + "id": 2660, + "nodeType": "Block", + "src": "19793:87:17", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 2658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2652, + "name": "retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2650, + "src": "19814:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "expression": { + "arguments": [ + { + "id": 2654, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2630, + "src": "19840:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2653, + "name": "IERC721Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "19824:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$6093_$", + "typeString": "type(contract IERC721Receiver)" + } + }, + "id": 2655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19824:19:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Receiver_$6093", + "typeString": "contract IERC721Receiver" + } + }, + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "onERC721Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 6092, + "src": "19824:36:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" + } + }, + "id": 2657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "selector", + "nodeType": "MemberAccess", + "src": "19824:45:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "19814:55:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2638, + "id": 2659, + "nodeType": "Return", + "src": "19807:62:17" + } + ] + }, + "errorName": "", + "id": 2661, + "nodeType": "TryCatchClause", + "parameters": { + "id": 2651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2650, + "mutability": "mutable", + "name": "retval", + "nameLocation": "19785:6:17", + "nodeType": "VariableDeclaration", + "scope": 2661, + "src": "19778:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2649, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "19778:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "19777:15:17" + }, + "src": "19769:111:17" + }, + { + "block": { + "id": 2676, + "nodeType": "Block", + "src": "19909:253:17", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2665, + "name": "reason", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2663, + "src": "19927:6:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "19927:13:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19944:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "19927:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2674, + "nodeType": "Block", + "src": "20033:119:17", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "20060:78:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20093:2:17", + "type": "", + "value": "32" + }, + { + "name": "reason", + "nodeType": "YulIdentifier", + "src": "20097:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20089:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20089:15:17" + }, + { + "arguments": [ + { + "name": "reason", + "nodeType": "YulIdentifier", + "src": "20112:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20106:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "20106:13:17" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "20082:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20082:38:17" + }, + "nodeType": "YulExpressionStatement", + "src": "20082:38:17" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 2663, + "isOffset": false, + "isSlot": false, + "src": "20097:6:17", + "valueSize": 1 + }, + { + "declaration": 2663, + "isOffset": false, + "isSlot": false, + "src": "20112:6:17", + "valueSize": 1 + } + ], + "id": 2673, + "nodeType": "InlineAssembly", + "src": "20051:87:17" + } + ] + }, + "id": 2675, + "nodeType": "IfStatement", + "src": "19923:229:17", + "trueBody": { + "id": 2672, + "nodeType": "Block", + "src": "19947:80:17", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2669, + "name": "TransferToNonERC721ReceiverImplementer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3361, + "src": "19972:38:17", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19972:40:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2671, + "nodeType": "RevertStatement", + "src": "19965:47:17" + } + ] + } + } + ] + }, + "errorName": "", + "id": 2677, + "nodeType": "TryCatchClause", + "parameters": { + "id": 2664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2663, + "mutability": "mutable", + "name": "reason", + "nameLocation": "19901:6:17", + "nodeType": "VariableDeclaration", + "scope": 2677, + "src": "19888:19:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2662, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "19888:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "19887:21:17" + }, + "src": "19881:281:17" + } + ], + "externalCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2643, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "19733:10:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19733:12:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2645, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2628, + "src": "19747:4:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2646, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "19753:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2647, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2634, + "src": "19762:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "arguments": [ + { + "id": 2640, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2630, + "src": "19712:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2639, + "name": "IERC721Receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "19696:15:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$6093_$", + "typeString": "type(contract IERC721Receiver)" + } + }, + "id": 2641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19696:19:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Receiver_$6093", + "typeString": "contract IERC721Receiver" + } + }, + "id": 2642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "onERC721Received", + "nodeType": "MemberAccess", + "referencedDeclaration": 6092, + "src": "19696:36:17", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", + "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" + } + }, + "id": 2648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19696:72:17", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "id": 2678, + "nodeType": "TryStatement", + "src": "19692:470:17" + } + ] + }, + "documentation": { + "id": 2626, + "nodeType": "StructuredDocumentation", + "src": "19043:470:17", + "text": " @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target contract.\n @param from address representing the previous owner of the given token ID\n @param to target address that will receive the tokens\n @param tokenId uint256 ID of the token to be transferred\n @param _data bytes optional data to send along with the call\n @return bool whether the call correctly returned the expected magic value" + }, + "id": 2680, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkContractOnERC721Received", + "nameLocation": "19527:30:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2628, + "mutability": "mutable", + "name": "from", + "nameLocation": "19575:4:17", + "nodeType": "VariableDeclaration", + "scope": 2680, + "src": "19567:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2627, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19567:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2630, + "mutability": "mutable", + "name": "to", + "nameLocation": "19597:2:17", + "nodeType": "VariableDeclaration", + "scope": 2680, + "src": "19589:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19589:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2632, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "19617:7:17", + "nodeType": "VariableDeclaration", + "scope": 2680, + "src": "19609:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2631, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "19609:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2634, + "mutability": "mutable", + "name": "_data", + "nameLocation": "19647:5:17", + "nodeType": "VariableDeclaration", + "scope": 2680, + "src": "19634:18:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2633, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "19634:5:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "19557:101:17" + }, + "returnParameters": { + "id": 2638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2637, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2680, + "src": "19676:4:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2636, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19676:4:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "19675:6:17" + }, + "scope": 2707, + "src": "19518:650:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2692, + "nodeType": "Block", + "src": "20951:2:17", + "statements": [] + }, + "documentation": { + "id": 2681, + "nodeType": "StructuredDocumentation", + "src": "20174:620:17", + "text": " @dev Hook that is called before a set of serially-ordered token ids are about to be transferred. This includes minting.\n And also called before burning one token.\n startTokenId - the first token id to be transferred\n quantity - the amount to be transferred\n Calling conditions:\n - When `from` and `to` are both non-zero, `from`'s `tokenId` will be\n transferred to `to`.\n - When `from` is zero, `tokenId` will be minted for `to`.\n - When `to` is zero, `tokenId` will be burned by `from`.\n - `from` and `to` are never both zero." + }, + "id": 2693, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfers", + "nameLocation": "20808:21:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2683, + "mutability": "mutable", + "name": "from", + "nameLocation": "20847:4:17", + "nodeType": "VariableDeclaration", + "scope": 2693, + "src": "20839:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2682, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20839:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2685, + "mutability": "mutable", + "name": "to", + "nameLocation": "20869:2:17", + "nodeType": "VariableDeclaration", + "scope": 2693, + "src": "20861:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20861:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2687, + "mutability": "mutable", + "name": "startTokenId", + "nameLocation": "20889:12:17", + "nodeType": "VariableDeclaration", + "scope": 2693, + "src": "20881:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2686, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20881:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2689, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "20919:8:17", + "nodeType": "VariableDeclaration", + "scope": 2693, + "src": "20911:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2688, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "20911:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20829:104:17" + }, + "returnParameters": { + "id": 2691, + "nodeType": "ParameterList", + "parameters": [], + "src": "20951:0:17" + }, + "scope": 2707, + "src": "20799:154:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2705, + "nodeType": "Block", + "src": "21745:2:17", + "statements": [] + }, + "documentation": { + "id": 2694, + "nodeType": "StructuredDocumentation", + "src": "20959:630:17", + "text": " @dev Hook that is called after a set of serially-ordered token ids have been transferred. This includes\n minting.\n And also called after one token has been burned.\n startTokenId - the first token id to be transferred\n quantity - the amount to be transferred\n Calling conditions:\n - When `from` and `to` are both non-zero, `from`'s `tokenId` has been\n transferred to `to`.\n - When `from` is zero, `tokenId` has been minted for `to`.\n - When `to` is zero, `tokenId` has been burned by `from`.\n - `from` and `to` are never both zero." + }, + "id": 2706, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_afterTokenTransfers", + "nameLocation": "21603:20:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2696, + "mutability": "mutable", + "name": "from", + "nameLocation": "21641:4:17", + "nodeType": "VariableDeclaration", + "scope": 2706, + "src": "21633:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2695, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21633:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2698, + "mutability": "mutable", + "name": "to", + "nameLocation": "21663:2:17", + "nodeType": "VariableDeclaration", + "scope": 2706, + "src": "21655:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21655:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2700, + "mutability": "mutable", + "name": "startTokenId", + "nameLocation": "21683:12:17", + "nodeType": "VariableDeclaration", + "scope": 2706, + "src": "21675:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2699, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21675:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2702, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "21713:8:17", + "nodeType": "VariableDeclaration", + "scope": 2706, + "src": "21705:16:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2701, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "21705:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "21623:104:17" + }, + "returnParameters": { + "id": 2704, + "nodeType": "ParameterList", + "parameters": [], + "src": "21745:0:17" + }, + "scope": 2707, + "src": "21594:153:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 2708, + "src": "1270:20479:17", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367 + ] + } + ], + "src": "429:21321:17" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721A", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Address", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Receiver", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Strings" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including the Metadata extension. Built to optimize for lower gas during batch mints. Assumes serials are sequentially minted starting at _startTokenId() (defaults to 0, e.g. 0, 1, 2, 3..). Assumes that an owner cannot have more than 2**64 - 1 (max value of uint64) of supply. Assumes that the maximum token id cannot exceed 2**256 - 1 (max value of uint256).", + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "offset": [ + 1270, + 21749 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "f6ae2d85e696da2e8f4e912e0fc835c5b825b831", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"./interfaces/IERC721A.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\nimport \"@openzeppelin/contracts/utils/Address.sol\";\nimport \"@openzeppelin/contracts/utils/Context.sol\";\nimport \"@openzeppelin/contracts/utils/Strings.sol\";\nimport \"@openzeppelin/contracts/utils/introspection/ERC165.sol\";\n\n/**\n * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including\n * the Metadata extension. Built to optimize for lower gas during batch mints.\n *\n * Assumes serials are sequentially minted starting at _startTokenId() (defaults to 0, e.g. 0, 1, 2, 3..).\n *\n * Assumes that an owner cannot have more than 2**64 - 1 (max value of uint64) of supply.\n *\n * Assumes that the maximum token id cannot exceed 2**256 - 1 (max value of uint256).\n */\nabstract contract ERC721A is Context, ERC165, IERC721A {\n using Address for address;\n using Strings for uint256;\n\n // The tokenId of the next token to be minted.\n uint256 internal _currentIndex;\n\n // The number of tokens burned.\n uint256 internal _burnCounter;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Mapping from token ID to ownership details\n // An empty struct value does not necessarily mean the token is unowned. See _ownershipOf implementation for details.\n mapping(uint256 => TokenOwnership) internal _ownerships;\n\n // Mapping owner address to address data\n mapping(address => AddressData) private _addressData;\n\n // Mapping from token ID to approved address\n mapping(uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping(address => mapping(address => bool)) private _operatorApprovals;\n\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n _currentIndex = _startTokenId();\n }\n\n /**\n * To change the starting tokenId, please override this function.\n */\n function _startTokenId() internal view virtual returns (uint256) {\n return 0;\n }\n\n /**\n * @dev Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens.\n */\n function totalSupply() public view override returns (uint256) {\n // Counter underflow is impossible as _burnCounter cannot be incremented\n // more than _currentIndex - _startTokenId() times\n unchecked {\n return _currentIndex - _burnCounter - _startTokenId();\n }\n }\n\n /**\n * Returns the total amount of tokens minted in the contract.\n */\n function _totalMinted() internal view returns (uint256) {\n // Counter underflow is impossible as _currentIndex does not decrement,\n // and it is initialized to _startTokenId()\n unchecked {\n return _currentIndex - _startTokenId();\n }\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {\n return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view override returns (uint256) {\n if (owner == address(0)) revert BalanceQueryForZeroAddress();\n return uint256(_addressData[owner].balance);\n }\n\n /**\n * Returns the number of tokens minted by `owner`.\n */\n function _numberMinted(address owner) internal view returns (uint256) {\n return uint256(_addressData[owner].numberMinted);\n }\n\n /**\n * Returns the number of tokens burned by or on behalf of `owner`.\n */\n function _numberBurned(address owner) internal view returns (uint256) {\n return uint256(_addressData[owner].numberBurned);\n }\n\n /**\n * Returns the auxillary data for `owner`. (e.g. number of whitelist mint slots used).\n */\n function _getAux(address owner) internal view returns (uint64) {\n return _addressData[owner].aux;\n }\n\n /**\n * Sets the auxillary data for `owner`. (e.g. number of whitelist mint slots used).\n * If there are multiple variables, please pack them into a uint64.\n */\n function _setAux(address owner, uint64 aux) internal {\n _addressData[owner].aux = aux;\n }\n\n /**\n * Gas spent here starts off proportional to the maximum mint batch size.\n * It gradually moves to O(1) as tokens get transferred around in the collection over time.\n */\n function _ownershipOf(uint256 tokenId) internal view returns (TokenOwnership memory) {\n uint256 curr = tokenId;\n\n unchecked {\n if (_startTokenId() <= curr)\n if (curr < _currentIndex) {\n TokenOwnership memory ownership = _ownerships[curr];\n if (!ownership.burned) {\n if (ownership.addr != address(0)) {\n return ownership;\n }\n // Invariant:\n // There will always be an ownership that has an address and is not burned\n // before an ownership that does not have an address and is not burned.\n // Hence, curr will not underflow.\n while (true) {\n curr--;\n ownership = _ownerships[curr];\n if (ownership.addr != address(0)) {\n return ownership;\n }\n }\n }\n }\n }\n revert OwnerQueryForNonexistentToken();\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view override returns (address) {\n return _ownershipOf(tokenId).addr;\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n if (!_exists(tokenId)) revert URIQueryForNonexistentToken();\n\n string memory baseURI = _baseURI();\n return bytes(baseURI).length != 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : \"\";\n }\n\n /**\n * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each\n * token will be the concatenation of the `baseURI` and the `tokenId`. Empty\n * by default, can be overriden in child contracts.\n */\n function _baseURI() internal view virtual returns (string memory) {\n return \"\";\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public override {\n address owner = ERC721A.ownerOf(tokenId);\n if (to == owner) revert ApprovalToCurrentOwner();\n\n if (_msgSender() != owner)\n if (!isApprovedForAll(owner, _msgSender())) {\n revert ApprovalCallerNotOwnerNorApproved();\n }\n\n _approve(to, tokenId, owner);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view override returns (address) {\n if (!_exists(tokenId)) revert ApprovalQueryForNonexistentToken();\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n if (operator == _msgSender()) revert ApproveToCaller();\n\n _operatorApprovals[_msgSender()][operator] = approved;\n emit ApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) public virtual override {\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) public virtual override {\n _transfer(from, to, tokenId);\n if (to.isContract())\n if (!_checkContractOnERC721Received(from, to, tokenId, _data)) {\n revert TransferToNonERC721ReceiverImplementer();\n }\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n */\n function _exists(uint256 tokenId) internal view returns (bool) {\n return _startTokenId() <= tokenId && tokenId < _currentIndex && !_ownerships[tokenId].burned;\n }\n\n /**\n * @dev Equivalent to `_safeMint(to, quantity, '')`.\n */\n function _safeMint(address to, uint256 quantity) internal {\n _safeMint(to, quantity, \"\");\n }\n\n /**\n * @dev Safely mints `quantity` tokens and transfers them to `to`.\n *\n * Requirements:\n *\n * - If `to` refers to a smart contract, it must implement\n * {IERC721Receiver-onERC721Received}, which is called for each safe transfer.\n * - `quantity` must be greater than 0.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(\n address to,\n uint256 quantity,\n bytes memory _data\n ) internal {\n uint256 startTokenId = _currentIndex;\n if (to == address(0)) revert MintToZeroAddress();\n if (quantity == 0) revert MintZeroQuantity();\n\n _beforeTokenTransfers(address(0), to, startTokenId, quantity);\n\n // Overflows are incredibly unrealistic.\n // balance or numberMinted overflow if current value of either + quantity > 1.8e19 (2**64) - 1\n // updatedIndex overflows if _currentIndex + quantity > 1.2e77 (2**256) - 1\n unchecked {\n _addressData[to].balance += uint64(quantity);\n _addressData[to].numberMinted += uint64(quantity);\n\n _ownerships[startTokenId].addr = to;\n _ownerships[startTokenId].startTimestamp = uint64(block.timestamp);\n\n uint256 updatedIndex = startTokenId;\n uint256 end = updatedIndex + quantity;\n\n if (to.isContract()) {\n do {\n emit Transfer(address(0), to, updatedIndex);\n if (!_checkContractOnERC721Received(address(0), to, updatedIndex++, _data)) {\n revert TransferToNonERC721ReceiverImplementer();\n }\n } while (updatedIndex < end);\n // Reentrancy protection\n if (_currentIndex != startTokenId) revert();\n } else {\n do {\n emit Transfer(address(0), to, updatedIndex++);\n } while (updatedIndex < end);\n }\n _currentIndex = updatedIndex;\n }\n _afterTokenTransfers(address(0), to, startTokenId, quantity);\n }\n\n /**\n * @dev Mints `quantity` tokens and transfers them to `to`.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `quantity` must be greater than 0.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 quantity) internal {\n uint256 startTokenId = _currentIndex;\n if (to == address(0)) revert MintToZeroAddress();\n if (quantity == 0) revert MintZeroQuantity();\n\n _beforeTokenTransfers(address(0), to, startTokenId, quantity);\n\n // Overflows are incredibly unrealistic.\n // balance or numberMinted overflow if current value of either + quantity > 1.8e19 (2**64) - 1\n // updatedIndex overflows if _currentIndex + quantity > 1.2e77 (2**256) - 1\n unchecked {\n _addressData[to].balance += uint64(quantity);\n _addressData[to].numberMinted += uint64(quantity);\n\n _ownerships[startTokenId].addr = to;\n _ownerships[startTokenId].startTimestamp = uint64(block.timestamp);\n\n uint256 updatedIndex = startTokenId;\n uint256 end = updatedIndex + quantity;\n\n do {\n emit Transfer(address(0), to, updatedIndex++);\n } while (updatedIndex < end);\n\n _currentIndex = updatedIndex;\n }\n _afterTokenTransfers(address(0), to, startTokenId, quantity);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(\n address from,\n address to,\n uint256 tokenId\n ) private {\n TokenOwnership memory prevOwnership = _ownershipOf(tokenId);\n\n if (prevOwnership.addr != from) revert TransferFromIncorrectOwner();\n\n bool isApprovedOrOwner = (_msgSender() == from || isApprovedForAll(from, _msgSender()) || getApproved(tokenId) == _msgSender());\n\n if (!isApprovedOrOwner) revert TransferCallerNotOwnerNorApproved();\n if (to == address(0)) revert TransferToZeroAddress();\n\n _beforeTokenTransfers(from, to, tokenId, 1);\n\n // Clear approvals from the previous owner\n _approve(address(0), tokenId, from);\n\n // Underflow of the sender's balance is impossible because we check for\n // ownership above and the recipient's balance can't realistically overflow.\n // Counter overflow is incredibly unrealistic as tokenId would have to be 2**256.\n unchecked {\n _addressData[from].balance -= 1;\n _addressData[to].balance += 1;\n\n TokenOwnership storage currSlot = _ownerships[tokenId];\n currSlot.addr = to;\n currSlot.startTimestamp = uint64(block.timestamp);\n\n // If the ownership slot of tokenId+1 is not explicitly set, that means the transfer initiator owns it.\n // Set the slot of tokenId+1 explicitly in storage to maintain correctness for ownerOf(tokenId+1) calls.\n uint256 nextTokenId = tokenId + 1;\n TokenOwnership storage nextSlot = _ownerships[nextTokenId];\n if (nextSlot.addr == address(0)) {\n // This will suffice for checking _exists(nextTokenId),\n // as a burned slot cannot contain the zero address.\n if (nextTokenId != _currentIndex) {\n nextSlot.addr = from;\n nextSlot.startTimestamp = prevOwnership.startTimestamp;\n }\n }\n }\n\n emit Transfer(from, to, tokenId);\n _afterTokenTransfers(from, to, tokenId, 1);\n }\n\n /**\n * @dev Equivalent to `_burn(tokenId, false)`.\n */\n function _burn(uint256 tokenId) internal virtual {\n _burn(tokenId, false);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId, bool approvalCheck) internal virtual {\n TokenOwnership memory prevOwnership = _ownershipOf(tokenId);\n\n address from = prevOwnership.addr;\n\n if (approvalCheck) {\n bool isApprovedOrOwner = (_msgSender() == from || isApprovedForAll(from, _msgSender()) || getApproved(tokenId) == _msgSender());\n\n if (!isApprovedOrOwner) revert TransferCallerNotOwnerNorApproved();\n }\n\n _beforeTokenTransfers(from, address(0), tokenId, 1);\n\n // Clear approvals from the previous owner\n _approve(address(0), tokenId, from);\n\n // Underflow of the sender's balance is impossible because we check for\n // ownership above and the recipient's balance can't realistically overflow.\n // Counter overflow is incredibly unrealistic as tokenId would have to be 2**256.\n unchecked {\n AddressData storage addressData = _addressData[from];\n addressData.balance -= 1;\n addressData.numberBurned += 1;\n\n // Keep track of who burned the token, and the timestamp of burning.\n TokenOwnership storage currSlot = _ownerships[tokenId];\n currSlot.addr = from;\n currSlot.startTimestamp = uint64(block.timestamp);\n currSlot.burned = true;\n\n // If the ownership slot of tokenId+1 is not explicitly set, that means the burn initiator owns it.\n // Set the slot of tokenId+1 explicitly in storage to maintain correctness for ownerOf(tokenId+1) calls.\n uint256 nextTokenId = tokenId + 1;\n TokenOwnership storage nextSlot = _ownerships[nextTokenId];\n if (nextSlot.addr == address(0)) {\n // This will suffice for checking _exists(nextTokenId),\n // as a burned slot cannot contain the zero address.\n if (nextTokenId != _currentIndex) {\n nextSlot.addr = from;\n nextSlot.startTimestamp = prevOwnership.startTimestamp;\n }\n }\n }\n\n emit Transfer(from, address(0), tokenId);\n _afterTokenTransfers(from, address(0), tokenId, 1);\n\n // Overflow not possible, as _burnCounter cannot be exceed _currentIndex times.\n unchecked {\n _burnCounter++;\n }\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits a {Approval} event.\n */\n function _approve(\n address to,\n uint256 tokenId,\n address owner\n ) private {\n _tokenApprovals[tokenId] = to;\n emit Approval(owner, to, tokenId);\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param _data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkContractOnERC721Received(\n address from,\n address to,\n uint256 tokenId,\n bytes memory _data\n ) private returns (bool) {\n try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) {\n return retval == IERC721Receiver(to).onERC721Received.selector;\n } catch (bytes memory reason) {\n if (reason.length == 0) {\n revert TransferToNonERC721ReceiverImplementer();\n } else {\n assembly {\n revert(add(32, reason), mload(reason))\n }\n }\n }\n }\n\n /**\n * @dev Hook that is called before a set of serially-ordered token ids are about to be transferred. This includes minting.\n * And also called before burning one token.\n *\n * startTokenId - the first token id to be transferred\n * quantity - the amount to be transferred\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, `from`'s `tokenId` will be\n * transferred to `to`.\n * - When `from` is zero, `tokenId` will be minted for `to`.\n * - When `to` is zero, `tokenId` will be burned by `from`.\n * - `from` and `to` are never both zero.\n */\n function _beforeTokenTransfers(\n address from,\n address to,\n uint256 startTokenId,\n uint256 quantity\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after a set of serially-ordered token ids have been transferred. This includes\n * minting.\n * And also called after one token has been burned.\n *\n * startTokenId - the first token id to be transferred\n * quantity - the amount to be transferred\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, `from`'s `tokenId` has been\n * transferred to `to`.\n * - When `from` is zero, `tokenId` has been minted for `to`.\n * - When `to` is zero, `tokenId` has been burned by `from`.\n * - `from` and `to` are never both zero.\n */\n function _afterTokenTransfers(\n address from,\n address to,\n uint256 startTokenId,\n uint256 quantity\n ) internal virtual {}\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721ABurnableMock.json b/tests/build/contracts/ERC721ABurnableMock.json new file mode 100644 index 0000000..089d68d --- /dev/null +++ b/tests/build/contracts/ERC721ABurnableMock.json @@ -0,0 +1,32149 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "SetURICannotBeEmpty", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "URIRequestForExistentToken", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "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": "index", + "type": "uint256" + } + ], + "name": "getOwnershipAt", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint64", + "name": "startTimestamp", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "burned", + "type": "bool" + } + ], + "internalType": "struct IERC721A.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": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalMinted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "18": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "20": "contracts/contracts/packages/nft/contracts/Guard.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "23": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "29": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "ERC721ABurnableMock": [ + 3671 + ], + "ERC721ExtensionCore": [ + 2873 + ], + "Guarded": [ + 3259 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721ExtensionCore": [ + 3411 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "Strings": [ + 6613 + ] + }, + "id": 3672, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3608, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:29" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "file": "../ERC721ExtensionCore.sol", + "id": 3609, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3672, + "sourceUnit": 2874, + "src": "454:36:29", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3610, + "name": "ERC721ExtensionCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2873, + "src": "524:19:29" + }, + "id": 3611, + "nodeType": "InheritanceSpecifier", + "src": "524:19:29" + } + ], + "canonicalName": "ERC721ABurnableMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3671, + "linearizedBaseContracts": [ + 3671, + 2873, + 3411, + 3259, + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410 + ], + "name": "ERC721ABurnableMock", + "nameLocation": "501:19:29", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3622, + "nodeType": "Block", + "src": "642:2:29", + "statements": [] + }, + "id": 3623, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3618, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3613, + "src": "626:5:29", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3619, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3615, + "src": "633:7:29", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 3620, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3617, + "name": "ERC721ExtensionCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2873, + "src": "606:19:29" + }, + "nodeType": "ModifierInvocation", + "src": "606:35:29" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3613, + "mutability": "mutable", + "name": "name_", + "nameLocation": "576:5:29", + "nodeType": "VariableDeclaration", + "scope": 3623, + "src": "562:19:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3612, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "562:6:29", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3615, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "597:7:29", + "nodeType": "VariableDeclaration", + "scope": 3623, + "src": "583:21:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3614, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "583:6:29", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "561:44:29" + }, + "returnParameters": { + "id": 3621, + "nodeType": "ParameterList", + "parameters": [], + "src": "642:0:29" + }, + "scope": 3671, + "src": "550:94:29", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3634, + "nodeType": "Block", + "src": "710:40:29", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3631, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3625, + "src": "735:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3630, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "727:7:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "727:16:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3629, + "id": 3633, + "nodeType": "Return", + "src": "720:23:29" + } + ] + }, + "functionSelector": "4f558e79", + "id": 3635, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "exists", + "nameLocation": "659:6:29", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3625, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "674:7:29", + "nodeType": "VariableDeclaration", + "scope": 3635, + "src": "666:15:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3624, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "666:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "665:17:29" + }, + "returnParameters": { + "id": 3629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3628, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3635, + "src": "704:4:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3627, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "704:4:29", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "703:6:29" + }, + "scope": 3671, + "src": "650:100:29", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3647, + "nodeType": "Block", + "src": "811:40:29", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3643, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3637, + "src": "831:2:29", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3644, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3639, + "src": "835:8:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3642, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1957, + 2120 + ], + "referencedDeclaration": 1957, + "src": "821:9:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "821:23:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3646, + "nodeType": "ExpressionStatement", + "src": "821:23:29" + } + ] + }, + "functionSelector": "a1448194", + "id": 3648, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeMint", + "nameLocation": "765:8:29", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3640, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3637, + "mutability": "mutable", + "name": "to", + "nameLocation": "782:2:29", + "nodeType": "VariableDeclaration", + "scope": 3648, + "src": "774:10:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3636, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "774:7:29", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3639, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "794:8:29", + "nodeType": "VariableDeclaration", + "scope": 3648, + "src": "786:16:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3638, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "786:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "773:30:29" + }, + "returnParameters": { + "id": 3641, + "nodeType": "ParameterList", + "parameters": [], + "src": "811:0:29" + }, + "scope": 3671, + "src": "756:95:29", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3660, + "nodeType": "Block", + "src": "940:42:29", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 3656, + "name": "_ownerships", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "957:11:29", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TokenOwnership_$3374_storage_$", + "typeString": "mapping(uint256 => struct IERC721A.TokenOwnership storage ref)" + } + }, + "id": 3658, + "indexExpression": { + "id": 3657, + "name": "index", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3650, + "src": "969:5:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "957:18:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage", + "typeString": "struct IERC721A.TokenOwnership storage ref" + } + }, + "functionReturnParameters": 3655, + "id": 3659, + "nodeType": "Return", + "src": "950:25:29" + } + ] + }, + "functionSelector": "f2523633", + "id": 3661, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getOwnershipAt", + "nameLocation": "866:14:29", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3650, + "mutability": "mutable", + "name": "index", + "nameLocation": "889:5:29", + "nodeType": "VariableDeclaration", + "scope": 3661, + "src": "881:13:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "881:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "880:15:29" + }, + "returnParameters": { + "id": 3655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3654, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3661, + "src": "917:21:29", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_memory_ptr", + "typeString": "struct IERC721A.TokenOwnership" + }, + "typeName": { + "id": 3653, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3652, + "name": "TokenOwnership", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3374, + "src": "917:14:29" + }, + "referencedDeclaration": 3374, + "src": "917:14:29", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TokenOwnership_$3374_storage_ptr", + "typeString": "struct IERC721A.TokenOwnership" + } + }, + "visibility": "internal" + } + ], + "src": "916:23:29" + }, + "scope": 3671, + "src": "857:125:29", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3669, + "nodeType": "Block", + "src": "1041:38:29", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3666, + "name": "_totalMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "1058:12:29", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1058:14:29", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3665, + "id": 3668, + "nodeType": "Return", + "src": "1051:21:29" + } + ] + }, + "functionSelector": "a2309ff8", + "id": 3670, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalMinted", + "nameLocation": "997:11:29", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3662, + "nodeType": "ParameterList", + "parameters": [], + "src": "1008:2:29" + }, + "returnParameters": { + "id": 3665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3664, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3670, + "src": "1032:7:29", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3663, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1032:7:29", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1031:9:29" + }, + "scope": 3671, + "src": "988:91:29", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 3672, + "src": "492:589:29", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367, + 3401, + 3404 + ] + } + ], + "src": "429:653:29" + }, + "bytecode": "608060405260016008553480156200001657600080fd5b5060405162001b4838038062001b48833981016040819052620000399162000139565b8181818160026200004b838262000232565b5060036200005a828262000232565b506000805550620002fe945050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009457600080fd5b81516001600160401b0380821115620000b157620000b16200006c565b604051601f8301601f19908116603f01168101908282118183101715620000dc57620000dc6200006c565b81604052838152602092508683858801011115620000f957600080fd5b600091505b838210156200011d5785820183015181830184015290820190620000fe565b838211156200012f5760008385830101525b9695505050505050565b600080604083850312156200014d57600080fd5b82516001600160401b03808211156200016557600080fd5b620001738683870162000082565b935060208501519150808211156200018a57600080fd5b50620001998582860162000082565b9150509250929050565b600181811c90821680620001b857607f821691505b602082108103620001d957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022d57600081815260208120601f850160051c81016020861015620002085750805b601f850160051c820191505b81811015620002295782815560010162000214565b5050505b505050565b81516001600160401b038111156200024e576200024e6200006c565b62000266816200025f8454620001a3565b84620001df565b602080601f8311600181146200029e5760008415620002855750858301515b600019600386901b1c1916600185901b17855562000229565b600085815260208120601f198616915b82811015620002cf57888601518255948401946001909101908401620002ae565b5085821015620002ee5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61183a806200030e6000396000f3fe60806040526004361061011f5760003560e01c806370a08231116100a0578063b88d4fde11610064578063b88d4fde14610322578063c87b56dd14610342578063d85d3d2714610362578063e985e9c514610375578063f2523633146103be57600080fd5b806370a082311461029857806395d89b41146102b8578063a1448194146102cd578063a22cb465146102ed578063a2309ff81461030d57600080fd5b806323b872dd116100e757806323b872dd146101f857806342842e0e1461021857806342966c68146102385780634f558e79146102585780636352211e1461027857600080fd5b806301ffc9a71461012457806306fdde0314610159578063081812fc1461017b578063095ea7b3146101b357806318160ddd146101d5575b600080fd5b34801561013057600080fd5b5061014461013f366004611312565b610476565b60405190151581526020015b60405180910390f35b34801561016557600080fd5b5061016e6104c8565b604051610150919061138e565b34801561018757600080fd5b5061019b6101963660046113a1565b61055a565b6040516001600160a01b039091168152602001610150565b3480156101bf57600080fd5b506101d36101ce3660046113d6565b61059e565b005b3480156101e157600080fd5b50600154600054035b604051908152602001610150565b34801561020457600080fd5b506101d3610213366004611400565b610624565b34801561022457600080fd5b506101d3610233366004611400565b61062f565b34801561024457600080fd5b506101d36102533660046113a1565b61064a565b34801561026457600080fd5b506101446102733660046113a1565b610658565b34801561028457600080fd5b5061019b6102933660046113a1565b610663565b3480156102a457600080fd5b506101ea6102b336600461143c565b610675565b3480156102c457600080fd5b5061016e6106c3565b3480156102d957600080fd5b506101d36102e83660046113d6565b6106d2565b3480156102f957600080fd5b506101d3610308366004611457565b6106e0565b34801561031957600080fd5b506000546101ea565b34801561032e57600080fd5b506101d361033d36600461151e565b610775565b34801561034e57600080fd5b5061016e61035d3660046113a1565b6107bf565b6101ea610370366004611599565b6108d3565b34801561038157600080fd5b506101446103903660046115e1565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156103ca57600080fd5b506104406103d93660046113a1565b604080516060808201835260008083526020808401829052928401819052938452600482529282902082519384018352546001600160a01b0381168452600160a01b81046001600160401b031691840191909152600160e01b900460ff1615159082015290565b6040805182516001600160a01b031681526020808401516001600160401b03169082015291810151151590820152606001610150565b60006001600160e01b031982166380ac58cd60e01b14806104a757506001600160e01b03198216635b5e139f60e01b145b806104c257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600280546104d790611614565b80601f016020809104026020016040519081016040528092919081815260200182805461050390611614565b80156105505780601f1061052557610100808354040283529160200191610550565b820191906000526020600020905b81548152906001019060200180831161053357829003601f168201915b5050505050905090565b60006105658261098f565b610582576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105a982610663565b9050806001600160a01b0316836001600160a01b0316036105dd5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614610614576105f78133610390565b610614576040516367d9dca160e11b815260040160405180910390fd5b61061f8383836109ba565b505050565b61061f838383610a16565b61061f83838360405180602001604052806000815250610775565b610655816001610bf1565b50565b60006104c28261098f565b600061066e82610da4565b5192915050565b60006001600160a01b03821661069e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6060600380546104d790611614565b6106dc8282610ebe565b5050565b336001600160a01b038316036107095760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610780848484610a16565b6001600160a01b0383163b156107b95761079c84848484610ed8565b6107b9576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606107ca8261098f565b6107e757604051630a14c4b560e41b815260040160405180910390fd5b6000828152600960205260408120805461080090611614565b80601f016020809104026020016040519081016040528092919081815260200182805461082c90611614565b80156108795780601f1061084e57610100808354040283529160200191610879565b820191906000526020600020905b81548152906001019060200180831161085c57829003601f168201915b50505050509050600061089760408051602081019091526000815290565b905080516000036108a857816108cb565b80826040516020016108bb92919061164e565b6040516020818303038152906040525b949350505050565b60006008546001146109195760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b6002600855341561096c5760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f2062652030000000000000006044820152606401610910565b610977336001610fc3565b60005461098481846110d5565b600160085592915050565b60008054821080156104c2575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610a2182610da4565b9050836001600160a01b031681600001516001600160a01b031614610a585760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610a765750610a768533610390565b80610a91575033610a868461055a565b6001600160a01b0316145b905080610ab157604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610ad857604051633a954ecd60e21b815260040160405180910390fd5b610ae4600084876109ba565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610bb8576000548214610bb857805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03166000805160206117e583398151915260405160405180910390a45050505050565b6000610bfc83610da4565b80519091508215610c62576000336001600160a01b0383161480610c255750610c258233610390565b80610c40575033610c358661055a565b6001600160a01b0316145b905080610c6057604051632ce44b5f60e11b815260040160405180910390fd5b505b610c6e600085836109ba565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610d6c576000548214610d6c57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416906000805160206117e5833981519152908390a4505060018054810190555050565b604080516060810182526000808252602082018190529181019190915281600054811015610ea557600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610ea35780516001600160a01b031615610e3a579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610e9e579392505050565b610e3a565b505b604051636f96cda160e11b815260040160405180910390fd5b6106dc828260405180602001604052806000815250611167565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610f0d90339089908890889060040161167d565b6020604051808303816000875af1925050508015610f48575060408051601f3d908101601f19168201909252610f45918101906116ba565b60015b610fa6573d808015610f76576040519150601f19603f3d011682016040523d82523d6000602084013e610f7b565b606091505b508051600003610f9e576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6000546001600160a01b038316610fec57604051622e076360e81b815260040160405180910390fd5b8160000361100d5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000906000805160206117e5833981519152908290a480821061109b5750600055505050565b8051156111165760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b6044820152606401610910565b6000828152600960205260409020805461112f90611614565b15905061114f57604051630162134b60e11b815260040160405180910390fd5b600082815260096020526040902061061f8282611725565b6000546001600160a01b03841661119057604051622e076360e81b815260040160405180910390fd5b826000036111b15760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260056020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600490925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b156112b9575b60405182906001600160a01b038816906000906000805160206117e5833981519152908290a46112826000878480600101955087610ed8565b61129f576040516368d2bf6b60e11b815260040160405180910390fd5b8082106112495782600054146112b457600080fd5b6112ec565b5b6040516001830192906001600160a01b038816906000906000805160206117e5833981519152908290a48082106112ba575b5060009081556107b99085838684565b6001600160e01b03198116811461065557600080fd5b60006020828403121561132457600080fd5b813561132f816112fc565b9392505050565b60005b83811015611351578181015183820152602001611339565b838111156107b95750506000910152565b6000815180845261137a816020860160208601611336565b601f01601f19169290920160200192915050565b60208152600061132f6020830184611362565b6000602082840312156113b357600080fd5b5035919050565b80356001600160a01b03811681146113d157600080fd5b919050565b600080604083850312156113e957600080fd5b6113f2836113ba565b946020939093013593505050565b60008060006060848603121561141557600080fd5b61141e846113ba565b925061142c602085016113ba565b9150604084013590509250925092565b60006020828403121561144e57600080fd5b61132f826113ba565b6000806040838503121561146a57600080fd5b611473836113ba565b91506020830135801515811461148857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156114c3576114c3611493565b604051601f8501601f19908116603f011681019082821181831017156114eb576114eb611493565b8160405280935085815286868601111561150457600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561153457600080fd5b61153d856113ba565b935061154b602086016113ba565b92506040850135915060608501356001600160401b0381111561156d57600080fd5b8501601f8101871361157e57600080fd5b61158d878235602084016114a9565b91505092959194509250565b6000602082840312156115ab57600080fd5b81356001600160401b038111156115c157600080fd5b8201601f810184136115d257600080fd5b6108cb848235602084016114a9565b600080604083850312156115f457600080fd5b6115fd836113ba565b915061160b602084016113ba565b90509250929050565b600181811c9082168061162857607f821691505b60208210810361164857634e487b7160e01b600052602260045260246000fd5b50919050565b60008351611660818460208801611336565b835190830190611674818360208801611336565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116b090830184611362565b9695505050505050565b6000602082840312156116cc57600080fd5b815161132f816112fc565b601f82111561061f57600081815260208120601f850160051c810160208610156116fe5750805b601f850160051c820191505b8181101561171d5782815560010161170a565b505050505050565b81516001600160401b0381111561173e5761173e611493565b6117528161174c8454611614565b846116d7565b602080601f831160018114611787576000841561176f5750858301515b600019600386901b1c1916600185901b17855561171d565b600085815260208120601f198616915b828110156117b657888601518255948401946001909101908401611797565b50858210156117d45787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122048d207d98100770a603bdfa4d15e7b13b7dd8ebf6436c7a0281ce84b923940af64736f6c634300080f0033", + "bytecodeSha1": "b90fdebd2b7f1163e508e8bea7f4c47b530dc3f6", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721ABurnableMock", + "coverageMap": { + "branches": { + "1": {}, + "17": { + "ERC721A._burn": { + "100": [ + 16787, + 16804, + false + ], + "101": [ + 18282, + 18310, + false + ] + }, + "ERC721A._checkContractOnERC721Received": { + "105": [ + 19927, + 19945, + false + ] + }, + "ERC721A._mint": { + "106": [ + 12705, + 12721, + false + ], + "107": [ + 12763, + 12776, + false + ] + }, + "ERC721A._ownershipOf": { + "102": [ + 5289, + 5309, + false + ], + "103": [ + 5459, + 5487, + false + ], + "104": [ + 6021, + 6049, + false + ] + }, + "ERC721A._safeMint": { + "108": [ + 10804, + 10820, + false + ], + "109": [ + 10862, + 10875, + false + ], + "110": [ + 11732, + 11801, + false + ], + "111": [ + 12007, + 12036, + false + ] + }, + "ERC721A._transfer": { + "96": [ + 14163, + 14189, + false + ], + "97": [ + 14380, + 14397, + false + ], + "98": [ + 14455, + 14471, + false + ], + "99": [ + 15745, + 15773, + false + ] + }, + "ERC721A.approve": { + "90": [ + 7663, + 7674, + false + ], + "91": [ + 7722, + 7743, + false + ], + "92": [ + 7762, + 7799, + false + ] + }, + "ERC721A.balanceOf": { + "93": [ + 3832, + 3851, + false + ] + }, + "ERC721A.getApproved": { + "89": [ + 8074, + 8090, + false + ] + }, + "ERC721A.safeTransferFrom": { + "95": [ + 9533, + 9589, + false + ] + }, + "ERC721A.setApprovalForAll": { + "94": [ + 8347, + 8371, + false + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "115": [ + 1709, + 1737, + false + ], + "116": [ + 1797, + 1835, + false + ] + }, + "ERC721ExtensionCore.mint": { + "114": [ + 2173, + 2187, + true + ] + }, + "ERC721ExtensionCore.tokenURI": { + "112": [ + 1065, + 1081, + false + ], + "113": [ + 1381, + 1404, + true + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "29": {}, + "3": {}, + "5": {}, + "7": {}, + "8": {} + }, + "statements": { + "1": {}, + "17": { + "ERC721A._approve": { + "35": [ + 18958, + 18987 + ], + "36": [ + 18997, + 19030 + ] + }, + "ERC721A._baseURI": { + "28": [ + 7464, + 7473 + ] + }, + "ERC721A._burn": { + "48": [ + 16782, + 16848 + ], + "49": [ + 16982, + 17017 + ], + "50": [ + 17373, + 17397 + ], + "51": [ + 17411, + 17440 + ], + "52": [ + 17604, + 17624 + ], + "53": [ + 17638, + 17687 + ], + "54": [ + 17701, + 17723 + ], + "55": [ + 18334, + 18354 + ], + "56": [ + 18376, + 18430 + ], + "57": [ + 18483, + 18523 + ], + "58": [ + 18706, + 18720 + ] + }, + "ERC721A._checkContractOnERC721Received": { + "64": [ + 19923, + 20152 + ], + "65": [ + 19807, + 19869 + ] + }, + "ERC721A._exists": { + "34": [ + 9996, + 10088 + ] + }, + "ERC721A._mint": { + "66": [ + 12701, + 12749 + ], + "67": [ + 12759, + 12803 + ], + "68": [ + 13146, + 13190 + ], + "69": [ + 13204, + 13253 + ], + "70": [ + 13268, + 13303 + ], + "71": [ + 13317, + 13383 + ], + "72": [ + 13520, + 13565 + ], + "73": [ + 13622, + 13650 + ] + }, + "ERC721A._ownershipOf": { + "59": [ + 5519, + 5535 + ], + "60": [ + 5922, + 5928 + ], + "61": [ + 5958, + 5987 + ], + "62": [ + 6085, + 6101 + ] + }, + "ERC721A._safeMint": { + "63": [ + 10242, + 10269 + ], + "77": [ + 10800, + 10848 + ], + "78": [ + 10858, + 10902 + ], + "79": [ + 11245, + 11289 + ], + "80": [ + 11303, + 11352 + ], + "81": [ + 11367, + 11402 + ], + "82": [ + 11416, + 11482 + ], + "83": [ + 11662, + 11705 + ], + "84": [ + 11727, + 11899 + ], + "85": [ + 12038, + 12046 + ], + "86": [ + 12110, + 12155 + ], + "87": [ + 12229, + 12257 + ], + "88": [ + 12277, + 12337 + ] + }, + "ERC721A._totalMinted": { + "1": [ + 3300, + 3338 + ] + }, + "ERC721A._transfer": { + "37": [ + 14159, + 14226 + ], + "38": [ + 14375, + 14441 + ], + "39": [ + 14451, + 14503 + ], + "40": [ + 14619, + 14654 + ], + "41": [ + 14944, + 14975 + ], + "42": [ + 14989, + 15018 + ], + "43": [ + 15101, + 15119 + ], + "44": [ + 15133, + 15182 + ], + "45": [ + 15797, + 15817 + ], + "46": [ + 15839, + 15893 + ], + "47": [ + 15946, + 15978 + ] + }, + "ERC721A.approve": { + "9": [ + 7659, + 7707 + ], + "11": [ + 7757, + 7876 + ], + "12": [ + 7886, + 7914 + ] + }, + "ERC721A.balanceOf": { + "18": [ + 3828, + 3888 + ], + "19": [ + 3898, + 3941 + ] + }, + "ERC721A.getApproved": { + "7": [ + 8069, + 8133 + ], + "8": [ + 8144, + 8175 + ] + }, + "ERC721A.isApprovedForAll": { + "2": [ + 8710, + 8752 + ] + }, + "ERC721A.name": { + "6": [ + 6583, + 6595 + ] + }, + "ERC721A.ownerOf": { + "17": [ + 6402, + 6435 + ] + }, + "ERC721A.safeTransferFrom": { + "14": [ + 9184, + 9223 + ], + "25": [ + 9457, + 9485 + ], + "26": [ + 9528, + 9671 + ] + }, + "ERC721A.setApprovalForAll": { + "22": [ + 8343, + 8397 + ], + "23": [ + 8408, + 8461 + ], + "24": [ + 8471, + 8524 + ] + }, + "ERC721A.supportsInterface": { + "4": [ + 3540, + 3679 + ] + }, + "ERC721A.symbol": { + "20": [ + 6747, + 6761 + ] + }, + "ERC721A.totalSupply": { + "0": [ + 2920, + 2973 + ] + }, + "ERC721A.transferFrom": { + "13": [ + 8950, + 8978 + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "74": [ + 1705, + 1783 + ], + "75": [ + 1793, + 1872 + ], + "76": [ + 1882, + 1913 + ] + }, + "ERC721ExtensionCore.burn": { + "15": [ + 2899, + 2919 + ] + }, + "ERC721ExtensionCore.mint": { + "30": [ + 2165, + 2217 + ], + "31": [ + 2339, + 2359 + ], + "32": [ + 2488, + 2523 + ], + "33": [ + 2636, + 2653 + ] + }, + "ERC721ExtensionCore.tokenURI": { + "27": [ + 1060, + 1119 + ], + "29": [ + 1374, + 1460 + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "29": { + "ERC721ABurnableMock.exists": { + "16": [ + 720, + 743 + ] + }, + "ERC721ABurnableMock.getOwnershipAt": { + "3": [ + 950, + 975 + ] + }, + "ERC721ABurnableMock.safeMint": { + "21": [ + 821, + 844 + ] + } + }, + "3": {}, + "5": { + "Context._msgSender": { + "10": [ + 712, + 729 + ] + } + }, + "7": { + "ERC165.supportsInterface": { + "5": [ + 930, + 977 + ] + } + }, + "8": {} + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "ERC721A", + "ERC721ExtensionCore", + "Guarded", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "IERC721ExtensionCore", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata" + ], + "deployedBytecode": "60806040526004361061011f5760003560e01c806370a08231116100a0578063b88d4fde11610064578063b88d4fde14610322578063c87b56dd14610342578063d85d3d2714610362578063e985e9c514610375578063f2523633146103be57600080fd5b806370a082311461029857806395d89b41146102b8578063a1448194146102cd578063a22cb465146102ed578063a2309ff81461030d57600080fd5b806323b872dd116100e757806323b872dd146101f857806342842e0e1461021857806342966c68146102385780634f558e79146102585780636352211e1461027857600080fd5b806301ffc9a71461012457806306fdde0314610159578063081812fc1461017b578063095ea7b3146101b357806318160ddd146101d5575b600080fd5b34801561013057600080fd5b5061014461013f366004611312565b610476565b60405190151581526020015b60405180910390f35b34801561016557600080fd5b5061016e6104c8565b604051610150919061138e565b34801561018757600080fd5b5061019b6101963660046113a1565b61055a565b6040516001600160a01b039091168152602001610150565b3480156101bf57600080fd5b506101d36101ce3660046113d6565b61059e565b005b3480156101e157600080fd5b50600154600054035b604051908152602001610150565b34801561020457600080fd5b506101d3610213366004611400565b610624565b34801561022457600080fd5b506101d3610233366004611400565b61062f565b34801561024457600080fd5b506101d36102533660046113a1565b61064a565b34801561026457600080fd5b506101446102733660046113a1565b610658565b34801561028457600080fd5b5061019b6102933660046113a1565b610663565b3480156102a457600080fd5b506101ea6102b336600461143c565b610675565b3480156102c457600080fd5b5061016e6106c3565b3480156102d957600080fd5b506101d36102e83660046113d6565b6106d2565b3480156102f957600080fd5b506101d3610308366004611457565b6106e0565b34801561031957600080fd5b506000546101ea565b34801561032e57600080fd5b506101d361033d36600461151e565b610775565b34801561034e57600080fd5b5061016e61035d3660046113a1565b6107bf565b6101ea610370366004611599565b6108d3565b34801561038157600080fd5b506101446103903660046115e1565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b3480156103ca57600080fd5b506104406103d93660046113a1565b604080516060808201835260008083526020808401829052928401819052938452600482529282902082519384018352546001600160a01b0381168452600160a01b81046001600160401b031691840191909152600160e01b900460ff1615159082015290565b6040805182516001600160a01b031681526020808401516001600160401b03169082015291810151151590820152606001610150565b60006001600160e01b031982166380ac58cd60e01b14806104a757506001600160e01b03198216635b5e139f60e01b145b806104c257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600280546104d790611614565b80601f016020809104026020016040519081016040528092919081815260200182805461050390611614565b80156105505780601f1061052557610100808354040283529160200191610550565b820191906000526020600020905b81548152906001019060200180831161053357829003601f168201915b5050505050905090565b60006105658261098f565b610582576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105a982610663565b9050806001600160a01b0316836001600160a01b0316036105dd5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614610614576105f78133610390565b610614576040516367d9dca160e11b815260040160405180910390fd5b61061f8383836109ba565b505050565b61061f838383610a16565b61061f83838360405180602001604052806000815250610775565b610655816001610bf1565b50565b60006104c28261098f565b600061066e82610da4565b5192915050565b60006001600160a01b03821661069e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6060600380546104d790611614565b6106dc8282610ebe565b5050565b336001600160a01b038316036107095760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610780848484610a16565b6001600160a01b0383163b156107b95761079c84848484610ed8565b6107b9576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606107ca8261098f565b6107e757604051630a14c4b560e41b815260040160405180910390fd5b6000828152600960205260408120805461080090611614565b80601f016020809104026020016040519081016040528092919081815260200182805461082c90611614565b80156108795780601f1061084e57610100808354040283529160200191610879565b820191906000526020600020905b81548152906001019060200180831161085c57829003601f168201915b50505050509050600061089760408051602081019091526000815290565b905080516000036108a857816108cb565b80826040516020016108bb92919061164e565b6040516020818303038152906040525b949350505050565b60006008546001146109195760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b6002600855341561096c5760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f2062652030000000000000006044820152606401610910565b610977336001610fc3565b60005461098481846110d5565b600160085592915050565b60008054821080156104c2575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610a2182610da4565b9050836001600160a01b031681600001516001600160a01b031614610a585760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610a765750610a768533610390565b80610a91575033610a868461055a565b6001600160a01b0316145b905080610ab157604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610ad857604051633a954ecd60e21b815260040160405180910390fd5b610ae4600084876109ba565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610bb8576000548214610bb857805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03166000805160206117e583398151915260405160405180910390a45050505050565b6000610bfc83610da4565b80519091508215610c62576000336001600160a01b0383161480610c255750610c258233610390565b80610c40575033610c358661055a565b6001600160a01b0316145b905080610c6057604051632ce44b5f60e11b815260040160405180910390fd5b505b610c6e600085836109ba565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610d6c576000548214610d6c57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416906000805160206117e5833981519152908390a4505060018054810190555050565b604080516060810182526000808252602082018190529181019190915281600054811015610ea557600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610ea35780516001600160a01b031615610e3a579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610e9e579392505050565b610e3a565b505b604051636f96cda160e11b815260040160405180910390fd5b6106dc828260405180602001604052806000815250611167565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610f0d90339089908890889060040161167d565b6020604051808303816000875af1925050508015610f48575060408051601f3d908101601f19168201909252610f45918101906116ba565b60015b610fa6573d808015610f76576040519150601f19603f3d011682016040523d82523d6000602084013e610f7b565b606091505b508051600003610f9e576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6000546001600160a01b038316610fec57604051622e076360e81b815260040160405180910390fd5b8160000361100d5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000906000805160206117e5833981519152908290a480821061109b5750600055505050565b8051156111165760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b6044820152606401610910565b6000828152600960205260409020805461112f90611614565b15905061114f57604051630162134b60e11b815260040160405180910390fd5b600082815260096020526040902061061f8282611725565b6000546001600160a01b03841661119057604051622e076360e81b815260040160405180910390fd5b826000036111b15760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260056020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600490925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b156112b9575b60405182906001600160a01b038816906000906000805160206117e5833981519152908290a46112826000878480600101955087610ed8565b61129f576040516368d2bf6b60e11b815260040160405180910390fd5b8082106112495782600054146112b457600080fd5b6112ec565b5b6040516001830192906001600160a01b038816906000906000805160206117e5833981519152908290a48082106112ba575b5060009081556107b99085838684565b6001600160e01b03198116811461065557600080fd5b60006020828403121561132457600080fd5b813561132f816112fc565b9392505050565b60005b83811015611351578181015183820152602001611339565b838111156107b95750506000910152565b6000815180845261137a816020860160208601611336565b601f01601f19169290920160200192915050565b60208152600061132f6020830184611362565b6000602082840312156113b357600080fd5b5035919050565b80356001600160a01b03811681146113d157600080fd5b919050565b600080604083850312156113e957600080fd5b6113f2836113ba565b946020939093013593505050565b60008060006060848603121561141557600080fd5b61141e846113ba565b925061142c602085016113ba565b9150604084013590509250925092565b60006020828403121561144e57600080fd5b61132f826113ba565b6000806040838503121561146a57600080fd5b611473836113ba565b91506020830135801515811461148857600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b03808411156114c3576114c3611493565b604051601f8501601f19908116603f011681019082821181831017156114eb576114eb611493565b8160405280935085815286868601111561150457600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561153457600080fd5b61153d856113ba565b935061154b602086016113ba565b92506040850135915060608501356001600160401b0381111561156d57600080fd5b8501601f8101871361157e57600080fd5b61158d878235602084016114a9565b91505092959194509250565b6000602082840312156115ab57600080fd5b81356001600160401b038111156115c157600080fd5b8201601f810184136115d257600080fd5b6108cb848235602084016114a9565b600080604083850312156115f457600080fd5b6115fd836113ba565b915061160b602084016113ba565b90509250929050565b600181811c9082168061162857607f821691505b60208210810361164857634e487b7160e01b600052602260045260246000fd5b50919050565b60008351611660818460208801611336565b835190830190611674818360208801611336565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116b090830184611362565b9695505050505050565b6000602082840312156116cc57600080fd5b815161132f816112fc565b601f82111561061f57600081815260208120601f850160051c810160208610156116fe5750805b601f850160051c820191505b8181101561171d5782815560010161170a565b505050505050565b81516001600160401b0381111561173e5761173e611493565b6117528161174c8454611614565b846116d7565b602080601f831160018114611787576000841561176f5750858301515b600019600386901b1c1916600185901b17855561171d565b600085815260208120601f198616915b828110156117b657888601518255948401946001909101908401611797565b50858210156117d45787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122048d207d98100770a603bdfa4d15e7b13b7dd8ebf6436c7a0281ce84b923940af64736f6c634300080f0033", + "deployedSourceMap": "492:589:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3422:264:17;;;;;;;;;;-1:-1:-1;3422:264:17;;;;;:::i;:::-;;:::i;:::-;;;565:14:43;;558:22;540:41;;528:2;513:18;3422:264:17;;;;;;;;6504:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7982:200::-;;;;;;;;;;-1:-1:-1;7982:200:17;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:43;;;1674:51;;1662:2;1647:18;7982:200:17;1528:203:43;7537:384:17;;;;;;;;;;-1:-1:-1;7537:384:17;;;;;:::i;:::-;;:::i;:::-;;2684:306;;;;;;;;;;-1:-1:-1;2943:12:17;;2737:7;2927:13;:28;2684:306;;;2319:25:43;;;2307:2;2292:18;2684:306:17;2173:177:43;8821:164:17;;;;;;;;;;-1:-1:-1;8821:164:17;;;;;:::i;:::-;;:::i;9051:179::-;;;;;;;;;;-1:-1:-1;9051:179:17;;;;;:::i;:::-;;:::i;2834:92:18:-;;;;;;;;;;-1:-1:-1;2834:92:18;;;;;:::i;:::-;;:::i;650:100:29:-;;;;;;;;;;-1:-1:-1;650:100:29;;;;;:::i;:::-;;:::i;6319:123:17:-;;;;;;;;;;-1:-1:-1;6319:123:17;;;;;:::i;:::-;;:::i;3745:203::-;;;;;;;;;;-1:-1:-1;3745:203:17;;;;;:::i;:::-;;:::i;6666:102::-;;;;;;;;;;;;;:::i;756:95:29:-;;;;;;;;;;-1:-1:-1;756:95:29;;;;;:::i;:::-;;:::i;8249:282:17:-;;;;;;;;;;-1:-1:-1;8249:282:17;;;;;:::i;:::-;;:::i;988:91:29:-;;;;;;;;;;-1:-1:-1;1032:7:29;3307:13:17;988:91:29;;9296:381:17;;;;;;;;;;-1:-1:-1;9296:381:17;;;;;:::i;:::-;;:::i;936:531:18:-;;;;;;;;;;-1:-1:-1;936:531:18;;;;;:::i;:::-;;:::i;2065:595::-;;;;;;:::i;:::-;;:::i;8597:162:17:-;;;;;;;;;;-1:-1:-1;8597:162:17;;;;;:::i;:::-;-1:-1:-1;;;;;8717:25:17;;;8694:4;8717:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8597:162;857:125:29;;;;;;;;;;-1:-1:-1;857:125:29;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;957:18:29;;;:11;:18;;;;;;950:25;;;;;;;;-1:-1:-1;;;;;950:25:29;;;;-1:-1:-1;;;950:25:29;;-1:-1:-1;;;;;950:25:29;;;;;;;;-1:-1:-1;;;950:25:29;;;;;;;;;;;857:125;;;;;5622:13:43;;-1:-1:-1;;;;;5618:39:43;5600:58;;5718:4;5706:17;;;5700:24;-1:-1:-1;;;;;5696:49:43;5674:20;;;5667:79;5804:17;;;5798:24;5791:32;5784:40;5762:20;;;5755:70;5588:2;5573:18;857:125:29;5390:441:43;3422:264:17;3524:4;-1:-1:-1;;;;;;3547:40:17;;-1:-1:-1;;;3547:40:17;;:92;;-1:-1:-1;;;;;;;3591:48:17;;-1:-1:-1;;;3591:48:17;3547:92;:132;;;-1:-1:-1;;;;;;;;;;937:40:7;;;3643:36:17;3540:139;3422:264;-1:-1:-1;;3422:264:17:o;6504:98::-;6558:13;6590:5;6583:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:98;:::o;7982:200::-;8050:7;8074:16;8082:7;8074;:16::i;:::-;8069:64;;8099:34;;-1:-1:-1;;;8099:34:17;;;;;;;;;;;8069:64;-1:-1:-1;8151:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;8151:24:17;;7982:200::o;7537:384::-;7609:13;7625:24;7641:7;7625:15;:24::i;:::-;7609:40;;7669:5;-1:-1:-1;;;;;7663:11:17;:2;-1:-1:-1;;;;;7663:11:17;;7659:48;;7683:24;;-1:-1:-1;;;7683:24:17;;;;;;;;;;;7659:48;719:10:5;-1:-1:-1;;;;;7722:21:17;;;7718:158;;7762:37;7779:5;719:10:5;8597:162:17;:::i;7762:37::-;7757:119;;7826:35;;-1:-1:-1;;;7826:35:17;;;;;;;;;;;7757:119;7886:28;7895:2;7899:7;7908:5;7886:8;:28::i;:::-;7599:322;7537:384;;:::o;8821:164::-;8950:28;8960:4;8966:2;8970:7;8950:9;:28::i;9051:179::-;9184:39;9201:4;9207:2;9211:7;9184:39;;;;;;;;;;;;:16;:39::i;2834:92:18:-;2899:20;2905:7;2914:4;2899:5;:20::i;:::-;2834:92;:::o;650:100:29:-;704:4;727:16;735:7;727;:16::i;6319:123:17:-;6383:7;6409:21;6422:7;6409:12;:21::i;:::-;:26;;6319:123;-1:-1:-1;;6319:123:17:o;3745:203::-;3809:7;-1:-1:-1;;;;;3832:19:17;;3828:60;;3860:28;;-1:-1:-1;;;3860:28:17;;;;;;;;;;;3828:60;-1:-1:-1;;;;;;3913:19:17;;;;;:12;:19;;;;;:27;-1:-1:-1;;;;;3913:27:17;;3745:203::o;6666:102::-;6722:13;6754:7;6747:14;;;;;:::i;756:95:29:-;821:23;831:2;835:8;821:9;:23::i;:::-;756:95;;:::o;8249:282:17:-;719:10:5;-1:-1:-1;;;;;8347:24:17;;;8343:54;;8380:17;;-1:-1:-1;;;8380:17:17;;;;;;;;;;;8343:54;719:10:5;8408:32:17;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8408:42:17;;;;;;;;;;;;:53;;-1:-1:-1;;8408:53:17;;;;;;;;;;8476:48;;540:41:43;;;8408:42:17;;719:10:5;8476:48:17;;513:18:43;8476:48:17;;;;;;;8249:282;;:::o;9296:381::-;9457:28;9467:4;9473:2;9477:7;9457:9;:28::i;:::-;-1:-1:-1;;;;;9499:13:17;;1465:19:4;:23;9495:176:17;;9533:56;9564:4;9570:2;9574:7;9583:5;9533:30;:56::i;:::-;9528:143;;9616:40;;-1:-1:-1;;;9616:40:17;;;;;;;;;;;9528:143;9296:381;;;;:::o;936:531:18:-;1035:13;1065:16;1073:7;1065;:16::i;:::-;1060:59;;1090:29;;-1:-1:-1;;;1090:29:18;;;;;;;;;;;1060:59;1130:23;1156:19;;;:10;:19;;;;;1130:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1185:18;1206:10;7464:9:17;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;1206:10:18;1185:31;;1387:4;1381:18;1403:1;1381:23;:79;;1451:9;1381:79;;;1431:4;1437:9;1414:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1381:79;1374:86;936:531;-1:-1:-1;;;;936:531:18:o;2065:595::-;2146:7;797:6:20;;807:1;797:11;789:34;;;;-1:-1:-1;;;789:34:20;;6898:2:43;789:34:20;;;6880:21:43;6937:2;6917:18;;;6910:30;-1:-1:-1;;;6956:18:43;;;6949:40;7006:18;;789:34:20;;;;;;;;;843:1;834:6;:10;2173:9:18::1;:14:::0;2165:52:::1;;;::::0;-1:-1:-1;;;2165:52:18;;7237:2:43;2165:52:18::1;::::0;::::1;7219:21:43::0;7276:2;7256:18;;;7249:30;7315:27;7295:18;;;7288:55;7360:18;;2165:52:18::1;7035:349:43::0;2165:52:18::1;2339:20;2345:10;2357:1;2339:5;:20::i;:::-;2370:18;2391:13:::0;2488:35:::1;2391:13:::0;2513:9;2488:12:::1;:35::i;:::-;876:1:20::0;867:6;:10;2643::18;2065:595;-1:-1:-1;;2065:595:18:o;9923:172:17:-;9980:4;10043:13;;10033:7;:23;10003:85;;;;-1:-1:-1;;10061:20:17;;;;:11;:20;;;;;:27;-1:-1:-1;;;10061:27:17;;;;10060:28;;9923:172::o;18848:189::-;18958:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;18958:29:17;-1:-1:-1;;;;;18958:29:17;;;;;;;;;19002:28;;18958:24;;19002:28;;;;;;;18848:189;;;:::o;13979:2058::-;14089:35;14127:21;14140:7;14127:12;:21::i;:::-;14089:59;;14185:4;-1:-1:-1;;;;;14163:26:17;:13;:18;;;-1:-1:-1;;;;;14163:26:17;;14159:67;;14198:28;;-1:-1:-1;;;14198:28:17;;;;;;;;;;;14159:67;14237:22;719:10:5;-1:-1:-1;;;;;14263:20:17;;;;:60;;-1:-1:-1;14287:36:17;14304:4;719:10:5;8597:162:17;:::i;14287:36::-;14263:100;;;-1:-1:-1;719:10:5;14327:20:17;14339:7;14327:11;:20::i;:::-;-1:-1:-1;;;;;14327:36:17;;14263:100;14237:127;;14380:17;14375:66;;14406:35;;-1:-1:-1;;;14406:35:17;;;;;;;;;;;14375:66;-1:-1:-1;;;;;14455:16:17;;14451:52;;14480:23;;-1:-1:-1;;;14480:23:17;;;;;;;;;;;14451:52;14619:35;14636:1;14640:7;14649:4;14619:8;:35::i;:::-;-1:-1:-1;;;;;14944:18:17;;;;;;;:12;:18;;;;;;;;:31;;-1:-1:-1;;14944:31:17;;;-1:-1:-1;;;;;14944:31:17;;;-1:-1:-1;;14944:31:17;;;;;;;14989:16;;;;;;;;;:29;;;;;;;;-1:-1:-1;14989:29:17;;;;;;;;;;;15067:20;;;:11;:20;;;;;;15101:18;;-1:-1:-1;;;;;;15133:49:17;;;;-1:-1:-1;;;15166:15:17;15133:49;;;;;;;;;;15452:11;;15511:24;;;;;15553:13;;15067:20;;15511:24;;15553:13;15549:377;;15760:13;;15745:11;:28;15741:171;;15797:20;;15865:28;;;;-1:-1:-1;;;;;15839:54:17;-1:-1:-1;;;15839:54:17;-1:-1:-1;;;;;;15839:54:17;;;-1:-1:-1;;;;;15797:20:17;;15839:54;;;;15741:171;14920:1016;;;15970:7;15966:2;-1:-1:-1;;;;;15951:27:17;15960:4;-1:-1:-1;;;;;15951:27:17;-1:-1:-1;;;;;;;;;;;15951:27:17;;;;;;;;;14079:1958;;13979:2058;;;:::o;16414:2323::-;16493:35;16531:21;16544:7;16531:12;:21::i;:::-;16578:18;;16493:59;;-1:-1:-1;16607:252:17;;;;16640:22;719:10:5;-1:-1:-1;;;;;16666:20:17;;;;:60;;-1:-1:-1;16690:36:17;16707:4;719:10:5;8597:162:17;:::i;16690:36::-;16666:100;;;-1:-1:-1;719:10:5;16730:20:17;16742:7;16730:11;:20::i;:::-;-1:-1:-1;;;;;16730:36:17;;16666:100;16640:127;;16787:17;16782:66;;16813:35;;-1:-1:-1;;;16813:35:17;;;;;;;;;;;16782:66;16626:233;16607:252;16982:35;16999:1;17003:7;17012:4;16982:8;:35::i;:::-;-1:-1:-1;;;;;17341:18:17;;;17307:31;17341:18;;;:12;:18;;;;;;;;17373:24;;-1:-1:-1;;;;;;;;;;17373:24:17;;;;;;;;;-1:-1:-1;;17373:24:17;;;;17411:29;;;;;17396:1;17411:29;;;;;;;;-1:-1:-1;;17411:29:17;;;;;;;;;;17570:20;;;:11;:20;;;;;;17604;;-1:-1:-1;;;;17671:15:17;17638:49;;;-1:-1:-1;;;17638:49:17;-1:-1:-1;;;;;;17638:49:17;;;;;;;;;;17701:22;-1:-1:-1;;;17701:22:17;;;17989:11;;;18048:24;;;;;18090:13;;17341:18;;18048:24;;18090:13;18086:377;;18297:13;;18282:11;:28;18278:171;;18334:20;;18402:28;;;;-1:-1:-1;;;;;18376:54:17;-1:-1:-1;;;18376:54:17;-1:-1:-1;;;;;;18376:54:17;;;-1:-1:-1;;;;;18334:20:17;;18376:54;;;;18278:171;-1:-1:-1;;18488:35:17;;18515:7;;-1:-1:-1;18511:1:17;;-1:-1:-1;;;;;;18488:35:17;;;-1:-1:-1;;;;;;;;;;;18488:35:17;18511:1;;18488:35;-1:-1:-1;;18706:12:17;:14;;;;;;-1:-1:-1;;16414:2323:17:o;5088:1174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;5198:7:17;5296:13;;5289:4;:20;5285:913;;;5333:31;5367:17;;;:11;:17;;;;;;;;;5333:51;;;;;;;;;-1:-1:-1;;;;;5333:51:17;;;;-1:-1:-1;;;5333:51:17;;-1:-1:-1;;;;;5333:51:17;;;;;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;;;;5406:774;;5459:14;;-1:-1:-1;;;;;5459:28:17;;5455:107;;5526:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;5455:107::-;-1:-1:-1;;;5922:6:17;5970:17;;;;:11;:17;;;;;;;;;5958:29;;;;;;;;;-1:-1:-1;;;;;5958:29:17;;;;;-1:-1:-1;;;5958:29:17;;-1:-1:-1;;;;;5958:29:17;;;;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;;;6021:28;6017:115;;6092:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;6017:115::-;5879:279;;;5311:887;5285:913;6224:31;;-1:-1:-1;;;6224:31:17;;;;;;;;;;;10174:102;10242:27;10252:2;10256:8;10242:27;;;;;;;;;;;;:9;:27::i;19518:650::-;19696:72;;-1:-1:-1;;;19696:72:17;;19676:4;;-1:-1:-1;;;;;19696:36:17;;;;;:72;;719:10:5;;19747:4:17;;19753:7;;19762:5;;19696:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19696:72:17;;;;;;;;-1:-1:-1;;19696:72:17;;;;;;;;;;;;:::i;:::-;;;19692:470;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:6;:13;19944:1;19927:18;19923:229;;19972:40;;-1:-1:-1;;;19972:40:17;;;;;;;;;;;19923:229;20112:6;20106:13;20097:6;20093:2;20089:15;20082:38;19692:470;-1:-1:-1;;;;;;19814:55:17;-1:-1:-1;;;19814:55:17;;-1:-1:-1;19518:650:17;;;;;;:::o;12591:1146::-;12655:20;12678:13;-1:-1:-1;;;;;12705:16:17;;12701:48;;12730:19;;-1:-1:-1;;;12730:19:17;;;;;;;;;;;12701:48;12763:8;12775:1;12763:13;12759:44;;12785:18;;-1:-1:-1;;;12785:18:17;;;;;;;;;;;12759:44;-1:-1:-1;;;;;13146:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;13204:49:17;;-1:-1:-1;;;;;13146:44:17;;;;;;;13204:49;;;-1:-1:-1;;;;;13146:44:17;;;;;;13204:49;;;;;;;;;;;;;;;;13268:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;13317:66:17;;;;-1:-1:-1;;;13367:15:17;13317:66;;;;;;;;;;13268:25;13461:23;;;13499:109;13525:40;;13550:14;;;;;-1:-1:-1;;;;;13525:40:17;;;13542:1;;-1:-1:-1;;;;;;;;;;;13525:40:17;13542:1;;13525:40;13603:3;13588:12;:18;13499:109;;-1:-1:-1;13622:13:17;:28;7599:322;7537:384;;:::o;1614:306:18:-;1709:23;;:28;1705:78;;1746:37;;-1:-1:-1;;;1746:37:18;;8339:2:43;1746:37:18;;;8321:21:43;8378:2;8358:18;;;8351:30;-1:-1:-1;;;8397:18:43;;;8390:44;8451:18;;1746:37:18;8137:338:43;1705:78:18;1803:19;;;;:10;:19;;;;;1797:33;;;;;:::i;:::-;:38;;-1:-1:-1;1793:79:18;;1844:28;;-1:-1:-1;;;1844:28:18;;;;;;;;;;;1793:79;1882:19;;;;:10;:19;;;;;:31;1904:9;1882:19;:31;:::i;10636:1708:17:-;10754:20;10777:13;-1:-1:-1;;;;;10804:16:17;;10800:48;;10829:19;;-1:-1:-1;;;10829:19:17;;;;;;;;;;;10800:48;10862:8;10874:1;10862:13;10858:44;;10884:18;;-1:-1:-1;;;10884:18:17;;;;;;;;;;;10858:44;-1:-1:-1;;;;;11245:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;11303:49:17;;-1:-1:-1;;;;;11245:44:17;;;;;;;11303:49;;;-1:-1:-1;;;;;11245:44:17;;;;;;11303:49;;;;;;;;;;;;;;;;11367:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;11416:66:17;;;-1:-1:-1;;;11466:15:17;11416:66;;;;;;;;;;;;;11367:25;;11560:23;;;;1465:19:4;:23;11598:618:17;;11637:308;11667:38;;11692:12;;-1:-1:-1;;;;;11667:38:17;;;11684:1;;-1:-1:-1;;;;;;;;;;;11667:38:17;11684:1;;11667:38;11732:69;11771:1;11775:2;11779:14;;;;;;11795:5;11732:30;:69::i;:::-;11727:172;;11836:40;;-1:-1:-1;;;11836:40:17;;;;;;;;;;;11727:172;11940:3;11925:12;:18;11637:308;;12024:12;12007:13;;:29;12003:43;;12038:8;;;12003:43;11598:618;;;12085:117;12115:40;;12140:14;;;;;-1:-1:-1;;;;;12115:40:17;;;12132:1;;-1:-1:-1;;;;;;;;;;;12115:40:17;12132:1;;12115:40;12197:3;12182:12;:18;12085:117;;11598:618;-1:-1:-1;12229:13:17;:28;;;12277:60;;12310:2;12314:12;12328:8;12277:60;:::i;14:131:43:-;-1:-1:-1;;;;;;88:32:43;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:43:o;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:43;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:43;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:43:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:43;;1343:180;-1:-1:-1;1343:180:43:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:43;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:43:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:186::-;2747:6;2800:2;2788:9;2779:7;2775:23;2771:32;2768:52;;;2816:1;2813;2806:12;2768:52;2839:29;2858:9;2839:29;:::i;2879:347::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3044:29;3063:9;3044:29;:::i;:::-;3034:39;;3123:2;3112:9;3108:18;3095:32;3170:5;3163:13;3156:21;3149:5;3146:32;3136:60;;3192:1;3189;3182:12;3136:60;3215:5;3205:15;;;2879:347;;;;;:::o;3231:127::-;3292:10;3287:3;3283:20;3280:1;3273:31;3323:4;3320:1;3313:15;3347:4;3344:1;3337:15;3363:631;3427:5;-1:-1:-1;;;;;3498:2:43;3490:6;3487:14;3484:40;;;3504:18;;:::i;:::-;3579:2;3573:9;3547:2;3633:15;;-1:-1:-1;;3629:24:43;;;3655:2;3625:33;3621:42;3609:55;;;3679:18;;;3699:22;;;3676:46;3673:72;;;3725:18;;:::i;:::-;3765:10;3761:2;3754:22;3794:6;3785:15;;3824:6;3816;3809:22;3864:3;3855:6;3850:3;3846:16;3843:25;3840:45;;;3881:1;3878;3871:12;3840:45;3931:6;3926:3;3919:4;3911:6;3907:17;3894:44;3986:1;3979:4;3970:6;3962;3958:19;3954:30;3947:41;;;;3363:631;;;;;:::o;3999:666::-;4094:6;4102;4110;4118;4171:3;4159:9;4150:7;4146:23;4142:33;4139:53;;;4188:1;4185;4178:12;4139:53;4211:29;4230:9;4211:29;:::i;:::-;4201:39;;4259:38;4293:2;4282:9;4278:18;4259:38;:::i;:::-;4249:48;;4344:2;4333:9;4329:18;4316:32;4306:42;;4399:2;4388:9;4384:18;4371:32;-1:-1:-1;;;;;4418:6:43;4415:30;4412:50;;;4458:1;4455;4448:12;4412:50;4481:22;;4534:4;4526:13;;4522:27;-1:-1:-1;4512:55:43;;4563:1;4560;4553:12;4512:55;4586:73;4651:7;4646:2;4633:16;4628:2;4624;4620:11;4586:73;:::i;:::-;4576:83;;;3999:666;;;;;;;:::o;4670:450::-;4739:6;4792:2;4780:9;4771:7;4767:23;4763:32;4760:52;;;4808:1;4805;4798:12;4760:52;4848:9;4835:23;-1:-1:-1;;;;;4873:6:43;4870:30;4867:50;;;4913:1;4910;4903:12;4867:50;4936:22;;4989:4;4981:13;;4977:27;-1:-1:-1;4967:55:43;;5018:1;5015;5008:12;4967:55;5041:73;5106:7;5101:2;5088:16;5083:2;5079;5075:11;5041:73;:::i;5125:260::-;5193:6;5201;5254:2;5242:9;5233:7;5229:23;5225:32;5222:52;;;5270:1;5267;5260:12;5222:52;5293:29;5312:9;5293:29;:::i;:::-;5283:39;;5341:38;5375:2;5364:9;5360:18;5341:38;:::i;:::-;5331:48;;5125:260;;;;;:::o;5836:380::-;5915:1;5911:12;;;;5958;;;5979:61;;6033:4;6025:6;6021:17;6011:27;;5979:61;6086:2;6078:6;6075:14;6055:18;6052:38;6049:161;;6132:10;6127:3;6123:20;6120:1;6113:31;6167:4;6164:1;6157:15;6195:4;6192:1;6185:15;6049:161;;5836:380;;;:::o;6221:470::-;6400:3;6438:6;6432:13;6454:53;6500:6;6495:3;6488:4;6480:6;6476:17;6454:53;:::i;:::-;6570:13;;6529:16;;;;6592:57;6570:13;6529:16;6626:4;6614:17;;6592:57;:::i;:::-;6665:20;;6221:470;-1:-1:-1;;;;6221:470:43:o;7389:489::-;-1:-1:-1;;;;;7658:15:43;;;7640:34;;7710:15;;7705:2;7690:18;;7683:43;7757:2;7742:18;;7735:34;;;7805:3;7800:2;7785:18;;7778:31;;;7583:4;;7826:46;;7852:19;;7844:6;7826:46;:::i;:::-;7818:54;7389:489;-1:-1:-1;;;;;;7389:489:43:o;7883:249::-;7952:6;8005:2;7993:9;7984:7;7980:23;7976:32;7973:52;;;8021:1;8018;8011:12;7973:52;8053:9;8047:16;8072:30;8096:5;8072:30;:::i;8606:545::-;8708:2;8703:3;8700:11;8697:448;;;8744:1;8769:5;8765:2;8758:17;8814:4;8810:2;8800:19;8884:2;8872:10;8868:19;8865:1;8861:27;8855:4;8851:38;8920:4;8908:10;8905:20;8902:47;;;-1:-1:-1;8943:4:43;8902:47;8998:2;8993:3;8989:12;8986:1;8982:20;8976:4;8972:31;8962:41;;9053:82;9071:2;9064:5;9061:13;9053:82;;;9116:17;;;9097:1;9086:13;9053:82;;;9057:3;;;8606:545;;;:::o;9327:1352::-;9453:3;9447:10;-1:-1:-1;;;;;9472:6:43;9469:30;9466:56;;;9502:18;;:::i;:::-;9531:97;9621:6;9581:38;9613:4;9607:11;9581:38;:::i;:::-;9575:4;9531:97;:::i;:::-;9683:4;;9747:2;9736:14;;9764:1;9759:663;;;;10466:1;10483:6;10480:89;;;-1:-1:-1;10535:19:43;;;10529:26;10480:89;-1:-1:-1;;9284:1:43;9280:11;;;9276:24;9272:29;9262:40;9308:1;9304:11;;;9259:57;10582:81;;9729:944;;9759:663;8553:1;8546:14;;;8590:4;8577:18;;-1:-1:-1;;9795:20:43;;;9913:236;9927:7;9924:1;9921:14;9913:236;;;10016:19;;;10010:26;9995:42;;10108:27;;;;10076:1;10064:14;;;;9943:19;;9913:236;;;9917:3;10177:6;10168:7;10165:19;10162:201;;;10238:19;;;10232:26;-1:-1:-1;;10321:1:43;10317:14;;;10333:3;10313:24;10309:37;10305:42;10290:58;10275:74;;10162:201;-1:-1:-1;;;;;10409:1:43;10393:14;;;10389:22;10376:36;;-1:-1:-1;9327:1352:43:o", + "language": "Solidity", + "natspec": { + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "SetURICannotBeEmpty(string)": [ + { + "notice": "The token already has an existing" + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "URIRequestForExistentToken()": [ + { + "notice": "The token already has an existing" + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721A-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "mint(string)": { + "details": "Mints token to use based on tokenURI. Requirements: - `tokenURI` must be supplied." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "offset": [ + 492, + 1081 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xA0 JUMPI DUP1 PUSH4 0xB88D4FDE GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x322 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0xD85D3D27 EQ PUSH2 0x362 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0xF2523633 EQ PUSH2 0x3BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x298 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2B8 JUMPI DUP1 PUSH4 0xA1448194 EQ PUSH2 0x2CD JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x2ED JUMPI DUP1 PUSH4 0xA2309FF8 EQ PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xE7 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1F8 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x218 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x238 JUMPI DUP1 PUSH4 0x4F558E79 EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x278 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x124 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1B3 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1D5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x144 PUSH2 0x13F CALLDATASIZE PUSH1 0x4 PUSH2 0x1312 JUMP JUMPDEST PUSH2 0x476 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x165 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16E PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x138E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19B PUSH2 0x196 CALLDATASIZE PUSH1 0x4 PUSH2 0x13A1 JUMP JUMPDEST PUSH2 0x55A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D3 PUSH2 0x1CE CALLDATASIZE PUSH1 0x4 PUSH2 0x13D6 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x204 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D3 PUSH2 0x213 CALLDATASIZE PUSH1 0x4 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x624 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x224 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D3 PUSH2 0x233 CALLDATASIZE PUSH1 0x4 PUSH2 0x1400 JUMP JUMPDEST PUSH2 0x62F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x244 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D3 PUSH2 0x253 CALLDATASIZE PUSH1 0x4 PUSH2 0x13A1 JUMP JUMPDEST PUSH2 0x64A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x144 PUSH2 0x273 CALLDATASIZE PUSH1 0x4 PUSH2 0x13A1 JUMP JUMPDEST PUSH2 0x658 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x284 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x19B PUSH2 0x293 CALLDATASIZE PUSH1 0x4 PUSH2 0x13A1 JUMP JUMPDEST PUSH2 0x663 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EA PUSH2 0x2B3 CALLDATASIZE PUSH1 0x4 PUSH2 0x143C JUMP JUMPDEST PUSH2 0x675 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16E PUSH2 0x6C3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D3 PUSH2 0x2E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x13D6 JUMP JUMPDEST PUSH2 0x6D2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D3 PUSH2 0x308 CALLDATASIZE PUSH1 0x4 PUSH2 0x1457 JUMP JUMPDEST PUSH2 0x6E0 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x319 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x1EA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D3 PUSH2 0x33D CALLDATASIZE PUSH1 0x4 PUSH2 0x151E JUMP JUMPDEST PUSH2 0x775 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16E PUSH2 0x35D CALLDATASIZE PUSH1 0x4 PUSH2 0x13A1 JUMP JUMPDEST PUSH2 0x7BF JUMP JUMPDEST PUSH2 0x1EA PUSH2 0x370 CALLDATASIZE PUSH1 0x4 PUSH2 0x1599 JUMP JUMPDEST PUSH2 0x8D3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x381 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x144 PUSH2 0x390 CALLDATASIZE PUSH1 0x4 PUSH2 0x15E1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x440 PUSH2 0x3D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x13A1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP1 DUP3 ADD DUP4 MSTORE PUSH1 0x0 DUP1 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD DUP3 SWAP1 MSTORE SWAP3 DUP5 ADD DUP2 SWAP1 MSTORE SWAP4 DUP5 MSTORE PUSH1 0x4 DUP3 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP3 MLOAD SWAP4 DUP5 ADD DUP4 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP5 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP2 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP1 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD ISZERO ISZERO SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x150 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4A7 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x4C2 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x4D7 SWAP1 PUSH2 0x1614 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x503 SWAP1 PUSH2 0x1614 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x550 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x525 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x550 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x533 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x565 DUP3 PUSH2 0x98F JUMP JUMPDEST PUSH2 0x582 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A9 DUP3 PUSH2 0x663 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x5DD JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x614 JUMPI PUSH2 0x5F7 DUP2 CALLER PUSH2 0x390 JUMP JUMPDEST PUSH2 0x614 JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x61F DUP4 DUP4 DUP4 PUSH2 0x9BA JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x61F DUP4 DUP4 DUP4 PUSH2 0xA16 JUMP JUMPDEST PUSH2 0x61F DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x775 JUMP JUMPDEST PUSH2 0x655 DUP2 PUSH1 0x1 PUSH2 0xBF1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C2 DUP3 PUSH2 0x98F JUMP JUMPDEST PUSH1 0x0 PUSH2 0x66E DUP3 PUSH2 0xDA4 JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x69E JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x4D7 SWAP1 PUSH2 0x1614 JUMP JUMPDEST PUSH2 0x6DC DUP3 DUP3 PUSH2 0xEBE JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x709 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x780 DUP5 DUP5 DUP5 PUSH2 0xA16 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x7B9 JUMPI PUSH2 0x79C DUP5 DUP5 DUP5 DUP5 PUSH2 0xED8 JUMP JUMPDEST PUSH2 0x7B9 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7CA DUP3 PUSH2 0x98F JUMP JUMPDEST PUSH2 0x7E7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x800 SWAP1 PUSH2 0x1614 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x82C SWAP1 PUSH2 0x1614 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x879 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x84E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x879 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x85C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x897 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x8A8 JUMPI DUP2 PUSH2 0x8CB JUMP JUMPDEST DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8BB SWAP3 SWAP2 SWAP1 PUSH2 0x164E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 SLOAD PUSH1 0x1 EQ PUSH2 0x919 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x8 SSTORE CALLVALUE ISZERO PUSH2 0x96C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5B436F72652E6D696E745D2076616C756520746F206265203000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x910 JUMP JUMPDEST PUSH2 0x977 CALLER PUSH1 0x1 PUSH2 0xFC3 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x984 DUP2 DUP5 PUSH2 0x10D5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x8 SSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP3 LT DUP1 ISZERO PUSH2 0x4C2 JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA21 DUP3 PUSH2 0xDA4 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA58 JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0xA76 JUMPI POP PUSH2 0xA76 DUP6 CALLER PUSH2 0x390 JUMP JUMPDEST DUP1 PUSH2 0xA91 JUMPI POP CALLER PUSH2 0xA86 DUP5 PUSH2 0x55A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xAB1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xAD8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xAE4 PUSH1 0x0 DUP5 DUP8 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0xBB8 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xBB8 JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x17E5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBFC DUP4 PUSH2 0xDA4 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0xC62 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0xC25 JUMPI POP PUSH2 0xC25 DUP3 CALLER PUSH2 0x390 JUMP JUMPDEST DUP1 PUSH2 0xC40 JUMPI POP CALLER PUSH2 0xC35 DUP7 PUSH2 0x55A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xC60 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0xC6E PUSH1 0x0 DUP6 DUP4 PUSH2 0x9BA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0xD6C JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xD6C JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x17E5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x1 DUP1 SLOAD DUP2 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 PUSH1 0x0 SLOAD DUP2 LT ISZERO PUSH2 0xEA5 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xEA3 JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xE3A JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0xE9E JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xE3A JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x6DC DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x1167 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xF0D SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x167D JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xF48 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xF45 SWAP2 DUP2 ADD SWAP1 PUSH2 0x16BA JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xFA6 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xF76 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xF7B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xF9E JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xFEC JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0x100D JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x17E5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0x109B JUMPI POP PUSH1 0x0 SSTORE POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1116 JUMPI PUSH1 0x40 MLOAD PUSH4 0x193C4E6D PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x656D70747920746F6B656E555249 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x910 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x112F SWAP1 PUSH2 0x1614 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x114F JUMPI PUSH1 0x40 MLOAD PUSH4 0x162134B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x61F DUP3 DUP3 PUSH2 0x1725 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x1190 JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 SUB PUSH2 0x11B1 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP12 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP12 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP2 SWAP1 DUP2 DUP6 ADD SWAP1 EXTCODESIZE ISZERO PUSH2 0x12B9 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x17E5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 PUSH2 0x1282 PUSH1 0x0 DUP8 DUP5 DUP1 PUSH1 0x1 ADD SWAP6 POP DUP8 PUSH2 0xED8 JUMP JUMPDEST PUSH2 0x129F JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP3 LT PUSH2 0x1249 JUMPI DUP3 PUSH1 0x0 SLOAD EQ PUSH2 0x12B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12EC JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x17E5 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0x12BA JUMPI JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 SSTORE PUSH2 0x7B9 SWAP1 DUP6 DUP4 DUP7 DUP5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x655 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1324 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x132F DUP2 PUSH2 0x12FC JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1351 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1339 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x7B9 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x137A DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1336 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x132F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1362 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x13D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x13E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x13F2 DUP4 PUSH2 0x13BA JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1415 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x141E DUP5 PUSH2 0x13BA JUMP JUMPDEST SWAP3 POP PUSH2 0x142C PUSH1 0x20 DUP6 ADD PUSH2 0x13BA JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x144E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x132F DUP3 PUSH2 0x13BA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x146A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1473 DUP4 PUSH2 0x13BA JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x1488 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 GT ISZERO PUSH2 0x14C3 JUMPI PUSH2 0x14C3 PUSH2 0x1493 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x14EB JUMPI PUSH2 0x14EB PUSH2 0x1493 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x1504 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1534 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x153D DUP6 PUSH2 0x13BA JUMP JUMPDEST SWAP4 POP PUSH2 0x154B PUSH1 0x20 DUP7 ADD PUSH2 0x13BA JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x156D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x157E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x158D DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x14A9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x15C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x15D2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8CB DUP5 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x14A9 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x15F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15FD DUP4 PUSH2 0x13BA JUMP JUMPDEST SWAP2 POP PUSH2 0x160B PUSH1 0x20 DUP5 ADD PUSH2 0x13BA JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1628 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1648 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1660 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1336 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1674 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x1336 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x16B0 SWAP1 DUP4 ADD DUP5 PUSH2 0x1362 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x16CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x132F DUP2 PUSH2 0x12FC JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x61F JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x16FE JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x171D JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x170A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x173E JUMPI PUSH2 0x173E PUSH2 0x1493 JUMP JUMPDEST PUSH2 0x1752 DUP2 PUSH2 0x174C DUP5 SLOAD PUSH2 0x1614 JUMP JUMPDEST DUP5 PUSH2 0x16D7 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1787 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x176F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x171D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x17B6 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x1797 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x17D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID 0xDD CALLCODE MSTORE 0xAD SHL 0xE2 0xC8 SWAP12 PUSH10 0xC2B068FC378DAA952BA7 CALL PUSH4 0xC4A11628 CREATE2 GAS 0x4D CREATE2 0x23 0xB3 0xEF LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 BASEFEE 0xD2 SMOD 0xD9 DUP2 STOP PUSH24 0xA603BDFA4D15E7B13B7DD8EBF6436C7A0281CE84B923940 0xAF PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "MSTORE", + "path": "29" + }, + "5": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "7": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "CALLDATASIZE", + "path": "29" + }, + "8": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "LT", + "path": "29" + }, + "9": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x11F" + }, + "12": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "13": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "CALLDATALOAD", + "path": "29" + }, + "16": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0xE0" + }, + "18": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "SHR", + "path": "29" + }, + "19": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "20": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x70A08231" + }, + "25": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "GT", + "path": "29" + }, + "26": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0xA0" + }, + "29": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "30": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "31": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xB88D4FDE" + }, + "36": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "GT", + "path": "29" + }, + "37": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x64" + }, + "40": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "41": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "42": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xB88D4FDE" + }, + "47": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "48": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x322" + }, + "51": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "52": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "53": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xC87B56DD" + }, + "58": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "59": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x342" + }, + "62": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "63": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "64": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xD85D3D27" + }, + "69": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "70": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x362" + }, + "73": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "74": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "75": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xE985E9C5" + }, + "80": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "81": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x375" + }, + "84": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "85": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "86": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xF2523633" + }, + "91": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "92": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x3BE" + }, + "95": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "96": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "98": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "99": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "REVERT", + "path": "29" + }, + "100": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPDEST", + "path": "29" + }, + "101": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "102": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x70A08231" + }, + "107": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "108": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x298" + }, + "111": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "112": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "113": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x95D89B41" + }, + "118": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "119": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x2B8" + }, + "122": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "123": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "124": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xA1448194" + }, + "129": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "130": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x2CD" + }, + "133": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "134": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "135": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xA22CB465" + }, + "140": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "141": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x2ED" + }, + "144": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "145": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "146": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0xA2309FF8" + }, + "151": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "152": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x30D" + }, + "155": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "156": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "158": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "159": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "REVERT", + "path": "29" + }, + "160": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPDEST", + "path": "29" + }, + "161": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "162": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x23B872DD" + }, + "167": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "GT", + "path": "29" + }, + "168": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0xE7" + }, + "171": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "172": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "173": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x23B872DD" + }, + "178": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "179": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1F8" + }, + "182": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "183": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "184": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x42842E0E" + }, + "189": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "190": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x218" + }, + "193": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "194": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "195": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x42966C68" + }, + "200": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "201": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x238" + }, + "204": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "205": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "206": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x4F558E79" + }, + "211": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "212": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x258" + }, + "215": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "216": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "217": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x6352211E" + }, + "222": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "223": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x278" + }, + "226": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "227": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "229": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "230": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "REVERT", + "path": "29" + }, + "231": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPDEST", + "path": "29" + }, + "232": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "233": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x1FFC9A7" + }, + "238": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "239": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x124" + }, + "242": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "243": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "244": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x6FDDE03" + }, + "249": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "250": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x159" + }, + "253": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "254": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "255": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x81812FC" + }, + "260": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "261": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x17B" + }, + "264": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "265": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "266": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x95EA7B3" + }, + "271": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "272": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1B3" + }, + "275": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "276": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "277": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH4", + "path": "29", + "value": "0x18160DDD" + }, + "282": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "EQ", + "path": "29" + }, + "283": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1D5" + }, + "286": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPI", + "path": "29" + }, + "287": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "JUMPDEST", + "path": "29" + }, + "288": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "290": { + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "DUP1", + "path": "29" + }, + "291": { + "first_revert": true, + "fn": null, + "offset": [ + 492, + 1081 + ], + "op": "REVERT", + "path": "29" + }, + "292": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "293": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLVALUE", + "path": "17" + }, + "294": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "295": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "ISZERO", + "path": "17" + }, + "296": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x130" + }, + "299": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPI", + "path": "17" + }, + "300": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "302": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "303": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "REVERT", + "path": "17" + }, + "304": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "305": { + "op": "POP" + }, + "306": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x144" + }, + "309": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13F" + }, + "312": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "313": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "315": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1312" + }, + "318": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "319": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "320": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x476" + }, + "323": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "324": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "325": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "327": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "328": { + "op": "SWAP1" + }, + "329": { + "op": "ISZERO" + }, + "330": { + "op": "ISZERO" + }, + "331": { + "op": "DUP2" + }, + "332": { + "op": "MSTORE" + }, + "333": { + "op": "PUSH1", + "value": "0x20" + }, + "335": { + "op": "ADD" + }, + "336": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "337": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "339": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "340": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "341": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "342": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SUB", + "path": "17" + }, + "343": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP1", + "path": "17" + }, + "344": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "RETURN", + "path": "17" + }, + "345": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "346": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "CALLVALUE", + "path": "17" + }, + "347": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "348": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "ISZERO", + "path": "17" + }, + "349": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x165" + }, + "352": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPI", + "path": "17" + }, + "353": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "355": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "356": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "REVERT", + "path": "17" + }, + "357": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "358": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "POP", + "path": "17" + }, + "359": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16E" + }, + "362": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4C8" + }, + "365": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "366": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "367": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "369": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "MLOAD", + "path": "17" + }, + "370": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x150" + }, + "373": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP2", + "path": "17" + }, + "374": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "375": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x138E" + }, + "378": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "379": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "380": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLVALUE", + "path": "17" + }, + "381": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "382": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "ISZERO", + "path": "17" + }, + "383": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x187" + }, + "386": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPI", + "path": "17" + }, + "387": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "389": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "390": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "REVERT", + "path": "17" + }, + "391": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "392": { + "op": "POP" + }, + "393": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x19B" + }, + "396": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x196" + }, + "399": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "400": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "402": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13A1" + }, + "405": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "406": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "407": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x55A" + }, + "410": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "411": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "412": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "414": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "MLOAD", + "path": "17" + }, + "415": { + "op": "PUSH1", + "value": "0x1" + }, + "417": { + "op": "PUSH1", + "value": "0x1" + }, + "419": { + "op": "PUSH1", + "value": "0xA0" + }, + "421": { + "op": "SHL" + }, + "422": { + "op": "SUB" + }, + "423": { + "op": "SWAP1" + }, + "424": { + "op": "SWAP2" + }, + "425": { + "op": "AND" + }, + "426": { + "op": "DUP2" + }, + "427": { + "op": "MSTORE" + }, + "428": { + "op": "PUSH1", + "value": "0x20" + }, + "430": { + "op": "ADD" + }, + "431": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x150" + }, + "434": { + "op": "JUMP" + }, + "435": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "436": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLVALUE", + "path": "17" + }, + "437": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "438": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "ISZERO", + "path": "17" + }, + "439": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1BF" + }, + "442": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPI", + "path": "17" + }, + "443": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "445": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "446": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "REVERT", + "path": "17" + }, + "447": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "448": { + "op": "POP" + }, + "449": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D3" + }, + "452": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1CE" + }, + "455": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "456": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "458": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13D6" + }, + "461": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "462": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "463": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x59E" + }, + "466": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "467": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "468": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "STOP", + "path": "17" + }, + "469": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "470": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "CALLVALUE", + "path": "17" + }, + "471": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "472": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "ISZERO", + "path": "17" + }, + "473": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1E1" + }, + "476": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPI", + "path": "17" + }, + "477": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "479": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "480": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "REVERT", + "path": "17" + }, + "481": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "482": { + "op": "POP" + }, + "483": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "statement": 0, + "value": "0x1" + }, + "485": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "486": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "488": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "489": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "490": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "491": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "493": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "MLOAD", + "path": "17" + }, + "494": { + "op": "SWAP1" + }, + "495": { + "op": "DUP2" + }, + "496": { + "op": "MSTORE" + }, + "497": { + "op": "PUSH1", + "value": "0x20" + }, + "499": { + "op": "ADD" + }, + "500": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x150" + }, + "503": { + "op": "JUMP" + }, + "504": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "505": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLVALUE", + "path": "17" + }, + "506": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "507": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "ISZERO", + "path": "17" + }, + "508": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x204" + }, + "511": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPI", + "path": "17" + }, + "512": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "514": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "515": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "REVERT", + "path": "17" + }, + "516": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "517": { + "op": "POP" + }, + "518": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D3" + }, + "521": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x213" + }, + "524": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "525": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "527": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1400" + }, + "530": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "531": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "532": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x624" + }, + "535": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "536": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "537": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLVALUE", + "path": "17" + }, + "538": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "539": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "ISZERO", + "path": "17" + }, + "540": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x224" + }, + "543": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPI", + "path": "17" + }, + "544": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "546": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "547": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "REVERT", + "path": "17" + }, + "548": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "549": { + "op": "POP" + }, + "550": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D3" + }, + "553": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x233" + }, + "556": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "557": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "559": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1400" + }, + "562": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "563": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "564": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x62F" + }, + "567": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "568": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "569": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLVALUE", + "path": "18" + }, + "570": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "571": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "ISZERO", + "path": "18" + }, + "572": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x244" + }, + "575": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPI", + "path": "18" + }, + "576": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "578": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "579": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "REVERT", + "path": "18" + }, + "580": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "581": { + "op": "POP" + }, + "582": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1D3" + }, + "585": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x253" + }, + "588": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "589": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "591": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x13A1" + }, + "594": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "595": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "596": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x64A" + }, + "599": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "600": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "601": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "CALLVALUE", + "path": "29" + }, + "602": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "DUP1", + "path": "29" + }, + "603": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "ISZERO", + "path": "29" + }, + "604": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x264" + }, + "607": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPI", + "path": "29" + }, + "608": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "610": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "DUP1", + "path": "29" + }, + "611": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "REVERT", + "path": "29" + }, + "612": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "613": { + "op": "POP" + }, + "614": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x144" + }, + "617": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x273" + }, + "620": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "CALLDATASIZE", + "path": "29" + }, + "621": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "623": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x13A1" + }, + "626": { + "fn": "ERC721ABurnableMock.exists", + "jump": "i", + "offset": [ + 650, + 750 + ], + "op": "JUMP", + "path": "29" + }, + "627": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "628": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x658" + }, + "631": { + "fn": "ERC721ABurnableMock.exists", + "jump": "i", + "offset": [ + 650, + 750 + ], + "op": "JUMP", + "path": "29" + }, + "632": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "633": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLVALUE", + "path": "17" + }, + "634": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "635": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "ISZERO", + "path": "17" + }, + "636": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x284" + }, + "639": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPI", + "path": "17" + }, + "640": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "642": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "643": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "REVERT", + "path": "17" + }, + "644": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "645": { + "op": "POP" + }, + "646": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x19B" + }, + "649": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x293" + }, + "652": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "653": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "655": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13A1" + }, + "658": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "659": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "660": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x663" + }, + "663": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "664": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "665": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLVALUE", + "path": "17" + }, + "666": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "667": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "ISZERO", + "path": "17" + }, + "668": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2A4" + }, + "671": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPI", + "path": "17" + }, + "672": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "674": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "675": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "REVERT", + "path": "17" + }, + "676": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "677": { + "op": "POP" + }, + "678": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1EA" + }, + "681": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2B3" + }, + "684": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "685": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "687": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x143C" + }, + "690": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "691": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "692": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x675" + }, + "695": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "696": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "697": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "CALLVALUE", + "path": "17" + }, + "698": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "699": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "ISZERO", + "path": "17" + }, + "700": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2C4" + }, + "703": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPI", + "path": "17" + }, + "704": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "706": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "707": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "REVERT", + "path": "17" + }, + "708": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "709": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "POP", + "path": "17" + }, + "710": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16E" + }, + "713": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6C3" + }, + "716": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6666, + 6768 + ], + "op": "JUMP", + "path": "17" + }, + "717": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "718": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "CALLVALUE", + "path": "29" + }, + "719": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "DUP1", + "path": "29" + }, + "720": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "ISZERO", + "path": "29" + }, + "721": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x2D9" + }, + "724": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPI", + "path": "29" + }, + "725": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "727": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "DUP1", + "path": "29" + }, + "728": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "REVERT", + "path": "29" + }, + "729": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "730": { + "op": "POP" + }, + "731": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1D3" + }, + "734": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x2E8" + }, + "737": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "CALLDATASIZE", + "path": "29" + }, + "738": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "740": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x13D6" + }, + "743": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "i", + "offset": [ + 756, + 851 + ], + "op": "JUMP", + "path": "29" + }, + "744": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "745": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x6D2" + }, + "748": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "i", + "offset": [ + 756, + 851 + ], + "op": "JUMP", + "path": "29" + }, + "749": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "750": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLVALUE", + "path": "17" + }, + "751": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "752": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "ISZERO", + "path": "17" + }, + "753": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2F9" + }, + "756": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPI", + "path": "17" + }, + "757": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "759": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "760": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "REVERT", + "path": "17" + }, + "761": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "762": { + "op": "POP" + }, + "763": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D3" + }, + "766": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x308" + }, + "769": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "770": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "772": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1457" + }, + "775": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "776": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "777": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6E0" + }, + "780": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "781": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMPDEST", + "path": "29" + }, + "782": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "CALLVALUE", + "path": "29" + }, + "783": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "DUP1", + "path": "29" + }, + "784": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "ISZERO", + "path": "29" + }, + "785": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "PUSH2", + "path": "29", + "value": "0x319" + }, + "788": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMPI", + "path": "29" + }, + "789": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "791": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "DUP1", + "path": "29" + }, + "792": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "REVERT", + "path": "29" + }, + "793": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMPDEST", + "path": "29" + }, + "794": { + "op": "POP" + }, + "795": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 1032, + 1039 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "797": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3320 + ], + "op": "SLOAD", + "path": "17", + "statement": 1 + }, + "798": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1EA" + }, + "801": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMP", + "path": "29" + }, + "802": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "803": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLVALUE", + "path": "17" + }, + "804": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "805": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "ISZERO", + "path": "17" + }, + "806": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x32E" + }, + "809": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPI", + "path": "17" + }, + "810": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "812": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "813": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "REVERT", + "path": "17" + }, + "814": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "815": { + "op": "POP" + }, + "816": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D3" + }, + "819": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x33D" + }, + "822": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "823": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "825": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x151E" + }, + "828": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "829": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "830": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x775" + }, + "833": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "834": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "835": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLVALUE", + "path": "18" + }, + "836": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "837": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "ISZERO", + "path": "18" + }, + "838": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x34E" + }, + "841": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPI", + "path": "18" + }, + "842": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "844": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "845": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "REVERT", + "path": "18" + }, + "846": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "847": { + "op": "POP" + }, + "848": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x16E" + }, + "851": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x35D" + }, + "854": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "855": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "857": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x13A1" + }, + "860": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "861": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "862": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x7BF" + }, + "865": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "866": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "867": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1EA" + }, + "870": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x370" + }, + "873": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "874": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "876": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1599" + }, + "879": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "880": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "881": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8D3" + }, + "884": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "885": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "886": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLVALUE", + "path": "17" + }, + "887": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "888": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "ISZERO", + "path": "17" + }, + "889": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x381" + }, + "892": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPI", + "path": "17" + }, + "893": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "895": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "896": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "REVERT", + "path": "17" + }, + "897": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "898": { + "op": "POP" + }, + "899": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x144" + }, + "902": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x390" + }, + "905": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "906": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "908": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15E1" + }, + "911": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "912": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "913": { + "op": "PUSH1", + "value": "0x1" + }, + "915": { + "op": "PUSH1", + "value": "0x1" + }, + "917": { + "op": "PUSH1", + "value": "0xA0" + }, + "919": { + "op": "SHL" + }, + "920": { + "op": "SUB" + }, + "921": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP2", + "path": "17", + "statement": 2 + }, + "922": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP3", + "path": "17" + }, + "923": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "AND", + "path": "17" + }, + "924": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8694, + 8698 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "926": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "927": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "928": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "929": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "931": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "933": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "934": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "935": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "936": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "938": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP1", + "path": "17" + }, + "939": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP4", + "path": "17" + }, + "940": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "KECCAK256", + "path": "17" + }, + "941": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP4", + "path": "17" + }, + "942": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "943": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP5", + "path": "17" + }, + "944": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "945": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "DUP3", + "path": "17" + }, + "946": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "947": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "948": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "949": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "950": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "951": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "KECCAK256", + "path": "17" + }, + "952": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SLOAD", + "path": "17" + }, + "953": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "955": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "956": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "957": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "958": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "959": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "CALLVALUE", + "path": "29" + }, + "960": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "DUP1", + "path": "29" + }, + "961": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "ISZERO", + "path": "29" + }, + "962": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x3CA" + }, + "965": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPI", + "path": "29" + }, + "966": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "968": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "DUP1", + "path": "29" + }, + "969": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "REVERT", + "path": "29" + }, + "970": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "971": { + "op": "POP" + }, + "972": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x440" + }, + "975": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x3D9" + }, + "978": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "CALLDATASIZE", + "path": "29" + }, + "979": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "981": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x13A1" + }, + "984": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "jump": "i", + "offset": [ + 857, + 982 + ], + "op": "JUMP", + "path": "29" + }, + "985": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "986": { + "op": "PUSH1", + "value": "0x40" + }, + "988": { + "op": "DUP1" + }, + "989": { + "op": "MLOAD" + }, + "990": { + "op": "PUSH1", + "value": "0x60" + }, + "992": { + "op": "DUP1" + }, + "993": { + "op": "DUP3" + }, + "994": { + "op": "ADD" + }, + "995": { + "op": "DUP4" + }, + "996": { + "op": "MSTORE" + }, + "997": { + "op": "PUSH1", + "value": "0x0" + }, + "999": { + "op": "DUP1" + }, + "1000": { + "op": "DUP4" + }, + "1001": { + "op": "MSTORE" + }, + "1002": { + "op": "PUSH1", + "value": "0x20" + }, + "1004": { + "op": "DUP1" + }, + "1005": { + "op": "DUP5" + }, + "1006": { + "op": "ADD" + }, + "1007": { + "op": "DUP3" + }, + "1008": { + "op": "SWAP1" + }, + "1009": { + "op": "MSTORE" + }, + "1010": { + "op": "SWAP3" + }, + "1011": { + "op": "DUP5" + }, + "1012": { + "op": "ADD" + }, + "1013": { + "op": "DUP2" + }, + "1014": { + "op": "SWAP1" + }, + "1015": { + "op": "MSTORE" + }, + "1016": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "SWAP4", + "path": "29", + "statement": 3 + }, + "1017": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1018": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1019": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 968 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "1021": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1022": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1023": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "SWAP3", + "path": "29" + }, + "1024": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1025": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1026": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "KECCAK256", + "path": "29" + }, + "1027": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1028": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MLOAD", + "path": "29" + }, + "1029": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP4", + "path": "29" + }, + "1030": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1031": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ADD", + "path": "29" + }, + "1032": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP4", + "path": "29" + }, + "1033": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1034": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SLOAD", + "path": "29" + }, + "1035": { + "op": "PUSH1", + "value": "0x1" + }, + "1037": { + "op": "PUSH1", + "value": "0x1" + }, + "1039": { + "op": "PUSH1", + "value": "0xA0" + }, + "1041": { + "op": "SHL" + }, + "1042": { + "op": "SUB" + }, + "1043": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP2", + "path": "29" + }, + "1044": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "AND", + "path": "29" + }, + "1045": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1046": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1047": { + "op": "PUSH1", + "value": "0x1" + }, + "1049": { + "op": "PUSH1", + "value": "0xA0" + }, + "1051": { + "op": "SHL" + }, + "1052": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP2", + "path": "29" + }, + "1053": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DIV", + "path": "29" + }, + "1054": { + "op": "PUSH1", + "value": "0x1" + }, + "1056": { + "op": "PUSH1", + "value": "0x1" + }, + "1058": { + "op": "PUSH1", + "value": "0x40" + }, + "1060": { + "op": "SHL" + }, + "1061": { + "op": "SUB" + }, + "1062": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "AND", + "path": "29" + }, + "1063": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP2", + "path": "29" + }, + "1064": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1065": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ADD", + "path": "29" + }, + "1066": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP2", + "path": "29" + }, + "1067": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1068": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP2", + "path": "29" + }, + "1069": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1070": { + "op": "PUSH1", + "value": "0x1" + }, + "1072": { + "op": "PUSH1", + "value": "0xE0" + }, + "1074": { + "op": "SHL" + }, + "1075": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1076": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DIV", + "path": "29" + }, + "1077": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "PUSH1", + "path": "29", + "value": "0xFF" + }, + "1079": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "AND", + "path": "29" + }, + "1080": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ISZERO", + "path": "29" + }, + "1081": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ISZERO", + "path": "29" + }, + "1082": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1083": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1084": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ADD", + "path": "29" + }, + "1085": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1086": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1087": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMP", + "path": "29" + }, + "1088": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1089": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH1", + "path": "29", + "value": "0x40" + }, + "1091": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "DUP1", + "path": "29" + }, + "1092": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "MLOAD", + "path": "29" + }, + "1093": { + "op": "DUP3" + }, + "1094": { + "op": "MLOAD" + }, + "1095": { + "op": "PUSH1", + "value": "0x1" + }, + "1097": { + "op": "PUSH1", + "value": "0x1" + }, + "1099": { + "op": "PUSH1", + "value": "0xA0" + }, + "1101": { + "op": "SHL" + }, + "1102": { + "op": "SUB" + }, + "1103": { + "op": "AND" + }, + "1104": { + "op": "DUP2" + }, + "1105": { + "op": "MSTORE" + }, + "1106": { + "op": "PUSH1", + "value": "0x20" + }, + "1108": { + "op": "DUP1" + }, + "1109": { + "op": "DUP5" + }, + "1110": { + "op": "ADD" + }, + "1111": { + "op": "MLOAD" + }, + "1112": { + "op": "PUSH1", + "value": "0x1" + }, + "1114": { + "op": "PUSH1", + "value": "0x1" + }, + "1116": { + "op": "PUSH1", + "value": "0x40" + }, + "1118": { + "op": "SHL" + }, + "1119": { + "op": "SUB" + }, + "1120": { + "op": "AND" + }, + "1121": { + "op": "SWAP1" + }, + "1122": { + "op": "DUP3" + }, + "1123": { + "op": "ADD" + }, + "1124": { + "op": "MSTORE" + }, + "1125": { + "op": "SWAP2" + }, + "1126": { + "op": "DUP2" + }, + "1127": { + "op": "ADD" + }, + "1128": { + "op": "MLOAD" + }, + "1129": { + "op": "ISZERO" + }, + "1130": { + "op": "ISZERO" + }, + "1131": { + "op": "SWAP1" + }, + "1132": { + "op": "DUP3" + }, + "1133": { + "op": "ADD" + }, + "1134": { + "op": "MSTORE" + }, + "1135": { + "op": "PUSH1", + "value": "0x60" + }, + "1137": { + "op": "ADD" + }, + "1138": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x150" + }, + "1141": { + "op": "JUMP" + }, + "1142": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1143": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3524, + 3528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1145": { + "op": "PUSH1", + "value": "0x1" + }, + "1147": { + "op": "PUSH1", + "value": "0x1" + }, + "1149": { + "op": "PUSH1", + "value": "0xE0" + }, + "1151": { + "op": "SHL" + }, + "1152": { + "op": "SUB" + }, + "1153": { + "op": "NOT" + }, + "1154": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP3", + "path": "17", + "statement": 4 + }, + "1155": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "AND", + "path": "17" + }, + "1156": { + "op": "PUSH4", + "value": "0x80AC58CD" + }, + "1161": { + "op": "PUSH1", + "value": "0xE0" + }, + "1163": { + "op": "SHL" + }, + "1164": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "EQ", + "path": "17" + }, + "1165": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP1", + "path": "17" + }, + "1166": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4A7" + }, + "1169": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPI", + "path": "17" + }, + "1170": { + "op": "POP" + }, + "1171": { + "op": "PUSH1", + "value": "0x1" + }, + "1173": { + "op": "PUSH1", + "value": "0x1" + }, + "1175": { + "op": "PUSH1", + "value": "0xE0" + }, + "1177": { + "op": "SHL" + }, + "1178": { + "op": "SUB" + }, + "1179": { + "op": "NOT" + }, + "1180": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "DUP3", + "path": "17" + }, + "1181": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "AND", + "path": "17" + }, + "1182": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "1187": { + "op": "PUSH1", + "value": "0xE0" + }, + "1189": { + "op": "SHL" + }, + "1190": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "EQ", + "path": "17" + }, + "1191": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1192": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "DUP1", + "path": "17" + }, + "1193": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4C2" + }, + "1196": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "JUMPI", + "path": "17" + }, + "1197": { + "op": "POP" + }, + "1198": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "1203": { + "op": "PUSH1", + "value": "0xE0" + }, + "1205": { + "op": "SHL" + }, + "1206": { + "op": "PUSH1", + "value": "0x1" + }, + "1208": { + "op": "PUSH1", + "value": "0x1" + }, + "1210": { + "op": "PUSH1", + "value": "0xE0" + }, + "1212": { + "op": "SHL" + }, + "1213": { + "op": "SUB" + }, + "1214": { + "op": "NOT" + }, + "1215": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "DUP4", + "path": "7", + "statement": 5 + }, + "1216": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "AND", + "path": "7" + }, + "1217": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "EQ", + "path": "7" + }, + "1218": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3643, + 3679 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1219": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3540, + 3679 + ], + "op": "SWAP3", + "path": "17" + }, + "1220": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "1221": { + "op": "POP" + }, + "1222": { + "op": "POP" + }, + "1223": { + "fn": "ERC721A.supportsInterface", + "jump": "o", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "1224": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1225": { + "fn": "ERC721A.name", + "offset": [ + 6558, + 6571 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1227": { + "fn": "ERC721A.name", + "offset": [ + 6590, + 6595 + ], + "op": "PUSH1", + "path": "17", + "statement": 6, + "value": "0x2" + }, + "1229": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1230": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1231": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4D7" + }, + "1234": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1235": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1614" + }, + "1238": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1239": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1240": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1241": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1243": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1244": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1246": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1247": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1248": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1249": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1250": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1252": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1253": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1255": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MLOAD", + "path": "17" + }, + "1256": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1257": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1258": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1259": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1261": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1262": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1263": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP3", + "path": "17" + }, + "1264": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1265": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1266": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1267": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1268": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1269": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1271": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1272": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1273": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1274": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1275": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x503" + }, + "1278": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1279": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1614" + }, + "1282": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1283": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1284": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1285": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ISZERO", + "path": "17" + }, + "1286": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x550" + }, + "1289": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1290": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1291": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1293": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "LT", + "path": "17" + }, + "1294": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x525" + }, + "1297": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1298": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100" + }, + "1301": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1302": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1303": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1304": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1305": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1306": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1307": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1308": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1309": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1311": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1312": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1313": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x550" + }, + "1316": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1317": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1318": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1319": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1320": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1321": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1322": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1324": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1325": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1327": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1329": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "KECCAK256", + "path": "17" + }, + "1330": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1331": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1332": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1333": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1334": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1335": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1336": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1337": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "1339": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1340": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1341": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1343": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1344": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1345": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1346": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "GT", + "path": "17" + }, + "1347": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x533" + }, + "1350": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1351": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1352": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1353": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SUB", + "path": "17" + }, + "1354": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1356": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "AND", + "path": "17" + }, + "1357": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1358": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1359": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1360": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1361": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1362": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1363": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1364": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1365": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1366": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1367": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1368": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "1369": { + "fn": "ERC721A.name", + "jump": "o", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "1370": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1371": { + "fn": "ERC721A.getApproved", + "offset": [ + 8050, + 8057 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1373": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "PUSH2", + "path": "17", + "statement": 7, + "value": "0x565" + }, + "1376": { + "fn": "ERC721A.getApproved", + "offset": [ + 8082, + 8089 + ], + "op": "DUP3", + "path": "17" + }, + "1377": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8081 + ], + "op": "PUSH2", + "path": "17", + "value": "0x98F" + }, + "1380": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 8074, + 8090 + ], + "op": "JUMP", + "path": "17" + }, + "1381": { + "branch": 89, + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1382": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x582" + }, + "1385": { + "branch": 89, + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPI", + "path": "17" + }, + "1386": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1388": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1389": { + "op": "PUSH4", + "value": "0x33D1C039" + }, + "1394": { + "op": "PUSH1", + "value": "0xE2" + }, + "1396": { + "op": "SHL" + }, + "1397": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP2", + "path": "17" + }, + "1398": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MSTORE", + "path": "17" + }, + "1399": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1401": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "ADD", + "path": "17" + }, + "1402": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1404": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1405": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP1", + "path": "17" + }, + "1406": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP2", + "path": "17" + }, + "1407": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SUB", + "path": "17" + }, + "1408": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP1", + "path": "17" + }, + "1409": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "REVERT", + "path": "17" + }, + "1410": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1411": { + "op": "POP" + }, + "1412": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "statement": 8, + "value": "0x0" + }, + "1414": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1415": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "DUP2", + "path": "17" + }, + "1416": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1417": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8166 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1419": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1421": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1422": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1424": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1425": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "KECCAK256", + "path": "17" + }, + "1426": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SLOAD", + "path": "17" + }, + "1427": { + "op": "PUSH1", + "value": "0x1" + }, + "1429": { + "op": "PUSH1", + "value": "0x1" + }, + "1431": { + "op": "PUSH1", + "value": "0xA0" + }, + "1433": { + "op": "SHL" + }, + "1434": { + "op": "SUB" + }, + "1435": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "AND", + "path": "17" + }, + "1436": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1437": { + "fn": "ERC721A.getApproved", + "jump": "o", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "1438": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1439": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7622 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1441": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5A9" + }, + "1444": { + "fn": "ERC721A.approve", + "offset": [ + 7641, + 7648 + ], + "op": "DUP3", + "path": "17" + }, + "1445": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7640 + ], + "op": "PUSH2", + "path": "17", + "value": "0x663" + }, + "1448": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7625, + 7649 + ], + "op": "JUMP", + "path": "17" + }, + "1449": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1450": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "SWAP1", + "path": "17" + }, + "1451": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "POP", + "path": "17" + }, + "1452": { + "fn": "ERC721A.approve", + "offset": [ + 7669, + 7674 + ], + "op": "DUP1", + "path": "17", + "statement": 9 + }, + "1453": { + "op": "PUSH1", + "value": "0x1" + }, + "1455": { + "op": "PUSH1", + "value": "0x1" + }, + "1457": { + "op": "PUSH1", + "value": "0xA0" + }, + "1459": { + "op": "SHL" + }, + "1460": { + "op": "SUB" + }, + "1461": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1462": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7665 + ], + "op": "DUP4", + "path": "17" + }, + "1463": { + "op": "PUSH1", + "value": "0x1" + }, + "1465": { + "op": "PUSH1", + "value": "0x1" + }, + "1467": { + "op": "PUSH1", + "value": "0xA0" + }, + "1469": { + "op": "SHL" + }, + "1470": { + "op": "SUB" + }, + "1471": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1472": { + "branch": 90, + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "SUB", + "path": "17" + }, + "1473": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5DD" + }, + "1476": { + "branch": 90, + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPI", + "path": "17" + }, + "1477": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1479": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1480": { + "op": "PUSH4", + "value": "0x250FDEE3" + }, + "1485": { + "op": "PUSH1", + "value": "0xE2" + }, + "1487": { + "op": "SHL" + }, + "1488": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP2", + "path": "17" + }, + "1489": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MSTORE", + "path": "17" + }, + "1490": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1492": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "ADD", + "path": "17" + }, + "1493": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1495": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1496": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP1", + "path": "17" + }, + "1497": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP2", + "path": "17" + }, + "1498": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SUB", + "path": "17" + }, + "1499": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP1", + "path": "17" + }, + "1500": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "REVERT", + "path": "17" + }, + "1501": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1502": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 10 + }, + "1503": { + "op": "PUSH1", + "value": "0x1" + }, + "1505": { + "op": "PUSH1", + "value": "0x1" + }, + "1507": { + "op": "PUSH1", + "value": "0xA0" + }, + "1509": { + "op": "SHL" + }, + "1510": { + "op": "SUB" + }, + "1511": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "DUP3", + "path": "17" + }, + "1512": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "AND", + "path": "17" + }, + "1513": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "EQ", + "path": "17" + }, + "1514": { + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x614" + }, + "1517": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1518": { + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "PUSH2", + "path": "17", + "statement": 11, + "value": "0x5F7" + }, + "1521": { + "fn": "ERC721A.approve", + "offset": [ + 7779, + 7784 + ], + "op": "DUP2", + "path": "17" + }, + "1522": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1523": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x390" + }, + "1526": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1527": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1528": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x614" + }, + "1531": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1532": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1534": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1535": { + "op": "PUSH4", + "value": "0x67D9DCA1" + }, + "1540": { + "op": "PUSH1", + "value": "0xE1" + }, + "1542": { + "op": "SHL" + }, + "1543": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP2", + "path": "17" + }, + "1544": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MSTORE", + "path": "17" + }, + "1545": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1547": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "ADD", + "path": "17" + }, + "1548": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1550": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1551": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP1", + "path": "17" + }, + "1552": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP2", + "path": "17" + }, + "1553": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SUB", + "path": "17" + }, + "1554": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP1", + "path": "17" + }, + "1555": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "REVERT", + "path": "17" + }, + "1556": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1557": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "PUSH2", + "path": "17", + "statement": 12, + "value": "0x61F" + }, + "1560": { + "fn": "ERC721A.approve", + "offset": [ + 7895, + 7897 + ], + "op": "DUP4", + "path": "17" + }, + "1561": { + "fn": "ERC721A.approve", + "offset": [ + 7899, + 7906 + ], + "op": "DUP4", + "path": "17" + }, + "1562": { + "fn": "ERC721A.approve", + "offset": [ + 7908, + 7913 + ], + "op": "DUP4", + "path": "17" + }, + "1563": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7894 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9BA" + }, + "1566": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7886, + 7914 + ], + "op": "JUMP", + "path": "17" + }, + "1567": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1568": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1569": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1570": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1571": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "1572": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1573": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8978 + ], + "op": "PUSH2", + "path": "17", + "statement": 13, + "value": "0x61F" + }, + "1576": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8960, + 8964 + ], + "op": "DUP4", + "path": "17" + }, + "1577": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8966, + 8968 + ], + "op": "DUP4", + "path": "17" + }, + "1578": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8970, + 8977 + ], + "op": "DUP4", + "path": "17" + }, + "1579": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8959 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA16" + }, + "1582": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8950, + 8978 + ], + "op": "JUMP", + "path": "17" + }, + "1583": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1584": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH2", + "path": "17", + "statement": 14, + "value": "0x61F" + }, + "1587": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9201, + 9205 + ], + "op": "DUP4", + "path": "17" + }, + "1588": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9207, + 9209 + ], + "op": "DUP4", + "path": "17" + }, + "1589": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9211, + 9218 + ], + "op": "DUP4", + "path": "17" + }, + "1590": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1592": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MLOAD", + "path": "17" + }, + "1593": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1594": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1596": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "ADD", + "path": "17" + }, + "1597": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1599": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1600": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1601": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1603": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP2", + "path": "17" + }, + "1604": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1605": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "POP", + "path": "17" + }, + "1606": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9200 + ], + "op": "PUSH2", + "path": "17", + "value": "0x775" + }, + "1609": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9184, + 9223 + ], + "op": "JUMP", + "path": "17" + }, + "1610": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1611": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2919 + ], + "op": "PUSH2", + "path": "18", + "statement": 15, + "value": "0x655" + }, + "1614": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2905, + 2912 + ], + "op": "DUP2", + "path": "18" + }, + "1615": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2914, + 2918 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "1617": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2904 + ], + "op": "PUSH2", + "path": "18", + "value": "0xBF1" + }, + "1620": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2899, + 2919 + ], + "op": "JUMP", + "path": "18" + }, + "1621": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2919 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1622": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "POP", + "path": "18" + }, + "1623": { + "fn": "ERC721ExtensionCore.burn", + "jump": "o", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "1624": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1625": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 704, + 708 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "1627": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 727, + 743 + ], + "op": "PUSH2", + "path": "29", + "statement": 16, + "value": "0x4C2" + }, + "1630": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 735, + 742 + ], + "op": "DUP3", + "path": "29" + }, + "1631": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 727, + 734 + ], + "op": "PUSH2", + "path": "29", + "value": "0x98F" + }, + "1634": { + "fn": "ERC721ABurnableMock.exists", + "jump": "i", + "offset": [ + 727, + 743 + ], + "op": "JUMP", + "path": "29" + }, + "1635": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1636": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6383, + 6390 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1638": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "PUSH2", + "path": "17", + "statement": 17, + "value": "0x66E" + }, + "1641": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6422, + 6429 + ], + "op": "DUP3", + "path": "17" + }, + "1642": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6421 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDA4" + }, + "1645": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6409, + 6430 + ], + "op": "JUMP", + "path": "17" + }, + "1646": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1647": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "MLOAD", + "path": "17" + }, + "1648": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "SWAP3", + "path": "17" + }, + "1649": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "SWAP2", + "path": "17" + }, + "1650": { + "op": "POP" + }, + "1651": { + "op": "POP" + }, + "1652": { + "fn": "ERC721A.ownerOf", + "jump": "o", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "1653": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1654": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3809, + 3816 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1656": { + "op": "PUSH1", + "value": "0x1" + }, + "1658": { + "op": "PUSH1", + "value": "0x1" + }, + "1660": { + "op": "PUSH1", + "value": "0xA0" + }, + "1662": { + "op": "SHL" + }, + "1663": { + "op": "SUB" + }, + "1664": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "DUP3", + "path": "17", + "statement": 18 + }, + "1665": { + "branch": 93, + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "AND", + "path": "17" + }, + "1666": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "PUSH2", + "path": "17", + "value": "0x69E" + }, + "1669": { + "branch": 93, + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPI", + "path": "17" + }, + "1670": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1672": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1673": { + "op": "PUSH4", + "value": "0x23D3AD81" + }, + "1678": { + "op": "PUSH1", + "value": "0xE2" + }, + "1680": { + "op": "SHL" + }, + "1681": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP2", + "path": "17" + }, + "1682": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MSTORE", + "path": "17" + }, + "1683": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1685": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "ADD", + "path": "17" + }, + "1686": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1688": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1689": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP1", + "path": "17" + }, + "1690": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP2", + "path": "17" + }, + "1691": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SUB", + "path": "17" + }, + "1692": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP1", + "path": "17" + }, + "1693": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "REVERT", + "path": "17" + }, + "1694": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1695": { + "op": "POP" + }, + "1696": { + "op": "PUSH1", + "value": "0x1" + }, + "1698": { + "op": "PUSH1", + "value": "0x1" + }, + "1700": { + "op": "PUSH1", + "value": "0xA0" + }, + "1702": { + "op": "SHL" + }, + "1703": { + "op": "SUB" + }, + "1704": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "AND", + "path": "17", + "statement": 19 + }, + "1705": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1707": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1708": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "DUP2", + "path": "17" + }, + "1709": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1710": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3925 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "1712": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1714": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1715": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1717": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1718": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "KECCAK256", + "path": "17" + }, + "1719": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SLOAD", + "path": "17" + }, + "1720": { + "op": "PUSH1", + "value": "0x1" + }, + "1722": { + "op": "PUSH1", + "value": "0x1" + }, + "1724": { + "op": "PUSH1", + "value": "0x40" + }, + "1726": { + "op": "SHL" + }, + "1727": { + "op": "SUB" + }, + "1728": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "AND", + "path": "17" + }, + "1729": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SWAP1", + "path": "17" + }, + "1730": { + "fn": "ERC721A.balanceOf", + "jump": "o", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "1731": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1732": { + "fn": "ERC721A.symbol", + "offset": [ + 6722, + 6735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1734": { + "fn": "ERC721A.symbol", + "offset": [ + 6754, + 6761 + ], + "op": "PUSH1", + "path": "17", + "statement": 20, + "value": "0x3" + }, + "1736": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "DUP1", + "path": "17" + }, + "1737": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SLOAD", + "path": "17" + }, + "1738": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4D7" + }, + "1741": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SWAP1", + "path": "17" + }, + "1742": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1614" + }, + "1745": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6747, + 6761 + ], + "op": "JUMP", + "path": "17" + }, + "1746": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1747": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 821, + 844 + ], + "op": "PUSH2", + "path": "29", + "statement": 21, + "value": "0x6DC" + }, + "1750": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 831, + 833 + ], + "op": "DUP3", + "path": "29" + }, + "1751": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 835, + 843 + ], + "op": "DUP3", + "path": "29" + }, + "1752": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 821, + 830 + ], + "op": "PUSH2", + "path": "29", + "value": "0xEBE" + }, + "1755": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "i", + "offset": [ + 821, + 844 + ], + "op": "JUMP", + "path": "29" + }, + "1756": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 821, + 844 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1757": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "POP", + "path": "29" + }, + "1758": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "POP", + "path": "29" + }, + "1759": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "o", + "offset": [ + 756, + 851 + ], + "op": "JUMP", + "path": "29" + }, + "1760": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1761": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1762": { + "op": "PUSH1", + "value": "0x1" + }, + "1764": { + "op": "PUSH1", + "value": "0x1" + }, + "1766": { + "op": "PUSH1", + "value": "0xA0" + }, + "1768": { + "op": "SHL" + }, + "1769": { + "op": "SUB" + }, + "1770": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "DUP4", + "path": "17", + "statement": 22 + }, + "1771": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "AND", + "path": "17" + }, + "1772": { + "branch": 94, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "SUB", + "path": "17" + }, + "1773": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "PUSH2", + "path": "17", + "value": "0x709" + }, + "1776": { + "branch": 94, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPI", + "path": "17" + }, + "1777": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1779": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1780": { + "op": "PUSH4", + "value": "0xB06307DB" + }, + "1785": { + "op": "PUSH1", + "value": "0xE0" + }, + "1787": { + "op": "SHL" + }, + "1788": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP2", + "path": "17" + }, + "1789": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MSTORE", + "path": "17" + }, + "1790": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1792": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "ADD", + "path": "17" + }, + "1793": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1795": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1796": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP1", + "path": "17" + }, + "1797": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP2", + "path": "17" + }, + "1798": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SUB", + "path": "17" + }, + "1799": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP1", + "path": "17" + }, + "1800": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "REVERT", + "path": "17" + }, + "1801": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1802": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1803": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "statement": 23, + "value": "0x0" + }, + "1805": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1806": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1807": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1808": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8426 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "1810": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1812": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "SWAP1", + "path": "17" + }, + "1813": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1814": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1815": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1817": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP1", + "path": "17" + }, + "1818": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP4", + "path": "17" + }, + "1819": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "KECCAK256", + "path": "17" + }, + "1820": { + "op": "PUSH1", + "value": "0x1" + }, + "1822": { + "op": "PUSH1", + "value": "0x1" + }, + "1824": { + "op": "PUSH1", + "value": "0xA0" + }, + "1826": { + "op": "SHL" + }, + "1827": { + "op": "SUB" + }, + "1828": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP8", + "path": "17" + }, + "1829": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "AND", + "path": "17" + }, + "1830": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP1", + "path": "17" + }, + "1831": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP6", + "path": "17" + }, + "1832": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1833": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1834": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP4", + "path": "17" + }, + "1835": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1836": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1837": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP2", + "path": "17" + }, + "1838": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1839": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "KECCAK256", + "path": "17" + }, + "1840": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP1", + "path": "17" + }, + "1841": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SLOAD", + "path": "17" + }, + "1842": { + "op": "PUSH1", + "value": "0xFF" + }, + "1844": { + "op": "NOT" + }, + "1845": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "AND", + "path": "17" + }, + "1846": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP7", + "path": "17" + }, + "1847": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1848": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1849": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1850": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP2", + "path": "17" + }, + "1851": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "OR", + "path": "17" + }, + "1852": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1853": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP2", + "path": "17" + }, + "1854": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SSTORE", + "path": "17" + }, + "1855": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17", + "statement": 24 + }, + "1856": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1857": { + "op": "SWAP1" + }, + "1858": { + "op": "DUP2" + }, + "1859": { + "op": "MSTORE" + }, + "1860": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP2", + "path": "17" + }, + "1861": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1862": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP2", + "path": "5" + }, + "1863": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH32", + "path": "17", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "1896": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1897": { + "op": "ADD" + }, + "1898": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1900": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1901": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "DUP1", + "path": "17" + }, + "1902": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1903": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SUB", + "path": "17" + }, + "1904": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17" + }, + "1905": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "LOG3", + "path": "17" + }, + "1906": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1907": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1908": { + "fn": "ERC721A.setApprovalForAll", + "jump": "o", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "1909": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1910": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "PUSH2", + "path": "17", + "statement": 25, + "value": "0x780" + }, + "1913": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9467, + 9471 + ], + "op": "DUP5", + "path": "17" + }, + "1914": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9473, + 9475 + ], + "op": "DUP5", + "path": "17" + }, + "1915": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9477, + 9484 + ], + "op": "DUP5", + "path": "17" + }, + "1916": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9466 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA16" + }, + "1919": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9457, + 9485 + ], + "op": "JUMP", + "path": "17" + }, + "1920": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1921": { + "op": "PUSH1", + "value": "0x1" + }, + "1923": { + "op": "PUSH1", + "value": "0x1" + }, + "1925": { + "op": "PUSH1", + "value": "0xA0" + }, + "1927": { + "op": "SHL" + }, + "1928": { + "op": "SUB" + }, + "1929": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "DUP4", + "path": "17" + }, + "1930": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "AND", + "path": "17" + }, + "1931": { + "op": "EXTCODESIZE" + }, + "1932": { + "op": "ISZERO" + }, + "1933": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7B9" + }, + "1936": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1937": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "PUSH2", + "path": "17", + "statement": 26, + "value": "0x79C" + }, + "1940": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9564, + 9568 + ], + "op": "DUP5", + "path": "17" + }, + "1941": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9570, + 9572 + ], + "op": "DUP5", + "path": "17" + }, + "1942": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9574, + 9581 + ], + "op": "DUP5", + "path": "17" + }, + "1943": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9583, + 9588 + ], + "op": "DUP5", + "path": "17" + }, + "1944": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9563 + ], + "op": "PUSH2", + "path": "17", + "value": "0xED8" + }, + "1947": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9533, + 9589 + ], + "op": "JUMP", + "path": "17" + }, + "1948": { + "branch": 95, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1949": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7B9" + }, + "1952": { + "branch": 95, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1953": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1955": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1956": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "1961": { + "op": "PUSH1", + "value": "0xE1" + }, + "1963": { + "op": "SHL" + }, + "1964": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP2", + "path": "17" + }, + "1965": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MSTORE", + "path": "17" + }, + "1966": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1968": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "ADD", + "path": "17" + }, + "1969": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1971": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1972": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP1", + "path": "17" + }, + "1973": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP2", + "path": "17" + }, + "1974": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SUB", + "path": "17" + }, + "1975": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP1", + "path": "17" + }, + "1976": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "REVERT", + "path": "17" + }, + "1977": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1978": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1979": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1980": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1981": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1982": { + "fn": "ERC721A.safeTransferFrom", + "jump": "o", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "1983": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1984": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1035, + 1048 + ], + "op": "PUSH1", + "path": "18", + "value": "0x60" + }, + "1986": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "PUSH2", + "path": "18", + "statement": 27, + "value": "0x7CA" + }, + "1989": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1073, + 1080 + ], + "op": "DUP3", + "path": "18" + }, + "1990": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1072 + ], + "op": "PUSH2", + "path": "18", + "value": "0x98F" + }, + "1993": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1065, + 1081 + ], + "op": "JUMP", + "path": "18" + }, + "1994": { + "branch": 112, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1995": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "PUSH2", + "path": "18", + "value": "0x7E7" + }, + "1998": { + "branch": 112, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPI", + "path": "18" + }, + "1999": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2001": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "2002": { + "op": "PUSH4", + "value": "0xA14C4B5" + }, + "2007": { + "op": "PUSH1", + "value": "0xE4" + }, + "2009": { + "op": "SHL" + }, + "2010": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP2", + "path": "18" + }, + "2011": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MSTORE", + "path": "18" + }, + "2012": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "2014": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "ADD", + "path": "18" + }, + "2015": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2017": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "2018": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP1", + "path": "18" + }, + "2019": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP2", + "path": "18" + }, + "2020": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SUB", + "path": "18" + }, + "2021": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP1", + "path": "18" + }, + "2022": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "REVERT", + "path": "18" + }, + "2023": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2024": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1153 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2026": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2027": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2028": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2029": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1166 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "2031": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2033": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2034": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2036": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2037": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "2038": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2039": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2040": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x800" + }, + "2043": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2044": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1614" + }, + "2047": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2048": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2049": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2050": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2052": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2053": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2055": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2056": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2057": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "2058": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "2059": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2061": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2062": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2064": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MLOAD", + "path": "18" + }, + "2065": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2066": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2067": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2068": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2070": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2071": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2072": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP3", + "path": "18" + }, + "2073": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2074": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2075": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2076": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2077": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2078": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2080": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2081": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2082": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2083": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2084": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x82C" + }, + "2087": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2088": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1614" + }, + "2091": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2092": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2093": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2094": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ISZERO", + "path": "18" + }, + "2095": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x879" + }, + "2098": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2099": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2100": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2102": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "LT", + "path": "18" + }, + "2103": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x84E" + }, + "2106": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2107": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x100" + }, + "2110": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2111": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2112": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2113": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "2114": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "2115": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2116": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2117": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2118": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2120": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2121": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2122": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x879" + }, + "2125": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2126": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2127": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2128": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2129": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2130": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2131": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2133": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2134": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2136": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2138": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "2139": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2140": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2141": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2142": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2143": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2144": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2145": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2146": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "2148": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2149": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2150": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2152": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2153": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2154": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2155": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "GT", + "path": "18" + }, + "2156": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x85C" + }, + "2159": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2160": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2161": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2162": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SUB", + "path": "18" + }, + "2163": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2165": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "AND", + "path": "18" + }, + "2166": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2167": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2168": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2169": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2170": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2171": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2172": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2173": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2174": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2175": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2176": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2177": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1203 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2179": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "PUSH2", + "path": "18", + "value": "0x897" + }, + "2182": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "statement": 28, + "value": "0x40" + }, + "2184": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "2185": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "2186": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2188": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "2189": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "2190": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "2191": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "2192": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "2193": { + "op": "PUSH1", + "value": "0x0" + }, + "2195": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "2196": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "2197": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "2198": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "2199": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2200": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "SWAP1", + "path": "18" + }, + "2201": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "POP", + "path": "18" + }, + "2202": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1387, + 1391 + ], + "op": "DUP1", + "path": "18", + "statement": 29 + }, + "2203": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1399 + ], + "op": "MLOAD", + "path": "18" + }, + "2204": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1403, + 1404 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2206": { + "branch": 113, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1404 + ], + "op": "SUB", + "path": "18" + }, + "2207": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8A8" + }, + "2210": { + "branch": 113, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPI", + "path": "18" + }, + "2211": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1451, + 1460 + ], + "op": "DUP2", + "path": "18" + }, + "2212": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8CB" + }, + "2215": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMP", + "path": "18" + }, + "2216": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2217": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1431, + 1435 + ], + "op": "DUP1", + "path": "18" + }, + "2218": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1437, + 1446 + ], + "op": "DUP3", + "path": "18" + }, + "2219": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2221": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "2222": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2224": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "ADD", + "path": "18" + }, + "2225": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8BB" + }, + "2228": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP3", + "path": "18" + }, + "2229": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP2", + "path": "18" + }, + "2230": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "2231": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x164E" + }, + "2234": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1414, + 1447 + ], + "op": "JUMP", + "path": "18" + }, + "2235": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2236": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2238": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "2239": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2241": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "2242": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP4", + "path": "18" + }, + "2243": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "2244": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "2245": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "2246": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "2247": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "2248": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2250": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "2251": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2252": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1374, + 1460 + ], + "op": "SWAP5", + "path": "18" + }, + "2253": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "SWAP4", + "path": "18" + }, + "2254": { + "op": "POP" + }, + "2255": { + "op": "POP" + }, + "2256": { + "op": "POP" + }, + "2257": { + "op": "POP" + }, + "2258": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "o", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "2259": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2260": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2146, + 2153 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2262": { + "offset": [ + 797, + 803 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "2264": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 803 + ], + "op": "SLOAD", + "path": "20" + }, + "2265": { + "offset": [ + 807, + 808 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "2267": { + "offset": [ + 797, + 808 + ], + "op": "EQ", + "path": "20" + }, + "2268": { + "offset": [ + 789, + 823 + ], + "op": "PUSH2", + "path": "20", + "value": "0x919" + }, + "2271": { + "offset": [ + 789, + 823 + ], + "op": "JUMPI", + "path": "20" + }, + "2272": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "2274": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "2275": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2279": { + "op": "PUSH1", + "value": "0xE5" + }, + "2281": { + "op": "SHL" + }, + "2282": { + "offset": [ + 789, + 823 + ], + "op": "DUP2", + "path": "20" + }, + "2283": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MSTORE", + "path": "20" + }, + "2284": { + "op": "PUSH1", + "value": "0x20" + }, + "2286": { + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x4" + }, + "2288": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "DUP3", + "path": "20" + }, + "2289": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "ADD", + "path": "20" + }, + "2290": { + "op": "MSTORE" + }, + "2291": { + "op": "PUSH1", + "value": "0xA" + }, + "2293": { + "op": "PUSH1", + "value": "0x24" + }, + "2295": { + "op": "DUP3" + }, + "2296": { + "op": "ADD" + }, + "2297": { + "op": "MSTORE" + }, + "2298": { + "op": "PUSH10", + "value": "0x5245454E5452414E4359" + }, + "2309": { + "op": "PUSH1", + "value": "0xB0" + }, + "2311": { + "op": "SHL" + }, + "2312": { + "op": "PUSH1", + "value": "0x44" + }, + "2314": { + "op": "DUP3" + }, + "2315": { + "op": "ADD" + }, + "2316": { + "op": "MSTORE" + }, + "2317": { + "op": "PUSH1", + "value": "0x64" + }, + "2319": { + "op": "ADD" + }, + "2320": { + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "2321": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "2323": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "2324": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "DUP1", + "path": "20" + }, + "2325": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SWAP2", + "path": "20" + }, + "2326": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SUB", + "path": "20" + }, + "2327": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SWAP1", + "path": "20" + }, + "2328": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "20" + }, + "2329": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "2330": { + "offset": [ + 843, + 844 + ], + "op": "PUSH1", + "path": "20", + "value": "0x2" + }, + "2332": { + "offset": [ + 834, + 840 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "2334": { + "offset": [ + 834, + 844 + ], + "op": "SSTORE", + "path": "20" + }, + "2335": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2173, + 2182 + ], + "op": "CALLVALUE", + "path": "18", + "statement": 30 + }, + "2336": { + "branch": 114, + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2173, + 2187 + ], + "op": "ISZERO", + "path": "18" + }, + "2337": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH2", + "path": "18", + "value": "0x96C" + }, + "2340": { + "branch": 114, + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "JUMPI", + "path": "18" + }, + "2341": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2343": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "MLOAD", + "path": "18" + }, + "2344": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2348": { + "op": "PUSH1", + "value": "0xE5" + }, + "2350": { + "op": "SHL" + }, + "2351": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "DUP2", + "path": "18" + }, + "2352": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "MSTORE", + "path": "18" + }, + "2353": { + "op": "PUSH1", + "value": "0x20" + }, + "2355": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "2357": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "DUP3", + "path": "18" + }, + "2358": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "ADD", + "path": "18" + }, + "2359": { + "op": "MSTORE" + }, + "2360": { + "op": "PUSH1", + "value": "0x19" + }, + "2362": { + "op": "PUSH1", + "value": "0x24" + }, + "2364": { + "op": "DUP3" + }, + "2365": { + "op": "ADD" + }, + "2366": { + "op": "MSTORE" + }, + "2367": { + "op": "PUSH32", + "value": "0x5B436F72652E6D696E745D2076616C756520746F206265203000000000000000" + }, + "2400": { + "op": "PUSH1", + "value": "0x44" + }, + "2402": { + "op": "DUP3" + }, + "2403": { + "op": "ADD" + }, + "2404": { + "op": "MSTORE" + }, + "2405": { + "op": "PUSH1", + "value": "0x64" + }, + "2407": { + "op": "ADD" + }, + "2408": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH2", + "path": "18", + "value": "0x910" + }, + "2411": { + "op": "JUMP" + }, + "2412": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2413": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2359 + ], + "op": "PUSH2", + "path": "18", + "statement": 31, + "value": "0x977" + }, + "2416": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2345, + 2355 + ], + "op": "CALLER", + "path": "18" + }, + "2417": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2357, + 2358 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "2419": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2344 + ], + "op": "PUSH2", + "path": "18", + "value": "0xFC3" + }, + "2422": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2339, + 2359 + ], + "op": "JUMP", + "path": "18" + }, + "2423": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2359 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2424": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2370, + 2388 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2426": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2391, + 2404 + ], + "op": "SLOAD", + "path": "18" + }, + "2427": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2523 + ], + "op": "PUSH2", + "path": "18", + "statement": 32, + "value": "0x984" + }, + "2430": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2391, + 2404 + ], + "op": "DUP2", + "path": "18" + }, + "2431": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2513, + 2522 + ], + "op": "DUP5", + "path": "18" + }, + "2432": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2500 + ], + "op": "PUSH2", + "path": "18", + "value": "0x10D5" + }, + "2435": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2488, + 2523 + ], + "op": "JUMP", + "path": "18" + }, + "2436": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2523 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2437": { + "offset": [ + 876, + 877 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "2439": { + "offset": [ + 867, + 873 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "2441": { + "offset": [ + 867, + 877 + ], + "op": "SSTORE", + "path": "20" + }, + "2442": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2643, + 2653 + ], + "op": "SWAP3", + "path": "18", + "statement": 33 + }, + "2443": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "SWAP2", + "path": "18" + }, + "2444": { + "op": "POP" + }, + "2445": { + "op": "POP" + }, + "2446": { + "fn": "ERC721ExtensionCore.mint", + "jump": "o", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "2447": { + "fn": "ERC721A._exists", + "offset": [ + 9923, + 10095 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2448": { + "fn": "ERC721A._exists", + "offset": [ + 9980, + 9984 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2450": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "DUP1", + "path": "17", + "statement": 34 + }, + "2451": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "SLOAD", + "path": "17" + }, + "2452": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10040 + ], + "op": "DUP3", + "path": "17" + }, + "2453": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10056 + ], + "op": "LT", + "path": "17" + }, + "2454": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "DUP1", + "path": "17" + }, + "2455": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2456": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4C2" + }, + "2459": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "JUMPI", + "path": "17" + }, + "2460": { + "op": "POP" + }, + "2461": { + "op": "POP" + }, + "2462": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2464": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2465": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "DUP2", + "path": "17" + }, + "2466": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2467": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10072 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2469": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2471": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2472": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2474": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2475": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "KECCAK256", + "path": "17" + }, + "2476": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SLOAD", + "path": "17" + }, + "2477": { + "op": "PUSH1", + "value": "0x1" + }, + "2479": { + "op": "PUSH1", + "value": "0xE0" + }, + "2481": { + "op": "SHL" + }, + "2482": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2483": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "DIV", + "path": "17" + }, + "2484": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "2486": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "AND", + "path": "17" + }, + "2487": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2488": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2489": { + "fn": "ERC721A._exists", + "jump": "o", + "offset": [ + 9923, + 10095 + ], + "op": "JUMP", + "path": "17" + }, + "2490": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2491": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "statement": 35, + "value": "0x0" + }, + "2493": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2494": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP2", + "path": "17" + }, + "2495": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2496": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18973 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "2498": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2500": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2501": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2503": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP1", + "path": "17" + }, + "2504": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2505": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "KECCAK256", + "path": "17" + }, + "2506": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP1", + "path": "17" + }, + "2507": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SLOAD", + "path": "17" + }, + "2508": { + "op": "PUSH1", + "value": "0x1" + }, + "2510": { + "op": "PUSH1", + "value": "0x1" + }, + "2512": { + "op": "PUSH1", + "value": "0xA0" + }, + "2514": { + "op": "SHL" + }, + "2515": { + "op": "SUB" + }, + "2516": { + "op": "NOT" + }, + "2517": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2518": { + "op": "PUSH1", + "value": "0x1" + }, + "2520": { + "op": "PUSH1", + "value": "0x1" + }, + "2522": { + "op": "PUSH1", + "value": "0xA0" + }, + "2524": { + "op": "SHL" + }, + "2525": { + "op": "SUB" + }, + "2526": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP8", + "path": "17" + }, + "2527": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP2", + "path": "17" + }, + "2528": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2529": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP2", + "path": "17" + }, + "2530": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP3", + "path": "17" + }, + "2531": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "OR", + "path": "17" + }, + "2532": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP1", + "path": "17" + }, + "2533": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP3", + "path": "17" + }, + "2534": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SSTORE", + "path": "17" + }, + "2535": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17", + "statement": 36 + }, + "2536": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "MLOAD", + "path": "17" + }, + "2537": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP6", + "path": "17" + }, + "2538": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "SWAP4", + "path": "17" + }, + "2539": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2540": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "DUP6", + "path": "17" + }, + "2541": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "AND", + "path": "17" + }, + "2542": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2543": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "PUSH32", + "path": "17", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "2576": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2577": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "LOG4", + "path": "17" + }, + "2578": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2579": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2580": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2581": { + "fn": "ERC721A._approve", + "jump": "o", + "offset": [ + 18848, + 19037 + ], + "op": "JUMP", + "path": "17" + }, + "2582": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2583": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14124 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2585": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA21" + }, + "2588": { + "fn": "ERC721A._transfer", + "offset": [ + 14140, + 14147 + ], + "op": "DUP3", + "path": "17" + }, + "2589": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14139 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDA4" + }, + "2592": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14127, + 14148 + ], + "op": "JUMP", + "path": "17" + }, + "2593": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2594": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "SWAP1", + "path": "17" + }, + "2595": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "POP", + "path": "17" + }, + "2596": { + "fn": "ERC721A._transfer", + "offset": [ + 14185, + 14189 + ], + "op": "DUP4", + "path": "17", + "statement": 37 + }, + "2597": { + "op": "PUSH1", + "value": "0x1" + }, + "2599": { + "op": "PUSH1", + "value": "0x1" + }, + "2601": { + "op": "PUSH1", + "value": "0xA0" + }, + "2603": { + "op": "SHL" + }, + "2604": { + "op": "SUB" + }, + "2605": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2606": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14176 + ], + "op": "DUP2", + "path": "17" + }, + "2607": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2609": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "ADD", + "path": "17" + }, + "2610": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "MLOAD", + "path": "17" + }, + "2611": { + "op": "PUSH1", + "value": "0x1" + }, + "2613": { + "op": "PUSH1", + "value": "0x1" + }, + "2615": { + "op": "PUSH1", + "value": "0xA0" + }, + "2617": { + "op": "SHL" + }, + "2618": { + "op": "SUB" + }, + "2619": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2620": { + "branch": 96, + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "EQ", + "path": "17" + }, + "2621": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA58" + }, + "2624": { + "branch": 96, + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPI", + "path": "17" + }, + "2625": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2627": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2628": { + "op": "PUSH3", + "value": "0xA11481" + }, + "2632": { + "op": "PUSH1", + "value": "0xE8" + }, + "2634": { + "op": "SHL" + }, + "2635": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP2", + "path": "17" + }, + "2636": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MSTORE", + "path": "17" + }, + "2637": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2639": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "ADD", + "path": "17" + }, + "2640": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2642": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2643": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP1", + "path": "17" + }, + "2644": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP2", + "path": "17" + }, + "2645": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SUB", + "path": "17" + }, + "2646": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP1", + "path": "17" + }, + "2647": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "REVERT", + "path": "17" + }, + "2648": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2649": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14259 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2651": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2652": { + "op": "PUSH1", + "value": "0x1" + }, + "2654": { + "op": "PUSH1", + "value": "0x1" + }, + "2656": { + "op": "PUSH1", + "value": "0xA0" + }, + "2658": { + "op": "SHL" + }, + "2659": { + "op": "SUB" + }, + "2660": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP7", + "path": "17" + }, + "2661": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "AND", + "path": "17" + }, + "2662": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "EQ", + "path": "17" + }, + "2663": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP1", + "path": "17" + }, + "2664": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA76" + }, + "2667": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "JUMPI", + "path": "17" + }, + "2668": { + "op": "POP" + }, + "2669": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA76" + }, + "2672": { + "fn": "ERC721A._transfer", + "offset": [ + 14304, + 14308 + ], + "op": "DUP6", + "path": "17" + }, + "2673": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2674": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x390" + }, + "2677": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "2678": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2679": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "DUP1", + "path": "17" + }, + "2680": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA91" + }, + "2683": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPI", + "path": "17" + }, + "2684": { + "op": "POP" + }, + "2685": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2686": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA86" + }, + "2689": { + "fn": "ERC721A._transfer", + "offset": [ + 14339, + 14346 + ], + "op": "DUP5", + "path": "17" + }, + "2690": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14338 + ], + "op": "PUSH2", + "path": "17", + "value": "0x55A" + }, + "2693": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14327, + 14347 + ], + "op": "JUMP", + "path": "17" + }, + "2694": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2695": { + "op": "PUSH1", + "value": "0x1" + }, + "2697": { + "op": "PUSH1", + "value": "0x1" + }, + "2699": { + "op": "PUSH1", + "value": "0xA0" + }, + "2701": { + "op": "SHL" + }, + "2702": { + "op": "SUB" + }, + "2703": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "AND", + "path": "17" + }, + "2704": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "EQ", + "path": "17" + }, + "2705": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2706": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "SWAP1", + "path": "17" + }, + "2707": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "POP", + "path": "17" + }, + "2708": { + "branch": 97, + "fn": "ERC721A._transfer", + "offset": [ + 14380, + 14397 + ], + "op": "DUP1", + "path": "17", + "statement": 38 + }, + "2709": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAB1" + }, + "2712": { + "branch": 97, + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPI", + "path": "17" + }, + "2713": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2715": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2716": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "2721": { + "op": "PUSH1", + "value": "0xE1" + }, + "2723": { + "op": "SHL" + }, + "2724": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP2", + "path": "17" + }, + "2725": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MSTORE", + "path": "17" + }, + "2726": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2728": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "ADD", + "path": "17" + }, + "2729": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2731": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2732": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP1", + "path": "17" + }, + "2733": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP2", + "path": "17" + }, + "2734": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SUB", + "path": "17" + }, + "2735": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP1", + "path": "17" + }, + "2736": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "REVERT", + "path": "17" + }, + "2737": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2738": { + "op": "PUSH1", + "value": "0x1" + }, + "2740": { + "op": "PUSH1", + "value": "0x1" + }, + "2742": { + "op": "PUSH1", + "value": "0xA0" + }, + "2744": { + "op": "SHL" + }, + "2745": { + "op": "SUB" + }, + "2746": { + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "DUP5", + "path": "17", + "statement": 39 + }, + "2747": { + "branch": 98, + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "AND", + "path": "17" + }, + "2748": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAD8" + }, + "2751": { + "branch": 98, + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPI", + "path": "17" + }, + "2752": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2754": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2755": { + "op": "PUSH4", + "value": "0x3A954ECD" + }, + "2760": { + "op": "PUSH1", + "value": "0xE2" + }, + "2762": { + "op": "SHL" + }, + "2763": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP2", + "path": "17" + }, + "2764": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MSTORE", + "path": "17" + }, + "2765": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2767": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "ADD", + "path": "17" + }, + "2768": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2770": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2771": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP1", + "path": "17" + }, + "2772": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP2", + "path": "17" + }, + "2773": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SUB", + "path": "17" + }, + "2774": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP1", + "path": "17" + }, + "2775": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "REVERT", + "path": "17" + }, + "2776": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2777": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "PUSH2", + "path": "17", + "statement": 40, + "value": "0xAE4" + }, + "2780": { + "fn": "ERC721A._transfer", + "offset": [ + 14636, + 14637 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2782": { + "fn": "ERC721A._transfer", + "offset": [ + 14640, + 14647 + ], + "op": "DUP5", + "path": "17" + }, + "2783": { + "fn": "ERC721A._transfer", + "offset": [ + 14649, + 14653 + ], + "op": "DUP8", + "path": "17" + }, + "2784": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14627 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9BA" + }, + "2787": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14619, + 14654 + ], + "op": "JUMP", + "path": "17" + }, + "2788": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2789": { + "op": "PUSH1", + "value": "0x1" + }, + "2791": { + "op": "PUSH1", + "value": "0x1" + }, + "2793": { + "op": "PUSH1", + "value": "0xA0" + }, + "2795": { + "op": "SHL" + }, + "2796": { + "op": "SUB" + }, + "2797": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP6", + "path": "17", + "statement": 41 + }, + "2798": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2799": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "AND", + "path": "17" + }, + "2800": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2802": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2803": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2804": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2805": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14956 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2807": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2809": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2810": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2811": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2812": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2814": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP1", + "path": "17" + }, + "2815": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP4", + "path": "17" + }, + "2816": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "KECCAK256", + "path": "17" + }, + "2817": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2818": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SLOAD", + "path": "17" + }, + "2819": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2828": { + "op": "NOT" + }, + "2829": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2830": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP3", + "path": "17" + }, + "2831": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2832": { + "op": "PUSH1", + "value": "0x1" + }, + "2834": { + "op": "PUSH1", + "value": "0x1" + }, + "2836": { + "op": "PUSH1", + "value": "0x40" + }, + "2838": { + "op": "SHL" + }, + "2839": { + "op": "SUB" + }, + "2840": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2841": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2842": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2843": { + "op": "PUSH1", + "value": "0x0" + }, + "2845": { + "op": "NOT" + }, + "2846": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "ADD", + "path": "17" + }, + "2847": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2848": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2849": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "OR", + "path": "17" + }, + "2850": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP1", + "path": "17" + }, + "2851": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2852": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SSTORE", + "path": "17" + }, + "2853": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP10", + "path": "17", + "statement": 42 + }, + "2854": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2855": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "AND", + "path": "17" + }, + "2856": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP1", + "path": "17" + }, + "2857": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2858": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "MSTORE", + "path": "17" + }, + "2859": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP4", + "path": "17" + }, + "2860": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2861": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "KECCAK256", + "path": "17" + }, + "2862": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP1", + "path": "17" + }, + "2863": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SLOAD", + "path": "17" + }, + "2864": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2865": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2866": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2867": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2868": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP4", + "path": "17" + }, + "2869": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2870": { + "op": "PUSH1", + "value": "0x1" + }, + "2872": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2873": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP2", + "path": "17" + }, + "2874": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "ADD", + "path": "17" + }, + "2875": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2876": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2877": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2878": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2879": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2880": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "OR", + "path": "17" + }, + "2881": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2882": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SSTORE", + "path": "17" + }, + "2883": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP10", + "path": "17" + }, + "2884": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP7", + "path": "17" + }, + "2885": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2886": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15078 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2888": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP1", + "path": "17" + }, + "2889": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP5", + "path": "17" + }, + "2890": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2891": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP3", + "path": "17" + }, + "2892": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP6", + "path": "17" + }, + "2893": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "KECCAK256", + "path": "17" + }, + "2894": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "DUP1", + "path": "17", + "statement": 43 + }, + "2895": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "SLOAD", + "path": "17" + }, + "2896": { + "op": "PUSH1", + "value": "0x1" + }, + "2898": { + "op": "PUSH1", + "value": "0x1" + }, + "2900": { + "op": "PUSH1", + "value": "0xE0" + }, + "2902": { + "op": "SHL" + }, + "2903": { + "op": "SUB" + }, + "2904": { + "op": "NOT" + }, + "2905": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17", + "statement": 44 + }, + "2906": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2907": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP5", + "path": "17" + }, + "2908": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2909": { + "op": "PUSH1", + "value": "0x1" + }, + "2911": { + "op": "PUSH1", + "value": "0xA0" + }, + "2913": { + "op": "SHL" + }, + "2914": { + "fn": "ERC721A._transfer", + "offset": [ + 15166, + 15181 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2915": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2916": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP3", + "path": "17" + }, + "2917": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17" + }, + "2918": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2919": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2920": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2921": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "MUL", + "path": "17" + }, + "2922": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2923": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "DUP4", + "path": "17" + }, + "2924": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SSTORE", + "path": "17" + }, + "2925": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "DUP8", + "path": "17" + }, + "2926": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "ADD", + "path": "17" + }, + "2927": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP1", + "path": "17" + }, + "2928": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP5", + "path": "17" + }, + "2929": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "MSTORE", + "path": "17" + }, + "2930": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP3", + "path": "17" + }, + "2931": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "KECCAK256", + "path": "17" + }, + "2932": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "DUP1", + "path": "17" + }, + "2933": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "SLOAD", + "path": "17" + }, + "2934": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP2", + "path": "17" + }, + "2935": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP4", + "path": "17" + }, + "2936": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP1", + "path": "17" + }, + "2937": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP2", + "path": "17" + }, + "2938": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "AND", + "path": "17" + }, + "2939": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBB8" + }, + "2942": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "JUMPI", + "path": "17" + }, + "2943": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2945": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "SLOAD", + "path": "17" + }, + "2946": { + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15756 + ], + "op": "DUP3", + "path": "17" + }, + "2947": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15773 + ], + "op": "EQ", + "path": "17" + }, + "2948": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBB8" + }, + "2951": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPI", + "path": "17" + }, + "2952": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP1", + "path": "17", + "statement": 45 + }, + "2953": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "SLOAD", + "path": "17" + }, + "2954": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "PUSH1", + "path": "17", + "statement": 46, + "value": "0x20" + }, + "2956": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "DUP7", + "path": "17" + }, + "2957": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "ADD", + "path": "17" + }, + "2958": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "MLOAD", + "path": "17" + }, + "2959": { + "op": "PUSH1", + "value": "0x1" + }, + "2961": { + "op": "PUSH1", + "value": "0x1" + }, + "2963": { + "op": "PUSH1", + "value": "0x40" + }, + "2965": { + "op": "SHL" + }, + "2966": { + "op": "SUB" + }, + "2967": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2968": { + "op": "PUSH1", + "value": "0x1" + }, + "2970": { + "op": "PUSH1", + "value": "0xA0" + }, + "2972": { + "op": "SHL" + }, + "2973": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "MUL", + "path": "17" + }, + "2974": { + "op": "PUSH1", + "value": "0x1" + }, + "2976": { + "op": "PUSH1", + "value": "0x1" + }, + "2978": { + "op": "PUSH1", + "value": "0xE0" + }, + "2980": { + "op": "SHL" + }, + "2981": { + "op": "SUB" + }, + "2982": { + "op": "NOT" + }, + "2983": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP1", + "path": "17" + }, + "2984": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP2", + "path": "17" + }, + "2985": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2986": { + "op": "PUSH1", + "value": "0x1" + }, + "2988": { + "op": "PUSH1", + "value": "0x1" + }, + "2990": { + "op": "PUSH1", + "value": "0xA0" + }, + "2992": { + "op": "SHL" + }, + "2993": { + "op": "SUB" + }, + "2994": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP11", + "path": "17" + }, + "2995": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "AND", + "path": "17" + }, + "2996": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2997": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2998": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "DUP2", + "path": "17" + }, + "2999": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SSTORE", + "path": "17" + }, + "3000": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3001": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "3002": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "3003": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "3004": { + "fn": "ERC721A._transfer", + "offset": [ + 15970, + 15977 + ], + "op": "DUP3", + "path": "17", + "statement": 47 + }, + "3005": { + "fn": "ERC721A._transfer", + "offset": [ + 15966, + 15968 + ], + "op": "DUP5", + "path": "17" + }, + "3006": { + "op": "PUSH1", + "value": "0x1" + }, + "3008": { + "op": "PUSH1", + "value": "0x1" + }, + "3010": { + "op": "PUSH1", + "value": "0xA0" + }, + "3012": { + "op": "SHL" + }, + "3013": { + "op": "SUB" + }, + "3014": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "3015": { + "fn": "ERC721A._transfer", + "offset": [ + 15960, + 15964 + ], + "op": "DUP7", + "path": "17" + }, + "3016": { + "op": "PUSH1", + "value": "0x1" + }, + "3018": { + "op": "PUSH1", + "value": "0x1" + }, + "3020": { + "op": "PUSH1", + "value": "0xA0" + }, + "3022": { + "op": "SHL" + }, + "3023": { + "op": "SUB" + }, + "3024": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "3025": { + "op": "PUSH1", + "value": "0x0" + }, + "3027": { + "op": "DUP1" + }, + "3028": { + "op": "MLOAD" + }, + "3029": { + "op": "PUSH1", + "value": "0x20" + }, + "3031": { + "op": "PUSH2", + "value": "0x17E5" + }, + "3034": { + "op": "DUP4" + }, + "3035": { + "op": "CODECOPY" + }, + "3036": { + "op": "DUP2" + }, + "3037": { + "op": "MLOAD" + }, + "3038": { + "op": "SWAP2" + }, + "3039": { + "op": "MSTORE" + }, + "3040": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3042": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "3043": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3045": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "3046": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "DUP1", + "path": "17" + }, + "3047": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP2", + "path": "17" + }, + "3048": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SUB", + "path": "17" + }, + "3049": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP1", + "path": "17" + }, + "3050": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "LOG4", + "path": "17" + }, + "3051": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3052": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3053": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3054": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3055": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3056": { + "fn": "ERC721A._transfer", + "jump": "o", + "offset": [ + 13979, + 16037 + ], + "op": "JUMP", + "path": "17" + }, + "3057": { + "fn": "ERC721A._burn", + "offset": [ + 16414, + 18737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3058": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3060": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBFC" + }, + "3063": { + "fn": "ERC721A._burn", + "offset": [ + 16544, + 16551 + ], + "op": "DUP4", + "path": "17" + }, + "3064": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16543 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDA4" + }, + "3067": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16531, + 16552 + ], + "op": "JUMP", + "path": "17" + }, + "3068": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3069": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "DUP1", + "path": "17" + }, + "3070": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "MLOAD", + "path": "17" + }, + "3071": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP1", + "path": "17" + }, + "3072": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP2", + "path": "17" + }, + "3073": { + "op": "POP" + }, + "3074": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "DUP3", + "path": "17" + }, + "3075": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "ISZERO", + "path": "17" + }, + "3076": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC62" + }, + "3079": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPI", + "path": "17" + }, + "3080": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16662 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3082": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3083": { + "op": "PUSH1", + "value": "0x1" + }, + "3085": { + "op": "PUSH1", + "value": "0x1" + }, + "3087": { + "op": "PUSH1", + "value": "0xA0" + }, + "3089": { + "op": "SHL" + }, + "3090": { + "op": "SUB" + }, + "3091": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP4", + "path": "17" + }, + "3092": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "AND", + "path": "17" + }, + "3093": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "EQ", + "path": "17" + }, + "3094": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP1", + "path": "17" + }, + "3095": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC25" + }, + "3098": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "JUMPI", + "path": "17" + }, + "3099": { + "op": "POP" + }, + "3100": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC25" + }, + "3103": { + "fn": "ERC721A._burn", + "offset": [ + 16707, + 16711 + ], + "op": "DUP3", + "path": "17" + }, + "3104": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3105": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x390" + }, + "3108": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "3109": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3110": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "DUP1", + "path": "17" + }, + "3111": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC40" + }, + "3114": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPI", + "path": "17" + }, + "3115": { + "op": "POP" + }, + "3116": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3117": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC35" + }, + "3120": { + "fn": "ERC721A._burn", + "offset": [ + 16742, + 16749 + ], + "op": "DUP7", + "path": "17" + }, + "3121": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16741 + ], + "op": "PUSH2", + "path": "17", + "value": "0x55A" + }, + "3124": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16730, + 16750 + ], + "op": "JUMP", + "path": "17" + }, + "3125": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3126": { + "op": "PUSH1", + "value": "0x1" + }, + "3128": { + "op": "PUSH1", + "value": "0x1" + }, + "3130": { + "op": "PUSH1", + "value": "0xA0" + }, + "3132": { + "op": "SHL" + }, + "3133": { + "op": "SUB" + }, + "3134": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "AND", + "path": "17" + }, + "3135": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "EQ", + "path": "17" + }, + "3136": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3137": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "SWAP1", + "path": "17" + }, + "3138": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "POP", + "path": "17" + }, + "3139": { + "branch": 100, + "fn": "ERC721A._burn", + "offset": [ + 16787, + 16804 + ], + "op": "DUP1", + "path": "17", + "statement": 48 + }, + "3140": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC60" + }, + "3143": { + "branch": 100, + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPI", + "path": "17" + }, + "3144": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3146": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3147": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "3152": { + "op": "PUSH1", + "value": "0xE1" + }, + "3154": { + "op": "SHL" + }, + "3155": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP2", + "path": "17" + }, + "3156": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MSTORE", + "path": "17" + }, + "3157": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3159": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "ADD", + "path": "17" + }, + "3160": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3162": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3163": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP1", + "path": "17" + }, + "3164": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP2", + "path": "17" + }, + "3165": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SUB", + "path": "17" + }, + "3166": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP1", + "path": "17" + }, + "3167": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "REVERT", + "path": "17" + }, + "3168": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3169": { + "fn": "ERC721A._burn", + "offset": [ + 16626, + 16859 + ], + "op": "POP", + "path": "17" + }, + "3170": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3171": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "PUSH2", + "path": "17", + "statement": 49, + "value": "0xC6E" + }, + "3174": { + "fn": "ERC721A._burn", + "offset": [ + 16999, + 17000 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3176": { + "fn": "ERC721A._burn", + "offset": [ + 17003, + 17010 + ], + "op": "DUP6", + "path": "17" + }, + "3177": { + "fn": "ERC721A._burn", + "offset": [ + 17012, + 17016 + ], + "op": "DUP4", + "path": "17" + }, + "3178": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 16990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9BA" + }, + "3181": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16982, + 17017 + ], + "op": "JUMP", + "path": "17" + }, + "3182": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3183": { + "op": "PUSH1", + "value": "0x1" + }, + "3185": { + "op": "PUSH1", + "value": "0x1" + }, + "3187": { + "op": "PUSH1", + "value": "0xA0" + }, + "3189": { + "op": "SHL" + }, + "3190": { + "op": "SUB" + }, + "3191": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3192": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP3", + "path": "17" + }, + "3193": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "AND", + "path": "17" + }, + "3194": { + "fn": "ERC721A._burn", + "offset": [ + 17307, + 17338 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3196": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3197": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3198": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3199": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17353 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3201": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3203": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP1", + "path": "17" + }, + "3204": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3205": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3206": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3208": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3209": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP4", + "path": "17" + }, + "3210": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "KECCAK256", + "path": "17" + }, + "3211": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17", + "statement": 50 + }, + "3212": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SLOAD", + "path": "17" + }, + "3213": { + "op": "PUSH1", + "value": "0x1" + }, + "3215": { + "op": "PUSH1", + "value": "0x80" + }, + "3217": { + "op": "SHL" + }, + "3218": { + "op": "PUSH1", + "value": "0x0" + }, + "3220": { + "op": "NOT" + }, + "3221": { + "op": "PUSH1", + "value": "0x1" + }, + "3223": { + "op": "PUSH1", + "value": "0x1" + }, + "3225": { + "op": "PUSH1", + "value": "0x40" + }, + "3227": { + "op": "SHL" + }, + "3228": { + "op": "SUB" + }, + "3229": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17" + }, + "3230": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3231": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3232": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3233": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP1", + "path": "17" + }, + "3234": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3235": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "ADD", + "path": "17" + }, + "3236": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3237": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3238": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3247": { + "op": "NOT" + }, + "3248": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3249": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3250": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3251": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "OR", + "path": "17" + }, + "3252": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17", + "statement": 51 + }, + "3253": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3254": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DIV", + "path": "17" + }, + "3255": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP3", + "path": "17" + }, + "3256": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3257": { + "fn": "ERC721A._burn", + "offset": [ + 17396, + 17397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3259": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3260": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP2", + "path": "17" + }, + "3261": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "ADD", + "path": "17" + }, + "3262": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3263": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3264": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3265": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP4", + "path": "17" + }, + "3266": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "MUL", + "path": "17" + }, + "3267": { + "op": "PUSH24", + "value": "0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF" + }, + "3292": { + "op": "NOT" + }, + "3293": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3294": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP5", + "path": "17" + }, + "3295": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3296": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3297": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3298": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3299": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3300": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3301": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3302": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SSTORE", + "path": "17" + }, + "3303": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP12", + "path": "17" + }, + "3304": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP7", + "path": "17" + }, + "3305": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3306": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17581 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3308": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP1", + "path": "17" + }, + "3309": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP5", + "path": "17" + }, + "3310": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3311": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP3", + "path": "17" + }, + "3312": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP6", + "path": "17" + }, + "3313": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "KECCAK256", + "path": "17" + }, + "3314": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "DUP1", + "path": "17", + "statement": 52 + }, + "3315": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "SLOAD", + "path": "17" + }, + "3316": { + "op": "PUSH1", + "value": "0xFF" + }, + "3318": { + "op": "PUSH1", + "value": "0xE0" + }, + "3320": { + "op": "SHL" + }, + "3321": { + "op": "NOT" + }, + "3322": { + "fn": "ERC721A._burn", + "offset": [ + 17671, + 17686 + ], + "op": "TIMESTAMP", + "path": "17", + "statement": 53 + }, + "3323": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3324": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP4", + "path": "17" + }, + "3325": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3326": { + "op": "PUSH1", + "value": "0x1" + }, + "3328": { + "op": "PUSH1", + "value": "0xA0" + }, + "3330": { + "op": "SHL" + }, + "3331": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "MUL", + "path": "17" + }, + "3332": { + "op": "PUSH1", + "value": "0x1" + }, + "3334": { + "op": "PUSH1", + "value": "0x1" + }, + "3336": { + "op": "PUSH1", + "value": "0xE0" + }, + "3338": { + "op": "SHL" + }, + "3339": { + "op": "SUB" + }, + "3340": { + "op": "NOT" + }, + "3341": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3342": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP2", + "path": "17" + }, + "3343": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3344": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3345": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP8", + "path": "17" + }, + "3346": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3347": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3348": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3349": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3350": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3351": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "AND", + "path": "17", + "statement": 54 + }, + "3352": { + "op": "PUSH1", + "value": "0x1" + }, + "3354": { + "op": "PUSH1", + "value": "0xE0" + }, + "3356": { + "op": "SHL" + }, + "3357": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "OR", + "path": "17" + }, + "3358": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "DUP6", + "path": "17" + }, + "3359": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "SSTORE", + "path": "17" + }, + "3360": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "SWAP2", + "path": "17" + }, + "3361": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "DUP10", + "path": "17" + }, + "3362": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "ADD", + "path": "17" + }, + "3363": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP1", + "path": "17" + }, + "3364": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP5", + "path": "17" + }, + "3365": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "MSTORE", + "path": "17" + }, + "3366": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP3", + "path": "17" + }, + "3367": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "KECCAK256", + "path": "17" + }, + "3368": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "DUP1", + "path": "17" + }, + "3369": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "SLOAD", + "path": "17" + }, + "3370": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP2", + "path": "17" + }, + "3371": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP5", + "path": "17" + }, + "3372": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP1", + "path": "17" + }, + "3373": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP2", + "path": "17" + }, + "3374": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "AND", + "path": "17" + }, + "3375": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD6C" + }, + "3378": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "JUMPI", + "path": "17" + }, + "3379": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3381": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "SLOAD", + "path": "17" + }, + "3382": { + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18293 + ], + "op": "DUP3", + "path": "17" + }, + "3383": { + "branch": 101, + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18310 + ], + "op": "EQ", + "path": "17" + }, + "3384": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD6C" + }, + "3387": { + "branch": 101, + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPI", + "path": "17" + }, + "3388": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP1", + "path": "17", + "statement": 55 + }, + "3389": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "SLOAD", + "path": "17" + }, + "3390": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "PUSH1", + "path": "17", + "statement": 56, + "value": "0x20" + }, + "3392": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "DUP8", + "path": "17" + }, + "3393": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "ADD", + "path": "17" + }, + "3394": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "MLOAD", + "path": "17" + }, + "3395": { + "op": "PUSH1", + "value": "0x1" + }, + "3397": { + "op": "PUSH1", + "value": "0x1" + }, + "3399": { + "op": "PUSH1", + "value": "0x40" + }, + "3401": { + "op": "SHL" + }, + "3402": { + "op": "SUB" + }, + "3403": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "3404": { + "op": "PUSH1", + "value": "0x1" + }, + "3406": { + "op": "PUSH1", + "value": "0xA0" + }, + "3408": { + "op": "SHL" + }, + "3409": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "MUL", + "path": "17" + }, + "3410": { + "op": "PUSH1", + "value": "0x1" + }, + "3412": { + "op": "PUSH1", + "value": "0x1" + }, + "3414": { + "op": "PUSH1", + "value": "0xE0" + }, + "3416": { + "op": "SHL" + }, + "3417": { + "op": "SUB" + }, + "3418": { + "op": "NOT" + }, + "3419": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP1", + "path": "17" + }, + "3420": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP2", + "path": "17" + }, + "3421": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "3422": { + "op": "PUSH1", + "value": "0x1" + }, + "3424": { + "op": "PUSH1", + "value": "0x1" + }, + "3426": { + "op": "PUSH1", + "value": "0xA0" + }, + "3428": { + "op": "SHL" + }, + "3429": { + "op": "SUB" + }, + "3430": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP8", + "path": "17" + }, + "3431": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "AND", + "path": "17" + }, + "3432": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "3433": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "3434": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "DUP2", + "path": "17" + }, + "3435": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SSTORE", + "path": "17" + }, + "3436": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3437": { + "op": "POP" + }, + "3438": { + "op": "POP" + }, + "3439": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH1", + "path": "17", + "statement": 57, + "value": "0x40" + }, + "3441": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "MLOAD", + "path": "17" + }, + "3442": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "DUP7", + "path": "17" + }, + "3443": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "SWAP3", + "path": "17" + }, + "3444": { + "op": "POP" + }, + "3445": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3447": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP2", + "path": "17" + }, + "3448": { + "op": "POP" + }, + "3449": { + "op": "PUSH1", + "value": "0x1" + }, + "3451": { + "op": "PUSH1", + "value": "0x1" + }, + "3453": { + "op": "PUSH1", + "value": "0xA0" + }, + "3455": { + "op": "SHL" + }, + "3456": { + "op": "SUB" + }, + "3457": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "DUP5", + "path": "17" + }, + "3458": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "AND", + "path": "17" + }, + "3459": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "3460": { + "op": "PUSH1", + "value": "0x0" + }, + "3462": { + "op": "DUP1" + }, + "3463": { + "op": "MLOAD" + }, + "3464": { + "op": "PUSH1", + "value": "0x20" + }, + "3466": { + "op": "PUSH2", + "value": "0x17E5" + }, + "3469": { + "op": "DUP4" + }, + "3470": { + "op": "CODECOPY" + }, + "3471": { + "op": "DUP2" + }, + "3472": { + "op": "MLOAD" + }, + "3473": { + "op": "SWAP2" + }, + "3474": { + "op": "MSTORE" + }, + "3475": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "3476": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "DUP4", + "path": "17" + }, + "3477": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP1", + "path": "17" + }, + "3478": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "LOG4", + "path": "17" + }, + "3479": { + "op": "POP" + }, + "3480": { + "op": "POP" + }, + "3481": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18718 + ], + "op": "PUSH1", + "path": "17", + "statement": 58, + "value": "0x1" + }, + "3483": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP1", + "path": "17" + }, + "3484": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SLOAD", + "path": "17" + }, + "3485": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP2", + "path": "17" + }, + "3486": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "ADD", + "path": "17" + }, + "3487": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SWAP1", + "path": "17" + }, + "3488": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SSTORE", + "path": "17" + }, + "3489": { + "op": "POP" + }, + "3490": { + "op": "POP" + }, + "3491": { + "fn": "ERC721A._burn", + "jump": "o", + "offset": [ + 16414, + 18737 + ], + "op": "JUMP", + "path": "17" + }, + "3492": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3493": { + "op": "PUSH1", + "value": "0x40" + }, + "3495": { + "op": "DUP1" + }, + "3496": { + "op": "MLOAD" + }, + "3497": { + "op": "PUSH1", + "value": "0x60" + }, + "3499": { + "op": "DUP2" + }, + "3500": { + "op": "ADD" + }, + "3501": { + "op": "DUP3" + }, + "3502": { + "op": "MSTORE" + }, + "3503": { + "op": "PUSH1", + "value": "0x0" + }, + "3505": { + "op": "DUP1" + }, + "3506": { + "op": "DUP3" + }, + "3507": { + "op": "MSTORE" + }, + "3508": { + "op": "PUSH1", + "value": "0x20" + }, + "3510": { + "op": "DUP3" + }, + "3511": { + "op": "ADD" + }, + "3512": { + "op": "DUP2" + }, + "3513": { + "op": "SWAP1" + }, + "3514": { + "op": "MSTORE" + }, + "3515": { + "op": "SWAP2" + }, + "3516": { + "op": "DUP2" + }, + "3517": { + "op": "ADD" + }, + "3518": { + "op": "SWAP2" + }, + "3519": { + "op": "SWAP1" + }, + "3520": { + "op": "SWAP2" + }, + "3521": { + "op": "MSTORE" + }, + "3522": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP2", + "path": "17" + }, + "3523": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3525": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "SLOAD", + "path": "17" + }, + "3526": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5293 + ], + "op": "DUP2", + "path": "17" + }, + "3527": { + "branch": 102, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5309 + ], + "op": "LT", + "path": "17" + }, + "3528": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "ISZERO", + "path": "17" + }, + "3529": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEA5" + }, + "3532": { + "branch": 102, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "3533": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5364 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3535": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3536": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3537": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3538": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3540": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3542": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3543": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3544": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3545": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3547": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3548": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3549": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3550": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "KECCAK256", + "path": "17" + }, + "3551": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3552": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MLOAD", + "path": "17" + }, + "3553": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3555": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3556": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3557": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP5", + "path": "17" + }, + "3558": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3559": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3560": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SLOAD", + "path": "17" + }, + "3561": { + "op": "PUSH1", + "value": "0x1" + }, + "3563": { + "op": "PUSH1", + "value": "0x1" + }, + "3565": { + "op": "PUSH1", + "value": "0xA0" + }, + "3567": { + "op": "SHL" + }, + "3568": { + "op": "SUB" + }, + "3569": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3570": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3571": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3572": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3573": { + "op": "PUSH1", + "value": "0x1" + }, + "3575": { + "op": "PUSH1", + "value": "0xA0" + }, + "3577": { + "op": "SHL" + }, + "3578": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3579": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3580": { + "op": "PUSH1", + "value": "0x1" + }, + "3582": { + "op": "PUSH1", + "value": "0x1" + }, + "3584": { + "op": "PUSH1", + "value": "0x40" + }, + "3586": { + "op": "SHL" + }, + "3587": { + "op": "SUB" + }, + "3588": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3589": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3590": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3591": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3592": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3593": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3594": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3595": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3596": { + "op": "PUSH1", + "value": "0x1" + }, + "3598": { + "op": "PUSH1", + "value": "0xE0" + }, + "3600": { + "op": "SHL" + }, + "3601": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3602": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3603": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3604": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3606": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3607": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3608": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3609": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3610": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3611": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3612": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3613": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3614": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3615": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3616": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEA3" + }, + "3619": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "JUMPI", + "path": "17" + }, + "3620": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "DUP1", + "path": "17" + }, + "3621": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "MLOAD", + "path": "17" + }, + "3622": { + "op": "PUSH1", + "value": "0x1" + }, + "3624": { + "op": "PUSH1", + "value": "0x1" + }, + "3626": { + "op": "PUSH1", + "value": "0xA0" + }, + "3628": { + "op": "SHL" + }, + "3629": { + "op": "SUB" + }, + "3630": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "AND", + "path": "17" + }, + "3631": { + "branch": 103, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "ISZERO", + "path": "17" + }, + "3632": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE3A" + }, + "3635": { + "branch": 103, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPI", + "path": "17" + }, + "3636": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5526, + 5535 + ], + "op": "SWAP4", + "path": "17", + "statement": 59 + }, + "3637": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3638": { + "op": "POP" + }, + "3639": { + "op": "POP" + }, + "3640": { + "op": "POP" + }, + "3641": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3642": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3643": { + "op": "POP" + }, + "3644": { + "op": "PUSH1", + "value": "0x0" + }, + "3646": { + "op": "NOT" + }, + "3647": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5922, + 5928 + ], + "op": "ADD", + "path": "17", + "statement": 60 + }, + "3648": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "statement": 61, + "value": "0x0" + }, + "3650": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3651": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3652": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3653": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5981 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3655": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3657": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3658": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3659": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3660": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3662": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP2", + "path": "17" + }, + "3663": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3664": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3665": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "KECCAK256", + "path": "17" + }, + "3666": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3667": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MLOAD", + "path": "17" + }, + "3668": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3670": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3671": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3672": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP5", + "path": "17" + }, + "3673": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3674": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3675": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SLOAD", + "path": "17" + }, + "3676": { + "op": "PUSH1", + "value": "0x1" + }, + "3678": { + "op": "PUSH1", + "value": "0x1" + }, + "3680": { + "op": "PUSH1", + "value": "0xA0" + }, + "3682": { + "op": "SHL" + }, + "3683": { + "op": "SUB" + }, + "3684": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3685": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3686": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP1", + "path": "17" + }, + "3687": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3688": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3689": { + "op": "PUSH1", + "value": "0x1" + }, + "3691": { + "op": "PUSH1", + "value": "0xA0" + }, + "3693": { + "op": "SHL" + }, + "3694": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3695": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3696": { + "op": "PUSH1", + "value": "0x1" + }, + "3698": { + "op": "PUSH1", + "value": "0x1" + }, + "3700": { + "op": "PUSH1", + "value": "0x40" + }, + "3702": { + "op": "SHL" + }, + "3703": { + "op": "SUB" + }, + "3704": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3705": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3706": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3707": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3708": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3709": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3710": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3711": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3712": { + "op": "PUSH1", + "value": "0x1" + }, + "3714": { + "op": "PUSH1", + "value": "0xE0" + }, + "3716": { + "op": "SHL" + }, + "3717": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3718": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3719": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3721": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3722": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3723": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3724": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3725": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3726": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3727": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3728": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3729": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3730": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3731": { + "branch": 104, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6021, + 6049 + ], + "op": "ISZERO", + "path": "17" + }, + "3732": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE9E" + }, + "3735": { + "branch": 104, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPI", + "path": "17" + }, + "3736": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6092, + 6101 + ], + "op": "SWAP4", + "path": "17", + "statement": 62 + }, + "3737": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3738": { + "op": "POP" + }, + "3739": { + "op": "POP" + }, + "3740": { + "op": "POP" + }, + "3741": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3742": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3743": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE3A" + }, + "3746": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMP", + "path": "17" + }, + "3747": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3748": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5311, + 6198 + ], + "op": "POP", + "path": "17" + }, + "3749": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3750": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3752": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3753": { + "op": "PUSH4", + "value": "0x6F96CDA1" + }, + "3758": { + "op": "PUSH1", + "value": "0xE1" + }, + "3760": { + "op": "SHL" + }, + "3761": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP2", + "path": "17" + }, + "3762": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MSTORE", + "path": "17" + }, + "3763": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3765": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "ADD", + "path": "17" + }, + "3766": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3768": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3769": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP1", + "path": "17" + }, + "3770": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP2", + "path": "17" + }, + "3771": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SUB", + "path": "17" + }, + "3772": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP1", + "path": "17" + }, + "3773": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "REVERT", + "path": "17" + }, + "3774": { + "fn": "ERC721A._safeMint", + "offset": [ + 10174, + 10276 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3775": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH2", + "path": "17", + "statement": 63, + "value": "0x6DC" + }, + "3778": { + "fn": "ERC721A._safeMint", + "offset": [ + 10252, + 10254 + ], + "op": "DUP3", + "path": "17" + }, + "3779": { + "fn": "ERC721A._safeMint", + "offset": [ + 10256, + 10264 + ], + "op": "DUP3", + "path": "17" + }, + "3780": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3782": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MLOAD", + "path": "17" + }, + "3783": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "3784": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3786": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "ADD", + "path": "17" + }, + "3787": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3789": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "3790": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "3791": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3793": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP2", + "path": "17" + }, + "3794": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "3795": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "POP", + "path": "17" + }, + "3796": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10251 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1167" + }, + "3799": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 10242, + 10269 + ], + "op": "JUMP", + "path": "17" + }, + "3800": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3801": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3803": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3804": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "3809": { + "op": "PUSH1", + "value": "0xE1" + }, + "3811": { + "op": "SHL" + }, + "3812": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3813": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "3814": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3816": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "SWAP1", + "path": "17" + }, + "3817": { + "op": "PUSH1", + "value": "0x1" + }, + "3819": { + "op": "PUSH1", + "value": "0x1" + }, + "3821": { + "op": "PUSH1", + "value": "0xA0" + }, + "3823": { + "op": "SHL" + }, + "3824": { + "op": "SUB" + }, + "3825": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "DUP6", + "path": "17" + }, + "3826": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "AND", + "path": "17" + }, + "3827": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "3828": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "PUSH4", + "path": "17", + "value": "0x150B7A02" + }, + "3833": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "3834": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF0D" + }, + "3837": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3838": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3839": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP1", + "path": "5" + }, + "3840": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "DUP10", + "path": "17" + }, + "3841": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "SWAP1", + "path": "17" + }, + "3842": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "DUP9", + "path": "17" + }, + "3843": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "SWAP1", + "path": "17" + }, + "3844": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "DUP9", + "path": "17" + }, + "3845": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "SWAP1", + "path": "17" + }, + "3846": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3848": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3849": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x167D" + }, + "3852": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "3853": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3854": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3856": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3858": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3859": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3860": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP4", + "path": "17" + }, + "3861": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SUB", + "path": "17" + }, + "3862": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3863": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3865": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP8", + "path": "17" + }, + "3866": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "GAS", + "path": "17" + }, + "3867": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "CALL", + "path": "17" + }, + "3868": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "3869": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3870": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3871": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3872": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3873": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ISZERO", + "path": "17" + }, + "3874": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF48" + }, + "3877": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPI", + "path": "17" + }, + "3878": { + "op": "POP" + }, + "3879": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3881": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3882": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3883": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "3885": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3886": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3887": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3888": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3889": { + "op": "PUSH1", + "value": "0x1F" + }, + "3891": { + "op": "NOT" + }, + "3892": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "AND", + "path": "17" + }, + "3893": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP3", + "path": "17" + }, + "3894": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3895": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3896": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "3897": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "3898": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF45" + }, + "3901": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP2", + "path": "17" + }, + "3902": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3903": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3904": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3905": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16BA" + }, + "3908": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "3909": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3910": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3912": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3913": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFA6" + }, + "3916": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "3917": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3918": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "3919": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "3920": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ISZERO", + "path": "17" + }, + "3921": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF76" + }, + "3924": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "3925": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3927": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MLOAD", + "path": "17" + }, + "3928": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "3929": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "3930": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "3932": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "NOT", + "path": "17" + }, + "3933": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x3F" + }, + "3935": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3936": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "3937": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "AND", + "path": "17" + }, + "3938": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "3939": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "3940": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3942": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "3943": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3944": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "3945": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "3946": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3947": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3949": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3951": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP5", + "path": "17" + }, + "3952": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "3953": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATACOPY", + "path": "17" + }, + "3954": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF7B" + }, + "3957": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMP", + "path": "17" + }, + "3958": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3959": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3961": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "3962": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "3963": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3964": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "3965": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19933 + ], + "op": "DUP1", + "path": "17", + "statement": 64 + }, + "3966": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19940 + ], + "op": "MLOAD", + "path": "17" + }, + "3967": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19944, + 19945 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3969": { + "branch": 105, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19945 + ], + "op": "SUB", + "path": "17" + }, + "3970": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF9E" + }, + "3973": { + "branch": 105, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPI", + "path": "17" + }, + "3974": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3976": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "3977": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "3982": { + "op": "PUSH1", + "value": "0xE1" + }, + "3984": { + "op": "SHL" + }, + "3985": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP2", + "path": "17" + }, + "3986": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MSTORE", + "path": "17" + }, + "3987": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3989": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "ADD", + "path": "17" + }, + "3990": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3992": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "3993": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP1", + "path": "17" + }, + "3994": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP2", + "path": "17" + }, + "3995": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SUB", + "path": "17" + }, + "3996": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP1", + "path": "17" + }, + "3997": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "REVERT", + "path": "17" + }, + "3998": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3999": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20112, + 20118 + ], + "op": "DUP1", + "path": "17" + }, + "4000": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20106, + 20119 + ], + "op": "MLOAD", + "path": "17" + }, + "4001": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20097, + 20103 + ], + "op": "DUP2", + "path": "17" + }, + "4002": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20093, + 20095 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4004": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20089, + 20104 + ], + "op": "ADD", + "path": "17" + }, + "4005": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20082, + 20120 + ], + "op": "REVERT", + "path": "17" + }, + "4006": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4007": { + "op": "PUSH1", + "value": "0x1" + }, + "4009": { + "op": "PUSH1", + "value": "0x1" + }, + "4011": { + "op": "PUSH1", + "value": "0xE0" + }, + "4013": { + "op": "SHL" + }, + "4014": { + "op": "SUB" + }, + "4015": { + "op": "NOT" + }, + "4016": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "AND", + "path": "17", + "statement": 65 + }, + "4017": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "4022": { + "op": "PUSH1", + "value": "0xE1" + }, + "4024": { + "op": "SHL" + }, + "4025": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "EQ", + "path": "17" + }, + "4026": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "SWAP1", + "path": "17" + }, + "4027": { + "op": "POP" + }, + "4028": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP5", + "path": "17" + }, + "4029": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP4", + "path": "17" + }, + "4030": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4031": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4032": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4033": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4034": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "o", + "offset": [ + 19518, + 20168 + ], + "op": "JUMP", + "path": "17" + }, + "4035": { + "fn": "ERC721A._mint", + "offset": [ + 12591, + 13737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4036": { + "fn": "ERC721A._mint", + "offset": [ + 12655, + 12675 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4038": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "SLOAD", + "path": "17" + }, + "4039": { + "op": "PUSH1", + "value": "0x1" + }, + "4041": { + "op": "PUSH1", + "value": "0x1" + }, + "4043": { + "op": "PUSH1", + "value": "0xA0" + }, + "4045": { + "op": "SHL" + }, + "4046": { + "op": "SUB" + }, + "4047": { + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "DUP4", + "path": "17", + "statement": 66 + }, + "4048": { + "branch": 106, + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "AND", + "path": "17" + }, + "4049": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFEC" + }, + "4052": { + "branch": 106, + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPI", + "path": "17" + }, + "4053": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4055": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "4056": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "4060": { + "op": "PUSH1", + "value": "0xE8" + }, + "4062": { + "op": "SHL" + }, + "4063": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP2", + "path": "17" + }, + "4064": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MSTORE", + "path": "17" + }, + "4065": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4067": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "ADD", + "path": "17" + }, + "4068": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4070": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "4071": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP1", + "path": "17" + }, + "4072": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP2", + "path": "17" + }, + "4073": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SUB", + "path": "17" + }, + "4074": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP1", + "path": "17" + }, + "4075": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "REVERT", + "path": "17" + }, + "4076": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4077": { + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12771 + ], + "op": "DUP2", + "path": "17", + "statement": 67 + }, + "4078": { + "fn": "ERC721A._mint", + "offset": [ + 12775, + 12776 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4080": { + "branch": 107, + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12776 + ], + "op": "SUB", + "path": "17" + }, + "4081": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100D" + }, + "4084": { + "branch": 107, + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPI", + "path": "17" + }, + "4085": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4087": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "4088": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "4093": { + "op": "PUSH1", + "value": "0xE0" + }, + "4095": { + "op": "SHL" + }, + "4096": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP2", + "path": "17" + }, + "4097": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MSTORE", + "path": "17" + }, + "4098": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4100": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "ADD", + "path": "17" + }, + "4101": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4103": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "4104": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP1", + "path": "17" + }, + "4105": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP2", + "path": "17" + }, + "4106": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SUB", + "path": "17" + }, + "4107": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP1", + "path": "17" + }, + "4108": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "REVERT", + "path": "17" + }, + "4109": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4110": { + "op": "PUSH1", + "value": "0x1" + }, + "4112": { + "op": "PUSH1", + "value": "0x1" + }, + "4114": { + "op": "PUSH1", + "value": "0xA0" + }, + "4116": { + "op": "SHL" + }, + "4117": { + "op": "SUB" + }, + "4118": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17", + "statement": 68 + }, + "4119": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "AND", + "path": "17" + }, + "4120": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4122": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "4123": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "4124": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "4125": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13158 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "4127": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4129": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "SWAP1", + "path": "17" + }, + "4130": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "4131": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "4132": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4134": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP1", + "path": "17" + }, + "4135": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17" + }, + "4136": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "KECCAK256", + "path": "17" + }, + "4137": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "4138": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SLOAD", + "path": "17" + }, + "4139": { + "op": "PUSH1", + "value": "0x1" + }, + "4141": { + "op": "PUSH1", + "value": "0x1" + }, + "4143": { + "op": "PUSH1", + "value": "0x80" + }, + "4145": { + "op": "SHL" + }, + "4146": { + "op": "SUB" + }, + "4147": { + "op": "NOT" + }, + "4148": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17", + "statement": 69 + }, + "4149": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "4150": { + "op": "PUSH1", + "value": "0x1" + }, + "4152": { + "op": "PUSH1", + "value": "0x1" + }, + "4154": { + "op": "PUSH1", + "value": "0x40" + }, + "4156": { + "op": "SHL" + }, + "4157": { + "op": "SUB" + }, + "4158": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "4159": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP4", + "path": "17" + }, + "4160": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "4161": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP11", + "path": "17" + }, + "4162": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "ADD", + "path": "17" + }, + "4163": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP2", + "path": "17" + }, + "4164": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "4165": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "4166": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP3", + "path": "17" + }, + "4167": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "4168": { + "op": "PUSH1", + "value": "0x1" + }, + "4170": { + "op": "PUSH1", + "value": "0x40" + }, + "4172": { + "op": "SHL" + }, + "4173": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4182": { + "op": "NOT" + }, + "4183": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "4184": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP5", + "path": "17" + }, + "4185": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "4186": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "4187": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP3", + "path": "17" + }, + "4188": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "OR", + "path": "17" + }, + "4189": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP4", + "path": "17" + }, + "4190": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "4191": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DIV", + "path": "17" + }, + "4192": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "4193": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "4194": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP11", + "path": "17" + }, + "4195": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "ADD", + "path": "17" + }, + "4196": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "4197": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "4198": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "4199": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP3", + "path": "17" + }, + "4200": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "MUL", + "path": "17" + }, + "4201": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "4202": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "4203": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "4204": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SSTORE", + "path": "17" + }, + "4205": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP6", + "path": "17", + "statement": 70 + }, + "4206": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP5", + "path": "17" + }, + "4207": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "4208": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13279 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4210": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "4211": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP3", + "path": "17" + }, + "4212": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "4213": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "4214": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP2", + "path": "17" + }, + "4215": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "KECCAK256", + "path": "17" + }, + "4216": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "DUP1", + "path": "17" + }, + "4217": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "SLOAD", + "path": "17" + }, + "4218": { + "op": "PUSH1", + "value": "0x1" + }, + "4220": { + "op": "PUSH1", + "value": "0x1" + }, + "4222": { + "op": "PUSH1", + "value": "0xE0" + }, + "4224": { + "op": "SHL" + }, + "4225": { + "op": "SUB" + }, + "4226": { + "op": "NOT" + }, + "4227": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17", + "statement": 71 + }, + "4228": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4229": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "4230": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "4231": { + "op": "PUSH1", + "value": "0x1" + }, + "4233": { + "op": "PUSH1", + "value": "0xA0" + }, + "4235": { + "op": "SHL" + }, + "4236": { + "fn": "ERC721A._mint", + "offset": [ + 13367, + 13382 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "4237": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4238": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "4239": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17" + }, + "4240": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "4241": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4242": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "4243": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "MUL", + "path": "17" + }, + "4244": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "4245": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4246": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SSTORE", + "path": "17" + }, + "4247": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP1", + "path": "17" + }, + "4248": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP1", + "path": "17" + }, + "4249": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP4", + "path": "17" + }, + "4250": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "ADD", + "path": "17" + }, + "4251": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4252": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH1", + "path": "17", + "statement": 72, + "value": "0x40" + }, + "4254": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "MLOAD", + "path": "17" + }, + "4255": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4257": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "DUP4", + "path": "17" + }, + "4258": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "ADD", + "path": "17" + }, + "4259": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP3", + "path": "17" + }, + "4260": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP1", + "path": "17" + }, + "4261": { + "op": "PUSH1", + "value": "0x1" + }, + "4263": { + "op": "PUSH1", + "value": "0x1" + }, + "4265": { + "op": "PUSH1", + "value": "0xA0" + }, + "4267": { + "op": "SHL" + }, + "4268": { + "op": "SUB" + }, + "4269": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "DUP8", + "path": "17" + }, + "4270": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "AND", + "path": "17" + }, + "4271": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "4272": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4274": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "4275": { + "op": "PUSH1", + "value": "0x0" + }, + "4277": { + "op": "DUP1" + }, + "4278": { + "op": "MLOAD" + }, + "4279": { + "op": "PUSH1", + "value": "0x20" + }, + "4281": { + "op": "PUSH2", + "value": "0x17E5" + }, + "4284": { + "op": "DUP4" + }, + "4285": { + "op": "CODECOPY" + }, + "4286": { + "op": "DUP2" + }, + "4287": { + "op": "MLOAD" + }, + "4288": { + "op": "SWAP2" + }, + "4289": { + "op": "MSTORE" + }, + "4290": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "4291": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "DUP3", + "path": "17" + }, + "4292": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "4293": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "LOG4", + "path": "17" + }, + "4294": { + "fn": "ERC721A._mint", + "offset": [ + 13603, + 13606 + ], + "op": "DUP1", + "path": "17" + }, + "4295": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13600 + ], + "op": "DUP3", + "path": "17" + }, + "4296": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13606 + ], + "op": "LT", + "path": "17" + }, + "4297": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "PUSH2", + "path": "17", + "value": "0x109B" + }, + "4300": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPI", + "path": "17" + }, + "4301": { + "op": "POP" + }, + "4302": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13635 + ], + "op": "PUSH1", + "path": "17", + "statement": 73, + "value": "0x0" + }, + "4304": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13650 + ], + "op": "SSTORE", + "path": "17" + }, + "4305": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4306": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4307": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4308": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "4309": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1614, + 1920 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4310": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "DUP1", + "path": "18", + "statement": 74 + }, + "4311": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "MLOAD", + "path": "18" + }, + "4312": { + "branch": 115, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1737 + ], + "op": "ISZERO", + "path": "18" + }, + "4313": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1116" + }, + "4316": { + "branch": 115, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPI", + "path": "18" + }, + "4317": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4319": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MLOAD", + "path": "18" + }, + "4320": { + "op": "PUSH4", + "value": "0x193C4E6D" + }, + "4325": { + "op": "PUSH1", + "value": "0xE3" + }, + "4327": { + "op": "SHL" + }, + "4328": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP2", + "path": "18" + }, + "4329": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MSTORE", + "path": "18" + }, + "4330": { + "op": "PUSH1", + "value": "0x20" + }, + "4332": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "4334": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP3", + "path": "18" + }, + "4335": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "ADD", + "path": "18" + }, + "4336": { + "op": "MSTORE" + }, + "4337": { + "op": "PUSH1", + "value": "0xE" + }, + "4339": { + "op": "PUSH1", + "value": "0x24" + }, + "4341": { + "op": "DUP3" + }, + "4342": { + "op": "ADD" + }, + "4343": { + "op": "MSTORE" + }, + "4344": { + "op": "PUSH14", + "value": "0x656D70747920746F6B656E555249" + }, + "4359": { + "op": "PUSH1", + "value": "0x90" + }, + "4361": { + "op": "SHL" + }, + "4362": { + "op": "PUSH1", + "value": "0x44" + }, + "4364": { + "op": "DUP3" + }, + "4365": { + "op": "ADD" + }, + "4366": { + "op": "MSTORE" + }, + "4367": { + "op": "PUSH1", + "value": "0x64" + }, + "4369": { + "op": "ADD" + }, + "4370": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0x910" + }, + "4373": { + "op": "JUMP" + }, + "4374": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4375": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "statement": 75, + "value": "0x0" + }, + "4377": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP3", + "path": "18" + }, + "4378": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP2", + "path": "18" + }, + "4379": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "4380": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1813 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "4382": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "4384": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "4385": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4387": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "SWAP1", + "path": "18" + }, + "4388": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "KECCAK256", + "path": "18" + }, + "4389": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "DUP1", + "path": "18" + }, + "4390": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SLOAD", + "path": "18" + }, + "4391": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x112F" + }, + "4394": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SWAP1", + "path": "18" + }, + "4395": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1614" + }, + "4398": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1797, + 1830 + ], + "op": "JUMP", + "path": "18" + }, + "4399": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4400": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "ISZERO", + "path": "18" + }, + "4401": { + "branch": 116, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "SWAP1", + "path": "18" + }, + "4402": { + "op": "POP" + }, + "4403": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "PUSH2", + "path": "18", + "value": "0x114F" + }, + "4406": { + "branch": 116, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPI", + "path": "18" + }, + "4407": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4409": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "4410": { + "op": "PUSH4", + "value": "0x162134B" + }, + "4415": { + "op": "PUSH1", + "value": "0xE1" + }, + "4417": { + "op": "SHL" + }, + "4418": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP2", + "path": "18" + }, + "4419": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MSTORE", + "path": "18" + }, + "4420": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "4422": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "ADD", + "path": "18" + }, + "4423": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4425": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "4426": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP1", + "path": "18" + }, + "4427": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP2", + "path": "18" + }, + "4428": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SUB", + "path": "18" + }, + "4429": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP1", + "path": "18" + }, + "4430": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "REVERT", + "path": "18" + }, + "4431": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4432": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "statement": 76, + "value": "0x0" + }, + "4434": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "4435": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP2", + "path": "18" + }, + "4436": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "4437": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1892 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "4439": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "4441": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "4442": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4444": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "SWAP1", + "path": "18" + }, + "4445": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "KECCAK256", + "path": "18" + }, + "4446": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x61F" + }, + "4449": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1904, + 1913 + ], + "op": "DUP3", + "path": "18" + }, + "4450": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "4451": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1725" + }, + "4454": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1882, + 1913 + ], + "op": "JUMP", + "path": "18" + }, + "4455": { + "fn": "ERC721A._safeMint", + "offset": [ + 10636, + 12344 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4456": { + "fn": "ERC721A._safeMint", + "offset": [ + 10754, + 10774 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4458": { + "fn": "ERC721A._safeMint", + "offset": [ + 10777, + 10790 + ], + "op": "SLOAD", + "path": "17" + }, + "4459": { + "op": "PUSH1", + "value": "0x1" + }, + "4461": { + "op": "PUSH1", + "value": "0x1" + }, + "4463": { + "op": "PUSH1", + "value": "0xA0" + }, + "4465": { + "op": "SHL" + }, + "4466": { + "op": "SUB" + }, + "4467": { + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "DUP5", + "path": "17", + "statement": 77 + }, + "4468": { + "branch": 108, + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "AND", + "path": "17" + }, + "4469": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1190" + }, + "4472": { + "branch": 108, + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPI", + "path": "17" + }, + "4473": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4475": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "4476": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "4480": { + "op": "PUSH1", + "value": "0xE8" + }, + "4482": { + "op": "SHL" + }, + "4483": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP2", + "path": "17" + }, + "4484": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MSTORE", + "path": "17" + }, + "4485": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4487": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "ADD", + "path": "17" + }, + "4488": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4490": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "4491": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP1", + "path": "17" + }, + "4492": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP2", + "path": "17" + }, + "4493": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SUB", + "path": "17" + }, + "4494": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP1", + "path": "17" + }, + "4495": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "REVERT", + "path": "17" + }, + "4496": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4497": { + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10870 + ], + "op": "DUP3", + "path": "17", + "statement": 78 + }, + "4498": { + "fn": "ERC721A._safeMint", + "offset": [ + 10874, + 10875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4500": { + "branch": 109, + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10875 + ], + "op": "SUB", + "path": "17" + }, + "4501": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "PUSH2", + "path": "17", + "value": "0x11B1" + }, + "4504": { + "branch": 109, + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPI", + "path": "17" + }, + "4505": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4507": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "4508": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "4513": { + "op": "PUSH1", + "value": "0xE0" + }, + "4515": { + "op": "SHL" + }, + "4516": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP2", + "path": "17" + }, + "4517": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MSTORE", + "path": "17" + }, + "4518": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4520": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "ADD", + "path": "17" + }, + "4521": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4523": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "4524": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP1", + "path": "17" + }, + "4525": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP2", + "path": "17" + }, + "4526": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SUB", + "path": "17" + }, + "4527": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP1", + "path": "17" + }, + "4528": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "REVERT", + "path": "17" + }, + "4529": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4530": { + "op": "PUSH1", + "value": "0x1" + }, + "4532": { + "op": "PUSH1", + "value": "0x1" + }, + "4534": { + "op": "PUSH1", + "value": "0xA0" + }, + "4536": { + "op": "SHL" + }, + "4537": { + "op": "SUB" + }, + "4538": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP5", + "path": "17", + "statement": 79 + }, + "4539": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "AND", + "path": "17" + }, + "4540": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4542": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "4543": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "4544": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "4545": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11257 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "4547": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4549": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "SWAP1", + "path": "17" + }, + "4550": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "4551": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "4552": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4554": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP1", + "path": "17" + }, + "4555": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP4", + "path": "17" + }, + "4556": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "KECCAK256", + "path": "17" + }, + "4557": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "4558": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SLOAD", + "path": "17" + }, + "4559": { + "op": "PUSH1", + "value": "0x1" + }, + "4561": { + "op": "PUSH1", + "value": "0x1" + }, + "4563": { + "op": "PUSH1", + "value": "0x80" + }, + "4565": { + "op": "SHL" + }, + "4566": { + "op": "SUB" + }, + "4567": { + "op": "NOT" + }, + "4568": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17", + "statement": 80 + }, + "4569": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "4570": { + "op": "PUSH1", + "value": "0x1" + }, + "4572": { + "op": "PUSH1", + "value": "0x1" + }, + "4574": { + "op": "PUSH1", + "value": "0x40" + }, + "4576": { + "op": "SHL" + }, + "4577": { + "op": "SUB" + }, + "4578": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "4579": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP4", + "path": "17" + }, + "4580": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "4581": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP12", + "path": "17" + }, + "4582": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "ADD", + "path": "17" + }, + "4583": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP2", + "path": "17" + }, + "4584": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "4585": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "4586": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP3", + "path": "17" + }, + "4587": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "4588": { + "op": "PUSH1", + "value": "0x1" + }, + "4590": { + "op": "PUSH1", + "value": "0x40" + }, + "4592": { + "op": "SHL" + }, + "4593": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4602": { + "op": "NOT" + }, + "4603": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "4604": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP5", + "path": "17" + }, + "4605": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "4606": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "4607": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP3", + "path": "17" + }, + "4608": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "OR", + "path": "17" + }, + "4609": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP4", + "path": "17" + }, + "4610": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "4611": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DIV", + "path": "17" + }, + "4612": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "4613": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "4614": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP12", + "path": "17" + }, + "4615": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "ADD", + "path": "17" + }, + "4616": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "4617": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "4618": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "4619": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP3", + "path": "17" + }, + "4620": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "MUL", + "path": "17" + }, + "4621": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "4622": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "4623": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "4624": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SSTORE", + "path": "17" + }, + "4625": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP6", + "path": "17", + "statement": 81 + }, + "4626": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP5", + "path": "17" + }, + "4627": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "4628": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4630": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "4631": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP3", + "path": "17" + }, + "4632": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "4633": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "4634": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP2", + "path": "17" + }, + "4635": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "KECCAK256", + "path": "17" + }, + "4636": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "DUP1", + "path": "17" + }, + "4637": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "SLOAD", + "path": "17" + }, + "4638": { + "op": "PUSH1", + "value": "0x1" + }, + "4640": { + "op": "PUSH1", + "value": "0x1" + }, + "4642": { + "op": "PUSH1", + "value": "0xE0" + }, + "4644": { + "op": "SHL" + }, + "4645": { + "op": "SUB" + }, + "4646": { + "op": "NOT" + }, + "4647": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17", + "statement": 82 + }, + "4648": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "DUP4", + "path": "17" + }, + "4649": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "4650": { + "op": "PUSH1", + "value": "0x1" + }, + "4652": { + "op": "PUSH1", + "value": "0xA0" + }, + "4654": { + "op": "SHL" + }, + "4655": { + "fn": "ERC721A._safeMint", + "offset": [ + 11466, + 11481 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "4656": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4657": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP4", + "path": "17" + }, + "4658": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17" + }, + "4659": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "4660": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4661": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "4662": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "MUL", + "path": "17" + }, + "4663": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "4664": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4665": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "4666": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "4667": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4668": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SSTORE", + "path": "17" + }, + "4669": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP2", + "path": "17" + }, + "4670": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "4671": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP2", + "path": "17" + }, + "4672": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP6", + "path": "17" + }, + "4673": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "ADD", + "path": "17" + }, + "4674": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "SWAP1", + "path": "17" + }, + "4675": { + "op": "EXTCODESIZE" + }, + "4676": { + "op": "ISZERO" + }, + "4677": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12B9" + }, + "4680": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPI", + "path": "17" + }, + "4681": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4682": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "PUSH1", + "path": "17", + "statement": 83, + "value": "0x40" + }, + "4684": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "MLOAD", + "path": "17" + }, + "4685": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "DUP3", + "path": "17" + }, + "4686": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "SWAP1", + "path": "17" + }, + "4687": { + "op": "PUSH1", + "value": "0x1" + }, + "4689": { + "op": "PUSH1", + "value": "0x1" + }, + "4691": { + "op": "PUSH1", + "value": "0xA0" + }, + "4693": { + "op": "SHL" + }, + "4694": { + "op": "SUB" + }, + "4695": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "DUP9", + "path": "17" + }, + "4696": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "AND", + "path": "17" + }, + "4697": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "4698": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4700": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "4701": { + "op": "PUSH1", + "value": "0x0" + }, + "4703": { + "op": "DUP1" + }, + "4704": { + "op": "MLOAD" + }, + "4705": { + "op": "PUSH1", + "value": "0x20" + }, + "4707": { + "op": "PUSH2", + "value": "0x17E5" + }, + "4710": { + "op": "DUP4" + }, + "4711": { + "op": "CODECOPY" + }, + "4712": { + "op": "DUP2" + }, + "4713": { + "op": "MLOAD" + }, + "4714": { + "op": "SWAP2" + }, + "4715": { + "op": "MSTORE" + }, + "4716": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "4717": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "DUP3", + "path": "17" + }, + "4718": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "4719": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "LOG4", + "path": "17" + }, + "4720": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "PUSH2", + "path": "17", + "statement": 84, + "value": "0x1282" + }, + "4723": { + "fn": "ERC721A._safeMint", + "offset": [ + 11771, + 11772 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4725": { + "fn": "ERC721A._safeMint", + "offset": [ + 11775, + 11777 + ], + "op": "DUP8", + "path": "17" + }, + "4726": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP5", + "path": "17" + }, + "4727": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP1", + "path": "17" + }, + "4728": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4730": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "ADD", + "path": "17" + }, + "4731": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "SWAP6", + "path": "17" + }, + "4732": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "POP", + "path": "17" + }, + "4733": { + "fn": "ERC721A._safeMint", + "offset": [ + 11795, + 11800 + ], + "op": "DUP8", + "path": "17" + }, + "4734": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11762 + ], + "op": "PUSH2", + "path": "17", + "value": "0xED8" + }, + "4737": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 11732, + 11801 + ], + "op": "JUMP", + "path": "17" + }, + "4738": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4739": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "PUSH2", + "path": "17", + "value": "0x129F" + }, + "4742": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPI", + "path": "17" + }, + "4743": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4745": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "4746": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "4751": { + "op": "PUSH1", + "value": "0xE1" + }, + "4753": { + "op": "SHL" + }, + "4754": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP2", + "path": "17" + }, + "4755": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MSTORE", + "path": "17" + }, + "4756": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4758": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "ADD", + "path": "17" + }, + "4759": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4761": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "4762": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP1", + "path": "17" + }, + "4763": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP2", + "path": "17" + }, + "4764": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SUB", + "path": "17" + }, + "4765": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP1", + "path": "17" + }, + "4766": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "REVERT", + "path": "17" + }, + "4767": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4768": { + "fn": "ERC721A._safeMint", + "offset": [ + 11940, + 11943 + ], + "op": "DUP1", + "path": "17" + }, + "4769": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11937 + ], + "op": "DUP3", + "path": "17" + }, + "4770": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11943 + ], + "op": "LT", + "path": "17" + }, + "4771": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1249" + }, + "4774": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPI", + "path": "17" + }, + "4775": { + "fn": "ERC721A._safeMint", + "offset": [ + 12024, + 12036 + ], + "op": "DUP3", + "path": "17" + }, + "4776": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4778": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "SLOAD", + "path": "17" + }, + "4779": { + "branch": 111, + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12036 + ], + "op": "EQ", + "path": "17" + }, + "4780": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12B4" + }, + "4783": { + "branch": 111, + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPI", + "path": "17" + }, + "4784": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "PUSH1", + "path": "17", + "statement": 85, + "value": "0x0" + }, + "4786": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "DUP1", + "path": "17" + }, + "4787": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "REVERT", + "path": "17" + }, + "4788": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4789": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12EC" + }, + "4792": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMP", + "path": "17" + }, + "4793": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4794": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4795": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "PUSH1", + "path": "17", + "statement": 86, + "value": "0x40" + }, + "4797": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "MLOAD", + "path": "17" + }, + "4798": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4800": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "DUP4", + "path": "17" + }, + "4801": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "ADD", + "path": "17" + }, + "4802": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP3", + "path": "17" + }, + "4803": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP1", + "path": "17" + }, + "4804": { + "op": "PUSH1", + "value": "0x1" + }, + "4806": { + "op": "PUSH1", + "value": "0x1" + }, + "4808": { + "op": "PUSH1", + "value": "0xA0" + }, + "4810": { + "op": "SHL" + }, + "4811": { + "op": "SUB" + }, + "4812": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "DUP9", + "path": "17" + }, + "4813": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "AND", + "path": "17" + }, + "4814": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "4815": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4817": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "4818": { + "op": "PUSH1", + "value": "0x0" + }, + "4820": { + "op": "DUP1" + }, + "4821": { + "op": "MLOAD" + }, + "4822": { + "op": "PUSH1", + "value": "0x20" + }, + "4824": { + "op": "PUSH2", + "value": "0x17E5" + }, + "4827": { + "op": "DUP4" + }, + "4828": { + "op": "CODECOPY" + }, + "4829": { + "op": "DUP2" + }, + "4830": { + "op": "MLOAD" + }, + "4831": { + "op": "SWAP2" + }, + "4832": { + "op": "MSTORE" + }, + "4833": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "4834": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "DUP3", + "path": "17" + }, + "4835": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "4836": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "LOG4", + "path": "17" + }, + "4837": { + "fn": "ERC721A._safeMint", + "offset": [ + 12197, + 12200 + ], + "op": "DUP1", + "path": "17" + }, + "4838": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12194 + ], + "op": "DUP3", + "path": "17" + }, + "4839": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12200 + ], + "op": "LT", + "path": "17" + }, + "4840": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12BA" + }, + "4843": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPI", + "path": "17" + }, + "4844": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4845": { + "op": "POP" + }, + "4846": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12242 + ], + "op": "PUSH1", + "path": "17", + "statement": 87, + "value": "0x0" + }, + "4848": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SWAP1", + "path": "17" + }, + "4849": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "DUP2", + "path": "17" + }, + "4850": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SSTORE", + "path": "17" + }, + "4851": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "PUSH2", + "path": "17", + "statement": 88, + "value": "0x7B9" + }, + "4854": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "SWAP1", + "path": "17" + }, + "4855": { + "fn": "ERC721A._safeMint", + "offset": [ + 12310, + 12312 + ], + "op": "DUP6", + "path": "17" + }, + "4856": { + "fn": "ERC721A._safeMint", + "offset": [ + 12314, + 12326 + ], + "op": "DUP4", + "path": "17" + }, + "4857": { + "fn": "ERC721A._safeMint", + "offset": [ + 12328, + 12336 + ], + "op": "DUP7", + "path": "17" + }, + "4858": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "DUP5", + "path": "17" + }, + "4859": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 12277, + 12337 + ], + "op": "JUMP", + "path": "17" + }, + "4860": { + "op": "JUMPDEST" + }, + "4861": { + "op": "PUSH1", + "value": "0x1" + }, + "4863": { + "op": "PUSH1", + "value": "0x1" + }, + "4865": { + "op": "PUSH1", + "value": "0xE0" + }, + "4867": { + "op": "SHL" + }, + "4868": { + "op": "SUB" + }, + "4869": { + "op": "NOT" + }, + "4870": { + "op": "DUP2" + }, + "4871": { + "op": "AND" + }, + "4872": { + "op": "DUP2" + }, + "4873": { + "op": "EQ" + }, + "4874": { + "op": "PUSH2", + "value": "0x655" + }, + "4877": { + "op": "JUMPI" + }, + "4878": { + "op": "PUSH1", + "value": "0x0" + }, + "4880": { + "op": "DUP1" + }, + "4881": { + "op": "REVERT" + }, + "4882": { + "op": "JUMPDEST" + }, + "4883": { + "op": "PUSH1", + "value": "0x0" + }, + "4885": { + "op": "PUSH1", + "value": "0x20" + }, + "4887": { + "op": "DUP3" + }, + "4888": { + "op": "DUP5" + }, + "4889": { + "op": "SUB" + }, + "4890": { + "op": "SLT" + }, + "4891": { + "op": "ISZERO" + }, + "4892": { + "op": "PUSH2", + "value": "0x1324" + }, + "4895": { + "op": "JUMPI" + }, + "4896": { + "op": "PUSH1", + "value": "0x0" + }, + "4898": { + "op": "DUP1" + }, + "4899": { + "op": "REVERT" + }, + "4900": { + "op": "JUMPDEST" + }, + "4901": { + "op": "DUP2" + }, + "4902": { + "op": "CALLDATALOAD" + }, + "4903": { + "op": "PUSH2", + "value": "0x132F" + }, + "4906": { + "op": "DUP2" + }, + "4907": { + "op": "PUSH2", + "value": "0x12FC" + }, + "4910": { + "jump": "i", + "op": "JUMP" + }, + "4911": { + "op": "JUMPDEST" + }, + "4912": { + "op": "SWAP4" + }, + "4913": { + "op": "SWAP3" + }, + "4914": { + "op": "POP" + }, + "4915": { + "op": "POP" + }, + "4916": { + "op": "POP" + }, + "4917": { + "jump": "o", + "op": "JUMP" + }, + "4918": { + "op": "JUMPDEST" + }, + "4919": { + "op": "PUSH1", + "value": "0x0" + }, + "4921": { + "op": "JUMPDEST" + }, + "4922": { + "op": "DUP4" + }, + "4923": { + "op": "DUP2" + }, + "4924": { + "op": "LT" + }, + "4925": { + "op": "ISZERO" + }, + "4926": { + "op": "PUSH2", + "value": "0x1351" + }, + "4929": { + "op": "JUMPI" + }, + "4930": { + "op": "DUP2" + }, + "4931": { + "op": "DUP2" + }, + "4932": { + "op": "ADD" + }, + "4933": { + "op": "MLOAD" + }, + "4934": { + "op": "DUP4" + }, + "4935": { + "op": "DUP3" + }, + "4936": { + "op": "ADD" + }, + "4937": { + "op": "MSTORE" + }, + "4938": { + "op": "PUSH1", + "value": "0x20" + }, + "4940": { + "op": "ADD" + }, + "4941": { + "op": "PUSH2", + "value": "0x1339" + }, + "4944": { + "op": "JUMP" + }, + "4945": { + "op": "JUMPDEST" + }, + "4946": { + "op": "DUP4" + }, + "4947": { + "op": "DUP2" + }, + "4948": { + "op": "GT" + }, + "4949": { + "op": "ISZERO" + }, + "4950": { + "op": "PUSH2", + "value": "0x7B9" + }, + "4953": { + "op": "JUMPI" + }, + "4954": { + "op": "POP" + }, + "4955": { + "op": "POP" + }, + "4956": { + "op": "PUSH1", + "value": "0x0" + }, + "4958": { + "op": "SWAP2" + }, + "4959": { + "op": "ADD" + }, + "4960": { + "op": "MSTORE" + }, + "4961": { + "jump": "o", + "op": "JUMP" + }, + "4962": { + "op": "JUMPDEST" + }, + "4963": { + "op": "PUSH1", + "value": "0x0" + }, + "4965": { + "op": "DUP2" + }, + "4966": { + "op": "MLOAD" + }, + "4967": { + "op": "DUP1" + }, + "4968": { + "op": "DUP5" + }, + "4969": { + "op": "MSTORE" + }, + "4970": { + "op": "PUSH2", + "value": "0x137A" + }, + "4973": { + "op": "DUP2" + }, + "4974": { + "op": "PUSH1", + "value": "0x20" + }, + "4976": { + "op": "DUP7" + }, + "4977": { + "op": "ADD" + }, + "4978": { + "op": "PUSH1", + "value": "0x20" + }, + "4980": { + "op": "DUP7" + }, + "4981": { + "op": "ADD" + }, + "4982": { + "op": "PUSH2", + "value": "0x1336" + }, + "4985": { + "jump": "i", + "op": "JUMP" + }, + "4986": { + "op": "JUMPDEST" + }, + "4987": { + "op": "PUSH1", + "value": "0x1F" + }, + "4989": { + "op": "ADD" + }, + "4990": { + "op": "PUSH1", + "value": "0x1F" + }, + "4992": { + "op": "NOT" + }, + "4993": { + "op": "AND" + }, + "4994": { + "op": "SWAP3" + }, + "4995": { + "op": "SWAP1" + }, + "4996": { + "op": "SWAP3" + }, + "4997": { + "op": "ADD" + }, + "4998": { + "op": "PUSH1", + "value": "0x20" + }, + "5000": { + "op": "ADD" + }, + "5001": { + "op": "SWAP3" + }, + "5002": { + "op": "SWAP2" + }, + "5003": { + "op": "POP" + }, + "5004": { + "op": "POP" + }, + "5005": { + "jump": "o", + "op": "JUMP" + }, + "5006": { + "op": "JUMPDEST" + }, + "5007": { + "op": "PUSH1", + "value": "0x20" + }, + "5009": { + "op": "DUP2" + }, + "5010": { + "op": "MSTORE" + }, + "5011": { + "op": "PUSH1", + "value": "0x0" + }, + "5013": { + "op": "PUSH2", + "value": "0x132F" + }, + "5016": { + "op": "PUSH1", + "value": "0x20" + }, + "5018": { + "op": "DUP4" + }, + "5019": { + "op": "ADD" + }, + "5020": { + "op": "DUP5" + }, + "5021": { + "op": "PUSH2", + "value": "0x1362" + }, + "5024": { + "jump": "i", + "op": "JUMP" + }, + "5025": { + "op": "JUMPDEST" + }, + "5026": { + "op": "PUSH1", + "value": "0x0" + }, + "5028": { + "op": "PUSH1", + "value": "0x20" + }, + "5030": { + "op": "DUP3" + }, + "5031": { + "op": "DUP5" + }, + "5032": { + "op": "SUB" + }, + "5033": { + "op": "SLT" + }, + "5034": { + "op": "ISZERO" + }, + "5035": { + "op": "PUSH2", + "value": "0x13B3" + }, + "5038": { + "op": "JUMPI" + }, + "5039": { + "op": "PUSH1", + "value": "0x0" + }, + "5041": { + "op": "DUP1" + }, + "5042": { + "op": "REVERT" + }, + "5043": { + "op": "JUMPDEST" + }, + "5044": { + "op": "POP" + }, + "5045": { + "op": "CALLDATALOAD" + }, + "5046": { + "op": "SWAP2" + }, + "5047": { + "op": "SWAP1" + }, + "5048": { + "op": "POP" + }, + "5049": { + "jump": "o", + "op": "JUMP" + }, + "5050": { + "op": "JUMPDEST" + }, + "5051": { + "op": "DUP1" + }, + "5052": { + "op": "CALLDATALOAD" + }, + "5053": { + "op": "PUSH1", + "value": "0x1" + }, + "5055": { + "op": "PUSH1", + "value": "0x1" + }, + "5057": { + "op": "PUSH1", + "value": "0xA0" + }, + "5059": { + "op": "SHL" + }, + "5060": { + "op": "SUB" + }, + "5061": { + "op": "DUP2" + }, + "5062": { + "op": "AND" + }, + "5063": { + "op": "DUP2" + }, + "5064": { + "op": "EQ" + }, + "5065": { + "op": "PUSH2", + "value": "0x13D1" + }, + "5068": { + "op": "JUMPI" + }, + "5069": { + "op": "PUSH1", + "value": "0x0" + }, + "5071": { + "op": "DUP1" + }, + "5072": { + "op": "REVERT" + }, + "5073": { + "op": "JUMPDEST" + }, + "5074": { + "op": "SWAP2" + }, + "5075": { + "op": "SWAP1" + }, + "5076": { + "op": "POP" + }, + "5077": { + "jump": "o", + "op": "JUMP" + }, + "5078": { + "op": "JUMPDEST" + }, + "5079": { + "op": "PUSH1", + "value": "0x0" + }, + "5081": { + "op": "DUP1" + }, + "5082": { + "op": "PUSH1", + "value": "0x40" + }, + "5084": { + "op": "DUP4" + }, + "5085": { + "op": "DUP6" + }, + "5086": { + "op": "SUB" + }, + "5087": { + "op": "SLT" + }, + "5088": { + "op": "ISZERO" + }, + "5089": { + "op": "PUSH2", + "value": "0x13E9" + }, + "5092": { + "op": "JUMPI" + }, + "5093": { + "op": "PUSH1", + "value": "0x0" + }, + "5095": { + "op": "DUP1" + }, + "5096": { + "op": "REVERT" + }, + "5097": { + "op": "JUMPDEST" + }, + "5098": { + "op": "PUSH2", + "value": "0x13F2" + }, + "5101": { + "op": "DUP4" + }, + "5102": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5105": { + "jump": "i", + "op": "JUMP" + }, + "5106": { + "op": "JUMPDEST" + }, + "5107": { + "op": "SWAP5" + }, + "5108": { + "op": "PUSH1", + "value": "0x20" + }, + "5110": { + "op": "SWAP4" + }, + "5111": { + "op": "SWAP1" + }, + "5112": { + "op": "SWAP4" + }, + "5113": { + "op": "ADD" + }, + "5114": { + "op": "CALLDATALOAD" + }, + "5115": { + "op": "SWAP4" + }, + "5116": { + "op": "POP" + }, + "5117": { + "op": "POP" + }, + "5118": { + "op": "POP" + }, + "5119": { + "jump": "o", + "op": "JUMP" + }, + "5120": { + "op": "JUMPDEST" + }, + "5121": { + "op": "PUSH1", + "value": "0x0" + }, + "5123": { + "op": "DUP1" + }, + "5124": { + "op": "PUSH1", + "value": "0x0" + }, + "5126": { + "op": "PUSH1", + "value": "0x60" + }, + "5128": { + "op": "DUP5" + }, + "5129": { + "op": "DUP7" + }, + "5130": { + "op": "SUB" + }, + "5131": { + "op": "SLT" + }, + "5132": { + "op": "ISZERO" + }, + "5133": { + "op": "PUSH2", + "value": "0x1415" + }, + "5136": { + "op": "JUMPI" + }, + "5137": { + "op": "PUSH1", + "value": "0x0" + }, + "5139": { + "op": "DUP1" + }, + "5140": { + "op": "REVERT" + }, + "5141": { + "op": "JUMPDEST" + }, + "5142": { + "op": "PUSH2", + "value": "0x141E" + }, + "5145": { + "op": "DUP5" + }, + "5146": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5149": { + "jump": "i", + "op": "JUMP" + }, + "5150": { + "op": "JUMPDEST" + }, + "5151": { + "op": "SWAP3" + }, + "5152": { + "op": "POP" + }, + "5153": { + "op": "PUSH2", + "value": "0x142C" + }, + "5156": { + "op": "PUSH1", + "value": "0x20" + }, + "5158": { + "op": "DUP6" + }, + "5159": { + "op": "ADD" + }, + "5160": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5163": { + "jump": "i", + "op": "JUMP" + }, + "5164": { + "op": "JUMPDEST" + }, + "5165": { + "op": "SWAP2" + }, + "5166": { + "op": "POP" + }, + "5167": { + "op": "PUSH1", + "value": "0x40" + }, + "5169": { + "op": "DUP5" + }, + "5170": { + "op": "ADD" + }, + "5171": { + "op": "CALLDATALOAD" + }, + "5172": { + "op": "SWAP1" + }, + "5173": { + "op": "POP" + }, + "5174": { + "op": "SWAP3" + }, + "5175": { + "op": "POP" + }, + "5176": { + "op": "SWAP3" + }, + "5177": { + "op": "POP" + }, + "5178": { + "op": "SWAP3" + }, + "5179": { + "jump": "o", + "op": "JUMP" + }, + "5180": { + "op": "JUMPDEST" + }, + "5181": { + "op": "PUSH1", + "value": "0x0" + }, + "5183": { + "op": "PUSH1", + "value": "0x20" + }, + "5185": { + "op": "DUP3" + }, + "5186": { + "op": "DUP5" + }, + "5187": { + "op": "SUB" + }, + "5188": { + "op": "SLT" + }, + "5189": { + "op": "ISZERO" + }, + "5190": { + "op": "PUSH2", + "value": "0x144E" + }, + "5193": { + "op": "JUMPI" + }, + "5194": { + "op": "PUSH1", + "value": "0x0" + }, + "5196": { + "op": "DUP1" + }, + "5197": { + "op": "REVERT" + }, + "5198": { + "op": "JUMPDEST" + }, + "5199": { + "op": "PUSH2", + "value": "0x132F" + }, + "5202": { + "op": "DUP3" + }, + "5203": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5206": { + "jump": "i", + "op": "JUMP" + }, + "5207": { + "op": "JUMPDEST" + }, + "5208": { + "op": "PUSH1", + "value": "0x0" + }, + "5210": { + "op": "DUP1" + }, + "5211": { + "op": "PUSH1", + "value": "0x40" + }, + "5213": { + "op": "DUP4" + }, + "5214": { + "op": "DUP6" + }, + "5215": { + "op": "SUB" + }, + "5216": { + "op": "SLT" + }, + "5217": { + "op": "ISZERO" + }, + "5218": { + "op": "PUSH2", + "value": "0x146A" + }, + "5221": { + "op": "JUMPI" + }, + "5222": { + "op": "PUSH1", + "value": "0x0" + }, + "5224": { + "op": "DUP1" + }, + "5225": { + "op": "REVERT" + }, + "5226": { + "op": "JUMPDEST" + }, + "5227": { + "op": "PUSH2", + "value": "0x1473" + }, + "5230": { + "op": "DUP4" + }, + "5231": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5234": { + "jump": "i", + "op": "JUMP" + }, + "5235": { + "op": "JUMPDEST" + }, + "5236": { + "op": "SWAP2" + }, + "5237": { + "op": "POP" + }, + "5238": { + "op": "PUSH1", + "value": "0x20" + }, + "5240": { + "op": "DUP4" + }, + "5241": { + "op": "ADD" + }, + "5242": { + "op": "CALLDATALOAD" + }, + "5243": { + "op": "DUP1" + }, + "5244": { + "op": "ISZERO" + }, + "5245": { + "op": "ISZERO" + }, + "5246": { + "op": "DUP2" + }, + "5247": { + "op": "EQ" + }, + "5248": { + "op": "PUSH2", + "value": "0x1488" + }, + "5251": { + "op": "JUMPI" + }, + "5252": { + "op": "PUSH1", + "value": "0x0" + }, + "5254": { + "op": "DUP1" + }, + "5255": { + "op": "REVERT" + }, + "5256": { + "op": "JUMPDEST" + }, + "5257": { + "op": "DUP1" + }, + "5258": { + "op": "SWAP2" + }, + "5259": { + "op": "POP" + }, + "5260": { + "op": "POP" + }, + "5261": { + "op": "SWAP3" + }, + "5262": { + "op": "POP" + }, + "5263": { + "op": "SWAP3" + }, + "5264": { + "op": "SWAP1" + }, + "5265": { + "op": "POP" + }, + "5266": { + "jump": "o", + "op": "JUMP" + }, + "5267": { + "op": "JUMPDEST" + }, + "5268": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5273": { + "op": "PUSH1", + "value": "0xE0" + }, + "5275": { + "op": "SHL" + }, + "5276": { + "op": "PUSH1", + "value": "0x0" + }, + "5278": { + "op": "MSTORE" + }, + "5279": { + "op": "PUSH1", + "value": "0x41" + }, + "5281": { + "op": "PUSH1", + "value": "0x4" + }, + "5283": { + "op": "MSTORE" + }, + "5284": { + "op": "PUSH1", + "value": "0x24" + }, + "5286": { + "op": "PUSH1", + "value": "0x0" + }, + "5288": { + "op": "REVERT" + }, + "5289": { + "op": "JUMPDEST" + }, + "5290": { + "op": "PUSH1", + "value": "0x0" + }, + "5292": { + "op": "PUSH1", + "value": "0x1" + }, + "5294": { + "op": "PUSH1", + "value": "0x1" + }, + "5296": { + "op": "PUSH1", + "value": "0x40" + }, + "5298": { + "op": "SHL" + }, + "5299": { + "op": "SUB" + }, + "5300": { + "op": "DUP1" + }, + "5301": { + "op": "DUP5" + }, + "5302": { + "op": "GT" + }, + "5303": { + "op": "ISZERO" + }, + "5304": { + "op": "PUSH2", + "value": "0x14C3" + }, + "5307": { + "op": "JUMPI" + }, + "5308": { + "op": "PUSH2", + "value": "0x14C3" + }, + "5311": { + "op": "PUSH2", + "value": "0x1493" + }, + "5314": { + "jump": "i", + "op": "JUMP" + }, + "5315": { + "op": "JUMPDEST" + }, + "5316": { + "op": "PUSH1", + "value": "0x40" + }, + "5318": { + "op": "MLOAD" + }, + "5319": { + "op": "PUSH1", + "value": "0x1F" + }, + "5321": { + "op": "DUP6" + }, + "5322": { + "op": "ADD" + }, + "5323": { + "op": "PUSH1", + "value": "0x1F" + }, + "5325": { + "op": "NOT" + }, + "5326": { + "op": "SWAP1" + }, + "5327": { + "op": "DUP2" + }, + "5328": { + "op": "AND" + }, + "5329": { + "op": "PUSH1", + "value": "0x3F" + }, + "5331": { + "op": "ADD" + }, + "5332": { + "op": "AND" + }, + "5333": { + "op": "DUP2" + }, + "5334": { + "op": "ADD" + }, + "5335": { + "op": "SWAP1" + }, + "5336": { + "op": "DUP3" + }, + "5337": { + "op": "DUP3" + }, + "5338": { + "op": "GT" + }, + "5339": { + "op": "DUP2" + }, + "5340": { + "op": "DUP4" + }, + "5341": { + "op": "LT" + }, + "5342": { + "op": "OR" + }, + "5343": { + "op": "ISZERO" + }, + "5344": { + "op": "PUSH2", + "value": "0x14EB" + }, + "5347": { + "op": "JUMPI" + }, + "5348": { + "op": "PUSH2", + "value": "0x14EB" + }, + "5351": { + "op": "PUSH2", + "value": "0x1493" + }, + "5354": { + "jump": "i", + "op": "JUMP" + }, + "5355": { + "op": "JUMPDEST" + }, + "5356": { + "op": "DUP2" + }, + "5357": { + "op": "PUSH1", + "value": "0x40" + }, + "5359": { + "op": "MSTORE" + }, + "5360": { + "op": "DUP1" + }, + "5361": { + "op": "SWAP4" + }, + "5362": { + "op": "POP" + }, + "5363": { + "op": "DUP6" + }, + "5364": { + "op": "DUP2" + }, + "5365": { + "op": "MSTORE" + }, + "5366": { + "op": "DUP7" + }, + "5367": { + "op": "DUP7" + }, + "5368": { + "op": "DUP7" + }, + "5369": { + "op": "ADD" + }, + "5370": { + "op": "GT" + }, + "5371": { + "op": "ISZERO" + }, + "5372": { + "op": "PUSH2", + "value": "0x1504" + }, + "5375": { + "op": "JUMPI" + }, + "5376": { + "op": "PUSH1", + "value": "0x0" + }, + "5378": { + "op": "DUP1" + }, + "5379": { + "op": "REVERT" + }, + "5380": { + "op": "JUMPDEST" + }, + "5381": { + "op": "DUP6" + }, + "5382": { + "op": "DUP6" + }, + "5383": { + "op": "PUSH1", + "value": "0x20" + }, + "5385": { + "op": "DUP4" + }, + "5386": { + "op": "ADD" + }, + "5387": { + "op": "CALLDATACOPY" + }, + "5388": { + "op": "PUSH1", + "value": "0x0" + }, + "5390": { + "op": "PUSH1", + "value": "0x20" + }, + "5392": { + "op": "DUP8" + }, + "5393": { + "op": "DUP4" + }, + "5394": { + "op": "ADD" + }, + "5395": { + "op": "ADD" + }, + "5396": { + "op": "MSTORE" + }, + "5397": { + "op": "POP" + }, + "5398": { + "op": "POP" + }, + "5399": { + "op": "POP" + }, + "5400": { + "op": "SWAP4" + }, + "5401": { + "op": "SWAP3" + }, + "5402": { + "op": "POP" + }, + "5403": { + "op": "POP" + }, + "5404": { + "op": "POP" + }, + "5405": { + "jump": "o", + "op": "JUMP" + }, + "5406": { + "op": "JUMPDEST" + }, + "5407": { + "op": "PUSH1", + "value": "0x0" + }, + "5409": { + "op": "DUP1" + }, + "5410": { + "op": "PUSH1", + "value": "0x0" + }, + "5412": { + "op": "DUP1" + }, + "5413": { + "op": "PUSH1", + "value": "0x80" + }, + "5415": { + "op": "DUP6" + }, + "5416": { + "op": "DUP8" + }, + "5417": { + "op": "SUB" + }, + "5418": { + "op": "SLT" + }, + "5419": { + "op": "ISZERO" + }, + "5420": { + "op": "PUSH2", + "value": "0x1534" + }, + "5423": { + "op": "JUMPI" + }, + "5424": { + "op": "PUSH1", + "value": "0x0" + }, + "5426": { + "op": "DUP1" + }, + "5427": { + "op": "REVERT" + }, + "5428": { + "op": "JUMPDEST" + }, + "5429": { + "op": "PUSH2", + "value": "0x153D" + }, + "5432": { + "op": "DUP6" + }, + "5433": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5436": { + "jump": "i", + "op": "JUMP" + }, + "5437": { + "op": "JUMPDEST" + }, + "5438": { + "op": "SWAP4" + }, + "5439": { + "op": "POP" + }, + "5440": { + "op": "PUSH2", + "value": "0x154B" + }, + "5443": { + "op": "PUSH1", + "value": "0x20" + }, + "5445": { + "op": "DUP7" + }, + "5446": { + "op": "ADD" + }, + "5447": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5450": { + "jump": "i", + "op": "JUMP" + }, + "5451": { + "op": "JUMPDEST" + }, + "5452": { + "op": "SWAP3" + }, + "5453": { + "op": "POP" + }, + "5454": { + "op": "PUSH1", + "value": "0x40" + }, + "5456": { + "op": "DUP6" + }, + "5457": { + "op": "ADD" + }, + "5458": { + "op": "CALLDATALOAD" + }, + "5459": { + "op": "SWAP2" + }, + "5460": { + "op": "POP" + }, + "5461": { + "op": "PUSH1", + "value": "0x60" + }, + "5463": { + "op": "DUP6" + }, + "5464": { + "op": "ADD" + }, + "5465": { + "op": "CALLDATALOAD" + }, + "5466": { + "op": "PUSH1", + "value": "0x1" + }, + "5468": { + "op": "PUSH1", + "value": "0x1" + }, + "5470": { + "op": "PUSH1", + "value": "0x40" + }, + "5472": { + "op": "SHL" + }, + "5473": { + "op": "SUB" + }, + "5474": { + "op": "DUP2" + }, + "5475": { + "op": "GT" + }, + "5476": { + "op": "ISZERO" + }, + "5477": { + "op": "PUSH2", + "value": "0x156D" + }, + "5480": { + "op": "JUMPI" + }, + "5481": { + "op": "PUSH1", + "value": "0x0" + }, + "5483": { + "op": "DUP1" + }, + "5484": { + "op": "REVERT" + }, + "5485": { + "op": "JUMPDEST" + }, + "5486": { + "op": "DUP6" + }, + "5487": { + "op": "ADD" + }, + "5488": { + "op": "PUSH1", + "value": "0x1F" + }, + "5490": { + "op": "DUP2" + }, + "5491": { + "op": "ADD" + }, + "5492": { + "op": "DUP8" + }, + "5493": { + "op": "SGT" + }, + "5494": { + "op": "PUSH2", + "value": "0x157E" + }, + "5497": { + "op": "JUMPI" + }, + "5498": { + "op": "PUSH1", + "value": "0x0" + }, + "5500": { + "op": "DUP1" + }, + "5501": { + "op": "REVERT" + }, + "5502": { + "op": "JUMPDEST" + }, + "5503": { + "op": "PUSH2", + "value": "0x158D" + }, + "5506": { + "op": "DUP8" + }, + "5507": { + "op": "DUP3" + }, + "5508": { + "op": "CALLDATALOAD" + }, + "5509": { + "op": "PUSH1", + "value": "0x20" + }, + "5511": { + "op": "DUP5" + }, + "5512": { + "op": "ADD" + }, + "5513": { + "op": "PUSH2", + "value": "0x14A9" + }, + "5516": { + "jump": "i", + "op": "JUMP" + }, + "5517": { + "op": "JUMPDEST" + }, + "5518": { + "op": "SWAP2" + }, + "5519": { + "op": "POP" + }, + "5520": { + "op": "POP" + }, + "5521": { + "op": "SWAP3" + }, + "5522": { + "op": "SWAP6" + }, + "5523": { + "op": "SWAP2" + }, + "5524": { + "op": "SWAP5" + }, + "5525": { + "op": "POP" + }, + "5526": { + "op": "SWAP3" + }, + "5527": { + "op": "POP" + }, + "5528": { + "jump": "o", + "op": "JUMP" + }, + "5529": { + "op": "JUMPDEST" + }, + "5530": { + "op": "PUSH1", + "value": "0x0" + }, + "5532": { + "op": "PUSH1", + "value": "0x20" + }, + "5534": { + "op": "DUP3" + }, + "5535": { + "op": "DUP5" + }, + "5536": { + "op": "SUB" + }, + "5537": { + "op": "SLT" + }, + "5538": { + "op": "ISZERO" + }, + "5539": { + "op": "PUSH2", + "value": "0x15AB" + }, + "5542": { + "op": "JUMPI" + }, + "5543": { + "op": "PUSH1", + "value": "0x0" + }, + "5545": { + "op": "DUP1" + }, + "5546": { + "op": "REVERT" + }, + "5547": { + "op": "JUMPDEST" + }, + "5548": { + "op": "DUP2" + }, + "5549": { + "op": "CALLDATALOAD" + }, + "5550": { + "op": "PUSH1", + "value": "0x1" + }, + "5552": { + "op": "PUSH1", + "value": "0x1" + }, + "5554": { + "op": "PUSH1", + "value": "0x40" + }, + "5556": { + "op": "SHL" + }, + "5557": { + "op": "SUB" + }, + "5558": { + "op": "DUP2" + }, + "5559": { + "op": "GT" + }, + "5560": { + "op": "ISZERO" + }, + "5561": { + "op": "PUSH2", + "value": "0x15C1" + }, + "5564": { + "op": "JUMPI" + }, + "5565": { + "op": "PUSH1", + "value": "0x0" + }, + "5567": { + "op": "DUP1" + }, + "5568": { + "op": "REVERT" + }, + "5569": { + "op": "JUMPDEST" + }, + "5570": { + "op": "DUP3" + }, + "5571": { + "op": "ADD" + }, + "5572": { + "op": "PUSH1", + "value": "0x1F" + }, + "5574": { + "op": "DUP2" + }, + "5575": { + "op": "ADD" + }, + "5576": { + "op": "DUP5" + }, + "5577": { + "op": "SGT" + }, + "5578": { + "op": "PUSH2", + "value": "0x15D2" + }, + "5581": { + "op": "JUMPI" + }, + "5582": { + "op": "PUSH1", + "value": "0x0" + }, + "5584": { + "op": "DUP1" + }, + "5585": { + "op": "REVERT" + }, + "5586": { + "op": "JUMPDEST" + }, + "5587": { + "op": "PUSH2", + "value": "0x8CB" + }, + "5590": { + "op": "DUP5" + }, + "5591": { + "op": "DUP3" + }, + "5592": { + "op": "CALLDATALOAD" + }, + "5593": { + "op": "PUSH1", + "value": "0x20" + }, + "5595": { + "op": "DUP5" + }, + "5596": { + "op": "ADD" + }, + "5597": { + "op": "PUSH2", + "value": "0x14A9" + }, + "5600": { + "jump": "i", + "op": "JUMP" + }, + "5601": { + "op": "JUMPDEST" + }, + "5602": { + "op": "PUSH1", + "value": "0x0" + }, + "5604": { + "op": "DUP1" + }, + "5605": { + "op": "PUSH1", + "value": "0x40" + }, + "5607": { + "op": "DUP4" + }, + "5608": { + "op": "DUP6" + }, + "5609": { + "op": "SUB" + }, + "5610": { + "op": "SLT" + }, + "5611": { + "op": "ISZERO" + }, + "5612": { + "op": "PUSH2", + "value": "0x15F4" + }, + "5615": { + "op": "JUMPI" + }, + "5616": { + "op": "PUSH1", + "value": "0x0" + }, + "5618": { + "op": "DUP1" + }, + "5619": { + "op": "REVERT" + }, + "5620": { + "op": "JUMPDEST" + }, + "5621": { + "op": "PUSH2", + "value": "0x15FD" + }, + "5624": { + "op": "DUP4" + }, + "5625": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5628": { + "jump": "i", + "op": "JUMP" + }, + "5629": { + "op": "JUMPDEST" + }, + "5630": { + "op": "SWAP2" + }, + "5631": { + "op": "POP" + }, + "5632": { + "op": "PUSH2", + "value": "0x160B" + }, + "5635": { + "op": "PUSH1", + "value": "0x20" + }, + "5637": { + "op": "DUP5" + }, + "5638": { + "op": "ADD" + }, + "5639": { + "op": "PUSH2", + "value": "0x13BA" + }, + "5642": { + "jump": "i", + "op": "JUMP" + }, + "5643": { + "op": "JUMPDEST" + }, + "5644": { + "op": "SWAP1" + }, + "5645": { + "op": "POP" + }, + "5646": { + "op": "SWAP3" + }, + "5647": { + "op": "POP" + }, + "5648": { + "op": "SWAP3" + }, + "5649": { + "op": "SWAP1" + }, + "5650": { + "op": "POP" + }, + "5651": { + "jump": "o", + "op": "JUMP" + }, + "5652": { + "op": "JUMPDEST" + }, + "5653": { + "op": "PUSH1", + "value": "0x1" + }, + "5655": { + "op": "DUP2" + }, + "5656": { + "op": "DUP2" + }, + "5657": { + "op": "SHR" + }, + "5658": { + "op": "SWAP1" + }, + "5659": { + "op": "DUP3" + }, + "5660": { + "op": "AND" + }, + "5661": { + "op": "DUP1" + }, + "5662": { + "op": "PUSH2", + "value": "0x1628" + }, + "5665": { + "op": "JUMPI" + }, + "5666": { + "op": "PUSH1", + "value": "0x7F" + }, + "5668": { + "op": "DUP3" + }, + "5669": { + "op": "AND" + }, + "5670": { + "op": "SWAP2" + }, + "5671": { + "op": "POP" + }, + "5672": { + "op": "JUMPDEST" + }, + "5673": { + "op": "PUSH1", + "value": "0x20" + }, + "5675": { + "op": "DUP3" + }, + "5676": { + "op": "LT" + }, + "5677": { + "op": "DUP2" + }, + "5678": { + "op": "SUB" + }, + "5679": { + "op": "PUSH2", + "value": "0x1648" + }, + "5682": { + "op": "JUMPI" + }, + "5683": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5688": { + "op": "PUSH1", + "value": "0xE0" + }, + "5690": { + "op": "SHL" + }, + "5691": { + "op": "PUSH1", + "value": "0x0" + }, + "5693": { + "op": "MSTORE" + }, + "5694": { + "op": "PUSH1", + "value": "0x22" + }, + "5696": { + "op": "PUSH1", + "value": "0x4" + }, + "5698": { + "op": "MSTORE" + }, + "5699": { + "op": "PUSH1", + "value": "0x24" + }, + "5701": { + "op": "PUSH1", + "value": "0x0" + }, + "5703": { + "op": "REVERT" + }, + "5704": { + "op": "JUMPDEST" + }, + "5705": { + "op": "POP" + }, + "5706": { + "op": "SWAP2" + }, + "5707": { + "op": "SWAP1" + }, + "5708": { + "op": "POP" + }, + "5709": { + "jump": "o", + "op": "JUMP" + }, + "5710": { + "op": "JUMPDEST" + }, + "5711": { + "op": "PUSH1", + "value": "0x0" + }, + "5713": { + "op": "DUP4" + }, + "5714": { + "op": "MLOAD" + }, + "5715": { + "op": "PUSH2", + "value": "0x1660" + }, + "5718": { + "op": "DUP2" + }, + "5719": { + "op": "DUP5" + }, + "5720": { + "op": "PUSH1", + "value": "0x20" + }, + "5722": { + "op": "DUP9" + }, + "5723": { + "op": "ADD" + }, + "5724": { + "op": "PUSH2", + "value": "0x1336" + }, + "5727": { + "jump": "i", + "op": "JUMP" + }, + "5728": { + "op": "JUMPDEST" + }, + "5729": { + "op": "DUP4" + }, + "5730": { + "op": "MLOAD" + }, + "5731": { + "op": "SWAP1" + }, + "5732": { + "op": "DUP4" + }, + "5733": { + "op": "ADD" + }, + "5734": { + "op": "SWAP1" + }, + "5735": { + "op": "PUSH2", + "value": "0x1674" + }, + "5738": { + "op": "DUP2" + }, + "5739": { + "op": "DUP4" + }, + "5740": { + "op": "PUSH1", + "value": "0x20" + }, + "5742": { + "op": "DUP9" + }, + "5743": { + "op": "ADD" + }, + "5744": { + "op": "PUSH2", + "value": "0x1336" + }, + "5747": { + "jump": "i", + "op": "JUMP" + }, + "5748": { + "op": "JUMPDEST" + }, + "5749": { + "op": "ADD" + }, + "5750": { + "op": "SWAP5" + }, + "5751": { + "op": "SWAP4" + }, + "5752": { + "op": "POP" + }, + "5753": { + "op": "POP" + }, + "5754": { + "op": "POP" + }, + "5755": { + "op": "POP" + }, + "5756": { + "jump": "o", + "op": "JUMP" + }, + "5757": { + "op": "JUMPDEST" + }, + "5758": { + "op": "PUSH1", + "value": "0x1" + }, + "5760": { + "op": "PUSH1", + "value": "0x1" + }, + "5762": { + "op": "PUSH1", + "value": "0xA0" + }, + "5764": { + "op": "SHL" + }, + "5765": { + "op": "SUB" + }, + "5766": { + "op": "DUP6" + }, + "5767": { + "op": "DUP2" + }, + "5768": { + "op": "AND" + }, + "5769": { + "op": "DUP3" + }, + "5770": { + "op": "MSTORE" + }, + "5771": { + "op": "DUP5" + }, + "5772": { + "op": "AND" + }, + "5773": { + "op": "PUSH1", + "value": "0x20" + }, + "5775": { + "op": "DUP3" + }, + "5776": { + "op": "ADD" + }, + "5777": { + "op": "MSTORE" + }, + "5778": { + "op": "PUSH1", + "value": "0x40" + }, + "5780": { + "op": "DUP2" + }, + "5781": { + "op": "ADD" + }, + "5782": { + "op": "DUP4" + }, + "5783": { + "op": "SWAP1" + }, + "5784": { + "op": "MSTORE" + }, + "5785": { + "op": "PUSH1", + "value": "0x80" + }, + "5787": { + "op": "PUSH1", + "value": "0x60" + }, + "5789": { + "op": "DUP3" + }, + "5790": { + "op": "ADD" + }, + "5791": { + "op": "DUP2" + }, + "5792": { + "op": "SWAP1" + }, + "5793": { + "op": "MSTORE" + }, + "5794": { + "op": "PUSH1", + "value": "0x0" + }, + "5796": { + "op": "SWAP1" + }, + "5797": { + "op": "PUSH2", + "value": "0x16B0" + }, + "5800": { + "op": "SWAP1" + }, + "5801": { + "op": "DUP4" + }, + "5802": { + "op": "ADD" + }, + "5803": { + "op": "DUP5" + }, + "5804": { + "op": "PUSH2", + "value": "0x1362" + }, + "5807": { + "jump": "i", + "op": "JUMP" + }, + "5808": { + "op": "JUMPDEST" + }, + "5809": { + "op": "SWAP7" + }, + "5810": { + "op": "SWAP6" + }, + "5811": { + "op": "POP" + }, + "5812": { + "op": "POP" + }, + "5813": { + "op": "POP" + }, + "5814": { + "op": "POP" + }, + "5815": { + "op": "POP" + }, + "5816": { + "op": "POP" + }, + "5817": { + "jump": "o", + "op": "JUMP" + }, + "5818": { + "op": "JUMPDEST" + }, + "5819": { + "op": "PUSH1", + "value": "0x0" + }, + "5821": { + "op": "PUSH1", + "value": "0x20" + }, + "5823": { + "op": "DUP3" + }, + "5824": { + "op": "DUP5" + }, + "5825": { + "op": "SUB" + }, + "5826": { + "op": "SLT" + }, + "5827": { + "op": "ISZERO" + }, + "5828": { + "op": "PUSH2", + "value": "0x16CC" + }, + "5831": { + "op": "JUMPI" + }, + "5832": { + "op": "PUSH1", + "value": "0x0" + }, + "5834": { + "op": "DUP1" + }, + "5835": { + "op": "REVERT" + }, + "5836": { + "op": "JUMPDEST" + }, + "5837": { + "op": "DUP2" + }, + "5838": { + "op": "MLOAD" + }, + "5839": { + "op": "PUSH2", + "value": "0x132F" + }, + "5842": { + "op": "DUP2" + }, + "5843": { + "op": "PUSH2", + "value": "0x12FC" + }, + "5846": { + "jump": "i", + "op": "JUMP" + }, + "5847": { + "op": "JUMPDEST" + }, + "5848": { + "op": "PUSH1", + "value": "0x1F" + }, + "5850": { + "op": "DUP3" + }, + "5851": { + "op": "GT" + }, + "5852": { + "op": "ISZERO" + }, + "5853": { + "op": "PUSH2", + "value": "0x61F" + }, + "5856": { + "op": "JUMPI" + }, + "5857": { + "op": "PUSH1", + "value": "0x0" + }, + "5859": { + "op": "DUP2" + }, + "5860": { + "op": "DUP2" + }, + "5861": { + "op": "MSTORE" + }, + "5862": { + "op": "PUSH1", + "value": "0x20" + }, + "5864": { + "op": "DUP2" + }, + "5865": { + "op": "KECCAK256" + }, + "5866": { + "op": "PUSH1", + "value": "0x1F" + }, + "5868": { + "op": "DUP6" + }, + "5869": { + "op": "ADD" + }, + "5870": { + "op": "PUSH1", + "value": "0x5" + }, + "5872": { + "op": "SHR" + }, + "5873": { + "op": "DUP2" + }, + "5874": { + "op": "ADD" + }, + "5875": { + "op": "PUSH1", + "value": "0x20" + }, + "5877": { + "op": "DUP7" + }, + "5878": { + "op": "LT" + }, + "5879": { + "op": "ISZERO" + }, + "5880": { + "op": "PUSH2", + "value": "0x16FE" + }, + "5883": { + "op": "JUMPI" + }, + "5884": { + "op": "POP" + }, + "5885": { + "op": "DUP1" + }, + "5886": { + "op": "JUMPDEST" + }, + "5887": { + "op": "PUSH1", + "value": "0x1F" + }, + "5889": { + "op": "DUP6" + }, + "5890": { + "op": "ADD" + }, + "5891": { + "op": "PUSH1", + "value": "0x5" + }, + "5893": { + "op": "SHR" + }, + "5894": { + "op": "DUP3" + }, + "5895": { + "op": "ADD" + }, + "5896": { + "op": "SWAP2" + }, + "5897": { + "op": "POP" + }, + "5898": { + "op": "JUMPDEST" + }, + "5899": { + "op": "DUP2" + }, + "5900": { + "op": "DUP2" + }, + "5901": { + "op": "LT" + }, + "5902": { + "op": "ISZERO" + }, + "5903": { + "op": "PUSH2", + "value": "0x171D" + }, + "5906": { + "op": "JUMPI" + }, + "5907": { + "op": "DUP3" + }, + "5908": { + "op": "DUP2" + }, + "5909": { + "op": "SSTORE" + }, + "5910": { + "op": "PUSH1", + "value": "0x1" + }, + "5912": { + "op": "ADD" + }, + "5913": { + "op": "PUSH2", + "value": "0x170A" + }, + "5916": { + "op": "JUMP" + }, + "5917": { + "op": "JUMPDEST" + }, + "5918": { + "op": "POP" + }, + "5919": { + "op": "POP" + }, + "5920": { + "op": "POP" + }, + "5921": { + "op": "POP" + }, + "5922": { + "op": "POP" + }, + "5923": { + "op": "POP" + }, + "5924": { + "jump": "o", + "op": "JUMP" + }, + "5925": { + "op": "JUMPDEST" + }, + "5926": { + "op": "DUP2" + }, + "5927": { + "op": "MLOAD" + }, + "5928": { + "op": "PUSH1", + "value": "0x1" + }, + "5930": { + "op": "PUSH1", + "value": "0x1" + }, + "5932": { + "op": "PUSH1", + "value": "0x40" + }, + "5934": { + "op": "SHL" + }, + "5935": { + "op": "SUB" + }, + "5936": { + "op": "DUP2" + }, + "5937": { + "op": "GT" + }, + "5938": { + "op": "ISZERO" + }, + "5939": { + "op": "PUSH2", + "value": "0x173E" + }, + "5942": { + "op": "JUMPI" + }, + "5943": { + "op": "PUSH2", + "value": "0x173E" + }, + "5946": { + "op": "PUSH2", + "value": "0x1493" + }, + "5949": { + "jump": "i", + "op": "JUMP" + }, + "5950": { + "op": "JUMPDEST" + }, + "5951": { + "op": "PUSH2", + "value": "0x1752" + }, + "5954": { + "op": "DUP2" + }, + "5955": { + "op": "PUSH2", + "value": "0x174C" + }, + "5958": { + "op": "DUP5" + }, + "5959": { + "op": "SLOAD" + }, + "5960": { + "op": "PUSH2", + "value": "0x1614" + }, + "5963": { + "jump": "i", + "op": "JUMP" + }, + "5964": { + "op": "JUMPDEST" + }, + "5965": { + "op": "DUP5" + }, + "5966": { + "op": "PUSH2", + "value": "0x16D7" + }, + "5969": { + "jump": "i", + "op": "JUMP" + }, + "5970": { + "op": "JUMPDEST" + }, + "5971": { + "op": "PUSH1", + "value": "0x20" + }, + "5973": { + "op": "DUP1" + }, + "5974": { + "op": "PUSH1", + "value": "0x1F" + }, + "5976": { + "op": "DUP4" + }, + "5977": { + "op": "GT" + }, + "5978": { + "op": "PUSH1", + "value": "0x1" + }, + "5980": { + "op": "DUP2" + }, + "5981": { + "op": "EQ" + }, + "5982": { + "op": "PUSH2", + "value": "0x1787" + }, + "5985": { + "op": "JUMPI" + }, + "5986": { + "op": "PUSH1", + "value": "0x0" + }, + "5988": { + "op": "DUP5" + }, + "5989": { + "op": "ISZERO" + }, + "5990": { + "op": "PUSH2", + "value": "0x176F" + }, + "5993": { + "op": "JUMPI" + }, + "5994": { + "op": "POP" + }, + "5995": { + "op": "DUP6" + }, + "5996": { + "op": "DUP4" + }, + "5997": { + "op": "ADD" + }, + "5998": { + "op": "MLOAD" + }, + "5999": { + "op": "JUMPDEST" + }, + "6000": { + "op": "PUSH1", + "value": "0x0" + }, + "6002": { + "op": "NOT" + }, + "6003": { + "op": "PUSH1", + "value": "0x3" + }, + "6005": { + "op": "DUP7" + }, + "6006": { + "op": "SWAP1" + }, + "6007": { + "op": "SHL" + }, + "6008": { + "op": "SHR" + }, + "6009": { + "op": "NOT" + }, + "6010": { + "op": "AND" + }, + "6011": { + "op": "PUSH1", + "value": "0x1" + }, + "6013": { + "op": "DUP6" + }, + "6014": { + "op": "SWAP1" + }, + "6015": { + "op": "SHL" + }, + "6016": { + "op": "OR" + }, + "6017": { + "op": "DUP6" + }, + "6018": { + "op": "SSTORE" + }, + "6019": { + "op": "PUSH2", + "value": "0x171D" + }, + "6022": { + "op": "JUMP" + }, + "6023": { + "op": "JUMPDEST" + }, + "6024": { + "op": "PUSH1", + "value": "0x0" + }, + "6026": { + "op": "DUP6" + }, + "6027": { + "op": "DUP2" + }, + "6028": { + "op": "MSTORE" + }, + "6029": { + "op": "PUSH1", + "value": "0x20" + }, + "6031": { + "op": "DUP2" + }, + "6032": { + "op": "KECCAK256" + }, + "6033": { + "op": "PUSH1", + "value": "0x1F" + }, + "6035": { + "op": "NOT" + }, + "6036": { + "op": "DUP7" + }, + "6037": { + "op": "AND" + }, + "6038": { + "op": "SWAP2" + }, + "6039": { + "op": "JUMPDEST" + }, + "6040": { + "op": "DUP3" + }, + "6041": { + "op": "DUP2" + }, + "6042": { + "op": "LT" + }, + "6043": { + "op": "ISZERO" + }, + "6044": { + "op": "PUSH2", + "value": "0x17B6" + }, + "6047": { + "op": "JUMPI" + }, + "6048": { + "op": "DUP9" + }, + "6049": { + "op": "DUP7" + }, + "6050": { + "op": "ADD" + }, + "6051": { + "op": "MLOAD" + }, + "6052": { + "op": "DUP3" + }, + "6053": { + "op": "SSTORE" + }, + "6054": { + "op": "SWAP5" + }, + "6055": { + "op": "DUP5" + }, + "6056": { + "op": "ADD" + }, + "6057": { + "op": "SWAP5" + }, + "6058": { + "op": "PUSH1", + "value": "0x1" + }, + "6060": { + "op": "SWAP1" + }, + "6061": { + "op": "SWAP2" + }, + "6062": { + "op": "ADD" + }, + "6063": { + "op": "SWAP1" + }, + "6064": { + "op": "DUP5" + }, + "6065": { + "op": "ADD" + }, + "6066": { + "op": "PUSH2", + "value": "0x1797" + }, + "6069": { + "op": "JUMP" + }, + "6070": { + "op": "JUMPDEST" + }, + "6071": { + "op": "POP" + }, + "6072": { + "op": "DUP6" + }, + "6073": { + "op": "DUP3" + }, + "6074": { + "op": "LT" + }, + "6075": { + "op": "ISZERO" + }, + "6076": { + "op": "PUSH2", + "value": "0x17D4" + }, + "6079": { + "op": "JUMPI" + }, + "6080": { + "op": "DUP8" + }, + "6081": { + "op": "DUP6" + }, + "6082": { + "op": "ADD" + }, + "6083": { + "op": "MLOAD" + }, + "6084": { + "op": "PUSH1", + "value": "0x0" + }, + "6086": { + "op": "NOT" + }, + "6087": { + "op": "PUSH1", + "value": "0x3" + }, + "6089": { + "op": "DUP9" + }, + "6090": { + "op": "SWAP1" + }, + "6091": { + "op": "SHL" + }, + "6092": { + "op": "PUSH1", + "value": "0xF8" + }, + "6094": { + "op": "AND" + }, + "6095": { + "op": "SHR" + }, + "6096": { + "op": "NOT" + }, + "6097": { + "op": "AND" + }, + "6098": { + "op": "DUP2" + }, + "6099": { + "op": "SSTORE" + }, + "6100": { + "op": "JUMPDEST" + }, + "6101": { + "op": "POP" + }, + "6102": { + "op": "POP" + }, + "6103": { + "op": "POP" + }, + "6104": { + "op": "POP" + }, + "6105": { + "op": "POP" + }, + "6106": { + "op": "PUSH1", + "value": "0x1" + }, + "6108": { + "op": "SWAP1" + }, + "6109": { + "op": "DUP2" + }, + "6110": { + "op": "SHL" + }, + "6111": { + "op": "ADD" + }, + "6112": { + "op": "SWAP1" + }, + "6113": { + "op": "SSTORE" + }, + "6114": { + "op": "POP" + }, + "6115": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "05d3587c44a7caf5e44c5a3552799232342ad977", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"../ERC721ExtensionCore.sol\";\n\ncontract ERC721ABurnableMock is ERC721ExtensionCore {\n constructor(string memory name_, string memory symbol_) ERC721ExtensionCore(name_, symbol_) {}\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function safeMint(address to, uint256 quantity) public {\n _safeMint(to, quantity);\n }\n\n function getOwnershipAt(uint256 index) public view returns (TokenOwnership memory) {\n return _ownerships[index];\n }\n\n function totalMinted() public view returns (uint256) {\n return _totalMinted();\n }\n}\n", + "sourceMap": "492:589:29:-:0;;;744:1:20;719:26;;550:94:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;626:5;633:7;626:5;633:7;2285:5:17;:13;626:5:29;2285::17;:13;:::i;:::-;-1:-1:-1;2308:7:17;:17;2318:7;2308;:17;:::i;:::-;-1:-1:-1;2521:7:17;2335:13;:31;-1:-1:-1;492:589:29;;-1:-1:-1;;;;;492:589:29;14:127:43;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:43;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;2114:545::-;2216:2;2211:3;2208:11;2205:448;;;2252:1;2277:5;2273:2;2266:17;2322:4;2318:2;2308:19;2392:2;2380:10;2376:19;2373:1;2369:27;2363:4;2359:38;2428:4;2416:10;2413:20;2410:47;;;-1:-1:-1;2451:4:43;2410:47;2506:2;2501:3;2497:12;2494:1;2490:20;2484:4;2480:31;2470:41;;2561:82;2579:2;2572:5;2569:13;2561:82;;;2624:17;;;2605:1;2594:13;2561:82;;;2565:3;;;2205:448;2114:545;;;:::o;2835:1352::-;2955:10;;-1:-1:-1;;;;;2977:30:43;;2974:56;;;3010:18;;:::i;:::-;3039:97;3129:6;3089:38;3121:4;3115:11;3089:38;:::i;:::-;3083:4;3039:97;:::i;:::-;3191:4;;3255:2;3244:14;;3272:1;3267:663;;;;3974:1;3991:6;3988:89;;;-1:-1:-1;4043:19:43;;;4037:26;3988:89;-1:-1:-1;;2792:1:43;2788:11;;;2784:24;2780:29;2770:40;2816:1;2812:11;;;2767:57;4090:81;;3237:944;;3267:663;2061:1;2054:14;;;2098:4;2085:18;;-1:-1:-1;;3303:20:43;;;3421:236;3435:7;3432:1;3429:14;3421:236;;;3524:19;;;3518:26;3503:42;;3616:27;;;;3584:1;3572:14;;;;3451:19;;3421:236;;;3425:3;3685:6;3676:7;3673:19;3670:201;;;3746:19;;;3740:26;-1:-1:-1;;3829:1:43;3825:14;;;3841:3;3821:24;3817:37;3813:42;3798:58;3783:74;;3670:201;-1:-1:-1;;;;;3917:1:43;3901:14;;;3897:22;3884:36;;-1:-1:-1;2835:1352:43:o;:::-;492:589:29;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721ABurnableStartTokenIdMock.json b/tests/build/contracts/ERC721ABurnableStartTokenIdMock.json new file mode 100644 index 0000000..b6b9351 --- /dev/null +++ b/tests/build/contracts/ERC721ABurnableStartTokenIdMock.json @@ -0,0 +1,32286 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint256", + "name": "startTokenId_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "SetURICannotBeEmpty", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "URIRequestForExistentToken", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "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": "index", + "type": "uint256" + } + ], + "name": "getOwnershipAt", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "uint64", + "name": "startTimestamp", + "type": "uint64" + }, + { + "internalType": "bool", + "name": "burned", + "type": "bool" + } + ], + "internalType": "struct IERC721A.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": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "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": [], + "name": "startTokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalMinted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "18": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "20": "contracts/contracts/packages/nft/contracts/Guard.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "23": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "29": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "30": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableStartTokenIdMock.sol", + "35": "contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableStartTokenIdMock.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "ERC721ABurnableMock": [ + 3671 + ], + "ERC721ABurnableStartTokenIdMock": [ + 3706 + ], + "ERC721ExtensionCore": [ + 2873 + ], + "Guarded": [ + 3259 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721ExtensionCore": [ + 3411 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "StartTokenIdHelper": [ + 4021 + ], + "Strings": [ + 6613 + ] + }, + "id": 3707, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3673, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:30" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol", + "file": "./ERC721ABurnableMock.sol", + "id": 3674, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3707, + "sourceUnit": 3672, + "src": "454:35:30", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol", + "file": "./StartTokenIdHelper.sol", + "id": 3675, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3707, + "sourceUnit": 4022, + "src": "490:34:30", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3676, + "name": "StartTokenIdHelper", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4021, + "src": "570:18:30" + }, + "id": 3677, + "nodeType": "InheritanceSpecifier", + "src": "570:18:30" + }, + { + "baseName": { + "id": 3678, + "name": "ERC721ABurnableMock", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3671, + "src": "590:19:30" + }, + "id": 3679, + "nodeType": "InheritanceSpecifier", + "src": "590:19:30" + } + ], + "canonicalName": "ERC721ABurnableStartTokenIdMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3706, + "linearizedBaseContracts": [ + 3706, + 3671, + 2873, + 3411, + 3259, + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410, + 4021 + ], + "name": "ERC721ABurnableStartTokenIdMock", + "nameLocation": "535:31:30", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3695, + "nodeType": "Block", + "src": "795:2:30", + "statements": [] + }, + "id": 3696, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3688, + "name": "startTokenId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3685, + "src": "744:13:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3689, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3687, + "name": "StartTokenIdHelper", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4021, + "src": "725:18:30" + }, + "nodeType": "ModifierInvocation", + "src": "725:33:30" + }, + { + "arguments": [ + { + "id": 3691, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3681, + "src": "779:5:30", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3692, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3683, + "src": "786:7:30", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 3693, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3690, + "name": "ERC721ABurnableMock", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3671, + "src": "759:19:30" + }, + "nodeType": "ModifierInvocation", + "src": "759:35:30" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3681, + "mutability": "mutable", + "name": "name_", + "nameLocation": "651:5:30", + "nodeType": "VariableDeclaration", + "scope": 3696, + "src": "637:19:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3680, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "637:6:30", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3683, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "680:7:30", + "nodeType": "VariableDeclaration", + "scope": 3696, + "src": "666:21:30", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3682, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "666:6:30", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3685, + "mutability": "mutable", + "name": "startTokenId_", + "nameLocation": "705:13:30", + "nodeType": "VariableDeclaration", + "scope": 3696, + "src": "697:21:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3684, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "697:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "627:97:30" + }, + "returnParameters": { + "id": 3694, + "nodeType": "ParameterList", + "parameters": [], + "src": "795:0:30" + }, + "scope": 3706, + "src": "616:181:30", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1412 + ], + "body": { + "id": 3704, + "nodeType": "Block", + "src": "869:36:30", + "statements": [ + { + "expression": { + "id": 3702, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4010, + "src": "886:12:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3701, + "id": 3703, + "nodeType": "Return", + "src": "879:19:30" + } + ] + }, + "id": 3705, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_startTokenId", + "nameLocation": "812:13:30", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3698, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "842:8:30" + }, + "parameters": { + "id": 3697, + "nodeType": "ParameterList", + "parameters": [], + "src": "825:2:30" + }, + "returnParameters": { + "id": 3701, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3700, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3705, + "src": "860:7:30", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3699, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "860:7:30", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "859:9:30" + }, + "scope": 3706, + "src": "803:102:30", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3707, + "src": "526:381:30", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367, + 3401, + 3404 + ] + } + ], + "src": "429:479:30" + }, + "bytecode": "608060405260016009553480156200001657600080fd5b5060405162001baa38038062001baa833981016040819052620000399162000145565b6000819055828281818181600362000052838262000247565b50600462000061828262000247565b506000546001555062000313975050505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000a057600080fd5b81516001600160401b0380821115620000bd57620000bd62000078565b604051601f8301601f19908116603f01168101908282118183101715620000e857620000e862000078565b816040528381526020925086838588010111156200010557600080fd5b600091505b838210156200012957858201830151818301840152908201906200010a565b838211156200013b5760008385830101525b9695505050505050565b6000806000606084860312156200015b57600080fd5b83516001600160401b03808211156200017357600080fd5b62000181878388016200008e565b945060208601519150808211156200019857600080fd5b50620001a7868287016200008e565b925050604084015190509250925092565b600181811c90821680620001cd57607f821691505b602082108103620001ee57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200024257600081815260208120601f850160051c810160208610156200021d5750805b601f850160051c820191505b818110156200023e5782815560010162000229565b5050505b505050565b81516001600160401b0381111562000263576200026362000078565b6200027b81620002748454620001b8565b84620001f4565b602080601f831160018114620002b357600084156200029a5750858301515b600019600386901b1c1916600185901b1785556200023e565b600085815260208120601f198616915b82811015620002e457888601518255948401946001909101908401620002c3565b5085821015620003035787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61188780620003236000396000f3fe60806040526004361061012a5760003560e01c806370a08231116100ab578063b88d4fde1161006f578063b88d4fde14610335578063c87b56dd14610355578063d85d3d2714610375578063e6798baa14610388578063e985e9c51461039e578063f2523633146103e757600080fd5b806370a08231146102a757806395d89b41146102c7578063a1448194146102dc578063a22cb465146102fc578063a2309ff81461031c57600080fd5b806323b872dd116100f257806323b872dd1461020757806342842e0e1461022757806342966c68146102475780634f558e79146102675780636352211e1461028757600080fd5b806301ffc9a71461012f57806306fdde0314610164578063081812fc14610186578063095ea7b3146101be57806318160ddd146101e0575b600080fd5b34801561013b57600080fd5b5061014f61014a36600461135f565b61049f565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b506101796104f1565b60405161015b91906113db565b34801561019257600080fd5b506101a66101a13660046113ee565b610583565b6040516001600160a01b03909116815260200161015b565b3480156101ca57600080fd5b506101de6101d9366004611423565b6105c7565b005b3480156101ec57600080fd5b5060005460025460015403035b60405190815260200161015b565b34801561021357600080fd5b506101de61022236600461144d565b61064d565b34801561023357600080fd5b506101de61024236600461144d565b610658565b34801561025357600080fd5b506101de6102623660046113ee565b610673565b34801561027357600080fd5b5061014f6102823660046113ee565b610681565b34801561029357600080fd5b506101a66102a23660046113ee565b61068c565b3480156102b357600080fd5b506101f96102c2366004611489565b61069e565b3480156102d357600080fd5b506101796106ec565b3480156102e857600080fd5b506101de6102f7366004611423565b6106fb565b34801561030857600080fd5b506101de6103173660046114a4565b610709565b34801561032857600080fd5b50600054600154036101f9565b34801561034157600080fd5b506101de61035036600461156b565b61079e565b34801561036157600080fd5b506101796103703660046113ee565b6107e8565b6101f96103833660046115e6565b6108fc565b34801561039457600080fd5b506101f960005481565b3480156103aa57600080fd5b5061014f6103b936600461162e565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b3480156103f357600080fd5b506104696104023660046113ee565b604080516060808201835260008083526020808401829052928401819052938452600582529282902082519384018352546001600160a01b0381168452600160a01b81046001600160401b031691840191909152600160e01b900460ff1615159082015290565b6040805182516001600160a01b031681526020808401516001600160401b0316908201529181015115159082015260600161015b565b60006001600160e01b031982166380ac58cd60e01b14806104d057506001600160e01b03198216635b5e139f60e01b145b806104eb57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461050090611661565b80601f016020809104026020016040519081016040528092919081815260200182805461052c90611661565b80156105795780601f1061054e57610100808354040283529160200191610579565b820191906000526020600020905b81548152906001019060200180831161055c57829003601f168201915b5050505050905090565b600061058e826109b8565b6105ab576040516333d1c03960e21b815260040160405180910390fd5b506000908152600760205260409020546001600160a01b031690565b60006105d28261068c565b9050806001600160a01b0316836001600160a01b0316036106065760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b0382161461063d5761062081336103b9565b61063d576040516367d9dca160e11b815260040160405180910390fd5b6106488383836109f8565b505050565b610648838383610a54565b6106488383836040518060200160405280600081525061079e565b61067e816001610c2f565b50565b60006104eb826109b8565b600061069782610de3565b5192915050565b60006001600160a01b0382166106c7576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600660205260409020546001600160401b031690565b60606004805461050090611661565b6107058282610f0c565b5050565b336001600160a01b038316036107325760405163b06307db60e01b815260040160405180910390fd5b3360008181526008602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6107a9848484610a54565b6001600160a01b0383163b156107e2576107c584848484610f26565b6107e2576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606107f3826109b8565b61081057604051630a14c4b560e41b815260040160405180910390fd5b6000828152600a60205260408120805461082990611661565b80601f016020809104026020016040519081016040528092919081815260200182805461085590611661565b80156108a25780601f10610877576101008083540402835291602001916108a2565b820191906000526020600020905b81548152906001019060200180831161088557829003601f168201915b5050505050905060006108c060408051602081019091526000815290565b905080516000036108d157816108f4565b80826040516020016108e492919061169b565b6040516020818303038152906040525b949350505050565b60006009546001146109425760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b600260095534156109955760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f2062652030000000000000006044820152606401610939565b6109a0336001611011565b6001546109ad8184611123565b600160095592915050565b6000816109c460005490565b111580156109d3575060015482105b80156104eb575050600090815260056020526040902054600160e01b900460ff161590565b60008281526007602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610a5f82610de3565b9050836001600160a01b031681600001516001600160a01b031614610a965760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610ab45750610ab485336103b9565b80610acf575033610ac484610583565b6001600160a01b0316145b905080610aef57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610b1657604051633a954ecd60e21b815260040160405180910390fd5b610b22600084876109f8565b6001600160a01b038581166000908152600660209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600590945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610bf6576001548214610bf657805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b031660008051602061183283398151915260405160405180910390a45050505050565b6000610c3a83610de3565b80519091508215610ca0576000336001600160a01b0383161480610c635750610c6382336103b9565b80610c7e575033610c7386610583565b6001600160a01b0316145b905080610c9e57604051632ce44b5f60e11b815260040160405180910390fd5b505b610cac600085836109f8565b6001600160a01b0380821660008181526006602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526005909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610daa576001548214610daa57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b03841690600080516020611832833981519152908390a450506002805460010190555050565b60408051606081018252600080825260208201819052918101919091528180610e0b60005490565b11610ef357600154811015610ef357600081815260056020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610ef15780516001600160a01b031615610e88579392505050565b5060001901600081815260056020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610eec579392505050565b610e88565b505b604051636f96cda160e11b815260040160405180910390fd5b6107058282604051806020016040528060008152506111b5565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610f5b9033908990889088906004016116ca565b6020604051808303816000875af1925050508015610f96575060408051601f3d908101601f19168201909252610f9391810190611707565b60015b610ff4573d808015610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b508051600003610fec576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6001546001600160a01b03831661103a57604051622e076360e81b815260040160405180910390fd5b8160000361105b5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600590925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b03871690600090600080516020611832833981519152908290a48082106110e95750600155505050565b8051156111645760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b6044820152606401610939565b6000828152600a60205260409020805461117d90611661565b15905061119d57604051630162134b60e11b815260040160405180910390fd5b6000828152600a602052604090206106488282611772565b6001546001600160a01b0384166111de57604051622e076360e81b815260040160405180910390fd5b826000036111ff5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260066020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600590925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15611307575b60405182906001600160a01b03881690600090600080516020611832833981519152908290a46112d06000878480600101955087610f26565b6112ed576040516368d2bf6b60e11b815260040160405180910390fd5b80821061129757826001541461130257600080fd5b61133a565b5b6040516001830192906001600160a01b03881690600090600080516020611832833981519152908290a4808210611308575b506001556107e2600085838684565b6001600160e01b03198116811461067e57600080fd5b60006020828403121561137157600080fd5b813561137c81611349565b9392505050565b60005b8381101561139e578181015183820152602001611386565b838111156107e25750506000910152565b600081518084526113c7816020860160208601611383565b601f01601f19169290920160200192915050565b60208152600061137c60208301846113af565b60006020828403121561140057600080fd5b5035919050565b80356001600160a01b038116811461141e57600080fd5b919050565b6000806040838503121561143657600080fd5b61143f83611407565b946020939093013593505050565b60008060006060848603121561146257600080fd5b61146b84611407565b925061147960208501611407565b9150604084013590509250925092565b60006020828403121561149b57600080fd5b61137c82611407565b600080604083850312156114b757600080fd5b6114c083611407565b9150602083013580151581146114d557600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115611510576115106114e0565b604051601f8501601f19908116603f01168101908282118183101715611538576115386114e0565b8160405280935085815286868601111561155157600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561158157600080fd5b61158a85611407565b935061159860208601611407565b92506040850135915060608501356001600160401b038111156115ba57600080fd5b8501601f810187136115cb57600080fd5b6115da878235602084016114f6565b91505092959194509250565b6000602082840312156115f857600080fd5b81356001600160401b0381111561160e57600080fd5b8201601f8101841361161f57600080fd5b6108f4848235602084016114f6565b6000806040838503121561164157600080fd5b61164a83611407565b915061165860208401611407565b90509250929050565b600181811c9082168061167557607f821691505b60208210810361169557634e487b7160e01b600052602260045260246000fd5b50919050565b600083516116ad818460208801611383565b8351908301906116c1818360208801611383565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116fd908301846113af565b9695505050505050565b60006020828403121561171957600080fd5b815161137c81611349565b601f82111561064857600081815260208120601f850160051c8101602086101561174b5750805b601f850160051c820191505b8181101561176a57828155600101611757565b505050505050565b81516001600160401b0381111561178b5761178b6114e0565b61179f816117998454611661565b84611724565b602080601f8311600181146117d457600084156117bc5750858301515b600019600386901b1c1916600185901b17855561176a565b600085815260208120601f198616915b82811015611803578886015182559484019460019091019084016117e4565b50858210156118215787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a70542c0c4e9cd90854f3db35430702f35b6c0ef04a66c6a3bae51cabf7aa4e764736f6c634300080f0033", + "bytecodeSha1": "9925c2c8794b6c8e00b59dc9c83214568cf3f9a6", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721ABurnableStartTokenIdMock", + "coverageMap": { + "branches": { + "1": {}, + "17": { + "ERC721A._burn": { + "101": [ + 16787, + 16804, + false + ], + "102": [ + 18282, + 18310, + false + ] + }, + "ERC721A._checkContractOnERC721Received": { + "107": [ + 19927, + 19945, + false + ] + }, + "ERC721A._mint": { + "108": [ + 12705, + 12721, + false + ], + "109": [ + 12763, + 12776, + false + ] + }, + "ERC721A._ownershipOf": { + "103": [ + 5244, + 5267, + false + ], + "104": [ + 5289, + 5309, + false + ], + "105": [ + 5459, + 5487, + false + ], + "106": [ + 6021, + 6049, + false + ] + }, + "ERC721A._safeMint": { + "110": [ + 10804, + 10820, + false + ], + "111": [ + 10862, + 10875, + false + ], + "112": [ + 11732, + 11801, + false + ], + "113": [ + 12007, + 12036, + false + ] + }, + "ERC721A._transfer": { + "97": [ + 14163, + 14189, + false + ], + "98": [ + 14380, + 14397, + false + ], + "99": [ + 14455, + 14471, + false + ], + "100": [ + 15745, + 15773, + false + ] + }, + "ERC721A.approve": { + "91": [ + 7663, + 7674, + false + ], + "92": [ + 7722, + 7743, + false + ], + "93": [ + 7762, + 7799, + false + ] + }, + "ERC721A.balanceOf": { + "94": [ + 3832, + 3851, + false + ] + }, + "ERC721A.getApproved": { + "90": [ + 8074, + 8090, + false + ] + }, + "ERC721A.safeTransferFrom": { + "96": [ + 9533, + 9589, + false + ] + }, + "ERC721A.setApprovalForAll": { + "95": [ + 8347, + 8371, + false + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "117": [ + 1709, + 1737, + false + ], + "118": [ + 1797, + 1835, + false + ] + }, + "ERC721ExtensionCore.mint": { + "116": [ + 2173, + 2187, + true + ] + }, + "ERC721ExtensionCore.tokenURI": { + "114": [ + 1065, + 1081, + false + ], + "115": [ + 1381, + 1404, + true + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "29": {}, + "3": {}, + "30": {}, + "35": {}, + "5": {}, + "7": {}, + "8": {} + }, + "statements": { + "1": {}, + "17": { + "ERC721A._approve": { + "36": [ + 18958, + 18987 + ], + "37": [ + 18997, + 19030 + ] + }, + "ERC721A._baseURI": { + "29": [ + 7464, + 7473 + ] + }, + "ERC721A._burn": { + "49": [ + 16782, + 16848 + ], + "50": [ + 16982, + 17017 + ], + "51": [ + 17373, + 17397 + ], + "52": [ + 17411, + 17440 + ], + "53": [ + 17604, + 17624 + ], + "54": [ + 17638, + 17687 + ], + "55": [ + 17701, + 17723 + ], + "56": [ + 18334, + 18354 + ], + "57": [ + 18376, + 18430 + ], + "58": [ + 18483, + 18523 + ], + "59": [ + 18706, + 18720 + ] + }, + "ERC721A._checkContractOnERC721Received": { + "65": [ + 19923, + 20152 + ], + "66": [ + 19807, + 19869 + ] + }, + "ERC721A._exists": { + "35": [ + 9996, + 10088 + ] + }, + "ERC721A._mint": { + "67": [ + 12701, + 12749 + ], + "68": [ + 12759, + 12803 + ], + "69": [ + 13146, + 13190 + ], + "70": [ + 13204, + 13253 + ], + "71": [ + 13268, + 13303 + ], + "72": [ + 13317, + 13383 + ], + "73": [ + 13520, + 13565 + ], + "74": [ + 13622, + 13650 + ] + }, + "ERC721A._ownershipOf": { + "60": [ + 5519, + 5535 + ], + "61": [ + 5922, + 5928 + ], + "62": [ + 5958, + 5987 + ], + "63": [ + 6085, + 6101 + ] + }, + "ERC721A._safeMint": { + "64": [ + 10242, + 10269 + ], + "78": [ + 10800, + 10848 + ], + "79": [ + 10858, + 10902 + ], + "80": [ + 11245, + 11289 + ], + "81": [ + 11303, + 11352 + ], + "82": [ + 11367, + 11402 + ], + "83": [ + 11416, + 11482 + ], + "84": [ + 11662, + 11705 + ], + "85": [ + 11727, + 11899 + ], + "86": [ + 12038, + 12046 + ], + "87": [ + 12110, + 12155 + ], + "88": [ + 12229, + 12257 + ], + "89": [ + 12277, + 12337 + ] + }, + "ERC721A._totalMinted": { + "2": [ + 3300, + 3338 + ] + }, + "ERC721A._transfer": { + "38": [ + 14159, + 14226 + ], + "39": [ + 14375, + 14441 + ], + "40": [ + 14451, + 14503 + ], + "41": [ + 14619, + 14654 + ], + "42": [ + 14944, + 14975 + ], + "43": [ + 14989, + 15018 + ], + "44": [ + 15101, + 15119 + ], + "45": [ + 15133, + 15182 + ], + "46": [ + 15797, + 15817 + ], + "47": [ + 15839, + 15893 + ], + "48": [ + 15946, + 15978 + ] + }, + "ERC721A.approve": { + "10": [ + 7659, + 7707 + ], + "12": [ + 7757, + 7876 + ], + "13": [ + 7886, + 7914 + ] + }, + "ERC721A.balanceOf": { + "19": [ + 3828, + 3888 + ], + "20": [ + 3898, + 3941 + ] + }, + "ERC721A.getApproved": { + "8": [ + 8069, + 8133 + ], + "9": [ + 8144, + 8175 + ] + }, + "ERC721A.isApprovedForAll": { + "3": [ + 8710, + 8752 + ] + }, + "ERC721A.name": { + "7": [ + 6583, + 6595 + ] + }, + "ERC721A.ownerOf": { + "18": [ + 6402, + 6435 + ] + }, + "ERC721A.safeTransferFrom": { + "15": [ + 9184, + 9223 + ], + "26": [ + 9457, + 9485 + ], + "27": [ + 9528, + 9671 + ] + }, + "ERC721A.setApprovalForAll": { + "23": [ + 8343, + 8397 + ], + "24": [ + 8408, + 8461 + ], + "25": [ + 8471, + 8524 + ] + }, + "ERC721A.supportsInterface": { + "5": [ + 3540, + 3679 + ] + }, + "ERC721A.symbol": { + "21": [ + 6747, + 6761 + ] + }, + "ERC721A.totalSupply": { + "1": [ + 2920, + 2973 + ] + }, + "ERC721A.transferFrom": { + "14": [ + 8950, + 8978 + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "75": [ + 1705, + 1783 + ], + "76": [ + 1793, + 1872 + ], + "77": [ + 1882, + 1913 + ] + }, + "ERC721ExtensionCore.burn": { + "16": [ + 2899, + 2919 + ] + }, + "ERC721ExtensionCore.mint": { + "31": [ + 2165, + 2217 + ], + "32": [ + 2339, + 2359 + ], + "33": [ + 2488, + 2523 + ], + "34": [ + 2636, + 2653 + ] + }, + "ERC721ExtensionCore.tokenURI": { + "28": [ + 1060, + 1119 + ], + "30": [ + 1374, + 1460 + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "29": { + "ERC721ABurnableMock.exists": { + "17": [ + 720, + 743 + ] + }, + "ERC721ABurnableMock.getOwnershipAt": { + "4": [ + 950, + 975 + ] + }, + "ERC721ABurnableMock.safeMint": { + "22": [ + 821, + 844 + ] + } + }, + "3": {}, + "30": { + "ERC721ABurnableStartTokenIdMock._startTokenId": { + "0": [ + 879, + 898 + ] + } + }, + "35": {}, + "5": { + "Context._msgSender": { + "11": [ + 712, + 729 + ] + } + }, + "7": { + "ERC165.supportsInterface": { + "6": [ + 930, + 977 + ] + } + }, + "8": {} + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "ERC721A", + "ERC721ABurnableMock", + "ERC721ExtensionCore", + "Guarded", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "IERC721ExtensionCore", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata", + "StartTokenIdHelper" + ], + "deployedBytecode": "60806040526004361061012a5760003560e01c806370a08231116100ab578063b88d4fde1161006f578063b88d4fde14610335578063c87b56dd14610355578063d85d3d2714610375578063e6798baa14610388578063e985e9c51461039e578063f2523633146103e757600080fd5b806370a08231146102a757806395d89b41146102c7578063a1448194146102dc578063a22cb465146102fc578063a2309ff81461031c57600080fd5b806323b872dd116100f257806323b872dd1461020757806342842e0e1461022757806342966c68146102475780634f558e79146102675780636352211e1461028757600080fd5b806301ffc9a71461012f57806306fdde0314610164578063081812fc14610186578063095ea7b3146101be57806318160ddd146101e0575b600080fd5b34801561013b57600080fd5b5061014f61014a36600461135f565b61049f565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b506101796104f1565b60405161015b91906113db565b34801561019257600080fd5b506101a66101a13660046113ee565b610583565b6040516001600160a01b03909116815260200161015b565b3480156101ca57600080fd5b506101de6101d9366004611423565b6105c7565b005b3480156101ec57600080fd5b5060005460025460015403035b60405190815260200161015b565b34801561021357600080fd5b506101de61022236600461144d565b61064d565b34801561023357600080fd5b506101de61024236600461144d565b610658565b34801561025357600080fd5b506101de6102623660046113ee565b610673565b34801561027357600080fd5b5061014f6102823660046113ee565b610681565b34801561029357600080fd5b506101a66102a23660046113ee565b61068c565b3480156102b357600080fd5b506101f96102c2366004611489565b61069e565b3480156102d357600080fd5b506101796106ec565b3480156102e857600080fd5b506101de6102f7366004611423565b6106fb565b34801561030857600080fd5b506101de6103173660046114a4565b610709565b34801561032857600080fd5b50600054600154036101f9565b34801561034157600080fd5b506101de61035036600461156b565b61079e565b34801561036157600080fd5b506101796103703660046113ee565b6107e8565b6101f96103833660046115e6565b6108fc565b34801561039457600080fd5b506101f960005481565b3480156103aa57600080fd5b5061014f6103b936600461162e565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b3480156103f357600080fd5b506104696104023660046113ee565b604080516060808201835260008083526020808401829052928401819052938452600582529282902082519384018352546001600160a01b0381168452600160a01b81046001600160401b031691840191909152600160e01b900460ff1615159082015290565b6040805182516001600160a01b031681526020808401516001600160401b0316908201529181015115159082015260600161015b565b60006001600160e01b031982166380ac58cd60e01b14806104d057506001600160e01b03198216635b5e139f60e01b145b806104eb57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461050090611661565b80601f016020809104026020016040519081016040528092919081815260200182805461052c90611661565b80156105795780601f1061054e57610100808354040283529160200191610579565b820191906000526020600020905b81548152906001019060200180831161055c57829003601f168201915b5050505050905090565b600061058e826109b8565b6105ab576040516333d1c03960e21b815260040160405180910390fd5b506000908152600760205260409020546001600160a01b031690565b60006105d28261068c565b9050806001600160a01b0316836001600160a01b0316036106065760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b0382161461063d5761062081336103b9565b61063d576040516367d9dca160e11b815260040160405180910390fd5b6106488383836109f8565b505050565b610648838383610a54565b6106488383836040518060200160405280600081525061079e565b61067e816001610c2f565b50565b60006104eb826109b8565b600061069782610de3565b5192915050565b60006001600160a01b0382166106c7576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600660205260409020546001600160401b031690565b60606004805461050090611661565b6107058282610f0c565b5050565b336001600160a01b038316036107325760405163b06307db60e01b815260040160405180910390fd5b3360008181526008602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6107a9848484610a54565b6001600160a01b0383163b156107e2576107c584848484610f26565b6107e2576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606107f3826109b8565b61081057604051630a14c4b560e41b815260040160405180910390fd5b6000828152600a60205260408120805461082990611661565b80601f016020809104026020016040519081016040528092919081815260200182805461085590611661565b80156108a25780601f10610877576101008083540402835291602001916108a2565b820191906000526020600020905b81548152906001019060200180831161088557829003601f168201915b5050505050905060006108c060408051602081019091526000815290565b905080516000036108d157816108f4565b80826040516020016108e492919061169b565b6040516020818303038152906040525b949350505050565b60006009546001146109425760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b600260095534156109955760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f2062652030000000000000006044820152606401610939565b6109a0336001611011565b6001546109ad8184611123565b600160095592915050565b6000816109c460005490565b111580156109d3575060015482105b80156104eb575050600090815260056020526040902054600160e01b900460ff161590565b60008281526007602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610a5f82610de3565b9050836001600160a01b031681600001516001600160a01b031614610a965760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610ab45750610ab485336103b9565b80610acf575033610ac484610583565b6001600160a01b0316145b905080610aef57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610b1657604051633a954ecd60e21b815260040160405180910390fd5b610b22600084876109f8565b6001600160a01b038581166000908152600660209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600590945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610bf6576001548214610bf657805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b031660008051602061183283398151915260405160405180910390a45050505050565b6000610c3a83610de3565b80519091508215610ca0576000336001600160a01b0383161480610c635750610c6382336103b9565b80610c7e575033610c7386610583565b6001600160a01b0316145b905080610c9e57604051632ce44b5f60e11b815260040160405180910390fd5b505b610cac600085836109f8565b6001600160a01b0380821660008181526006602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526005909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610daa576001548214610daa57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b03841690600080516020611832833981519152908390a450506002805460010190555050565b60408051606081018252600080825260208201819052918101919091528180610e0b60005490565b11610ef357600154811015610ef357600081815260056020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610ef15780516001600160a01b031615610e88579392505050565b5060001901600081815260056020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610eec579392505050565b610e88565b505b604051636f96cda160e11b815260040160405180910390fd5b6107058282604051806020016040528060008152506111b5565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610f5b9033908990889088906004016116ca565b6020604051808303816000875af1925050508015610f96575060408051601f3d908101601f19168201909252610f9391810190611707565b60015b610ff4573d808015610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b508051600003610fec576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6001546001600160a01b03831661103a57604051622e076360e81b815260040160405180910390fd5b8160000361105b5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600590925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b03871690600090600080516020611832833981519152908290a48082106110e95750600155505050565b8051156111645760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b6044820152606401610939565b6000828152600a60205260409020805461117d90611661565b15905061119d57604051630162134b60e11b815260040160405180910390fd5b6000828152600a602052604090206106488282611772565b6001546001600160a01b0384166111de57604051622e076360e81b815260040160405180910390fd5b826000036111ff5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260066020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600590925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15611307575b60405182906001600160a01b03881690600090600080516020611832833981519152908290a46112d06000878480600101955087610f26565b6112ed576040516368d2bf6b60e11b815260040160405180910390fd5b80821061129757826001541461130257600080fd5b61133a565b5b6040516001830192906001600160a01b03881690600090600080516020611832833981519152908290a4808210611308575b506001556107e2600085838684565b6001600160e01b03198116811461067e57600080fd5b60006020828403121561137157600080fd5b813561137c81611349565b9392505050565b60005b8381101561139e578181015183820152602001611386565b838111156107e25750506000910152565b600081518084526113c7816020860160208601611383565b601f01601f19169290920160200192915050565b60208152600061137c60208301846113af565b60006020828403121561140057600080fd5b5035919050565b80356001600160a01b038116811461141e57600080fd5b919050565b6000806040838503121561143657600080fd5b61143f83611407565b946020939093013593505050565b60008060006060848603121561146257600080fd5b61146b84611407565b925061147960208501611407565b9150604084013590509250925092565b60006020828403121561149b57600080fd5b61137c82611407565b600080604083850312156114b757600080fd5b6114c083611407565b9150602083013580151581146114d557600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b0380841115611510576115106114e0565b604051601f8501601f19908116603f01168101908282118183101715611538576115386114e0565b8160405280935085815286868601111561155157600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561158157600080fd5b61158a85611407565b935061159860208601611407565b92506040850135915060608501356001600160401b038111156115ba57600080fd5b8501601f810187136115cb57600080fd5b6115da878235602084016114f6565b91505092959194509250565b6000602082840312156115f857600080fd5b81356001600160401b0381111561160e57600080fd5b8201601f8101841361161f57600080fd5b6108f4848235602084016114f6565b6000806040838503121561164157600080fd5b61164a83611407565b915061165860208401611407565b90509250929050565b600181811c9082168061167557607f821691505b60208210810361169557634e487b7160e01b600052602260045260246000fd5b50919050565b600083516116ad818460208801611383565b8351908301906116c1818360208801611383565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116fd908301846113af565b9695505050505050565b60006020828403121561171957600080fd5b815161137c81611349565b601f82111561064857600081815260208120601f850160051c8101602086101561174b5750805b601f850160051c820191505b8181101561176a57828155600101611757565b505050505050565b81516001600160401b0381111561178b5761178b6114e0565b61179f816117998454611661565b84611724565b602080601f8311600181146117d457600084156117bc5750858301515b600019600386901b1c1916600185901b17855561176a565b600085815260208120601f198616915b82811015611803578886015182559484019460019091019084016117e4565b50858210156118215787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a70542c0c4e9cd90854f3db35430702f35b6c0ef04a66c6a3bae51cabf7aa4e764736f6c634300080f0033", + "deployedSourceMap": "526:381:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3422:264:17;;;;;;;;;;-1:-1:-1;3422:264:17;;;;;:::i;:::-;;:::i;:::-;;;565:14:43;;558:22;540:41;;528:2;513:18;3422:264:17;;;;;;;;6504:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7982:200::-;;;;;;;;;;-1:-1:-1;7982:200:17;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:43;;;1674:51;;1662:2;1647:18;7982:200:17;1528:203:43;7537:384:17;;;;;;;;;;-1:-1:-1;7537:384:17;;;;;:::i;:::-;;:::i;:::-;;2684:306;;;;;;;;;;-1:-1:-1;2737:7:17;886:12:30;2943::17;;2927:13;;:28;:46;2684:306;;;2319:25:43;;;2307:2;2292:18;2684:306:17;2173:177:43;8821:164:17;;;;;;;;;;-1:-1:-1;8821:164:17;;;;;:::i;:::-;;:::i;9051:179::-;;;;;;;;;;-1:-1:-1;9051:179:17;;;;;:::i;:::-;;:::i;2834:92:18:-;;;;;;;;;;-1:-1:-1;2834:92:18;;;;;:::i;:::-;;:::i;650:100:29:-;;;;;;;;;;-1:-1:-1;650:100:29;;;;;:::i;:::-;;:::i;6319:123:17:-;;;;;;;;;;-1:-1:-1;6319:123:17;;;;;:::i;:::-;;:::i;3745:203::-;;;;;;;;;;-1:-1:-1;3745:203:17;;;;;:::i;:::-;;:::i;6666:102::-;;;;;;;;;;;;;:::i;756:95:29:-;;;;;;;;;;-1:-1:-1;756:95:29;;;;;:::i;:::-;;:::i;8249:282:17:-;;;;;;;;;;-1:-1:-1;8249:282:17;;;;;:::i;:::-;;:::i;988:91:29:-;;;;;;;;;;-1:-1:-1;1032:7:29;886:12:30;3307:13:17;;:31;988:91:29;;9296:381:17;;;;;;;;;;-1:-1:-1;9296:381:17;;;;;:::i;:::-;;:::i;936:531:18:-;;;;;;;;;;-1:-1:-1;936:531:18;;;;;:::i;:::-;;:::i;2065:595::-;;;;;;:::i;:::-;;:::i;797:27:35:-;;;;;;;;;;;;;;;;8597:162:17;;;;;;;;;;-1:-1:-1;8597:162:17;;;;;:::i;:::-;-1:-1:-1;;;;;8717:25:17;;;8694:4;8717:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8597:162;857:125:29;;;;;;;;;;-1:-1:-1;857:125:29;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;957:18:29;;;:11;:18;;;;;;950:25;;;;;;;;-1:-1:-1;;;;;950:25:29;;;;-1:-1:-1;;;950:25:29;;-1:-1:-1;;;;;950:25:29;;;;;;;;-1:-1:-1;;;950:25:29;;;;;;;;;;;857:125;;;;;5622:13:43;;-1:-1:-1;;;;;5618:39:43;5600:58;;5718:4;5706:17;;;5700:24;-1:-1:-1;;;;;5696:49:43;5674:20;;;5667:79;5804:17;;;5798:24;5791:32;5784:40;5762:20;;;5755:70;5588:2;5573:18;857:125:29;5390:441:43;3422:264:17;3524:4;-1:-1:-1;;;;;;3547:40:17;;-1:-1:-1;;;3547:40:17;;:92;;-1:-1:-1;;;;;;;3591:48:17;;-1:-1:-1;;;3591:48:17;3547:92;:132;;;-1:-1:-1;;;;;;;;;;937:40:7;;;3643:36:17;3540:139;3422:264;-1:-1:-1;;3422:264:17:o;6504:98::-;6558:13;6590:5;6583:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:98;:::o;7982:200::-;8050:7;8074:16;8082:7;8074;:16::i;:::-;8069:64;;8099:34;;-1:-1:-1;;;8099:34:17;;;;;;;;;;;8069:64;-1:-1:-1;8151:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;8151:24:17;;7982:200::o;7537:384::-;7609:13;7625:24;7641:7;7625:15;:24::i;:::-;7609:40;;7669:5;-1:-1:-1;;;;;7663:11:17;:2;-1:-1:-1;;;;;7663:11:17;;7659:48;;7683:24;;-1:-1:-1;;;7683:24:17;;;;;;;;;;;7659:48;719:10:5;-1:-1:-1;;;;;7722:21:17;;;7718:158;;7762:37;7779:5;719:10:5;8597:162:17;:::i;7762:37::-;7757:119;;7826:35;;-1:-1:-1;;;7826:35:17;;;;;;;;;;;7757:119;7886:28;7895:2;7899:7;7908:5;7886:8;:28::i;:::-;7599:322;7537:384;;:::o;8821:164::-;8950:28;8960:4;8966:2;8970:7;8950:9;:28::i;9051:179::-;9184:39;9201:4;9207:2;9211:7;9184:39;;;;;;;;;;;;:16;:39::i;2834:92:18:-;2899:20;2905:7;2914:4;2899:5;:20::i;:::-;2834:92;:::o;650:100:29:-;704:4;727:16;735:7;727;:16::i;6319:123:17:-;6383:7;6409:21;6422:7;6409:12;:21::i;:::-;:26;;6319:123;-1:-1:-1;;6319:123:17:o;3745:203::-;3809:7;-1:-1:-1;;;;;3832:19:17;;3828:60;;3860:28;;-1:-1:-1;;;3860:28:17;;;;;;;;;;;3828:60;-1:-1:-1;;;;;;3913:19:17;;;;;:12;:19;;;;;:27;-1:-1:-1;;;;;3913:27:17;;3745:203::o;6666:102::-;6722:13;6754:7;6747:14;;;;;:::i;756:95:29:-;821:23;831:2;835:8;821:9;:23::i;:::-;756:95;;:::o;8249:282:17:-;719:10:5;-1:-1:-1;;;;;8347:24:17;;;8343:54;;8380:17;;-1:-1:-1;;;8380:17:17;;;;;;;;;;;8343:54;719:10:5;8408:32:17;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8408:42:17;;;;;;;;;;;;:53;;-1:-1:-1;;8408:53:17;;;;;;;;;;8476:48;;540:41:43;;;8408:42:17;;719:10:5;8476:48:17;;513:18:43;8476:48:17;;;;;;;8249:282;;:::o;9296:381::-;9457:28;9467:4;9473:2;9477:7;9457:9;:28::i;:::-;-1:-1:-1;;;;;9499:13:17;;1465:19:4;:23;9495:176:17;;9533:56;9564:4;9570:2;9574:7;9583:5;9533:30;:56::i;:::-;9528:143;;9616:40;;-1:-1:-1;;;9616:40:17;;;;;;;;;;;9528:143;9296:381;;;;:::o;936:531:18:-;1035:13;1065:16;1073:7;1065;:16::i;:::-;1060:59;;1090:29;;-1:-1:-1;;;1090:29:18;;;;;;;;;;;1060:59;1130:23;1156:19;;;:10;:19;;;;;1130:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1185:18;1206:10;7464:9:17;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;1206:10:18;1185:31;;1387:4;1381:18;1403:1;1381:23;:79;;1451:9;1381:79;;;1431:4;1437:9;1414:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1381:79;1374:86;936:531;-1:-1:-1;;;;936:531:18:o;2065:595::-;2146:7;797:6:20;;807:1;797:11;789:34;;;;-1:-1:-1;;;789:34:20;;6898:2:43;789:34:20;;;6880:21:43;6937:2;6917:18;;;6910:30;-1:-1:-1;;;6956:18:43;;;6949:40;7006:18;;789:34:20;;;;;;;;;843:1;834:6;:10;2173:9:18::1;:14:::0;2165:52:::1;;;::::0;-1:-1:-1;;;2165:52:18;;7237:2:43;2165:52:18::1;::::0;::::1;7219:21:43::0;7276:2;7256:18;;;7249:30;7315:27;7295:18;;;7288:55;7360:18;;2165:52:18::1;7035:349:43::0;2165:52:18::1;2339:20;2345:10;2357:1;2339:5;:20::i;:::-;2391:13;::::0;2488:35:::1;2391:13:::0;2513:9;2488:12:::1;:35::i;:::-;876:1:20::0;867:6;:10;2643::18;2065:595;-1:-1:-1;;2065:595:18:o;9923:172:17:-;9980:4;10022:7;10003:15;860:7:30;886:12;;803:102;10003:15:17;:26;;:53;;;;;10043:13;;10033:7;:23;10003:53;:85;;;;-1:-1:-1;;10061:20:17;;;;:11;:20;;;;;:27;-1:-1:-1;;;10061:27:17;;;;10060:28;;9923:172::o;18848:189::-;18958:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;18958:29:17;-1:-1:-1;;;;;18958:29:17;;;;;;;;;19002:28;;18958:24;;19002:28;;;;;;;18848:189;;;:::o;13979:2058::-;14089:35;14127:21;14140:7;14127:12;:21::i;:::-;14089:59;;14185:4;-1:-1:-1;;;;;14163:26:17;:13;:18;;;-1:-1:-1;;;;;14163:26:17;;14159:67;;14198:28;;-1:-1:-1;;;14198:28:17;;;;;;;;;;;14159:67;14237:22;719:10:5;-1:-1:-1;;;;;14263:20:17;;;;:60;;-1:-1:-1;14287:36:17;14304:4;719:10:5;8597:162:17;:::i;14287:36::-;14263:100;;;-1:-1:-1;719:10:5;14327:20:17;14339:7;14327:11;:20::i;:::-;-1:-1:-1;;;;;14327:36:17;;14263:100;14237:127;;14380:17;14375:66;;14406:35;;-1:-1:-1;;;14406:35:17;;;;;;;;;;;14375:66;-1:-1:-1;;;;;14455:16:17;;14451:52;;14480:23;;-1:-1:-1;;;14480:23:17;;;;;;;;;;;14451:52;14619:35;14636:1;14640:7;14649:4;14619:8;:35::i;:::-;-1:-1:-1;;;;;14944:18:17;;;;;;;:12;:18;;;;;;;;:31;;-1:-1:-1;;14944:31:17;;;-1:-1:-1;;;;;14944:31:17;;;-1:-1:-1;;14944:31:17;;;;;;;14989:16;;;;;;;;;:29;;;;;;;;-1:-1:-1;14989:29:17;;;;;;;;;;;15067:20;;;:11;:20;;;;;;15101:18;;-1:-1:-1;;;;;;15133:49:17;;;;-1:-1:-1;;;15166:15:17;15133:49;;;;;;;;;;15452:11;;15511:24;;;;;15553:13;;15067:20;;15511:24;;15553:13;15549:377;;15760:13;;15745:11;:28;15741:171;;15797:20;;15865:28;;;;-1:-1:-1;;;;;15839:54:17;-1:-1:-1;;;15839:54:17;-1:-1:-1;;;;;;15839:54:17;;;-1:-1:-1;;;;;15797:20:17;;15839:54;;;;15741:171;14920:1016;;;15970:7;15966:2;-1:-1:-1;;;;;15951:27:17;15960:4;-1:-1:-1;;;;;15951:27:17;-1:-1:-1;;;;;;;;;;;15951:27:17;;;;;;;;;14079:1958;;13979:2058;;;:::o;16414:2323::-;16493:35;16531:21;16544:7;16531:12;:21::i;:::-;16578:18;;16493:59;;-1:-1:-1;16607:252:17;;;;16640:22;719:10:5;-1:-1:-1;;;;;16666:20:17;;;;:60;;-1:-1:-1;16690:36:17;16707:4;719:10:5;8597:162:17;:::i;16690:36::-;16666:100;;;-1:-1:-1;719:10:5;16730:20:17;16742:7;16730:11;:20::i;:::-;-1:-1:-1;;;;;16730:36:17;;16666:100;16640:127;;16787:17;16782:66;;16813:35;;-1:-1:-1;;;16813:35:17;;;;;;;;;;;16782:66;16626:233;16607:252;16982:35;16999:1;17003:7;17012:4;16982:8;:35::i;:::-;-1:-1:-1;;;;;17341:18:17;;;17307:31;17341:18;;;:12;:18;;;;;;;;17373:24;;-1:-1:-1;;;;;;;;;;17373:24:17;;;;;;;;;-1:-1:-1;;17373:24:17;;;;17411:29;;;;;17396:1;17411:29;;;;;;;;-1:-1:-1;;17411:29:17;;;;;;;;;;17570:20;;;:11;:20;;;;;;17604;;-1:-1:-1;;;;17671:15:17;17638:49;;;-1:-1:-1;;;17638:49:17;-1:-1:-1;;;;;;17638:49:17;;;;;;;;;;17701:22;-1:-1:-1;;;17701:22:17;;;17989:11;;;18048:24;;;;;18090:13;;17341:18;;18048:24;;18090:13;18086:377;;18297:13;;18282:11;:28;18278:171;;18334:20;;18402:28;;;;-1:-1:-1;;;;;18376:54:17;-1:-1:-1;;;18376:54:17;-1:-1:-1;;;;;;18376:54:17;;;-1:-1:-1;;;;;18334:20:17;;18376:54;;;;18278:171;-1:-1:-1;;18488:35:17;;18515:7;;-1:-1:-1;18511:1:17;;-1:-1:-1;;;;;;18488:35:17;;;-1:-1:-1;;;;;;;;;;;18488:35:17;18511:1;;18488:35;-1:-1:-1;;18706:12:17;:14;;;;;;-1:-1:-1;;16414:2323:17:o;5088:1174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;5198:7:17;;5244:15;860:7:30;886:12;;803:102;5244:15:17;:23;5240:958;;5296:13;;5289:4;:20;5285:913;;;5333:31;5367:17;;;:11;:17;;;;;;;;;5333:51;;;;;;;;;-1:-1:-1;;;;;5333:51:17;;;;-1:-1:-1;;;5333:51:17;;-1:-1:-1;;;;;5333:51:17;;;;;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;;;;5406:774;;5459:14;;-1:-1:-1;;;;;5459:28:17;;5455:107;;5526:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;5455:107::-;-1:-1:-1;;;5922:6:17;5970:17;;;;:11;:17;;;;;;;;;5958:29;;;;;;;;;-1:-1:-1;;;;;5958:29:17;;;;;-1:-1:-1;;;5958:29:17;;-1:-1:-1;;;;;5958:29:17;;;;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;;;6021:28;6017:115;;6092:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;6017:115::-;5879:279;;;5311:887;5285:913;6224:31;;-1:-1:-1;;;6224:31:17;;;;;;;;;;;10174:102;10242:27;10252:2;10256:8;10242:27;;;;;;;;;;;;:9;:27::i;19518:650::-;19696:72;;-1:-1:-1;;;19696:72:17;;19676:4;;-1:-1:-1;;;;;19696:36:17;;;;;:72;;719:10:5;;19747:4:17;;19753:7;;19762:5;;19696:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19696:72:17;;;;;;;;-1:-1:-1;;19696:72:17;;;;;;;;;;;;:::i;:::-;;;19692:470;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:6;:13;19944:1;19927:18;19923:229;;19972:40;;-1:-1:-1;;;19972:40:17;;;;;;;;;;;19923:229;20112:6;20106:13;20097:6;20093:2;20089:15;20082:38;19692:470;-1:-1:-1;;;;;;19814:55:17;-1:-1:-1;;;19814:55:17;;-1:-1:-1;19518:650:17;;;;;;:::o;12591:1146::-;12678:13;;-1:-1:-1;;;;;12705:16:17;;12701:48;;12730:19;;-1:-1:-1;;;12730:19:17;;;;;;;;;;;12701:48;12763:8;12775:1;12763:13;12759:44;;12785:18;;-1:-1:-1;;;12785:18:17;;;;;;;;;;;12759:44;-1:-1:-1;;;;;13146:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;13204:49:17;;-1:-1:-1;;;;;13146:44:17;;;;;;;13204:49;;;-1:-1:-1;;;;;13146:44:17;;;;;;13204:49;;;;;;;;;;;;;;;;13268:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;13317:66:17;;;;-1:-1:-1;;;13367:15:17;13317:66;;;;;;;;;;13268:25;13461:23;;;13499:109;13525:40;;13550:14;;;;;-1:-1:-1;;;;;13525:40:17;;;13542:1;;-1:-1:-1;;;;;;;;;;;13525:40:17;13542:1;;13525:40;13603:3;13588:12;:18;13499:109;;-1:-1:-1;13622:13:17;:28;7599:322;7537:384;;:::o;1614:306:18:-;1709:23;;:28;1705:78;;1746:37;;-1:-1:-1;;;1746:37:18;;8339:2:43;1746:37:18;;;8321:21:43;8378:2;8358:18;;;8351:30;-1:-1:-1;;;8397:18:43;;;8390:44;8451:18;;1746:37:18;8137:338:43;1705:78:18;1803:19;;;;:10;:19;;;;;1797:33;;;;;:::i;:::-;:38;;-1:-1:-1;1793:79:18;;1844:28;;-1:-1:-1;;;1844:28:18;;;;;;;;;;;1793:79;1882:19;;;;:10;:19;;;;;:31;1904:9;1882:19;:31;:::i;10636:1708:17:-;10777:13;;-1:-1:-1;;;;;10804:16:17;;10800:48;;10829:19;;-1:-1:-1;;;10829:19:17;;;;;;;;;;;10800:48;10862:8;10874:1;10862:13;10858:44;;10884:18;;-1:-1:-1;;;10884:18:17;;;;;;;;;;;10858:44;-1:-1:-1;;;;;11245:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;11303:49:17;;-1:-1:-1;;;;;11245:44:17;;;;;;;11303:49;;;-1:-1:-1;;;;;11245:44:17;;;;;;11303:49;;;;;;;;;;;;;;;;11367:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;11416:66:17;;;-1:-1:-1;;;11466:15:17;11416:66;;;;;;;;;;;;;11367:25;;11560:23;;;;1465:19:4;:23;11598:618:17;;11637:308;11667:38;;11692:12;;-1:-1:-1;;;;;11667:38:17;;;11684:1;;-1:-1:-1;;;;;;;;;;;11667:38:17;11684:1;;11667:38;11732:69;11771:1;11775:2;11779:14;;;;;;11795:5;11732:30;:69::i;:::-;11727:172;;11836:40;;-1:-1:-1;;;11836:40:17;;;;;;;;;;;11727:172;11940:3;11925:12;:18;11637:308;;12024:12;12007:13;;:29;12003:43;;12038:8;;;12003:43;11598:618;;;12085:117;12115:40;;12140:14;;;;;-1:-1:-1;;;;;12115:40:17;;;12132:1;;-1:-1:-1;;;;;;;;;;;12115:40:17;12132:1;;12115:40;12197:3;12182:12;:18;12085:117;;11598:618;-1:-1:-1;12229:13:17;:28;12277:60;12306:1;12310:2;12314:12;12328:8;12277:60;:::i;14:131:43:-;-1:-1:-1;;;;;;88:32:43;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:43:o;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:43;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:43;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:43:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:43;;1343:180;-1:-1:-1;1343:180:43:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:43;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:43:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:186::-;2747:6;2800:2;2788:9;2779:7;2775:23;2771:32;2768:52;;;2816:1;2813;2806:12;2768:52;2839:29;2858:9;2839:29;:::i;2879:347::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3044:29;3063:9;3044:29;:::i;:::-;3034:39;;3123:2;3112:9;3108:18;3095:32;3170:5;3163:13;3156:21;3149:5;3146:32;3136:60;;3192:1;3189;3182:12;3136:60;3215:5;3205:15;;;2879:347;;;;;:::o;3231:127::-;3292:10;3287:3;3283:20;3280:1;3273:31;3323:4;3320:1;3313:15;3347:4;3344:1;3337:15;3363:631;3427:5;-1:-1:-1;;;;;3498:2:43;3490:6;3487:14;3484:40;;;3504:18;;:::i;:::-;3579:2;3573:9;3547:2;3633:15;;-1:-1:-1;;3629:24:43;;;3655:2;3625:33;3621:42;3609:55;;;3679:18;;;3699:22;;;3676:46;3673:72;;;3725:18;;:::i;:::-;3765:10;3761:2;3754:22;3794:6;3785:15;;3824:6;3816;3809:22;3864:3;3855:6;3850:3;3846:16;3843:25;3840:45;;;3881:1;3878;3871:12;3840:45;3931:6;3926:3;3919:4;3911:6;3907:17;3894:44;3986:1;3979:4;3970:6;3962;3958:19;3954:30;3947:41;;;;3363:631;;;;;:::o;3999:666::-;4094:6;4102;4110;4118;4171:3;4159:9;4150:7;4146:23;4142:33;4139:53;;;4188:1;4185;4178:12;4139:53;4211:29;4230:9;4211:29;:::i;:::-;4201:39;;4259:38;4293:2;4282:9;4278:18;4259:38;:::i;:::-;4249:48;;4344:2;4333:9;4329:18;4316:32;4306:42;;4399:2;4388:9;4384:18;4371:32;-1:-1:-1;;;;;4418:6:43;4415:30;4412:50;;;4458:1;4455;4448:12;4412:50;4481:22;;4534:4;4526:13;;4522:27;-1:-1:-1;4512:55:43;;4563:1;4560;4553:12;4512:55;4586:73;4651:7;4646:2;4633:16;4628:2;4624;4620:11;4586:73;:::i;:::-;4576:83;;;3999:666;;;;;;;:::o;4670:450::-;4739:6;4792:2;4780:9;4771:7;4767:23;4763:32;4760:52;;;4808:1;4805;4798:12;4760:52;4848:9;4835:23;-1:-1:-1;;;;;4873:6:43;4870:30;4867:50;;;4913:1;4910;4903:12;4867:50;4936:22;;4989:4;4981:13;;4977:27;-1:-1:-1;4967:55:43;;5018:1;5015;5008:12;4967:55;5041:73;5106:7;5101:2;5088:16;5083:2;5079;5075:11;5041:73;:::i;5125:260::-;5193:6;5201;5254:2;5242:9;5233:7;5229:23;5225:32;5222:52;;;5270:1;5267;5260:12;5222:52;5293:29;5312:9;5293:29;:::i;:::-;5283:39;;5341:38;5375:2;5364:9;5360:18;5341:38;:::i;:::-;5331:48;;5125:260;;;;;:::o;5836:380::-;5915:1;5911:12;;;;5958;;;5979:61;;6033:4;6025:6;6021:17;6011:27;;5979:61;6086:2;6078:6;6075:14;6055:18;6052:38;6049:161;;6132:10;6127:3;6123:20;6120:1;6113:31;6167:4;6164:1;6157:15;6195:4;6192:1;6185:15;6049:161;;5836:380;;;:::o;6221:470::-;6400:3;6438:6;6432:13;6454:53;6500:6;6495:3;6488:4;6480:6;6476:17;6454:53;:::i;:::-;6570:13;;6529:16;;;;6592:57;6570:13;6529:16;6626:4;6614:17;;6592:57;:::i;:::-;6665:20;;6221:470;-1:-1:-1;;;;6221:470:43:o;7389:489::-;-1:-1:-1;;;;;7658:15:43;;;7640:34;;7710:15;;7705:2;7690:18;;7683:43;7757:2;7742:18;;7735:34;;;7805:3;7800:2;7785:18;;7778:31;;;7583:4;;7826:46;;7852:19;;7844:6;7826:46;:::i;:::-;7818:54;7389:489;-1:-1:-1;;;;;;7389:489:43:o;7883:249::-;7952:6;8005:2;7993:9;7984:7;7980:23;7976:32;7973:52;;;8021:1;8018;8011:12;7973:52;8053:9;8047:16;8072:30;8096:5;8072:30;:::i;8606:545::-;8708:2;8703:3;8700:11;8697:448;;;8744:1;8769:5;8765:2;8758:17;8814:4;8810:2;8800:19;8884:2;8872:10;8868:19;8865:1;8861:27;8855:4;8851:38;8920:4;8908:10;8905:20;8902:47;;;-1:-1:-1;8943:4:43;8902:47;8998:2;8993:3;8989:12;8986:1;8982:20;8976:4;8972:31;8962:41;;9053:82;9071:2;9064:5;9061:13;9053:82;;;9116:17;;;9097:1;9086:13;9053:82;;;9057:3;;;8606:545;;;:::o;9327:1352::-;9453:3;9447:10;-1:-1:-1;;;;;9472:6:43;9469:30;9466:56;;;9502:18;;:::i;:::-;9531:97;9621:6;9581:38;9613:4;9607:11;9581:38;:::i;:::-;9575:4;9531:97;:::i;:::-;9683:4;;9747:2;9736:14;;9764:1;9759:663;;;;10466:1;10483:6;10480:89;;;-1:-1:-1;10535:19:43;;;10529:26;10480:89;-1:-1:-1;;9284:1:43;9280:11;;;9276:24;9272:29;9262:40;9308:1;9304:11;;;9259:57;10582:81;;9729:944;;9759:663;8553:1;8546:14;;;8590:4;8577:18;;-1:-1:-1;;9795:20:43;;;9913:236;9927:7;9924:1;9921:14;9913:236;;;10016:19;;;10010:26;9995:42;;10108:27;;;;10076:1;10064:14;;;;9943:19;;9913:236;;;9917:3;10177:6;10168:7;10165:19;10162:201;;;10238:19;;;10232:26;-1:-1:-1;;10321:1:43;10317:14;;;10333:3;10313:24;10309:37;10305:42;10290:58;10275:74;;10162:201;-1:-1:-1;;;;;10409:1:43;10393:14;;;10389:22;10376:36;;-1:-1:-1;9327:1352:43:o", + "language": "Solidity", + "natspec": { + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "SetURICannotBeEmpty(string)": [ + { + "notice": "The token already has an existing" + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "URIRequestForExistentToken()": [ + { + "notice": "The token already has an existing" + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721A-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "mint(string)": { + "details": "Mints token to use based on tokenURI. Requirements: - `tokenURI` must be supplied." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "offset": [ + 526, + 907 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xAB JUMPI DUP1 PUSH4 0xB88D4FDE GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x335 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x355 JUMPI DUP1 PUSH4 0xD85D3D27 EQ PUSH2 0x375 JUMPI DUP1 PUSH4 0xE6798BAA EQ PUSH2 0x388 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x39E JUMPI DUP1 PUSH4 0xF2523633 EQ PUSH2 0x3E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2A7 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0xA1448194 EQ PUSH2 0x2DC JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x2FC JUMPI DUP1 PUSH4 0xA2309FF8 EQ PUSH2 0x31C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xF2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x4F558E79 EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x164 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1BE JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1E0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14F PUSH2 0x14A CALLDATASIZE PUSH1 0x4 PUSH2 0x135F JUMP JUMPDEST PUSH2 0x49F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x170 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x4F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15B SWAP2 SWAP1 PUSH2 0x13DB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x13EE JUMP JUMPDEST PUSH2 0x583 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DE PUSH2 0x1D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x1423 JUMP JUMPDEST PUSH2 0x5C7 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x2 SLOAD PUSH1 0x1 SLOAD SUB SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x15B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DE PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x144D JUMP JUMPDEST PUSH2 0x64D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x233 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DE PUSH2 0x242 CALLDATASIZE PUSH1 0x4 PUSH2 0x144D JUMP JUMPDEST PUSH2 0x658 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DE PUSH2 0x262 CALLDATASIZE PUSH1 0x4 PUSH2 0x13EE JUMP JUMPDEST PUSH2 0x673 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14F PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x13EE JUMP JUMPDEST PUSH2 0x681 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x13EE JUMP JUMPDEST PUSH2 0x68C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1489 JUMP JUMPDEST PUSH2 0x69E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x6EC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DE PUSH2 0x2F7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1423 JUMP JUMPDEST PUSH2 0x6FB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x308 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DE PUSH2 0x317 CALLDATASIZE PUSH1 0x4 PUSH2 0x14A4 JUMP JUMPDEST PUSH2 0x709 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x328 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD SUB PUSH2 0x1F9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x341 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DE PUSH2 0x350 CALLDATASIZE PUSH1 0x4 PUSH2 0x156B JUMP JUMPDEST PUSH2 0x79E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x361 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x179 PUSH2 0x370 CALLDATASIZE PUSH1 0x4 PUSH2 0x13EE JUMP JUMPDEST PUSH2 0x7E8 JUMP JUMPDEST PUSH2 0x1F9 PUSH2 0x383 CALLDATASIZE PUSH1 0x4 PUSH2 0x15E6 JUMP JUMPDEST PUSH2 0x8FC JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x394 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14F PUSH2 0x3B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x162E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x469 PUSH2 0x402 CALLDATASIZE PUSH1 0x4 PUSH2 0x13EE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP1 DUP3 ADD DUP4 MSTORE PUSH1 0x0 DUP1 DUP4 MSTORE PUSH1 0x20 DUP1 DUP5 ADD DUP3 SWAP1 MSTORE SWAP3 DUP5 ADD DUP2 SWAP1 MSTORE SWAP4 DUP5 MSTORE PUSH1 0x5 DUP3 MSTORE SWAP3 DUP3 SWAP1 KECCAK256 DUP3 MLOAD SWAP4 DUP5 ADD DUP4 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP5 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP2 DUP5 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP1 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 DUP1 DUP5 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 DUP3 ADD MSTORE SWAP2 DUP2 ADD MLOAD ISZERO ISZERO SWAP1 DUP3 ADD MSTORE PUSH1 0x60 ADD PUSH2 0x15B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x4D0 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x4EB JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x500 SWAP1 PUSH2 0x1661 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x52C SWAP1 PUSH2 0x1661 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x579 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x54E JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x579 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x55C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x58E DUP3 PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0x5AB JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D2 DUP3 PUSH2 0x68C JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x606 JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x63D JUMPI PUSH2 0x620 DUP2 CALLER PUSH2 0x3B9 JUMP JUMPDEST PUSH2 0x63D JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x648 DUP4 DUP4 DUP4 PUSH2 0x9F8 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x648 DUP4 DUP4 DUP4 PUSH2 0xA54 JUMP JUMPDEST PUSH2 0x648 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x79E JUMP JUMPDEST PUSH2 0x67E DUP2 PUSH1 0x1 PUSH2 0xC2F JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4EB DUP3 PUSH2 0x9B8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x697 DUP3 PUSH2 0xDE3 JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x6C7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x500 SWAP1 PUSH2 0x1661 JUMP JUMPDEST PUSH2 0x705 DUP3 DUP3 PUSH2 0xF0C JUMP JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x732 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x7A9 DUP5 DUP5 DUP5 PUSH2 0xA54 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x7E2 JUMPI PUSH2 0x7C5 DUP5 DUP5 DUP5 DUP5 PUSH2 0xF26 JUMP JUMPDEST PUSH2 0x7E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7F3 DUP3 PUSH2 0x9B8 JUMP JUMPDEST PUSH2 0x810 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x829 SWAP1 PUSH2 0x1661 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x855 SWAP1 PUSH2 0x1661 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x8A2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x877 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x8A2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x885 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x8C0 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x8D1 JUMPI DUP2 PUSH2 0x8F4 JUMP JUMPDEST DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x8E4 SWAP3 SWAP2 SWAP1 PUSH2 0x169B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 SLOAD PUSH1 0x1 EQ PUSH2 0x942 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x9 SSTORE CALLVALUE ISZERO PUSH2 0x995 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5B436F72652E6D696E745D2076616C756520746F206265203000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x939 JUMP JUMPDEST PUSH2 0x9A0 CALLER PUSH1 0x1 PUSH2 0x1011 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x9AD DUP2 DUP5 PUSH2 0x1123 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x9 SSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x9C4 PUSH1 0x0 SLOAD SWAP1 JUMP JUMPDEST GT ISZERO DUP1 ISZERO PUSH2 0x9D3 JUMPI POP PUSH1 0x1 SLOAD DUP3 LT JUMPDEST DUP1 ISZERO PUSH2 0x4EB JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA5F DUP3 PUSH2 0xDE3 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xA96 JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0xAB4 JUMPI POP PUSH2 0xAB4 DUP6 CALLER PUSH2 0x3B9 JUMP JUMPDEST DUP1 PUSH2 0xACF JUMPI POP CALLER PUSH2 0xAC4 DUP5 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xAEF JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xB16 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB22 PUSH1 0x0 DUP5 DUP8 PUSH2 0x9F8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0xBF6 JUMPI PUSH1 0x1 SLOAD DUP3 EQ PUSH2 0xBF6 JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1832 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC3A DUP4 PUSH2 0xDE3 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0xCA0 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0xC63 JUMPI POP PUSH2 0xC63 DUP3 CALLER PUSH2 0x3B9 JUMP JUMPDEST DUP1 PUSH2 0xC7E JUMPI POP CALLER PUSH2 0xC73 DUP7 PUSH2 0x583 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xC9E JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0xCAC PUSH1 0x0 DUP6 DUP4 PUSH2 0x9F8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0xDAA JUMPI PUSH1 0x1 SLOAD DUP3 EQ PUSH2 0xDAA JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1832 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 DUP1 PUSH2 0xE0B PUSH1 0x0 SLOAD SWAP1 JUMP JUMPDEST GT PUSH2 0xEF3 JUMPI PUSH1 0x1 SLOAD DUP2 LT ISZERO PUSH2 0xEF3 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xEF1 JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xE88 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0xEEC JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xE88 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x705 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x11B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xF5B SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x16CA JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xF96 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xF93 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1707 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xFF4 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xFC4 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xFEC JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x103A JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0x105B JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1832 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0x10E9 JUMPI POP PUSH1 0x1 SSTORE POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1164 JUMPI PUSH1 0x40 MLOAD PUSH4 0x193C4E6D PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x656D70747920746F6B656E555249 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x939 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x117D SWAP1 PUSH2 0x1661 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x119D JUMPI PUSH1 0x40 MLOAD PUSH4 0x162134B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0xA PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x648 DUP3 DUP3 PUSH2 0x1772 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x11DE JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 SUB PUSH2 0x11FF JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP12 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP12 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP2 SWAP1 DUP2 DUP6 ADD SWAP1 EXTCODESIZE ISZERO PUSH2 0x1307 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1832 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 PUSH2 0x12D0 PUSH1 0x0 DUP8 DUP5 DUP1 PUSH1 0x1 ADD SWAP6 POP DUP8 PUSH2 0xF26 JUMP JUMPDEST PUSH2 0x12ED JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP3 LT PUSH2 0x1297 JUMPI DUP3 PUSH1 0x1 SLOAD EQ PUSH2 0x1302 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x133A JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1832 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0x1308 JUMPI JUMPDEST POP PUSH1 0x1 SSTORE PUSH2 0x7E2 PUSH1 0x0 DUP6 DUP4 DUP7 DUP5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x67E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1371 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x137C DUP2 PUSH2 0x1349 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x139E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1386 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x7E2 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x13C7 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1383 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x137C PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x13AF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x141E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1436 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x143F DUP4 PUSH2 0x1407 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1462 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x146B DUP5 PUSH2 0x1407 JUMP JUMPDEST SWAP3 POP PUSH2 0x1479 PUSH1 0x20 DUP6 ADD PUSH2 0x1407 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x149B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x137C DUP3 PUSH2 0x1407 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14C0 DUP4 PUSH2 0x1407 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x14D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 GT ISZERO PUSH2 0x1510 JUMPI PUSH2 0x1510 PUSH2 0x14E0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1538 JUMPI PUSH2 0x1538 PUSH2 0x14E0 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x1551 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1581 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x158A DUP6 PUSH2 0x1407 JUMP JUMPDEST SWAP4 POP PUSH2 0x1598 PUSH1 0x20 DUP7 ADD PUSH2 0x1407 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x15BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x15CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15DA DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x14F6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x160E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x161F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8F4 DUP5 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x14F6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1641 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x164A DUP4 PUSH2 0x1407 JUMP JUMPDEST SWAP2 POP PUSH2 0x1658 PUSH1 0x20 DUP5 ADD PUSH2 0x1407 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1675 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1695 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x16AD DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1383 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x16C1 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x1383 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x16FD SWAP1 DUP4 ADD DUP5 PUSH2 0x13AF JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1719 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x137C DUP2 PUSH2 0x1349 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x648 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x174B JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x176A JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1757 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x178B JUMPI PUSH2 0x178B PUSH2 0x14E0 JUMP JUMPDEST PUSH2 0x179F DUP2 PUSH2 0x1799 DUP5 SLOAD PUSH2 0x1661 JUMP JUMPDEST DUP5 PUSH2 0x1724 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x17D4 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x17BC JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x176A JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1803 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x17E4 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1821 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID 0xDD CALLCODE MSTORE 0xAD SHL 0xE2 0xC8 SWAP12 PUSH10 0xC2B068FC378DAA952BA7 CALL PUSH4 0xC4A11628 CREATE2 GAS 0x4D CREATE2 0x23 0xB3 0xEF LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 SDIV TIMESTAMP 0xC0 0xC4 0xE9 0xCD SWAP1 DUP6 0x4F RETURNDATASIZE 0xB3 SLOAD ADDRESS PUSH17 0x2F35B6C0EF04A66C6A3BAE51CABF7AA4E7 PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "MSTORE", + "path": "30" + }, + "5": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x4" + }, + "7": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "CALLDATASIZE", + "path": "30" + }, + "8": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "LT", + "path": "30" + }, + "9": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x12A" + }, + "12": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "13": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "CALLDATALOAD", + "path": "30" + }, + "16": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0xE0" + }, + "18": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "SHR", + "path": "30" + }, + "19": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "20": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x70A08231" + }, + "25": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "GT", + "path": "30" + }, + "26": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0xAB" + }, + "29": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "30": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "31": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xB88D4FDE" + }, + "36": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "GT", + "path": "30" + }, + "37": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x6F" + }, + "40": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "41": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "42": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xB88D4FDE" + }, + "47": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "48": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x335" + }, + "51": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "52": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "53": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xC87B56DD" + }, + "58": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "59": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x355" + }, + "62": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "63": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "64": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xD85D3D27" + }, + "69": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "70": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x375" + }, + "73": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "74": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "75": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xE6798BAA" + }, + "80": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "81": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x388" + }, + "84": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "85": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "86": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xE985E9C5" + }, + "91": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "92": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x39E" + }, + "95": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "96": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "97": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xF2523633" + }, + "102": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "103": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x3E7" + }, + "106": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "107": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x0" + }, + "109": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "110": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "REVERT", + "path": "30" + }, + "111": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPDEST", + "path": "30" + }, + "112": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "113": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x70A08231" + }, + "118": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "119": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x2A7" + }, + "122": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "123": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "124": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x95D89B41" + }, + "129": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "130": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x2C7" + }, + "133": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "134": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "135": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xA1448194" + }, + "140": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "141": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x2DC" + }, + "144": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "145": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "146": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xA22CB465" + }, + "151": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "152": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x2FC" + }, + "155": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "156": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "157": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0xA2309FF8" + }, + "162": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "163": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x31C" + }, + "166": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "167": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x0" + }, + "169": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "170": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "REVERT", + "path": "30" + }, + "171": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPDEST", + "path": "30" + }, + "172": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "173": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x23B872DD" + }, + "178": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "GT", + "path": "30" + }, + "179": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0xF2" + }, + "182": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "183": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "184": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x23B872DD" + }, + "189": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "190": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x207" + }, + "193": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "194": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "195": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x42842E0E" + }, + "200": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "201": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x227" + }, + "204": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "205": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "206": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x42966C68" + }, + "211": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "212": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x247" + }, + "215": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "216": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "217": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x4F558E79" + }, + "222": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "223": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x267" + }, + "226": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "227": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "228": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x6352211E" + }, + "233": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "234": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x287" + }, + "237": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "238": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x0" + }, + "240": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "241": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "REVERT", + "path": "30" + }, + "242": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPDEST", + "path": "30" + }, + "243": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "244": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x1FFC9A7" + }, + "249": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "250": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x12F" + }, + "253": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "254": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "255": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x6FDDE03" + }, + "260": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "261": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x164" + }, + "264": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "265": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "266": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x81812FC" + }, + "271": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "272": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x186" + }, + "275": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "276": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "277": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x95EA7B3" + }, + "282": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "283": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x1BE" + }, + "286": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "287": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "288": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH4", + "path": "30", + "value": "0x18160DDD" + }, + "293": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "EQ", + "path": "30" + }, + "294": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH2", + "path": "30", + "value": "0x1E0" + }, + "297": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPI", + "path": "30" + }, + "298": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "JUMPDEST", + "path": "30" + }, + "299": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "PUSH1", + "path": "30", + "value": "0x0" + }, + "301": { + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "DUP1", + "path": "30" + }, + "302": { + "first_revert": true, + "fn": null, + "offset": [ + 526, + 907 + ], + "op": "REVERT", + "path": "30" + }, + "303": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "304": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLVALUE", + "path": "17" + }, + "305": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "306": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "ISZERO", + "path": "17" + }, + "307": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13B" + }, + "310": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPI", + "path": "17" + }, + "311": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "313": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "314": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "REVERT", + "path": "17" + }, + "315": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "316": { + "op": "POP" + }, + "317": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14F" + }, + "320": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14A" + }, + "323": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "324": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "326": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x135F" + }, + "329": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "330": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "331": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x49F" + }, + "334": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "335": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "336": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "338": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "339": { + "op": "SWAP1" + }, + "340": { + "op": "ISZERO" + }, + "341": { + "op": "ISZERO" + }, + "342": { + "op": "DUP2" + }, + "343": { + "op": "MSTORE" + }, + "344": { + "op": "PUSH1", + "value": "0x20" + }, + "346": { + "op": "ADD" + }, + "347": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "348": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "350": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "351": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "352": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "353": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SUB", + "path": "17" + }, + "354": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP1", + "path": "17" + }, + "355": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "RETURN", + "path": "17" + }, + "356": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "357": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "CALLVALUE", + "path": "17" + }, + "358": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "359": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "ISZERO", + "path": "17" + }, + "360": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x170" + }, + "363": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPI", + "path": "17" + }, + "364": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "366": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "367": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "REVERT", + "path": "17" + }, + "368": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "369": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "POP", + "path": "17" + }, + "370": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x179" + }, + "373": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4F1" + }, + "376": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "377": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "378": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "380": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "MLOAD", + "path": "17" + }, + "381": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15B" + }, + "384": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP2", + "path": "17" + }, + "385": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "386": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13DB" + }, + "389": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "390": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "391": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLVALUE", + "path": "17" + }, + "392": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "393": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "ISZERO", + "path": "17" + }, + "394": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x192" + }, + "397": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPI", + "path": "17" + }, + "398": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "400": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "401": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "REVERT", + "path": "17" + }, + "402": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "403": { + "op": "POP" + }, + "404": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A6" + }, + "407": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A1" + }, + "410": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "411": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "413": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13EE" + }, + "416": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "417": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "418": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x583" + }, + "421": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "422": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "423": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "425": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "MLOAD", + "path": "17" + }, + "426": { + "op": "PUSH1", + "value": "0x1" + }, + "428": { + "op": "PUSH1", + "value": "0x1" + }, + "430": { + "op": "PUSH1", + "value": "0xA0" + }, + "432": { + "op": "SHL" + }, + "433": { + "op": "SUB" + }, + "434": { + "op": "SWAP1" + }, + "435": { + "op": "SWAP2" + }, + "436": { + "op": "AND" + }, + "437": { + "op": "DUP2" + }, + "438": { + "op": "MSTORE" + }, + "439": { + "op": "PUSH1", + "value": "0x20" + }, + "441": { + "op": "ADD" + }, + "442": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15B" + }, + "445": { + "op": "JUMP" + }, + "446": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "447": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLVALUE", + "path": "17" + }, + "448": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "449": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "ISZERO", + "path": "17" + }, + "450": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1CA" + }, + "453": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPI", + "path": "17" + }, + "454": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "456": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "457": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "REVERT", + "path": "17" + }, + "458": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "459": { + "op": "POP" + }, + "460": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1DE" + }, + "463": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D9" + }, + "466": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "467": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "469": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1423" + }, + "472": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "473": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "474": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5C7" + }, + "477": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "478": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "479": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "STOP", + "path": "17" + }, + "480": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "481": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "CALLVALUE", + "path": "17" + }, + "482": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "483": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "ISZERO", + "path": "17" + }, + "484": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1EC" + }, + "487": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPI", + "path": "17" + }, + "488": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "490": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "491": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "REVERT", + "path": "17" + }, + "492": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "493": { + "op": "POP" + }, + "494": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "496": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 886, + 898 + ], + "op": "SLOAD", + "path": "30", + "statement": 0 + }, + "497": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "statement": 1, + "value": "0x2" + }, + "499": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "500": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "502": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "503": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "504": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2973 + ], + "op": "SUB", + "path": "17" + }, + "505": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "506": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "508": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "MLOAD", + "path": "17" + }, + "509": { + "op": "SWAP1" + }, + "510": { + "op": "DUP2" + }, + "511": { + "op": "MSTORE" + }, + "512": { + "op": "PUSH1", + "value": "0x20" + }, + "514": { + "op": "ADD" + }, + "515": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15B" + }, + "518": { + "op": "JUMP" + }, + "519": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "520": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLVALUE", + "path": "17" + }, + "521": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "522": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "ISZERO", + "path": "17" + }, + "523": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x213" + }, + "526": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPI", + "path": "17" + }, + "527": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "529": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "530": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "REVERT", + "path": "17" + }, + "531": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "532": { + "op": "POP" + }, + "533": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1DE" + }, + "536": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x222" + }, + "539": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "540": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "542": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x144D" + }, + "545": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "546": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "547": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x64D" + }, + "550": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "551": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "552": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLVALUE", + "path": "17" + }, + "553": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "554": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "ISZERO", + "path": "17" + }, + "555": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x233" + }, + "558": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPI", + "path": "17" + }, + "559": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "561": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "562": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "REVERT", + "path": "17" + }, + "563": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "564": { + "op": "POP" + }, + "565": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1DE" + }, + "568": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x242" + }, + "571": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "572": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "574": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x144D" + }, + "577": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "578": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "579": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x658" + }, + "582": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "583": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "584": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLVALUE", + "path": "18" + }, + "585": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "586": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "ISZERO", + "path": "18" + }, + "587": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x253" + }, + "590": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPI", + "path": "18" + }, + "591": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "593": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "594": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "REVERT", + "path": "18" + }, + "595": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "596": { + "op": "POP" + }, + "597": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1DE" + }, + "600": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x262" + }, + "603": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "604": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "606": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x13EE" + }, + "609": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "610": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "611": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x673" + }, + "614": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "615": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "616": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "CALLVALUE", + "path": "29" + }, + "617": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "DUP1", + "path": "29" + }, + "618": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "ISZERO", + "path": "29" + }, + "619": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x273" + }, + "622": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPI", + "path": "29" + }, + "623": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "625": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "DUP1", + "path": "29" + }, + "626": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "REVERT", + "path": "29" + }, + "627": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "628": { + "op": "POP" + }, + "629": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x14F" + }, + "632": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x282" + }, + "635": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "CALLDATASIZE", + "path": "29" + }, + "636": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "638": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x13EE" + }, + "641": { + "fn": "ERC721ABurnableMock.exists", + "jump": "i", + "offset": [ + 650, + 750 + ], + "op": "JUMP", + "path": "29" + }, + "642": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "643": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "PUSH2", + "path": "29", + "value": "0x681" + }, + "646": { + "fn": "ERC721ABurnableMock.exists", + "jump": "i", + "offset": [ + 650, + 750 + ], + "op": "JUMP", + "path": "29" + }, + "647": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "648": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLVALUE", + "path": "17" + }, + "649": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "650": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "ISZERO", + "path": "17" + }, + "651": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x293" + }, + "654": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPI", + "path": "17" + }, + "655": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "657": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "658": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "REVERT", + "path": "17" + }, + "659": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "660": { + "op": "POP" + }, + "661": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A6" + }, + "664": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2A2" + }, + "667": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "668": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "670": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13EE" + }, + "673": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "674": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "675": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x68C" + }, + "678": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "679": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "680": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLVALUE", + "path": "17" + }, + "681": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "682": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "ISZERO", + "path": "17" + }, + "683": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2B3" + }, + "686": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPI", + "path": "17" + }, + "687": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "689": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "690": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "REVERT", + "path": "17" + }, + "691": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "692": { + "op": "POP" + }, + "693": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F9" + }, + "696": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2C2" + }, + "699": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "700": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "702": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1489" + }, + "705": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "706": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "707": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x69E" + }, + "710": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "711": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "712": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "CALLVALUE", + "path": "17" + }, + "713": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "714": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "ISZERO", + "path": "17" + }, + "715": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2D3" + }, + "718": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPI", + "path": "17" + }, + "719": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "721": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "722": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "REVERT", + "path": "17" + }, + "723": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "724": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "POP", + "path": "17" + }, + "725": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x179" + }, + "728": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6EC" + }, + "731": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6666, + 6768 + ], + "op": "JUMP", + "path": "17" + }, + "732": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "733": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "CALLVALUE", + "path": "29" + }, + "734": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "DUP1", + "path": "29" + }, + "735": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "ISZERO", + "path": "29" + }, + "736": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x2E8" + }, + "739": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPI", + "path": "29" + }, + "740": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "742": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "DUP1", + "path": "29" + }, + "743": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "REVERT", + "path": "29" + }, + "744": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "745": { + "op": "POP" + }, + "746": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1DE" + }, + "749": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x2F7" + }, + "752": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "CALLDATASIZE", + "path": "29" + }, + "753": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "755": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1423" + }, + "758": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "i", + "offset": [ + 756, + 851 + ], + "op": "JUMP", + "path": "29" + }, + "759": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "760": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "PUSH2", + "path": "29", + "value": "0x6FB" + }, + "763": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "i", + "offset": [ + 756, + 851 + ], + "op": "JUMP", + "path": "29" + }, + "764": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "765": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLVALUE", + "path": "17" + }, + "766": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "767": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "ISZERO", + "path": "17" + }, + "768": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x308" + }, + "771": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPI", + "path": "17" + }, + "772": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "774": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "775": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "REVERT", + "path": "17" + }, + "776": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "777": { + "op": "POP" + }, + "778": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1DE" + }, + "781": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x317" + }, + "784": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "785": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "787": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14A4" + }, + "790": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "791": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "792": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x709" + }, + "795": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "796": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMPDEST", + "path": "29" + }, + "797": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "CALLVALUE", + "path": "29" + }, + "798": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "DUP1", + "path": "29" + }, + "799": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "ISZERO", + "path": "29" + }, + "800": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "PUSH2", + "path": "29", + "value": "0x328" + }, + "803": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMPI", + "path": "29" + }, + "804": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "806": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "DUP1", + "path": "29" + }, + "807": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "REVERT", + "path": "29" + }, + "808": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMPDEST", + "path": "29" + }, + "809": { + "op": "POP" + }, + "810": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 1032, + 1039 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "812": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 886, + 898 + ], + "op": "SLOAD", + "path": "30" + }, + "813": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3320 + ], + "op": "PUSH1", + "path": "17", + "statement": 2, + "value": "0x1" + }, + "815": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3320 + ], + "op": "SLOAD", + "path": "17" + }, + "816": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3338 + ], + "op": "SUB", + "path": "17" + }, + "817": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "PUSH2", + "path": "29", + "value": "0x1F9" + }, + "820": { + "fn": "ERC721ABurnableMock.totalMinted", + "offset": [ + 988, + 1079 + ], + "op": "JUMP", + "path": "29" + }, + "821": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "822": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLVALUE", + "path": "17" + }, + "823": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "824": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "ISZERO", + "path": "17" + }, + "825": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x341" + }, + "828": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPI", + "path": "17" + }, + "829": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "831": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "832": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "REVERT", + "path": "17" + }, + "833": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "834": { + "op": "POP" + }, + "835": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1DE" + }, + "838": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x350" + }, + "841": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "842": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "844": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x156B" + }, + "847": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "848": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "849": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x79E" + }, + "852": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "853": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "854": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLVALUE", + "path": "18" + }, + "855": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "856": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "ISZERO", + "path": "18" + }, + "857": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x361" + }, + "860": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPI", + "path": "18" + }, + "861": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "863": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "864": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "REVERT", + "path": "18" + }, + "865": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "866": { + "op": "POP" + }, + "867": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x179" + }, + "870": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x370" + }, + "873": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "874": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "876": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x13EE" + }, + "879": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "880": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "881": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x7E8" + }, + "884": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "885": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "886": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1F9" + }, + "889": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x383" + }, + "892": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "893": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "895": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x15E6" + }, + "898": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "899": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "900": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8FC" + }, + "903": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "904": { + "offset": [ + 797, + 824 + ], + "op": "JUMPDEST", + "path": "35" + }, + "905": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "CALLVALUE", + "path": "35" + }, + "906": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "DUP1", + "path": "35" + }, + "907": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "ISZERO", + "path": "35" + }, + "908": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "PUSH2", + "path": "35", + "value": "0x394" + }, + "911": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "JUMPI", + "path": "35" + }, + "912": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "PUSH1", + "path": "35", + "value": "0x0" + }, + "914": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "DUP1", + "path": "35" + }, + "915": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "REVERT", + "path": "35" + }, + "916": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "JUMPDEST", + "path": "35" + }, + "917": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "POP", + "path": "35" + }, + "918": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "PUSH2", + "path": "35", + "value": "0x1F9" + }, + "921": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "PUSH1", + "path": "35", + "value": "0x0" + }, + "923": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "SLOAD", + "path": "35" + }, + "924": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "DUP2", + "path": "35" + }, + "925": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 824 + ], + "op": "JUMP", + "path": "35" + }, + "926": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "927": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLVALUE", + "path": "17" + }, + "928": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "929": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "ISZERO", + "path": "17" + }, + "930": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3AA" + }, + "933": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPI", + "path": "17" + }, + "934": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "936": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "937": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "REVERT", + "path": "17" + }, + "938": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "939": { + "op": "POP" + }, + "940": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14F" + }, + "943": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3B9" + }, + "946": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "947": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "949": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x162E" + }, + "952": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "953": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "954": { + "op": "PUSH1", + "value": "0x1" + }, + "956": { + "op": "PUSH1", + "value": "0x1" + }, + "958": { + "op": "PUSH1", + "value": "0xA0" + }, + "960": { + "op": "SHL" + }, + "961": { + "op": "SUB" + }, + "962": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP2", + "path": "17", + "statement": 3 + }, + "963": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP3", + "path": "17" + }, + "964": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "AND", + "path": "17" + }, + "965": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8694, + 8698 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "967": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "968": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "969": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "970": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x8" + }, + "972": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "974": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "975": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "976": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "977": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "979": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP1", + "path": "17" + }, + "980": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP4", + "path": "17" + }, + "981": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "KECCAK256", + "path": "17" + }, + "982": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP4", + "path": "17" + }, + "983": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "984": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP5", + "path": "17" + }, + "985": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "986": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "DUP3", + "path": "17" + }, + "987": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "988": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "989": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "990": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "991": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "992": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "KECCAK256", + "path": "17" + }, + "993": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SLOAD", + "path": "17" + }, + "994": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "996": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "997": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "998": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "999": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1000": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "CALLVALUE", + "path": "29" + }, + "1001": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "DUP1", + "path": "29" + }, + "1002": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "ISZERO", + "path": "29" + }, + "1003": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x3F3" + }, + "1006": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPI", + "path": "29" + }, + "1007": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "1009": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "DUP1", + "path": "29" + }, + "1010": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "REVERT", + "path": "29" + }, + "1011": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1012": { + "op": "POP" + }, + "1013": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x469" + }, + "1016": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x402" + }, + "1019": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "CALLDATASIZE", + "path": "29" + }, + "1020": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH1", + "path": "29", + "value": "0x4" + }, + "1022": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x13EE" + }, + "1025": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "jump": "i", + "offset": [ + 857, + 982 + ], + "op": "JUMP", + "path": "29" + }, + "1026": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1027": { + "op": "PUSH1", + "value": "0x40" + }, + "1029": { + "op": "DUP1" + }, + "1030": { + "op": "MLOAD" + }, + "1031": { + "op": "PUSH1", + "value": "0x60" + }, + "1033": { + "op": "DUP1" + }, + "1034": { + "op": "DUP3" + }, + "1035": { + "op": "ADD" + }, + "1036": { + "op": "DUP4" + }, + "1037": { + "op": "MSTORE" + }, + "1038": { + "op": "PUSH1", + "value": "0x0" + }, + "1040": { + "op": "DUP1" + }, + "1041": { + "op": "DUP4" + }, + "1042": { + "op": "MSTORE" + }, + "1043": { + "op": "PUSH1", + "value": "0x20" + }, + "1045": { + "op": "DUP1" + }, + "1046": { + "op": "DUP5" + }, + "1047": { + "op": "ADD" + }, + "1048": { + "op": "DUP3" + }, + "1049": { + "op": "SWAP1" + }, + "1050": { + "op": "MSTORE" + }, + "1051": { + "op": "SWAP3" + }, + "1052": { + "op": "DUP5" + }, + "1053": { + "op": "ADD" + }, + "1054": { + "op": "DUP2" + }, + "1055": { + "op": "SWAP1" + }, + "1056": { + "op": "MSTORE" + }, + "1057": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "SWAP4", + "path": "29", + "statement": 4 + }, + "1058": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1059": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1060": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 968 + ], + "op": "PUSH1", + "path": "29", + "value": "0x5" + }, + "1062": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1063": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1064": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "SWAP3", + "path": "29" + }, + "1065": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1066": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1067": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 957, + 975 + ], + "op": "KECCAK256", + "path": "29" + }, + "1068": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1069": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MLOAD", + "path": "29" + }, + "1070": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP4", + "path": "29" + }, + "1071": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1072": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ADD", + "path": "29" + }, + "1073": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP4", + "path": "29" + }, + "1074": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1075": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SLOAD", + "path": "29" + }, + "1076": { + "op": "PUSH1", + "value": "0x1" + }, + "1078": { + "op": "PUSH1", + "value": "0x1" + }, + "1080": { + "op": "PUSH1", + "value": "0xA0" + }, + "1082": { + "op": "SHL" + }, + "1083": { + "op": "SUB" + }, + "1084": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP2", + "path": "29" + }, + "1085": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "AND", + "path": "29" + }, + "1086": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1087": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1088": { + "op": "PUSH1", + "value": "0x1" + }, + "1090": { + "op": "PUSH1", + "value": "0xA0" + }, + "1092": { + "op": "SHL" + }, + "1093": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP2", + "path": "29" + }, + "1094": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DIV", + "path": "29" + }, + "1095": { + "op": "PUSH1", + "value": "0x1" + }, + "1097": { + "op": "PUSH1", + "value": "0x1" + }, + "1099": { + "op": "PUSH1", + "value": "0x40" + }, + "1101": { + "op": "SHL" + }, + "1102": { + "op": "SUB" + }, + "1103": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "AND", + "path": "29" + }, + "1104": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP2", + "path": "29" + }, + "1105": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP5", + "path": "29" + }, + "1106": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ADD", + "path": "29" + }, + "1107": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP2", + "path": "29" + }, + "1108": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1109": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP2", + "path": "29" + }, + "1110": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1111": { + "op": "PUSH1", + "value": "0x1" + }, + "1113": { + "op": "PUSH1", + "value": "0xE0" + }, + "1115": { + "op": "SHL" + }, + "1116": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1117": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DIV", + "path": "29" + }, + "1118": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "PUSH1", + "path": "29", + "value": "0xFF" + }, + "1120": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "AND", + "path": "29" + }, + "1121": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ISZERO", + "path": "29" + }, + "1122": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ISZERO", + "path": "29" + }, + "1123": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1124": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "DUP3", + "path": "29" + }, + "1125": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "ADD", + "path": "29" + }, + "1126": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "MSTORE", + "path": "29" + }, + "1127": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 950, + 975 + ], + "op": "SWAP1", + "path": "29" + }, + "1128": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMP", + "path": "29" + }, + "1129": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1130": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH1", + "path": "29", + "value": "0x40" + }, + "1132": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "DUP1", + "path": "29" + }, + "1133": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "MLOAD", + "path": "29" + }, + "1134": { + "op": "DUP3" + }, + "1135": { + "op": "MLOAD" + }, + "1136": { + "op": "PUSH1", + "value": "0x1" + }, + "1138": { + "op": "PUSH1", + "value": "0x1" + }, + "1140": { + "op": "PUSH1", + "value": "0xA0" + }, + "1142": { + "op": "SHL" + }, + "1143": { + "op": "SUB" + }, + "1144": { + "op": "AND" + }, + "1145": { + "op": "DUP2" + }, + "1146": { + "op": "MSTORE" + }, + "1147": { + "op": "PUSH1", + "value": "0x20" + }, + "1149": { + "op": "DUP1" + }, + "1150": { + "op": "DUP5" + }, + "1151": { + "op": "ADD" + }, + "1152": { + "op": "MLOAD" + }, + "1153": { + "op": "PUSH1", + "value": "0x1" + }, + "1155": { + "op": "PUSH1", + "value": "0x1" + }, + "1157": { + "op": "PUSH1", + "value": "0x40" + }, + "1159": { + "op": "SHL" + }, + "1160": { + "op": "SUB" + }, + "1161": { + "op": "AND" + }, + "1162": { + "op": "SWAP1" + }, + "1163": { + "op": "DUP3" + }, + "1164": { + "op": "ADD" + }, + "1165": { + "op": "MSTORE" + }, + "1166": { + "op": "SWAP2" + }, + "1167": { + "op": "DUP2" + }, + "1168": { + "op": "ADD" + }, + "1169": { + "op": "MLOAD" + }, + "1170": { + "op": "ISZERO" + }, + "1171": { + "op": "ISZERO" + }, + "1172": { + "op": "SWAP1" + }, + "1173": { + "op": "DUP3" + }, + "1174": { + "op": "ADD" + }, + "1175": { + "op": "MSTORE" + }, + "1176": { + "op": "PUSH1", + "value": "0x60" + }, + "1178": { + "op": "ADD" + }, + "1179": { + "fn": "ERC721ABurnableMock.getOwnershipAt", + "offset": [ + 857, + 982 + ], + "op": "PUSH2", + "path": "29", + "value": "0x15B" + }, + "1182": { + "op": "JUMP" + }, + "1183": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1184": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3524, + 3528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1186": { + "op": "PUSH1", + "value": "0x1" + }, + "1188": { + "op": "PUSH1", + "value": "0x1" + }, + "1190": { + "op": "PUSH1", + "value": "0xE0" + }, + "1192": { + "op": "SHL" + }, + "1193": { + "op": "SUB" + }, + "1194": { + "op": "NOT" + }, + "1195": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP3", + "path": "17", + "statement": 5 + }, + "1196": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "AND", + "path": "17" + }, + "1197": { + "op": "PUSH4", + "value": "0x80AC58CD" + }, + "1202": { + "op": "PUSH1", + "value": "0xE0" + }, + "1204": { + "op": "SHL" + }, + "1205": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "EQ", + "path": "17" + }, + "1206": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP1", + "path": "17" + }, + "1207": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4D0" + }, + "1210": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPI", + "path": "17" + }, + "1211": { + "op": "POP" + }, + "1212": { + "op": "PUSH1", + "value": "0x1" + }, + "1214": { + "op": "PUSH1", + "value": "0x1" + }, + "1216": { + "op": "PUSH1", + "value": "0xE0" + }, + "1218": { + "op": "SHL" + }, + "1219": { + "op": "SUB" + }, + "1220": { + "op": "NOT" + }, + "1221": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "DUP3", + "path": "17" + }, + "1222": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "AND", + "path": "17" + }, + "1223": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "1228": { + "op": "PUSH1", + "value": "0xE0" + }, + "1230": { + "op": "SHL" + }, + "1231": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "EQ", + "path": "17" + }, + "1232": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1233": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "DUP1", + "path": "17" + }, + "1234": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4EB" + }, + "1237": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "JUMPI", + "path": "17" + }, + "1238": { + "op": "POP" + }, + "1239": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "1244": { + "op": "PUSH1", + "value": "0xE0" + }, + "1246": { + "op": "SHL" + }, + "1247": { + "op": "PUSH1", + "value": "0x1" + }, + "1249": { + "op": "PUSH1", + "value": "0x1" + }, + "1251": { + "op": "PUSH1", + "value": "0xE0" + }, + "1253": { + "op": "SHL" + }, + "1254": { + "op": "SUB" + }, + "1255": { + "op": "NOT" + }, + "1256": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "DUP4", + "path": "7", + "statement": 6 + }, + "1257": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "AND", + "path": "7" + }, + "1258": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "EQ", + "path": "7" + }, + "1259": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3643, + 3679 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1260": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3540, + 3679 + ], + "op": "SWAP3", + "path": "17" + }, + "1261": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "1262": { + "op": "POP" + }, + "1263": { + "op": "POP" + }, + "1264": { + "fn": "ERC721A.supportsInterface", + "jump": "o", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "1265": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1266": { + "fn": "ERC721A.name", + "offset": [ + 6558, + 6571 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1268": { + "fn": "ERC721A.name", + "offset": [ + 6590, + 6595 + ], + "op": "PUSH1", + "path": "17", + "statement": 7, + "value": "0x3" + }, + "1270": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1271": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1272": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x500" + }, + "1275": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1276": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1661" + }, + "1279": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1280": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1281": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1282": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1284": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1285": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1287": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1288": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1289": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1290": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1291": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1293": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1294": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1296": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MLOAD", + "path": "17" + }, + "1297": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1298": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1299": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1300": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1302": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1303": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1304": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP3", + "path": "17" + }, + "1305": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1306": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1307": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1308": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1309": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1310": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1312": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1313": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1314": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1315": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1316": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x52C" + }, + "1319": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1320": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1661" + }, + "1323": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1324": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1325": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1326": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ISZERO", + "path": "17" + }, + "1327": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x579" + }, + "1330": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1331": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1332": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1334": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "LT", + "path": "17" + }, + "1335": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x54E" + }, + "1338": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1339": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100" + }, + "1342": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1343": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1344": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1345": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1346": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1347": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1348": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1349": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1350": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1352": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1353": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1354": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x579" + }, + "1357": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1358": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1359": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1360": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1361": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1362": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1363": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1365": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1366": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1368": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1370": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "KECCAK256", + "path": "17" + }, + "1371": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1372": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1373": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1374": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1375": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1376": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1377": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1378": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "1380": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1381": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1382": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1384": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1385": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1386": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1387": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "GT", + "path": "17" + }, + "1388": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x55C" + }, + "1391": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1392": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1393": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1394": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SUB", + "path": "17" + }, + "1395": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1397": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "AND", + "path": "17" + }, + "1398": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1399": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1400": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1401": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1402": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1403": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1404": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1405": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1406": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1407": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1408": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1409": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "1410": { + "fn": "ERC721A.name", + "jump": "o", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "1411": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1412": { + "fn": "ERC721A.getApproved", + "offset": [ + 8050, + 8057 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1414": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "PUSH2", + "path": "17", + "statement": 8, + "value": "0x58E" + }, + "1417": { + "fn": "ERC721A.getApproved", + "offset": [ + 8082, + 8089 + ], + "op": "DUP3", + "path": "17" + }, + "1418": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8081 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9B8" + }, + "1421": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 8074, + 8090 + ], + "op": "JUMP", + "path": "17" + }, + "1422": { + "branch": 90, + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1423": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5AB" + }, + "1426": { + "branch": 90, + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPI", + "path": "17" + }, + "1427": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1429": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1430": { + "op": "PUSH4", + "value": "0x33D1C039" + }, + "1435": { + "op": "PUSH1", + "value": "0xE2" + }, + "1437": { + "op": "SHL" + }, + "1438": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP2", + "path": "17" + }, + "1439": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MSTORE", + "path": "17" + }, + "1440": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1442": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "ADD", + "path": "17" + }, + "1443": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1445": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1446": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP1", + "path": "17" + }, + "1447": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP2", + "path": "17" + }, + "1448": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SUB", + "path": "17" + }, + "1449": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP1", + "path": "17" + }, + "1450": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "REVERT", + "path": "17" + }, + "1451": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1452": { + "op": "POP" + }, + "1453": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "statement": 9, + "value": "0x0" + }, + "1455": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1456": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "DUP2", + "path": "17" + }, + "1457": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1458": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8166 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "1460": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1462": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1463": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1465": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1466": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "KECCAK256", + "path": "17" + }, + "1467": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SLOAD", + "path": "17" + }, + "1468": { + "op": "PUSH1", + "value": "0x1" + }, + "1470": { + "op": "PUSH1", + "value": "0x1" + }, + "1472": { + "op": "PUSH1", + "value": "0xA0" + }, + "1474": { + "op": "SHL" + }, + "1475": { + "op": "SUB" + }, + "1476": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "AND", + "path": "17" + }, + "1477": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1478": { + "fn": "ERC721A.getApproved", + "jump": "o", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "1479": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1480": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7622 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1482": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5D2" + }, + "1485": { + "fn": "ERC721A.approve", + "offset": [ + 7641, + 7648 + ], + "op": "DUP3", + "path": "17" + }, + "1486": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7640 + ], + "op": "PUSH2", + "path": "17", + "value": "0x68C" + }, + "1489": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7625, + 7649 + ], + "op": "JUMP", + "path": "17" + }, + "1490": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1491": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "SWAP1", + "path": "17" + }, + "1492": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "POP", + "path": "17" + }, + "1493": { + "fn": "ERC721A.approve", + "offset": [ + 7669, + 7674 + ], + "op": "DUP1", + "path": "17", + "statement": 10 + }, + "1494": { + "op": "PUSH1", + "value": "0x1" + }, + "1496": { + "op": "PUSH1", + "value": "0x1" + }, + "1498": { + "op": "PUSH1", + "value": "0xA0" + }, + "1500": { + "op": "SHL" + }, + "1501": { + "op": "SUB" + }, + "1502": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1503": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7665 + ], + "op": "DUP4", + "path": "17" + }, + "1504": { + "op": "PUSH1", + "value": "0x1" + }, + "1506": { + "op": "PUSH1", + "value": "0x1" + }, + "1508": { + "op": "PUSH1", + "value": "0xA0" + }, + "1510": { + "op": "SHL" + }, + "1511": { + "op": "SUB" + }, + "1512": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1513": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "SUB", + "path": "17" + }, + "1514": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "PUSH2", + "path": "17", + "value": "0x606" + }, + "1517": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPI", + "path": "17" + }, + "1518": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1520": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1521": { + "op": "PUSH4", + "value": "0x250FDEE3" + }, + "1526": { + "op": "PUSH1", + "value": "0xE2" + }, + "1528": { + "op": "SHL" + }, + "1529": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP2", + "path": "17" + }, + "1530": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MSTORE", + "path": "17" + }, + "1531": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1533": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "ADD", + "path": "17" + }, + "1534": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1536": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1537": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP1", + "path": "17" + }, + "1538": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP2", + "path": "17" + }, + "1539": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SUB", + "path": "17" + }, + "1540": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP1", + "path": "17" + }, + "1541": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "REVERT", + "path": "17" + }, + "1542": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1543": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 11 + }, + "1544": { + "op": "PUSH1", + "value": "0x1" + }, + "1546": { + "op": "PUSH1", + "value": "0x1" + }, + "1548": { + "op": "PUSH1", + "value": "0xA0" + }, + "1550": { + "op": "SHL" + }, + "1551": { + "op": "SUB" + }, + "1552": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "DUP3", + "path": "17" + }, + "1553": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "AND", + "path": "17" + }, + "1554": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "EQ", + "path": "17" + }, + "1555": { + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x63D" + }, + "1558": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1559": { + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "PUSH2", + "path": "17", + "statement": 12, + "value": "0x620" + }, + "1562": { + "fn": "ERC721A.approve", + "offset": [ + 7779, + 7784 + ], + "op": "DUP2", + "path": "17" + }, + "1563": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1564": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3B9" + }, + "1567": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1568": { + "branch": 93, + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1569": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x63D" + }, + "1572": { + "branch": 93, + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1573": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1575": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1576": { + "op": "PUSH4", + "value": "0x67D9DCA1" + }, + "1581": { + "op": "PUSH1", + "value": "0xE1" + }, + "1583": { + "op": "SHL" + }, + "1584": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP2", + "path": "17" + }, + "1585": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MSTORE", + "path": "17" + }, + "1586": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1588": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "ADD", + "path": "17" + }, + "1589": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1591": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1592": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP1", + "path": "17" + }, + "1593": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP2", + "path": "17" + }, + "1594": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SUB", + "path": "17" + }, + "1595": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP1", + "path": "17" + }, + "1596": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "REVERT", + "path": "17" + }, + "1597": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1598": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "PUSH2", + "path": "17", + "statement": 13, + "value": "0x648" + }, + "1601": { + "fn": "ERC721A.approve", + "offset": [ + 7895, + 7897 + ], + "op": "DUP4", + "path": "17" + }, + "1602": { + "fn": "ERC721A.approve", + "offset": [ + 7899, + 7906 + ], + "op": "DUP4", + "path": "17" + }, + "1603": { + "fn": "ERC721A.approve", + "offset": [ + 7908, + 7913 + ], + "op": "DUP4", + "path": "17" + }, + "1604": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7894 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9F8" + }, + "1607": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7886, + 7914 + ], + "op": "JUMP", + "path": "17" + }, + "1608": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1609": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1610": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1611": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1612": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "1613": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1614": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8978 + ], + "op": "PUSH2", + "path": "17", + "statement": 14, + "value": "0x648" + }, + "1617": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8960, + 8964 + ], + "op": "DUP4", + "path": "17" + }, + "1618": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8966, + 8968 + ], + "op": "DUP4", + "path": "17" + }, + "1619": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8970, + 8977 + ], + "op": "DUP4", + "path": "17" + }, + "1620": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8959 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA54" + }, + "1623": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8950, + 8978 + ], + "op": "JUMP", + "path": "17" + }, + "1624": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1625": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH2", + "path": "17", + "statement": 15, + "value": "0x648" + }, + "1628": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9201, + 9205 + ], + "op": "DUP4", + "path": "17" + }, + "1629": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9207, + 9209 + ], + "op": "DUP4", + "path": "17" + }, + "1630": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9211, + 9218 + ], + "op": "DUP4", + "path": "17" + }, + "1631": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1633": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MLOAD", + "path": "17" + }, + "1634": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1635": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1637": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "ADD", + "path": "17" + }, + "1638": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1640": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1641": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1642": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1644": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP2", + "path": "17" + }, + "1645": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1646": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "POP", + "path": "17" + }, + "1647": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9200 + ], + "op": "PUSH2", + "path": "17", + "value": "0x79E" + }, + "1650": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9184, + 9223 + ], + "op": "JUMP", + "path": "17" + }, + "1651": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1652": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2919 + ], + "op": "PUSH2", + "path": "18", + "statement": 16, + "value": "0x67E" + }, + "1655": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2905, + 2912 + ], + "op": "DUP2", + "path": "18" + }, + "1656": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2914, + 2918 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "1658": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2904 + ], + "op": "PUSH2", + "path": "18", + "value": "0xC2F" + }, + "1661": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2899, + 2919 + ], + "op": "JUMP", + "path": "18" + }, + "1662": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2919 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1663": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "POP", + "path": "18" + }, + "1664": { + "fn": "ERC721ExtensionCore.burn", + "jump": "o", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "1665": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 650, + 750 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1666": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 704, + 708 + ], + "op": "PUSH1", + "path": "29", + "value": "0x0" + }, + "1668": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 727, + 743 + ], + "op": "PUSH2", + "path": "29", + "statement": 17, + "value": "0x4EB" + }, + "1671": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 735, + 742 + ], + "op": "DUP3", + "path": "29" + }, + "1672": { + "fn": "ERC721ABurnableMock.exists", + "offset": [ + 727, + 734 + ], + "op": "PUSH2", + "path": "29", + "value": "0x9B8" + }, + "1675": { + "fn": "ERC721ABurnableMock.exists", + "jump": "i", + "offset": [ + 727, + 743 + ], + "op": "JUMP", + "path": "29" + }, + "1676": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1677": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6383, + 6390 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1679": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "PUSH2", + "path": "17", + "statement": 18, + "value": "0x697" + }, + "1682": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6422, + 6429 + ], + "op": "DUP3", + "path": "17" + }, + "1683": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6421 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDE3" + }, + "1686": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6409, + 6430 + ], + "op": "JUMP", + "path": "17" + }, + "1687": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1688": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "MLOAD", + "path": "17" + }, + "1689": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "SWAP3", + "path": "17" + }, + "1690": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "SWAP2", + "path": "17" + }, + "1691": { + "op": "POP" + }, + "1692": { + "op": "POP" + }, + "1693": { + "fn": "ERC721A.ownerOf", + "jump": "o", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "1694": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1695": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3809, + 3816 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1697": { + "op": "PUSH1", + "value": "0x1" + }, + "1699": { + "op": "PUSH1", + "value": "0x1" + }, + "1701": { + "op": "PUSH1", + "value": "0xA0" + }, + "1703": { + "op": "SHL" + }, + "1704": { + "op": "SUB" + }, + "1705": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "DUP3", + "path": "17", + "statement": 19 + }, + "1706": { + "branch": 94, + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "AND", + "path": "17" + }, + "1707": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6C7" + }, + "1710": { + "branch": 94, + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPI", + "path": "17" + }, + "1711": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1713": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1714": { + "op": "PUSH4", + "value": "0x23D3AD81" + }, + "1719": { + "op": "PUSH1", + "value": "0xE2" + }, + "1721": { + "op": "SHL" + }, + "1722": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP2", + "path": "17" + }, + "1723": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MSTORE", + "path": "17" + }, + "1724": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1726": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "ADD", + "path": "17" + }, + "1727": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1729": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1730": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP1", + "path": "17" + }, + "1731": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP2", + "path": "17" + }, + "1732": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SUB", + "path": "17" + }, + "1733": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP1", + "path": "17" + }, + "1734": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "REVERT", + "path": "17" + }, + "1735": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1736": { + "op": "POP" + }, + "1737": { + "op": "PUSH1", + "value": "0x1" + }, + "1739": { + "op": "PUSH1", + "value": "0x1" + }, + "1741": { + "op": "PUSH1", + "value": "0xA0" + }, + "1743": { + "op": "SHL" + }, + "1744": { + "op": "SUB" + }, + "1745": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "AND", + "path": "17", + "statement": 20 + }, + "1746": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1748": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1749": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "DUP2", + "path": "17" + }, + "1750": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1751": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3925 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1753": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1755": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1756": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1758": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1759": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "KECCAK256", + "path": "17" + }, + "1760": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SLOAD", + "path": "17" + }, + "1761": { + "op": "PUSH1", + "value": "0x1" + }, + "1763": { + "op": "PUSH1", + "value": "0x1" + }, + "1765": { + "op": "PUSH1", + "value": "0x40" + }, + "1767": { + "op": "SHL" + }, + "1768": { + "op": "SUB" + }, + "1769": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "AND", + "path": "17" + }, + "1770": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SWAP1", + "path": "17" + }, + "1771": { + "fn": "ERC721A.balanceOf", + "jump": "o", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "1772": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1773": { + "fn": "ERC721A.symbol", + "offset": [ + 6722, + 6735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1775": { + "fn": "ERC721A.symbol", + "offset": [ + 6754, + 6761 + ], + "op": "PUSH1", + "path": "17", + "statement": 21, + "value": "0x4" + }, + "1777": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "DUP1", + "path": "17" + }, + "1778": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SLOAD", + "path": "17" + }, + "1779": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x500" + }, + "1782": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SWAP1", + "path": "17" + }, + "1783": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1661" + }, + "1786": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6747, + 6761 + ], + "op": "JUMP", + "path": "17" + }, + "1787": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1788": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 821, + 844 + ], + "op": "PUSH2", + "path": "29", + "statement": 22, + "value": "0x705" + }, + "1791": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 831, + 833 + ], + "op": "DUP3", + "path": "29" + }, + "1792": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 835, + 843 + ], + "op": "DUP3", + "path": "29" + }, + "1793": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 821, + 830 + ], + "op": "PUSH2", + "path": "29", + "value": "0xF0C" + }, + "1796": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "i", + "offset": [ + 821, + 844 + ], + "op": "JUMP", + "path": "29" + }, + "1797": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 821, + 844 + ], + "op": "JUMPDEST", + "path": "29" + }, + "1798": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "POP", + "path": "29" + }, + "1799": { + "fn": "ERC721ABurnableMock.safeMint", + "offset": [ + 756, + 851 + ], + "op": "POP", + "path": "29" + }, + "1800": { + "fn": "ERC721ABurnableMock.safeMint", + "jump": "o", + "offset": [ + 756, + 851 + ], + "op": "JUMP", + "path": "29" + }, + "1801": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1802": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1803": { + "op": "PUSH1", + "value": "0x1" + }, + "1805": { + "op": "PUSH1", + "value": "0x1" + }, + "1807": { + "op": "PUSH1", + "value": "0xA0" + }, + "1809": { + "op": "SHL" + }, + "1810": { + "op": "SUB" + }, + "1811": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "DUP4", + "path": "17", + "statement": 23 + }, + "1812": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "AND", + "path": "17" + }, + "1813": { + "branch": 95, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "SUB", + "path": "17" + }, + "1814": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "PUSH2", + "path": "17", + "value": "0x732" + }, + "1817": { + "branch": 95, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPI", + "path": "17" + }, + "1818": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1820": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1821": { + "op": "PUSH4", + "value": "0xB06307DB" + }, + "1826": { + "op": "PUSH1", + "value": "0xE0" + }, + "1828": { + "op": "SHL" + }, + "1829": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP2", + "path": "17" + }, + "1830": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MSTORE", + "path": "17" + }, + "1831": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1833": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "ADD", + "path": "17" + }, + "1834": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1836": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1837": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP1", + "path": "17" + }, + "1838": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP2", + "path": "17" + }, + "1839": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SUB", + "path": "17" + }, + "1840": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP1", + "path": "17" + }, + "1841": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "REVERT", + "path": "17" + }, + "1842": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1843": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1844": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "statement": 24, + "value": "0x0" + }, + "1846": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1847": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1848": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1849": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8426 + ], + "op": "PUSH1", + "path": "17", + "value": "0x8" + }, + "1851": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1853": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "SWAP1", + "path": "17" + }, + "1854": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1855": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1856": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1858": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP1", + "path": "17" + }, + "1859": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP4", + "path": "17" + }, + "1860": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "KECCAK256", + "path": "17" + }, + "1861": { + "op": "PUSH1", + "value": "0x1" + }, + "1863": { + "op": "PUSH1", + "value": "0x1" + }, + "1865": { + "op": "PUSH1", + "value": "0xA0" + }, + "1867": { + "op": "SHL" + }, + "1868": { + "op": "SUB" + }, + "1869": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP8", + "path": "17" + }, + "1870": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "AND", + "path": "17" + }, + "1871": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP1", + "path": "17" + }, + "1872": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP6", + "path": "17" + }, + "1873": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1874": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1875": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP4", + "path": "17" + }, + "1876": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1877": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1878": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP2", + "path": "17" + }, + "1879": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1880": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "KECCAK256", + "path": "17" + }, + "1881": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP1", + "path": "17" + }, + "1882": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SLOAD", + "path": "17" + }, + "1883": { + "op": "PUSH1", + "value": "0xFF" + }, + "1885": { + "op": "NOT" + }, + "1886": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "AND", + "path": "17" + }, + "1887": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP7", + "path": "17" + }, + "1888": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1889": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1890": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1891": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP2", + "path": "17" + }, + "1892": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "OR", + "path": "17" + }, + "1893": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1894": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP2", + "path": "17" + }, + "1895": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SSTORE", + "path": "17" + }, + "1896": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17", + "statement": 25 + }, + "1897": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1898": { + "op": "SWAP1" + }, + "1899": { + "op": "DUP2" + }, + "1900": { + "op": "MSTORE" + }, + "1901": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP2", + "path": "17" + }, + "1902": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1903": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP2", + "path": "5" + }, + "1904": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH32", + "path": "17", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "1937": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1938": { + "op": "ADD" + }, + "1939": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1941": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1942": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "DUP1", + "path": "17" + }, + "1943": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1944": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SUB", + "path": "17" + }, + "1945": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17" + }, + "1946": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "LOG3", + "path": "17" + }, + "1947": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1948": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1949": { + "fn": "ERC721A.setApprovalForAll", + "jump": "o", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "1950": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1951": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "PUSH2", + "path": "17", + "statement": 26, + "value": "0x7A9" + }, + "1954": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9467, + 9471 + ], + "op": "DUP5", + "path": "17" + }, + "1955": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9473, + 9475 + ], + "op": "DUP5", + "path": "17" + }, + "1956": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9477, + 9484 + ], + "op": "DUP5", + "path": "17" + }, + "1957": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9466 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA54" + }, + "1960": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9457, + 9485 + ], + "op": "JUMP", + "path": "17" + }, + "1961": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1962": { + "op": "PUSH1", + "value": "0x1" + }, + "1964": { + "op": "PUSH1", + "value": "0x1" + }, + "1966": { + "op": "PUSH1", + "value": "0xA0" + }, + "1968": { + "op": "SHL" + }, + "1969": { + "op": "SUB" + }, + "1970": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "DUP4", + "path": "17" + }, + "1971": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "AND", + "path": "17" + }, + "1972": { + "op": "EXTCODESIZE" + }, + "1973": { + "op": "ISZERO" + }, + "1974": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7E2" + }, + "1977": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1978": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "PUSH2", + "path": "17", + "statement": 27, + "value": "0x7C5" + }, + "1981": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9564, + 9568 + ], + "op": "DUP5", + "path": "17" + }, + "1982": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9570, + 9572 + ], + "op": "DUP5", + "path": "17" + }, + "1983": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9574, + 9581 + ], + "op": "DUP5", + "path": "17" + }, + "1984": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9583, + 9588 + ], + "op": "DUP5", + "path": "17" + }, + "1985": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9563 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF26" + }, + "1988": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9533, + 9589 + ], + "op": "JUMP", + "path": "17" + }, + "1989": { + "branch": 96, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1990": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7E2" + }, + "1993": { + "branch": 96, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1994": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1996": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1997": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "2002": { + "op": "PUSH1", + "value": "0xE1" + }, + "2004": { + "op": "SHL" + }, + "2005": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP2", + "path": "17" + }, + "2006": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MSTORE", + "path": "17" + }, + "2007": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2009": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "ADD", + "path": "17" + }, + "2010": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2012": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "2013": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP1", + "path": "17" + }, + "2014": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP2", + "path": "17" + }, + "2015": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SUB", + "path": "17" + }, + "2016": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP1", + "path": "17" + }, + "2017": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "REVERT", + "path": "17" + }, + "2018": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2019": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2020": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2021": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2022": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2023": { + "fn": "ERC721A.safeTransferFrom", + "jump": "o", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "2024": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2025": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1035, + 1048 + ], + "op": "PUSH1", + "path": "18", + "value": "0x60" + }, + "2027": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "PUSH2", + "path": "18", + "statement": 28, + "value": "0x7F3" + }, + "2030": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1073, + 1080 + ], + "op": "DUP3", + "path": "18" + }, + "2031": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1072 + ], + "op": "PUSH2", + "path": "18", + "value": "0x9B8" + }, + "2034": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1065, + 1081 + ], + "op": "JUMP", + "path": "18" + }, + "2035": { + "branch": 114, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2036": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "PUSH2", + "path": "18", + "value": "0x810" + }, + "2039": { + "branch": 114, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPI", + "path": "18" + }, + "2040": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2042": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "2043": { + "op": "PUSH4", + "value": "0xA14C4B5" + }, + "2048": { + "op": "PUSH1", + "value": "0xE4" + }, + "2050": { + "op": "SHL" + }, + "2051": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP2", + "path": "18" + }, + "2052": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MSTORE", + "path": "18" + }, + "2053": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "2055": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "ADD", + "path": "18" + }, + "2056": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2058": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "2059": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP1", + "path": "18" + }, + "2060": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP2", + "path": "18" + }, + "2061": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SUB", + "path": "18" + }, + "2062": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP1", + "path": "18" + }, + "2063": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "REVERT", + "path": "18" + }, + "2064": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2065": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1153 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2067": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2068": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2069": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2070": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1166 + ], + "op": "PUSH1", + "path": "18", + "value": "0xA" + }, + "2072": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2074": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2075": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2077": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2078": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "2079": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2080": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2081": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x829" + }, + "2084": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2085": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1661" + }, + "2088": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2089": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2090": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2091": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2093": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2094": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2096": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2097": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2098": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "2099": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "2100": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2102": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2103": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2105": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MLOAD", + "path": "18" + }, + "2106": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2107": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2108": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2109": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2111": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2112": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2113": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP3", + "path": "18" + }, + "2114": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2115": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2116": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2117": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2118": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2119": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2121": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2122": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2123": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2124": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2125": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x855" + }, + "2128": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2129": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1661" + }, + "2132": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2133": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2134": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2135": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ISZERO", + "path": "18" + }, + "2136": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8A2" + }, + "2139": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2140": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2141": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2143": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "LT", + "path": "18" + }, + "2144": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x877" + }, + "2147": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2148": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x100" + }, + "2151": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2152": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2153": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2154": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "2155": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "2156": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2157": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2158": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2159": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2161": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2162": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2163": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8A2" + }, + "2166": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2167": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2168": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2169": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2170": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2171": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2172": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2174": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2175": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2177": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2179": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "2180": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2181": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2182": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2183": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2184": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2185": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2186": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2187": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "2189": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2190": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2191": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2193": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2194": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2195": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2196": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "GT", + "path": "18" + }, + "2197": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x885" + }, + "2200": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2201": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2202": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2203": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SUB", + "path": "18" + }, + "2204": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2206": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "AND", + "path": "18" + }, + "2207": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2208": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2209": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2210": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2211": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2212": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2213": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2214": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2215": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2216": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2217": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2218": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1203 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2220": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8C0" + }, + "2223": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "statement": 29, + "value": "0x40" + }, + "2225": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "2226": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "2227": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2229": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "2230": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "2231": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "2232": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "2233": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "2234": { + "op": "PUSH1", + "value": "0x0" + }, + "2236": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "2237": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "2238": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "2239": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "2240": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2241": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "SWAP1", + "path": "18" + }, + "2242": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "POP", + "path": "18" + }, + "2243": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1387, + 1391 + ], + "op": "DUP1", + "path": "18", + "statement": 30 + }, + "2244": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1399 + ], + "op": "MLOAD", + "path": "18" + }, + "2245": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1403, + 1404 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2247": { + "branch": 115, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1404 + ], + "op": "SUB", + "path": "18" + }, + "2248": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8D1" + }, + "2251": { + "branch": 115, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPI", + "path": "18" + }, + "2252": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1451, + 1460 + ], + "op": "DUP2", + "path": "18" + }, + "2253": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8F4" + }, + "2256": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMP", + "path": "18" + }, + "2257": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2258": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1431, + 1435 + ], + "op": "DUP1", + "path": "18" + }, + "2259": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1437, + 1446 + ], + "op": "DUP3", + "path": "18" + }, + "2260": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2262": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "2263": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2265": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "ADD", + "path": "18" + }, + "2266": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8E4" + }, + "2269": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP3", + "path": "18" + }, + "2270": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP2", + "path": "18" + }, + "2271": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "2272": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x169B" + }, + "2275": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1414, + 1447 + ], + "op": "JUMP", + "path": "18" + }, + "2276": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2277": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2279": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "2280": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2282": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "2283": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP4", + "path": "18" + }, + "2284": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "2285": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "2286": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "2287": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "2288": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "2289": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2291": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "2292": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2293": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1374, + 1460 + ], + "op": "SWAP5", + "path": "18" + }, + "2294": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "SWAP4", + "path": "18" + }, + "2295": { + "op": "POP" + }, + "2296": { + "op": "POP" + }, + "2297": { + "op": "POP" + }, + "2298": { + "op": "POP" + }, + "2299": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "o", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "2300": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2301": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2146, + 2153 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2303": { + "offset": [ + 797, + 803 + ], + "op": "PUSH1", + "path": "20", + "value": "0x9" + }, + "2305": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 803 + ], + "op": "SLOAD", + "path": "20" + }, + "2306": { + "offset": [ + 807, + 808 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "2308": { + "offset": [ + 797, + 808 + ], + "op": "EQ", + "path": "20" + }, + "2309": { + "offset": [ + 789, + 823 + ], + "op": "PUSH2", + "path": "20", + "value": "0x942" + }, + "2312": { + "offset": [ + 789, + 823 + ], + "op": "JUMPI", + "path": "20" + }, + "2313": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "2315": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "2316": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2320": { + "op": "PUSH1", + "value": "0xE5" + }, + "2322": { + "op": "SHL" + }, + "2323": { + "offset": [ + 789, + 823 + ], + "op": "DUP2", + "path": "20" + }, + "2324": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MSTORE", + "path": "20" + }, + "2325": { + "op": "PUSH1", + "value": "0x20" + }, + "2327": { + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x4" + }, + "2329": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "DUP3", + "path": "20" + }, + "2330": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "ADD", + "path": "20" + }, + "2331": { + "op": "MSTORE" + }, + "2332": { + "op": "PUSH1", + "value": "0xA" + }, + "2334": { + "op": "PUSH1", + "value": "0x24" + }, + "2336": { + "op": "DUP3" + }, + "2337": { + "op": "ADD" + }, + "2338": { + "op": "MSTORE" + }, + "2339": { + "op": "PUSH10", + "value": "0x5245454E5452414E4359" + }, + "2350": { + "op": "PUSH1", + "value": "0xB0" + }, + "2352": { + "op": "SHL" + }, + "2353": { + "op": "PUSH1", + "value": "0x44" + }, + "2355": { + "op": "DUP3" + }, + "2356": { + "op": "ADD" + }, + "2357": { + "op": "MSTORE" + }, + "2358": { + "op": "PUSH1", + "value": "0x64" + }, + "2360": { + "op": "ADD" + }, + "2361": { + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "2362": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "2364": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "2365": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "DUP1", + "path": "20" + }, + "2366": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SWAP2", + "path": "20" + }, + "2367": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SUB", + "path": "20" + }, + "2368": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SWAP1", + "path": "20" + }, + "2369": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "20" + }, + "2370": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "2371": { + "offset": [ + 843, + 844 + ], + "op": "PUSH1", + "path": "20", + "value": "0x2" + }, + "2373": { + "offset": [ + 834, + 840 + ], + "op": "PUSH1", + "path": "20", + "value": "0x9" + }, + "2375": { + "offset": [ + 834, + 844 + ], + "op": "SSTORE", + "path": "20" + }, + "2376": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2173, + 2182 + ], + "op": "CALLVALUE", + "path": "18", + "statement": 31 + }, + "2377": { + "branch": 116, + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2173, + 2187 + ], + "op": "ISZERO", + "path": "18" + }, + "2378": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH2", + "path": "18", + "value": "0x995" + }, + "2381": { + "branch": 116, + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "JUMPI", + "path": "18" + }, + "2382": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2384": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "MLOAD", + "path": "18" + }, + "2385": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2389": { + "op": "PUSH1", + "value": "0xE5" + }, + "2391": { + "op": "SHL" + }, + "2392": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "DUP2", + "path": "18" + }, + "2393": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "MSTORE", + "path": "18" + }, + "2394": { + "op": "PUSH1", + "value": "0x20" + }, + "2396": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "2398": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "DUP3", + "path": "18" + }, + "2399": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "ADD", + "path": "18" + }, + "2400": { + "op": "MSTORE" + }, + "2401": { + "op": "PUSH1", + "value": "0x19" + }, + "2403": { + "op": "PUSH1", + "value": "0x24" + }, + "2405": { + "op": "DUP3" + }, + "2406": { + "op": "ADD" + }, + "2407": { + "op": "MSTORE" + }, + "2408": { + "op": "PUSH32", + "value": "0x5B436F72652E6D696E745D2076616C756520746F206265203000000000000000" + }, + "2441": { + "op": "PUSH1", + "value": "0x44" + }, + "2443": { + "op": "DUP3" + }, + "2444": { + "op": "ADD" + }, + "2445": { + "op": "MSTORE" + }, + "2446": { + "op": "PUSH1", + "value": "0x64" + }, + "2448": { + "op": "ADD" + }, + "2449": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH2", + "path": "18", + "value": "0x939" + }, + "2452": { + "op": "JUMP" + }, + "2453": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2454": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2359 + ], + "op": "PUSH2", + "path": "18", + "statement": 32, + "value": "0x9A0" + }, + "2457": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2345, + 2355 + ], + "op": "CALLER", + "path": "18" + }, + "2458": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2357, + 2358 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "2460": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2344 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1011" + }, + "2463": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2339, + 2359 + ], + "op": "JUMP", + "path": "18" + }, + "2464": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2359 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2465": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2391, + 2404 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "2467": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2391, + 2404 + ], + "op": "SLOAD", + "path": "18" + }, + "2468": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2523 + ], + "op": "PUSH2", + "path": "18", + "statement": 33, + "value": "0x9AD" + }, + "2471": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2391, + 2404 + ], + "op": "DUP2", + "path": "18" + }, + "2472": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2513, + 2522 + ], + "op": "DUP5", + "path": "18" + }, + "2473": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2500 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1123" + }, + "2476": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2488, + 2523 + ], + "op": "JUMP", + "path": "18" + }, + "2477": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2523 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2478": { + "offset": [ + 876, + 877 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "2480": { + "offset": [ + 867, + 873 + ], + "op": "PUSH1", + "path": "20", + "value": "0x9" + }, + "2482": { + "offset": [ + 867, + 877 + ], + "op": "SSTORE", + "path": "20" + }, + "2483": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2643, + 2653 + ], + "op": "SWAP3", + "path": "18", + "statement": 34 + }, + "2484": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "SWAP2", + "path": "18" + }, + "2485": { + "op": "POP" + }, + "2486": { + "op": "POP" + }, + "2487": { + "fn": "ERC721ExtensionCore.mint", + "jump": "o", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "2488": { + "fn": "ERC721A._exists", + "offset": [ + 9923, + 10095 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2489": { + "fn": "ERC721A._exists", + "offset": [ + 9980, + 9984 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2491": { + "fn": "ERC721A._exists", + "offset": [ + 10022, + 10029 + ], + "op": "DUP2", + "path": "17", + "statement": 35 + }, + "2492": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10018 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9C4" + }, + "2495": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 860, + 867 + ], + "op": "PUSH1", + "path": "30", + "value": "0x0" + }, + "2497": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 886, + 898 + ], + "op": "SLOAD", + "path": "30" + }, + "2498": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 886, + 898 + ], + "op": "SWAP1", + "path": "30" + }, + "2499": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 803, + 905 + ], + "op": "JUMP", + "path": "30" + }, + "2500": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10018 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2501": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10029 + ], + "op": "GT", + "path": "17" + }, + "2502": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10029 + ], + "op": "ISZERO", + "path": "17" + }, + "2503": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "DUP1", + "path": "17" + }, + "2504": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "ISZERO", + "path": "17" + }, + "2505": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9D3" + }, + "2508": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "JUMPI", + "path": "17" + }, + "2509": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "POP", + "path": "17" + }, + "2510": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2512": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "SLOAD", + "path": "17" + }, + "2513": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10040 + ], + "op": "DUP3", + "path": "17" + }, + "2514": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10056 + ], + "op": "LT", + "path": "17" + }, + "2515": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2516": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "DUP1", + "path": "17" + }, + "2517": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2518": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4EB" + }, + "2521": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "JUMPI", + "path": "17" + }, + "2522": { + "op": "POP" + }, + "2523": { + "op": "POP" + }, + "2524": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2526": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2527": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "DUP2", + "path": "17" + }, + "2528": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2529": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10072 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2531": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2533": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2534": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2536": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2537": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "KECCAK256", + "path": "17" + }, + "2538": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SLOAD", + "path": "17" + }, + "2539": { + "op": "PUSH1", + "value": "0x1" + }, + "2541": { + "op": "PUSH1", + "value": "0xE0" + }, + "2543": { + "op": "SHL" + }, + "2544": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2545": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "DIV", + "path": "17" + }, + "2546": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "2548": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "AND", + "path": "17" + }, + "2549": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2550": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2551": { + "fn": "ERC721A._exists", + "jump": "o", + "offset": [ + 9923, + 10095 + ], + "op": "JUMP", + "path": "17" + }, + "2552": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2553": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "statement": 36, + "value": "0x0" + }, + "2555": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2556": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP2", + "path": "17" + }, + "2557": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2558": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18973 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "2560": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2562": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2563": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2565": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP1", + "path": "17" + }, + "2566": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2567": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "KECCAK256", + "path": "17" + }, + "2568": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP1", + "path": "17" + }, + "2569": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SLOAD", + "path": "17" + }, + "2570": { + "op": "PUSH1", + "value": "0x1" + }, + "2572": { + "op": "PUSH1", + "value": "0x1" + }, + "2574": { + "op": "PUSH1", + "value": "0xA0" + }, + "2576": { + "op": "SHL" + }, + "2577": { + "op": "SUB" + }, + "2578": { + "op": "NOT" + }, + "2579": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2580": { + "op": "PUSH1", + "value": "0x1" + }, + "2582": { + "op": "PUSH1", + "value": "0x1" + }, + "2584": { + "op": "PUSH1", + "value": "0xA0" + }, + "2586": { + "op": "SHL" + }, + "2587": { + "op": "SUB" + }, + "2588": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP8", + "path": "17" + }, + "2589": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP2", + "path": "17" + }, + "2590": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2591": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP2", + "path": "17" + }, + "2592": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP3", + "path": "17" + }, + "2593": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "OR", + "path": "17" + }, + "2594": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP1", + "path": "17" + }, + "2595": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP3", + "path": "17" + }, + "2596": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SSTORE", + "path": "17" + }, + "2597": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17", + "statement": 37 + }, + "2598": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "MLOAD", + "path": "17" + }, + "2599": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP6", + "path": "17" + }, + "2600": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "SWAP4", + "path": "17" + }, + "2601": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2602": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "DUP6", + "path": "17" + }, + "2603": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "AND", + "path": "17" + }, + "2604": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2605": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "PUSH32", + "path": "17", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "2638": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2639": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "LOG4", + "path": "17" + }, + "2640": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2641": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2642": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2643": { + "fn": "ERC721A._approve", + "jump": "o", + "offset": [ + 18848, + 19037 + ], + "op": "JUMP", + "path": "17" + }, + "2644": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2645": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14124 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2647": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA5F" + }, + "2650": { + "fn": "ERC721A._transfer", + "offset": [ + 14140, + 14147 + ], + "op": "DUP3", + "path": "17" + }, + "2651": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14139 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDE3" + }, + "2654": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14127, + 14148 + ], + "op": "JUMP", + "path": "17" + }, + "2655": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2656": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "SWAP1", + "path": "17" + }, + "2657": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "POP", + "path": "17" + }, + "2658": { + "fn": "ERC721A._transfer", + "offset": [ + 14185, + 14189 + ], + "op": "DUP4", + "path": "17", + "statement": 38 + }, + "2659": { + "op": "PUSH1", + "value": "0x1" + }, + "2661": { + "op": "PUSH1", + "value": "0x1" + }, + "2663": { + "op": "PUSH1", + "value": "0xA0" + }, + "2665": { + "op": "SHL" + }, + "2666": { + "op": "SUB" + }, + "2667": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2668": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14176 + ], + "op": "DUP2", + "path": "17" + }, + "2669": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2671": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "ADD", + "path": "17" + }, + "2672": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "MLOAD", + "path": "17" + }, + "2673": { + "op": "PUSH1", + "value": "0x1" + }, + "2675": { + "op": "PUSH1", + "value": "0x1" + }, + "2677": { + "op": "PUSH1", + "value": "0xA0" + }, + "2679": { + "op": "SHL" + }, + "2680": { + "op": "SUB" + }, + "2681": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2682": { + "branch": 97, + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "EQ", + "path": "17" + }, + "2683": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA96" + }, + "2686": { + "branch": 97, + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPI", + "path": "17" + }, + "2687": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2689": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2690": { + "op": "PUSH3", + "value": "0xA11481" + }, + "2694": { + "op": "PUSH1", + "value": "0xE8" + }, + "2696": { + "op": "SHL" + }, + "2697": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP2", + "path": "17" + }, + "2698": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MSTORE", + "path": "17" + }, + "2699": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2701": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "ADD", + "path": "17" + }, + "2702": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2704": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2705": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP1", + "path": "17" + }, + "2706": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP2", + "path": "17" + }, + "2707": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SUB", + "path": "17" + }, + "2708": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP1", + "path": "17" + }, + "2709": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "REVERT", + "path": "17" + }, + "2710": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2711": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14259 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2713": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2714": { + "op": "PUSH1", + "value": "0x1" + }, + "2716": { + "op": "PUSH1", + "value": "0x1" + }, + "2718": { + "op": "PUSH1", + "value": "0xA0" + }, + "2720": { + "op": "SHL" + }, + "2721": { + "op": "SUB" + }, + "2722": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP7", + "path": "17" + }, + "2723": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "AND", + "path": "17" + }, + "2724": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "EQ", + "path": "17" + }, + "2725": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP1", + "path": "17" + }, + "2726": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAB4" + }, + "2729": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "JUMPI", + "path": "17" + }, + "2730": { + "op": "POP" + }, + "2731": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAB4" + }, + "2734": { + "fn": "ERC721A._transfer", + "offset": [ + 14304, + 14308 + ], + "op": "DUP6", + "path": "17" + }, + "2735": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2736": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3B9" + }, + "2739": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "2740": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2741": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "DUP1", + "path": "17" + }, + "2742": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "PUSH2", + "path": "17", + "value": "0xACF" + }, + "2745": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPI", + "path": "17" + }, + "2746": { + "op": "POP" + }, + "2747": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2748": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAC4" + }, + "2751": { + "fn": "ERC721A._transfer", + "offset": [ + 14339, + 14346 + ], + "op": "DUP5", + "path": "17" + }, + "2752": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14338 + ], + "op": "PUSH2", + "path": "17", + "value": "0x583" + }, + "2755": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14327, + 14347 + ], + "op": "JUMP", + "path": "17" + }, + "2756": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2757": { + "op": "PUSH1", + "value": "0x1" + }, + "2759": { + "op": "PUSH1", + "value": "0x1" + }, + "2761": { + "op": "PUSH1", + "value": "0xA0" + }, + "2763": { + "op": "SHL" + }, + "2764": { + "op": "SUB" + }, + "2765": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "AND", + "path": "17" + }, + "2766": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "EQ", + "path": "17" + }, + "2767": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2768": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "SWAP1", + "path": "17" + }, + "2769": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "POP", + "path": "17" + }, + "2770": { + "branch": 98, + "fn": "ERC721A._transfer", + "offset": [ + 14380, + 14397 + ], + "op": "DUP1", + "path": "17", + "statement": 39 + }, + "2771": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAEF" + }, + "2774": { + "branch": 98, + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPI", + "path": "17" + }, + "2775": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2777": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2778": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "2783": { + "op": "PUSH1", + "value": "0xE1" + }, + "2785": { + "op": "SHL" + }, + "2786": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP2", + "path": "17" + }, + "2787": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MSTORE", + "path": "17" + }, + "2788": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2790": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "ADD", + "path": "17" + }, + "2791": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2793": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2794": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP1", + "path": "17" + }, + "2795": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP2", + "path": "17" + }, + "2796": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SUB", + "path": "17" + }, + "2797": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP1", + "path": "17" + }, + "2798": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "REVERT", + "path": "17" + }, + "2799": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2800": { + "op": "PUSH1", + "value": "0x1" + }, + "2802": { + "op": "PUSH1", + "value": "0x1" + }, + "2804": { + "op": "PUSH1", + "value": "0xA0" + }, + "2806": { + "op": "SHL" + }, + "2807": { + "op": "SUB" + }, + "2808": { + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "DUP5", + "path": "17", + "statement": 40 + }, + "2809": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "AND", + "path": "17" + }, + "2810": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB16" + }, + "2813": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPI", + "path": "17" + }, + "2814": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2816": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2817": { + "op": "PUSH4", + "value": "0x3A954ECD" + }, + "2822": { + "op": "PUSH1", + "value": "0xE2" + }, + "2824": { + "op": "SHL" + }, + "2825": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP2", + "path": "17" + }, + "2826": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MSTORE", + "path": "17" + }, + "2827": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2829": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "ADD", + "path": "17" + }, + "2830": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2832": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2833": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP1", + "path": "17" + }, + "2834": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP2", + "path": "17" + }, + "2835": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SUB", + "path": "17" + }, + "2836": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP1", + "path": "17" + }, + "2837": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "REVERT", + "path": "17" + }, + "2838": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2839": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "PUSH2", + "path": "17", + "statement": 41, + "value": "0xB22" + }, + "2842": { + "fn": "ERC721A._transfer", + "offset": [ + 14636, + 14637 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2844": { + "fn": "ERC721A._transfer", + "offset": [ + 14640, + 14647 + ], + "op": "DUP5", + "path": "17" + }, + "2845": { + "fn": "ERC721A._transfer", + "offset": [ + 14649, + 14653 + ], + "op": "DUP8", + "path": "17" + }, + "2846": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14627 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9F8" + }, + "2849": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14619, + 14654 + ], + "op": "JUMP", + "path": "17" + }, + "2850": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2851": { + "op": "PUSH1", + "value": "0x1" + }, + "2853": { + "op": "PUSH1", + "value": "0x1" + }, + "2855": { + "op": "PUSH1", + "value": "0xA0" + }, + "2857": { + "op": "SHL" + }, + "2858": { + "op": "SUB" + }, + "2859": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP6", + "path": "17", + "statement": 42 + }, + "2860": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2861": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "AND", + "path": "17" + }, + "2862": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2864": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2865": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2866": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2867": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14956 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "2869": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2871": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2872": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2873": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2874": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2876": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP1", + "path": "17" + }, + "2877": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP4", + "path": "17" + }, + "2878": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "KECCAK256", + "path": "17" + }, + "2879": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2880": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SLOAD", + "path": "17" + }, + "2881": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2890": { + "op": "NOT" + }, + "2891": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2892": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP3", + "path": "17" + }, + "2893": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2894": { + "op": "PUSH1", + "value": "0x1" + }, + "2896": { + "op": "PUSH1", + "value": "0x1" + }, + "2898": { + "op": "PUSH1", + "value": "0x40" + }, + "2900": { + "op": "SHL" + }, + "2901": { + "op": "SUB" + }, + "2902": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2903": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2904": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2905": { + "op": "PUSH1", + "value": "0x0" + }, + "2907": { + "op": "NOT" + }, + "2908": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "ADD", + "path": "17" + }, + "2909": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2910": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2911": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "OR", + "path": "17" + }, + "2912": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP1", + "path": "17" + }, + "2913": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2914": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SSTORE", + "path": "17" + }, + "2915": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP10", + "path": "17", + "statement": 43 + }, + "2916": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2917": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "AND", + "path": "17" + }, + "2918": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP1", + "path": "17" + }, + "2919": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2920": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "MSTORE", + "path": "17" + }, + "2921": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP4", + "path": "17" + }, + "2922": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2923": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "KECCAK256", + "path": "17" + }, + "2924": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP1", + "path": "17" + }, + "2925": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SLOAD", + "path": "17" + }, + "2926": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2927": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2928": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2929": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2930": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP4", + "path": "17" + }, + "2931": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2932": { + "op": "PUSH1", + "value": "0x1" + }, + "2934": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2935": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP2", + "path": "17" + }, + "2936": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "ADD", + "path": "17" + }, + "2937": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2938": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2939": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2940": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2941": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2942": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "OR", + "path": "17" + }, + "2943": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2944": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SSTORE", + "path": "17" + }, + "2945": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP10", + "path": "17" + }, + "2946": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP7", + "path": "17" + }, + "2947": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2948": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15078 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2950": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP1", + "path": "17" + }, + "2951": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP5", + "path": "17" + }, + "2952": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2953": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP3", + "path": "17" + }, + "2954": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP6", + "path": "17" + }, + "2955": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "KECCAK256", + "path": "17" + }, + "2956": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "DUP1", + "path": "17", + "statement": 44 + }, + "2957": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "SLOAD", + "path": "17" + }, + "2958": { + "op": "PUSH1", + "value": "0x1" + }, + "2960": { + "op": "PUSH1", + "value": "0x1" + }, + "2962": { + "op": "PUSH1", + "value": "0xE0" + }, + "2964": { + "op": "SHL" + }, + "2965": { + "op": "SUB" + }, + "2966": { + "op": "NOT" + }, + "2967": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17", + "statement": 45 + }, + "2968": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2969": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP5", + "path": "17" + }, + "2970": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2971": { + "op": "PUSH1", + "value": "0x1" + }, + "2973": { + "op": "PUSH1", + "value": "0xA0" + }, + "2975": { + "op": "SHL" + }, + "2976": { + "fn": "ERC721A._transfer", + "offset": [ + 15166, + 15181 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2977": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2978": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP3", + "path": "17" + }, + "2979": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17" + }, + "2980": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2981": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2982": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2983": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "MUL", + "path": "17" + }, + "2984": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2985": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "DUP4", + "path": "17" + }, + "2986": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SSTORE", + "path": "17" + }, + "2987": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "DUP8", + "path": "17" + }, + "2988": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "ADD", + "path": "17" + }, + "2989": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP1", + "path": "17" + }, + "2990": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP5", + "path": "17" + }, + "2991": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "MSTORE", + "path": "17" + }, + "2992": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP3", + "path": "17" + }, + "2993": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "KECCAK256", + "path": "17" + }, + "2994": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "DUP1", + "path": "17" + }, + "2995": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "SLOAD", + "path": "17" + }, + "2996": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP2", + "path": "17" + }, + "2997": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP4", + "path": "17" + }, + "2998": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP1", + "path": "17" + }, + "2999": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP2", + "path": "17" + }, + "3000": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "AND", + "path": "17" + }, + "3001": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBF6" + }, + "3004": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "JUMPI", + "path": "17" + }, + "3005": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3007": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "SLOAD", + "path": "17" + }, + "3008": { + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15756 + ], + "op": "DUP3", + "path": "17" + }, + "3009": { + "branch": 100, + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15773 + ], + "op": "EQ", + "path": "17" + }, + "3010": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBF6" + }, + "3013": { + "branch": 100, + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPI", + "path": "17" + }, + "3014": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP1", + "path": "17", + "statement": 46 + }, + "3015": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "SLOAD", + "path": "17" + }, + "3016": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "PUSH1", + "path": "17", + "statement": 47, + "value": "0x20" + }, + "3018": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "DUP7", + "path": "17" + }, + "3019": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "ADD", + "path": "17" + }, + "3020": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "MLOAD", + "path": "17" + }, + "3021": { + "op": "PUSH1", + "value": "0x1" + }, + "3023": { + "op": "PUSH1", + "value": "0x1" + }, + "3025": { + "op": "PUSH1", + "value": "0x40" + }, + "3027": { + "op": "SHL" + }, + "3028": { + "op": "SUB" + }, + "3029": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "3030": { + "op": "PUSH1", + "value": "0x1" + }, + "3032": { + "op": "PUSH1", + "value": "0xA0" + }, + "3034": { + "op": "SHL" + }, + "3035": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "MUL", + "path": "17" + }, + "3036": { + "op": "PUSH1", + "value": "0x1" + }, + "3038": { + "op": "PUSH1", + "value": "0x1" + }, + "3040": { + "op": "PUSH1", + "value": "0xE0" + }, + "3042": { + "op": "SHL" + }, + "3043": { + "op": "SUB" + }, + "3044": { + "op": "NOT" + }, + "3045": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP1", + "path": "17" + }, + "3046": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP2", + "path": "17" + }, + "3047": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "3048": { + "op": "PUSH1", + "value": "0x1" + }, + "3050": { + "op": "PUSH1", + "value": "0x1" + }, + "3052": { + "op": "PUSH1", + "value": "0xA0" + }, + "3054": { + "op": "SHL" + }, + "3055": { + "op": "SUB" + }, + "3056": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP11", + "path": "17" + }, + "3057": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "AND", + "path": "17" + }, + "3058": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "3059": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "3060": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "DUP2", + "path": "17" + }, + "3061": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SSTORE", + "path": "17" + }, + "3062": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3063": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "3064": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "3065": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "3066": { + "fn": "ERC721A._transfer", + "offset": [ + 15970, + 15977 + ], + "op": "DUP3", + "path": "17", + "statement": 48 + }, + "3067": { + "fn": "ERC721A._transfer", + "offset": [ + 15966, + 15968 + ], + "op": "DUP5", + "path": "17" + }, + "3068": { + "op": "PUSH1", + "value": "0x1" + }, + "3070": { + "op": "PUSH1", + "value": "0x1" + }, + "3072": { + "op": "PUSH1", + "value": "0xA0" + }, + "3074": { + "op": "SHL" + }, + "3075": { + "op": "SUB" + }, + "3076": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "3077": { + "fn": "ERC721A._transfer", + "offset": [ + 15960, + 15964 + ], + "op": "DUP7", + "path": "17" + }, + "3078": { + "op": "PUSH1", + "value": "0x1" + }, + "3080": { + "op": "PUSH1", + "value": "0x1" + }, + "3082": { + "op": "PUSH1", + "value": "0xA0" + }, + "3084": { + "op": "SHL" + }, + "3085": { + "op": "SUB" + }, + "3086": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "3087": { + "op": "PUSH1", + "value": "0x0" + }, + "3089": { + "op": "DUP1" + }, + "3090": { + "op": "MLOAD" + }, + "3091": { + "op": "PUSH1", + "value": "0x20" + }, + "3093": { + "op": "PUSH2", + "value": "0x1832" + }, + "3096": { + "op": "DUP4" + }, + "3097": { + "op": "CODECOPY" + }, + "3098": { + "op": "DUP2" + }, + "3099": { + "op": "MLOAD" + }, + "3100": { + "op": "SWAP2" + }, + "3101": { + "op": "MSTORE" + }, + "3102": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3104": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "3105": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3107": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "3108": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "DUP1", + "path": "17" + }, + "3109": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP2", + "path": "17" + }, + "3110": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SUB", + "path": "17" + }, + "3111": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP1", + "path": "17" + }, + "3112": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "LOG4", + "path": "17" + }, + "3113": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3114": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3115": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3116": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3117": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "3118": { + "fn": "ERC721A._transfer", + "jump": "o", + "offset": [ + 13979, + 16037 + ], + "op": "JUMP", + "path": "17" + }, + "3119": { + "fn": "ERC721A._burn", + "offset": [ + 16414, + 18737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3120": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3122": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC3A" + }, + "3125": { + "fn": "ERC721A._burn", + "offset": [ + 16544, + 16551 + ], + "op": "DUP4", + "path": "17" + }, + "3126": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16543 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDE3" + }, + "3129": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16531, + 16552 + ], + "op": "JUMP", + "path": "17" + }, + "3130": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3131": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "DUP1", + "path": "17" + }, + "3132": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "MLOAD", + "path": "17" + }, + "3133": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP1", + "path": "17" + }, + "3134": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP2", + "path": "17" + }, + "3135": { + "op": "POP" + }, + "3136": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "DUP3", + "path": "17" + }, + "3137": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "ISZERO", + "path": "17" + }, + "3138": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCA0" + }, + "3141": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPI", + "path": "17" + }, + "3142": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16662 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3144": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3145": { + "op": "PUSH1", + "value": "0x1" + }, + "3147": { + "op": "PUSH1", + "value": "0x1" + }, + "3149": { + "op": "PUSH1", + "value": "0xA0" + }, + "3151": { + "op": "SHL" + }, + "3152": { + "op": "SUB" + }, + "3153": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP4", + "path": "17" + }, + "3154": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "AND", + "path": "17" + }, + "3155": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "EQ", + "path": "17" + }, + "3156": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP1", + "path": "17" + }, + "3157": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC63" + }, + "3160": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "JUMPI", + "path": "17" + }, + "3161": { + "op": "POP" + }, + "3162": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC63" + }, + "3165": { + "fn": "ERC721A._burn", + "offset": [ + 16707, + 16711 + ], + "op": "DUP3", + "path": "17" + }, + "3166": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3167": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3B9" + }, + "3170": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "3171": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3172": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "DUP1", + "path": "17" + }, + "3173": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC7E" + }, + "3176": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPI", + "path": "17" + }, + "3177": { + "op": "POP" + }, + "3178": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3179": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC73" + }, + "3182": { + "fn": "ERC721A._burn", + "offset": [ + 16742, + 16749 + ], + "op": "DUP7", + "path": "17" + }, + "3183": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16741 + ], + "op": "PUSH2", + "path": "17", + "value": "0x583" + }, + "3186": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16730, + 16750 + ], + "op": "JUMP", + "path": "17" + }, + "3187": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3188": { + "op": "PUSH1", + "value": "0x1" + }, + "3190": { + "op": "PUSH1", + "value": "0x1" + }, + "3192": { + "op": "PUSH1", + "value": "0xA0" + }, + "3194": { + "op": "SHL" + }, + "3195": { + "op": "SUB" + }, + "3196": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "AND", + "path": "17" + }, + "3197": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "EQ", + "path": "17" + }, + "3198": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3199": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "SWAP1", + "path": "17" + }, + "3200": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "POP", + "path": "17" + }, + "3201": { + "branch": 101, + "fn": "ERC721A._burn", + "offset": [ + 16787, + 16804 + ], + "op": "DUP1", + "path": "17", + "statement": 49 + }, + "3202": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC9E" + }, + "3205": { + "branch": 101, + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPI", + "path": "17" + }, + "3206": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3208": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3209": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "3214": { + "op": "PUSH1", + "value": "0xE1" + }, + "3216": { + "op": "SHL" + }, + "3217": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP2", + "path": "17" + }, + "3218": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MSTORE", + "path": "17" + }, + "3219": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3221": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "ADD", + "path": "17" + }, + "3222": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3224": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3225": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP1", + "path": "17" + }, + "3226": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP2", + "path": "17" + }, + "3227": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SUB", + "path": "17" + }, + "3228": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP1", + "path": "17" + }, + "3229": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "REVERT", + "path": "17" + }, + "3230": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3231": { + "fn": "ERC721A._burn", + "offset": [ + 16626, + 16859 + ], + "op": "POP", + "path": "17" + }, + "3232": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3233": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "PUSH2", + "path": "17", + "statement": 50, + "value": "0xCAC" + }, + "3236": { + "fn": "ERC721A._burn", + "offset": [ + 16999, + 17000 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3238": { + "fn": "ERC721A._burn", + "offset": [ + 17003, + 17010 + ], + "op": "DUP6", + "path": "17" + }, + "3239": { + "fn": "ERC721A._burn", + "offset": [ + 17012, + 17016 + ], + "op": "DUP4", + "path": "17" + }, + "3240": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 16990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9F8" + }, + "3243": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16982, + 17017 + ], + "op": "JUMP", + "path": "17" + }, + "3244": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3245": { + "op": "PUSH1", + "value": "0x1" + }, + "3247": { + "op": "PUSH1", + "value": "0x1" + }, + "3249": { + "op": "PUSH1", + "value": "0xA0" + }, + "3251": { + "op": "SHL" + }, + "3252": { + "op": "SUB" + }, + "3253": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3254": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP3", + "path": "17" + }, + "3255": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "AND", + "path": "17" + }, + "3256": { + "fn": "ERC721A._burn", + "offset": [ + 17307, + 17338 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3258": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3259": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3260": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3261": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17353 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "3263": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3265": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP1", + "path": "17" + }, + "3266": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3267": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3268": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3270": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3271": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP4", + "path": "17" + }, + "3272": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "KECCAK256", + "path": "17" + }, + "3273": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17", + "statement": 51 + }, + "3274": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SLOAD", + "path": "17" + }, + "3275": { + "op": "PUSH1", + "value": "0x1" + }, + "3277": { + "op": "PUSH1", + "value": "0x80" + }, + "3279": { + "op": "SHL" + }, + "3280": { + "op": "PUSH1", + "value": "0x0" + }, + "3282": { + "op": "NOT" + }, + "3283": { + "op": "PUSH1", + "value": "0x1" + }, + "3285": { + "op": "PUSH1", + "value": "0x1" + }, + "3287": { + "op": "PUSH1", + "value": "0x40" + }, + "3289": { + "op": "SHL" + }, + "3290": { + "op": "SUB" + }, + "3291": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17" + }, + "3292": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3293": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3294": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3295": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP1", + "path": "17" + }, + "3296": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3297": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "ADD", + "path": "17" + }, + "3298": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3299": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3300": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3309": { + "op": "NOT" + }, + "3310": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3311": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3312": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3313": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "OR", + "path": "17" + }, + "3314": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17", + "statement": 52 + }, + "3315": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3316": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DIV", + "path": "17" + }, + "3317": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP3", + "path": "17" + }, + "3318": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3319": { + "fn": "ERC721A._burn", + "offset": [ + 17396, + 17397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3321": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3322": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP2", + "path": "17" + }, + "3323": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "ADD", + "path": "17" + }, + "3324": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3325": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3326": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3327": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP4", + "path": "17" + }, + "3328": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "MUL", + "path": "17" + }, + "3329": { + "op": "PUSH24", + "value": "0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF" + }, + "3354": { + "op": "NOT" + }, + "3355": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3356": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP5", + "path": "17" + }, + "3357": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3358": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3359": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3360": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3361": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3362": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3363": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3364": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SSTORE", + "path": "17" + }, + "3365": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP12", + "path": "17" + }, + "3366": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP7", + "path": "17" + }, + "3367": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3368": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17581 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3370": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP1", + "path": "17" + }, + "3371": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP5", + "path": "17" + }, + "3372": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3373": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP3", + "path": "17" + }, + "3374": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP6", + "path": "17" + }, + "3375": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "KECCAK256", + "path": "17" + }, + "3376": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "DUP1", + "path": "17", + "statement": 53 + }, + "3377": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "SLOAD", + "path": "17" + }, + "3378": { + "op": "PUSH1", + "value": "0xFF" + }, + "3380": { + "op": "PUSH1", + "value": "0xE0" + }, + "3382": { + "op": "SHL" + }, + "3383": { + "op": "NOT" + }, + "3384": { + "fn": "ERC721A._burn", + "offset": [ + 17671, + 17686 + ], + "op": "TIMESTAMP", + "path": "17", + "statement": 54 + }, + "3385": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3386": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP4", + "path": "17" + }, + "3387": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3388": { + "op": "PUSH1", + "value": "0x1" + }, + "3390": { + "op": "PUSH1", + "value": "0xA0" + }, + "3392": { + "op": "SHL" + }, + "3393": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "MUL", + "path": "17" + }, + "3394": { + "op": "PUSH1", + "value": "0x1" + }, + "3396": { + "op": "PUSH1", + "value": "0x1" + }, + "3398": { + "op": "PUSH1", + "value": "0xE0" + }, + "3400": { + "op": "SHL" + }, + "3401": { + "op": "SUB" + }, + "3402": { + "op": "NOT" + }, + "3403": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3404": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP2", + "path": "17" + }, + "3405": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3406": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3407": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP8", + "path": "17" + }, + "3408": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3409": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3410": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3411": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3412": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3413": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "AND", + "path": "17", + "statement": 55 + }, + "3414": { + "op": "PUSH1", + "value": "0x1" + }, + "3416": { + "op": "PUSH1", + "value": "0xE0" + }, + "3418": { + "op": "SHL" + }, + "3419": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "OR", + "path": "17" + }, + "3420": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "DUP6", + "path": "17" + }, + "3421": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "SSTORE", + "path": "17" + }, + "3422": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "SWAP2", + "path": "17" + }, + "3423": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "DUP10", + "path": "17" + }, + "3424": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "ADD", + "path": "17" + }, + "3425": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP1", + "path": "17" + }, + "3426": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP5", + "path": "17" + }, + "3427": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "MSTORE", + "path": "17" + }, + "3428": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP3", + "path": "17" + }, + "3429": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "KECCAK256", + "path": "17" + }, + "3430": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "DUP1", + "path": "17" + }, + "3431": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "SLOAD", + "path": "17" + }, + "3432": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP2", + "path": "17" + }, + "3433": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP5", + "path": "17" + }, + "3434": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP1", + "path": "17" + }, + "3435": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP2", + "path": "17" + }, + "3436": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "AND", + "path": "17" + }, + "3437": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDAA" + }, + "3440": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "JUMPI", + "path": "17" + }, + "3441": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3443": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "SLOAD", + "path": "17" + }, + "3444": { + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18293 + ], + "op": "DUP3", + "path": "17" + }, + "3445": { + "branch": 102, + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18310 + ], + "op": "EQ", + "path": "17" + }, + "3446": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDAA" + }, + "3449": { + "branch": 102, + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPI", + "path": "17" + }, + "3450": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP1", + "path": "17", + "statement": 56 + }, + "3451": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "SLOAD", + "path": "17" + }, + "3452": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "PUSH1", + "path": "17", + "statement": 57, + "value": "0x20" + }, + "3454": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "DUP8", + "path": "17" + }, + "3455": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "ADD", + "path": "17" + }, + "3456": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "MLOAD", + "path": "17" + }, + "3457": { + "op": "PUSH1", + "value": "0x1" + }, + "3459": { + "op": "PUSH1", + "value": "0x1" + }, + "3461": { + "op": "PUSH1", + "value": "0x40" + }, + "3463": { + "op": "SHL" + }, + "3464": { + "op": "SUB" + }, + "3465": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "3466": { + "op": "PUSH1", + "value": "0x1" + }, + "3468": { + "op": "PUSH1", + "value": "0xA0" + }, + "3470": { + "op": "SHL" + }, + "3471": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "MUL", + "path": "17" + }, + "3472": { + "op": "PUSH1", + "value": "0x1" + }, + "3474": { + "op": "PUSH1", + "value": "0x1" + }, + "3476": { + "op": "PUSH1", + "value": "0xE0" + }, + "3478": { + "op": "SHL" + }, + "3479": { + "op": "SUB" + }, + "3480": { + "op": "NOT" + }, + "3481": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP1", + "path": "17" + }, + "3482": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP2", + "path": "17" + }, + "3483": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "3484": { + "op": "PUSH1", + "value": "0x1" + }, + "3486": { + "op": "PUSH1", + "value": "0x1" + }, + "3488": { + "op": "PUSH1", + "value": "0xA0" + }, + "3490": { + "op": "SHL" + }, + "3491": { + "op": "SUB" + }, + "3492": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP8", + "path": "17" + }, + "3493": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "AND", + "path": "17" + }, + "3494": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "3495": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "3496": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "DUP2", + "path": "17" + }, + "3497": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SSTORE", + "path": "17" + }, + "3498": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3499": { + "op": "POP" + }, + "3500": { + "op": "POP" + }, + "3501": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH1", + "path": "17", + "statement": 58, + "value": "0x40" + }, + "3503": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "MLOAD", + "path": "17" + }, + "3504": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "DUP7", + "path": "17" + }, + "3505": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "SWAP3", + "path": "17" + }, + "3506": { + "op": "POP" + }, + "3507": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3509": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP2", + "path": "17" + }, + "3510": { + "op": "POP" + }, + "3511": { + "op": "PUSH1", + "value": "0x1" + }, + "3513": { + "op": "PUSH1", + "value": "0x1" + }, + "3515": { + "op": "PUSH1", + "value": "0xA0" + }, + "3517": { + "op": "SHL" + }, + "3518": { + "op": "SUB" + }, + "3519": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "DUP5", + "path": "17" + }, + "3520": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "AND", + "path": "17" + }, + "3521": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "3522": { + "op": "PUSH1", + "value": "0x0" + }, + "3524": { + "op": "DUP1" + }, + "3525": { + "op": "MLOAD" + }, + "3526": { + "op": "PUSH1", + "value": "0x20" + }, + "3528": { + "op": "PUSH2", + "value": "0x1832" + }, + "3531": { + "op": "DUP4" + }, + "3532": { + "op": "CODECOPY" + }, + "3533": { + "op": "DUP2" + }, + "3534": { + "op": "MLOAD" + }, + "3535": { + "op": "SWAP2" + }, + "3536": { + "op": "MSTORE" + }, + "3537": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "3538": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "DUP4", + "path": "17" + }, + "3539": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP1", + "path": "17" + }, + "3540": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "LOG4", + "path": "17" + }, + "3541": { + "op": "POP" + }, + "3542": { + "op": "POP" + }, + "3543": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18718 + ], + "op": "PUSH1", + "path": "17", + "statement": 59, + "value": "0x2" + }, + "3545": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP1", + "path": "17" + }, + "3546": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SLOAD", + "path": "17" + }, + "3547": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3549": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "ADD", + "path": "17" + }, + "3550": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SWAP1", + "path": "17" + }, + "3551": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SSTORE", + "path": "17" + }, + "3552": { + "op": "POP" + }, + "3553": { + "op": "POP" + }, + "3554": { + "fn": "ERC721A._burn", + "jump": "o", + "offset": [ + 16414, + 18737 + ], + "op": "JUMP", + "path": "17" + }, + "3555": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3556": { + "op": "PUSH1", + "value": "0x40" + }, + "3558": { + "op": "DUP1" + }, + "3559": { + "op": "MLOAD" + }, + "3560": { + "op": "PUSH1", + "value": "0x60" + }, + "3562": { + "op": "DUP2" + }, + "3563": { + "op": "ADD" + }, + "3564": { + "op": "DUP3" + }, + "3565": { + "op": "MSTORE" + }, + "3566": { + "op": "PUSH1", + "value": "0x0" + }, + "3568": { + "op": "DUP1" + }, + "3569": { + "op": "DUP3" + }, + "3570": { + "op": "MSTORE" + }, + "3571": { + "op": "PUSH1", + "value": "0x20" + }, + "3573": { + "op": "DUP3" + }, + "3574": { + "op": "ADD" + }, + "3575": { + "op": "DUP2" + }, + "3576": { + "op": "SWAP1" + }, + "3577": { + "op": "MSTORE" + }, + "3578": { + "op": "SWAP2" + }, + "3579": { + "op": "DUP2" + }, + "3580": { + "op": "ADD" + }, + "3581": { + "op": "SWAP2" + }, + "3582": { + "op": "SWAP1" + }, + "3583": { + "op": "SWAP2" + }, + "3584": { + "op": "MSTORE" + }, + "3585": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP2", + "path": "17" + }, + "3586": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP1", + "path": "17" + }, + "3587": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5244, + 5259 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE0B" + }, + "3590": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 860, + 867 + ], + "op": "PUSH1", + "path": "30", + "value": "0x0" + }, + "3592": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 886, + 898 + ], + "op": "SLOAD", + "path": "30" + }, + "3593": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 886, + 898 + ], + "op": "SWAP1", + "path": "30" + }, + "3594": { + "fn": "ERC721ABurnableStartTokenIdMock._startTokenId", + "offset": [ + 803, + 905 + ], + "op": "JUMP", + "path": "30" + }, + "3595": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5244, + 5259 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3596": { + "branch": 103, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5244, + 5267 + ], + "op": "GT", + "path": "17" + }, + "3597": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5240, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEF3" + }, + "3600": { + "branch": 103, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5240, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "3601": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3603": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "SLOAD", + "path": "17" + }, + "3604": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5293 + ], + "op": "DUP2", + "path": "17" + }, + "3605": { + "branch": 104, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5309 + ], + "op": "LT", + "path": "17" + }, + "3606": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "ISZERO", + "path": "17" + }, + "3607": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEF3" + }, + "3610": { + "branch": 104, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "3611": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5364 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3613": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3614": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3615": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3616": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3618": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3620": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3621": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3622": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3623": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3625": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3626": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3627": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3628": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "KECCAK256", + "path": "17" + }, + "3629": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3630": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MLOAD", + "path": "17" + }, + "3631": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3633": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3634": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3635": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP5", + "path": "17" + }, + "3636": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3637": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3638": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SLOAD", + "path": "17" + }, + "3639": { + "op": "PUSH1", + "value": "0x1" + }, + "3641": { + "op": "PUSH1", + "value": "0x1" + }, + "3643": { + "op": "PUSH1", + "value": "0xA0" + }, + "3645": { + "op": "SHL" + }, + "3646": { + "op": "SUB" + }, + "3647": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3648": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3649": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3650": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3651": { + "op": "PUSH1", + "value": "0x1" + }, + "3653": { + "op": "PUSH1", + "value": "0xA0" + }, + "3655": { + "op": "SHL" + }, + "3656": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3657": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3658": { + "op": "PUSH1", + "value": "0x1" + }, + "3660": { + "op": "PUSH1", + "value": "0x1" + }, + "3662": { + "op": "PUSH1", + "value": "0x40" + }, + "3664": { + "op": "SHL" + }, + "3665": { + "op": "SUB" + }, + "3666": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3667": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3668": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3669": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3670": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3671": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3672": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3673": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3674": { + "op": "PUSH1", + "value": "0x1" + }, + "3676": { + "op": "PUSH1", + "value": "0xE0" + }, + "3678": { + "op": "SHL" + }, + "3679": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3680": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3681": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3682": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3684": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3685": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3686": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3687": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3688": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3689": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3690": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3691": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3692": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3693": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3694": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEF1" + }, + "3697": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "JUMPI", + "path": "17" + }, + "3698": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "DUP1", + "path": "17" + }, + "3699": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "MLOAD", + "path": "17" + }, + "3700": { + "op": "PUSH1", + "value": "0x1" + }, + "3702": { + "op": "PUSH1", + "value": "0x1" + }, + "3704": { + "op": "PUSH1", + "value": "0xA0" + }, + "3706": { + "op": "SHL" + }, + "3707": { + "op": "SUB" + }, + "3708": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "AND", + "path": "17" + }, + "3709": { + "branch": 105, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "ISZERO", + "path": "17" + }, + "3710": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE88" + }, + "3713": { + "branch": 105, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPI", + "path": "17" + }, + "3714": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5526, + 5535 + ], + "op": "SWAP4", + "path": "17", + "statement": 60 + }, + "3715": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3716": { + "op": "POP" + }, + "3717": { + "op": "POP" + }, + "3718": { + "op": "POP" + }, + "3719": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3720": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3721": { + "op": "POP" + }, + "3722": { + "op": "PUSH1", + "value": "0x0" + }, + "3724": { + "op": "NOT" + }, + "3725": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5922, + 5928 + ], + "op": "ADD", + "path": "17", + "statement": 61 + }, + "3726": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "statement": 62, + "value": "0x0" + }, + "3728": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3729": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3730": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3731": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5981 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3733": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3735": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3736": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3737": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3738": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3740": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP2", + "path": "17" + }, + "3741": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3742": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3743": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "KECCAK256", + "path": "17" + }, + "3744": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3745": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MLOAD", + "path": "17" + }, + "3746": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3748": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3749": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3750": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP5", + "path": "17" + }, + "3751": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3752": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3753": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SLOAD", + "path": "17" + }, + "3754": { + "op": "PUSH1", + "value": "0x1" + }, + "3756": { + "op": "PUSH1", + "value": "0x1" + }, + "3758": { + "op": "PUSH1", + "value": "0xA0" + }, + "3760": { + "op": "SHL" + }, + "3761": { + "op": "SUB" + }, + "3762": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3763": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3764": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP1", + "path": "17" + }, + "3765": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3766": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3767": { + "op": "PUSH1", + "value": "0x1" + }, + "3769": { + "op": "PUSH1", + "value": "0xA0" + }, + "3771": { + "op": "SHL" + }, + "3772": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3773": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3774": { + "op": "PUSH1", + "value": "0x1" + }, + "3776": { + "op": "PUSH1", + "value": "0x1" + }, + "3778": { + "op": "PUSH1", + "value": "0x40" + }, + "3780": { + "op": "SHL" + }, + "3781": { + "op": "SUB" + }, + "3782": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3783": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3784": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3785": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3786": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3787": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3788": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3789": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3790": { + "op": "PUSH1", + "value": "0x1" + }, + "3792": { + "op": "PUSH1", + "value": "0xE0" + }, + "3794": { + "op": "SHL" + }, + "3795": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3796": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3797": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3799": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3800": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3801": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3802": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3803": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3804": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3805": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3806": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3807": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3808": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3809": { + "branch": 106, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6021, + 6049 + ], + "op": "ISZERO", + "path": "17" + }, + "3810": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEEC" + }, + "3813": { + "branch": 106, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPI", + "path": "17" + }, + "3814": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6092, + 6101 + ], + "op": "SWAP4", + "path": "17", + "statement": 63 + }, + "3815": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3816": { + "op": "POP" + }, + "3817": { + "op": "POP" + }, + "3818": { + "op": "POP" + }, + "3819": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3820": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3821": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE88" + }, + "3824": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMP", + "path": "17" + }, + "3825": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3826": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5311, + 6198 + ], + "op": "POP", + "path": "17" + }, + "3827": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3828": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3830": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3831": { + "op": "PUSH4", + "value": "0x6F96CDA1" + }, + "3836": { + "op": "PUSH1", + "value": "0xE1" + }, + "3838": { + "op": "SHL" + }, + "3839": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP2", + "path": "17" + }, + "3840": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MSTORE", + "path": "17" + }, + "3841": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3843": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "ADD", + "path": "17" + }, + "3844": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3846": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3847": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP1", + "path": "17" + }, + "3848": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP2", + "path": "17" + }, + "3849": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SUB", + "path": "17" + }, + "3850": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP1", + "path": "17" + }, + "3851": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "REVERT", + "path": "17" + }, + "3852": { + "fn": "ERC721A._safeMint", + "offset": [ + 10174, + 10276 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3853": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH2", + "path": "17", + "statement": 64, + "value": "0x705" + }, + "3856": { + "fn": "ERC721A._safeMint", + "offset": [ + 10252, + 10254 + ], + "op": "DUP3", + "path": "17" + }, + "3857": { + "fn": "ERC721A._safeMint", + "offset": [ + 10256, + 10264 + ], + "op": "DUP3", + "path": "17" + }, + "3858": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3860": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MLOAD", + "path": "17" + }, + "3861": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "3862": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3864": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "ADD", + "path": "17" + }, + "3865": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3867": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "3868": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "3869": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3871": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP2", + "path": "17" + }, + "3872": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "3873": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "POP", + "path": "17" + }, + "3874": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10251 + ], + "op": "PUSH2", + "path": "17", + "value": "0x11B5" + }, + "3877": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 10242, + 10269 + ], + "op": "JUMP", + "path": "17" + }, + "3878": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3879": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3881": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3882": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "3887": { + "op": "PUSH1", + "value": "0xE1" + }, + "3889": { + "op": "SHL" + }, + "3890": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3891": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "3892": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3894": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "SWAP1", + "path": "17" + }, + "3895": { + "op": "PUSH1", + "value": "0x1" + }, + "3897": { + "op": "PUSH1", + "value": "0x1" + }, + "3899": { + "op": "PUSH1", + "value": "0xA0" + }, + "3901": { + "op": "SHL" + }, + "3902": { + "op": "SUB" + }, + "3903": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "DUP6", + "path": "17" + }, + "3904": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "AND", + "path": "17" + }, + "3905": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "3906": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "PUSH4", + "path": "17", + "value": "0x150B7A02" + }, + "3911": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "3912": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF5B" + }, + "3915": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3916": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3917": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP1", + "path": "5" + }, + "3918": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "DUP10", + "path": "17" + }, + "3919": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "SWAP1", + "path": "17" + }, + "3920": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "DUP9", + "path": "17" + }, + "3921": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "SWAP1", + "path": "17" + }, + "3922": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "DUP9", + "path": "17" + }, + "3923": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "SWAP1", + "path": "17" + }, + "3924": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3926": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3927": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16CA" + }, + "3930": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "3931": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3932": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3934": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3936": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3937": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3938": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP4", + "path": "17" + }, + "3939": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SUB", + "path": "17" + }, + "3940": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3941": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3943": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP8", + "path": "17" + }, + "3944": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "GAS", + "path": "17" + }, + "3945": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "CALL", + "path": "17" + }, + "3946": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "3947": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3948": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3949": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3950": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3951": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ISZERO", + "path": "17" + }, + "3952": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF96" + }, + "3955": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPI", + "path": "17" + }, + "3956": { + "op": "POP" + }, + "3957": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3959": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3960": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3961": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "3963": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3964": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3965": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3966": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3967": { + "op": "PUSH1", + "value": "0x1F" + }, + "3969": { + "op": "NOT" + }, + "3970": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "AND", + "path": "17" + }, + "3971": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP3", + "path": "17" + }, + "3972": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3973": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3974": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "3975": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "3976": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF93" + }, + "3979": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP2", + "path": "17" + }, + "3980": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3981": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3982": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3983": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1707" + }, + "3986": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "3987": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3988": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3990": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3991": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFF4" + }, + "3994": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "3995": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3996": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "3997": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "3998": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ISZERO", + "path": "17" + }, + "3999": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFC4" + }, + "4002": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "4003": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4005": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MLOAD", + "path": "17" + }, + "4006": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "4007": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4008": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "4010": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "NOT", + "path": "17" + }, + "4011": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x3F" + }, + "4013": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4014": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4015": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "AND", + "path": "17" + }, + "4016": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "4017": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4018": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4020": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "4021": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4022": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "4023": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "4024": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4025": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4027": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4029": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP5", + "path": "17" + }, + "4030": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4031": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATACOPY", + "path": "17" + }, + "4032": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFC9" + }, + "4035": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMP", + "path": "17" + }, + "4036": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4037": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "4039": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "4040": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4041": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4042": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4043": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19933 + ], + "op": "DUP1", + "path": "17", + "statement": 65 + }, + "4044": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19940 + ], + "op": "MLOAD", + "path": "17" + }, + "4045": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19944, + 19945 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4047": { + "branch": 107, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19945 + ], + "op": "SUB", + "path": "17" + }, + "4048": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFEC" + }, + "4051": { + "branch": 107, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPI", + "path": "17" + }, + "4052": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4054": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "4055": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "4060": { + "op": "PUSH1", + "value": "0xE1" + }, + "4062": { + "op": "SHL" + }, + "4063": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP2", + "path": "17" + }, + "4064": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MSTORE", + "path": "17" + }, + "4065": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4067": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "ADD", + "path": "17" + }, + "4068": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4070": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "4071": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP1", + "path": "17" + }, + "4072": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP2", + "path": "17" + }, + "4073": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SUB", + "path": "17" + }, + "4074": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP1", + "path": "17" + }, + "4075": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "REVERT", + "path": "17" + }, + "4076": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4077": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20112, + 20118 + ], + "op": "DUP1", + "path": "17" + }, + "4078": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20106, + 20119 + ], + "op": "MLOAD", + "path": "17" + }, + "4079": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20097, + 20103 + ], + "op": "DUP2", + "path": "17" + }, + "4080": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20093, + 20095 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4082": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20089, + 20104 + ], + "op": "ADD", + "path": "17" + }, + "4083": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20082, + 20120 + ], + "op": "REVERT", + "path": "17" + }, + "4084": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4085": { + "op": "PUSH1", + "value": "0x1" + }, + "4087": { + "op": "PUSH1", + "value": "0x1" + }, + "4089": { + "op": "PUSH1", + "value": "0xE0" + }, + "4091": { + "op": "SHL" + }, + "4092": { + "op": "SUB" + }, + "4093": { + "op": "NOT" + }, + "4094": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "AND", + "path": "17", + "statement": 66 + }, + "4095": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "4100": { + "op": "PUSH1", + "value": "0xE1" + }, + "4102": { + "op": "SHL" + }, + "4103": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "EQ", + "path": "17" + }, + "4104": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "SWAP1", + "path": "17" + }, + "4105": { + "op": "POP" + }, + "4106": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP5", + "path": "17" + }, + "4107": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP4", + "path": "17" + }, + "4108": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4109": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4110": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4111": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4112": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "o", + "offset": [ + 19518, + 20168 + ], + "op": "JUMP", + "path": "17" + }, + "4113": { + "fn": "ERC721A._mint", + "offset": [ + 12591, + 13737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4114": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4116": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "SLOAD", + "path": "17" + }, + "4117": { + "op": "PUSH1", + "value": "0x1" + }, + "4119": { + "op": "PUSH1", + "value": "0x1" + }, + "4121": { + "op": "PUSH1", + "value": "0xA0" + }, + "4123": { + "op": "SHL" + }, + "4124": { + "op": "SUB" + }, + "4125": { + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "DUP4", + "path": "17", + "statement": 67 + }, + "4126": { + "branch": 108, + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "AND", + "path": "17" + }, + "4127": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "PUSH2", + "path": "17", + "value": "0x103A" + }, + "4130": { + "branch": 108, + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPI", + "path": "17" + }, + "4131": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4133": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "4134": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "4138": { + "op": "PUSH1", + "value": "0xE8" + }, + "4140": { + "op": "SHL" + }, + "4141": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP2", + "path": "17" + }, + "4142": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MSTORE", + "path": "17" + }, + "4143": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4145": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "ADD", + "path": "17" + }, + "4146": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4148": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "4149": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP1", + "path": "17" + }, + "4150": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP2", + "path": "17" + }, + "4151": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SUB", + "path": "17" + }, + "4152": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP1", + "path": "17" + }, + "4153": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "REVERT", + "path": "17" + }, + "4154": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4155": { + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12771 + ], + "op": "DUP2", + "path": "17", + "statement": 68 + }, + "4156": { + "fn": "ERC721A._mint", + "offset": [ + 12775, + 12776 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4158": { + "branch": 109, + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12776 + ], + "op": "SUB", + "path": "17" + }, + "4159": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "PUSH2", + "path": "17", + "value": "0x105B" + }, + "4162": { + "branch": 109, + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPI", + "path": "17" + }, + "4163": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4165": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "4166": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "4171": { + "op": "PUSH1", + "value": "0xE0" + }, + "4173": { + "op": "SHL" + }, + "4174": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP2", + "path": "17" + }, + "4175": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MSTORE", + "path": "17" + }, + "4176": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4178": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "ADD", + "path": "17" + }, + "4179": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4181": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "4182": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP1", + "path": "17" + }, + "4183": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP2", + "path": "17" + }, + "4184": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SUB", + "path": "17" + }, + "4185": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP1", + "path": "17" + }, + "4186": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "REVERT", + "path": "17" + }, + "4187": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4188": { + "op": "PUSH1", + "value": "0x1" + }, + "4190": { + "op": "PUSH1", + "value": "0x1" + }, + "4192": { + "op": "PUSH1", + "value": "0xA0" + }, + "4194": { + "op": "SHL" + }, + "4195": { + "op": "SUB" + }, + "4196": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17", + "statement": 69 + }, + "4197": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "AND", + "path": "17" + }, + "4198": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4200": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "4201": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "4202": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "4203": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13158 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "4205": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4207": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "SWAP1", + "path": "17" + }, + "4208": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "4209": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "4210": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4212": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP1", + "path": "17" + }, + "4213": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17" + }, + "4214": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "KECCAK256", + "path": "17" + }, + "4215": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "4216": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SLOAD", + "path": "17" + }, + "4217": { + "op": "PUSH1", + "value": "0x1" + }, + "4219": { + "op": "PUSH1", + "value": "0x1" + }, + "4221": { + "op": "PUSH1", + "value": "0x80" + }, + "4223": { + "op": "SHL" + }, + "4224": { + "op": "SUB" + }, + "4225": { + "op": "NOT" + }, + "4226": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17", + "statement": 70 + }, + "4227": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "4228": { + "op": "PUSH1", + "value": "0x1" + }, + "4230": { + "op": "PUSH1", + "value": "0x1" + }, + "4232": { + "op": "PUSH1", + "value": "0x40" + }, + "4234": { + "op": "SHL" + }, + "4235": { + "op": "SUB" + }, + "4236": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "4237": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP4", + "path": "17" + }, + "4238": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "4239": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP11", + "path": "17" + }, + "4240": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "ADD", + "path": "17" + }, + "4241": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP2", + "path": "17" + }, + "4242": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "4243": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "4244": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP3", + "path": "17" + }, + "4245": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "4246": { + "op": "PUSH1", + "value": "0x1" + }, + "4248": { + "op": "PUSH1", + "value": "0x40" + }, + "4250": { + "op": "SHL" + }, + "4251": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4260": { + "op": "NOT" + }, + "4261": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "4262": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP5", + "path": "17" + }, + "4263": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "4264": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "4265": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP3", + "path": "17" + }, + "4266": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "OR", + "path": "17" + }, + "4267": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP4", + "path": "17" + }, + "4268": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "4269": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DIV", + "path": "17" + }, + "4270": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "4271": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "4272": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP11", + "path": "17" + }, + "4273": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "ADD", + "path": "17" + }, + "4274": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "4275": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "4276": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "4277": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP3", + "path": "17" + }, + "4278": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "MUL", + "path": "17" + }, + "4279": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "4280": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "4281": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "4282": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SSTORE", + "path": "17" + }, + "4283": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP6", + "path": "17", + "statement": 71 + }, + "4284": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP5", + "path": "17" + }, + "4285": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "4286": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13279 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "4288": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "4289": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP3", + "path": "17" + }, + "4290": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "4291": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "4292": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP2", + "path": "17" + }, + "4293": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "KECCAK256", + "path": "17" + }, + "4294": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "DUP1", + "path": "17" + }, + "4295": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "SLOAD", + "path": "17" + }, + "4296": { + "op": "PUSH1", + "value": "0x1" + }, + "4298": { + "op": "PUSH1", + "value": "0x1" + }, + "4300": { + "op": "PUSH1", + "value": "0xE0" + }, + "4302": { + "op": "SHL" + }, + "4303": { + "op": "SUB" + }, + "4304": { + "op": "NOT" + }, + "4305": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17", + "statement": 72 + }, + "4306": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4307": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "4308": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "4309": { + "op": "PUSH1", + "value": "0x1" + }, + "4311": { + "op": "PUSH1", + "value": "0xA0" + }, + "4313": { + "op": "SHL" + }, + "4314": { + "fn": "ERC721A._mint", + "offset": [ + 13367, + 13382 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "4315": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4316": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "4317": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17" + }, + "4318": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "4319": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4320": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "4321": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "MUL", + "path": "17" + }, + "4322": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "4323": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "4324": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SSTORE", + "path": "17" + }, + "4325": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP1", + "path": "17" + }, + "4326": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP1", + "path": "17" + }, + "4327": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP4", + "path": "17" + }, + "4328": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "ADD", + "path": "17" + }, + "4329": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4330": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH1", + "path": "17", + "statement": 73, + "value": "0x40" + }, + "4332": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "MLOAD", + "path": "17" + }, + "4333": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4335": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "DUP4", + "path": "17" + }, + "4336": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "ADD", + "path": "17" + }, + "4337": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP3", + "path": "17" + }, + "4338": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP1", + "path": "17" + }, + "4339": { + "op": "PUSH1", + "value": "0x1" + }, + "4341": { + "op": "PUSH1", + "value": "0x1" + }, + "4343": { + "op": "PUSH1", + "value": "0xA0" + }, + "4345": { + "op": "SHL" + }, + "4346": { + "op": "SUB" + }, + "4347": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "DUP8", + "path": "17" + }, + "4348": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "AND", + "path": "17" + }, + "4349": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "4350": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4352": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "4353": { + "op": "PUSH1", + "value": "0x0" + }, + "4355": { + "op": "DUP1" + }, + "4356": { + "op": "MLOAD" + }, + "4357": { + "op": "PUSH1", + "value": "0x20" + }, + "4359": { + "op": "PUSH2", + "value": "0x1832" + }, + "4362": { + "op": "DUP4" + }, + "4363": { + "op": "CODECOPY" + }, + "4364": { + "op": "DUP2" + }, + "4365": { + "op": "MLOAD" + }, + "4366": { + "op": "SWAP2" + }, + "4367": { + "op": "MSTORE" + }, + "4368": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "4369": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "DUP3", + "path": "17" + }, + "4370": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "4371": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "LOG4", + "path": "17" + }, + "4372": { + "fn": "ERC721A._mint", + "offset": [ + 13603, + 13606 + ], + "op": "DUP1", + "path": "17" + }, + "4373": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13600 + ], + "op": "DUP3", + "path": "17" + }, + "4374": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13606 + ], + "op": "LT", + "path": "17" + }, + "4375": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10E9" + }, + "4378": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPI", + "path": "17" + }, + "4379": { + "op": "POP" + }, + "4380": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13635 + ], + "op": "PUSH1", + "path": "17", + "statement": 74, + "value": "0x1" + }, + "4382": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13650 + ], + "op": "SSTORE", + "path": "17" + }, + "4383": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4384": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4385": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4386": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "4387": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1614, + 1920 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4388": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "DUP1", + "path": "18", + "statement": 75 + }, + "4389": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "MLOAD", + "path": "18" + }, + "4390": { + "branch": 117, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1737 + ], + "op": "ISZERO", + "path": "18" + }, + "4391": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1164" + }, + "4394": { + "branch": 117, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPI", + "path": "18" + }, + "4395": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4397": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MLOAD", + "path": "18" + }, + "4398": { + "op": "PUSH4", + "value": "0x193C4E6D" + }, + "4403": { + "op": "PUSH1", + "value": "0xE3" + }, + "4405": { + "op": "SHL" + }, + "4406": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP2", + "path": "18" + }, + "4407": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MSTORE", + "path": "18" + }, + "4408": { + "op": "PUSH1", + "value": "0x20" + }, + "4410": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "4412": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP3", + "path": "18" + }, + "4413": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "ADD", + "path": "18" + }, + "4414": { + "op": "MSTORE" + }, + "4415": { + "op": "PUSH1", + "value": "0xE" + }, + "4417": { + "op": "PUSH1", + "value": "0x24" + }, + "4419": { + "op": "DUP3" + }, + "4420": { + "op": "ADD" + }, + "4421": { + "op": "MSTORE" + }, + "4422": { + "op": "PUSH14", + "value": "0x656D70747920746F6B656E555249" + }, + "4437": { + "op": "PUSH1", + "value": "0x90" + }, + "4439": { + "op": "SHL" + }, + "4440": { + "op": "PUSH1", + "value": "0x44" + }, + "4442": { + "op": "DUP3" + }, + "4443": { + "op": "ADD" + }, + "4444": { + "op": "MSTORE" + }, + "4445": { + "op": "PUSH1", + "value": "0x64" + }, + "4447": { + "op": "ADD" + }, + "4448": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0x939" + }, + "4451": { + "op": "JUMP" + }, + "4452": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4453": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "statement": 76, + "value": "0x0" + }, + "4455": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP3", + "path": "18" + }, + "4456": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP2", + "path": "18" + }, + "4457": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "4458": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1813 + ], + "op": "PUSH1", + "path": "18", + "value": "0xA" + }, + "4460": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "4462": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "4463": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4465": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "SWAP1", + "path": "18" + }, + "4466": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "KECCAK256", + "path": "18" + }, + "4467": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "DUP1", + "path": "18" + }, + "4468": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SLOAD", + "path": "18" + }, + "4469": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x117D" + }, + "4472": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SWAP1", + "path": "18" + }, + "4473": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1661" + }, + "4476": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1797, + 1830 + ], + "op": "JUMP", + "path": "18" + }, + "4477": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4478": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "ISZERO", + "path": "18" + }, + "4479": { + "branch": 118, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "SWAP1", + "path": "18" + }, + "4480": { + "op": "POP" + }, + "4481": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "PUSH2", + "path": "18", + "value": "0x119D" + }, + "4484": { + "branch": 118, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPI", + "path": "18" + }, + "4485": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4487": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "4488": { + "op": "PUSH4", + "value": "0x162134B" + }, + "4493": { + "op": "PUSH1", + "value": "0xE1" + }, + "4495": { + "op": "SHL" + }, + "4496": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP2", + "path": "18" + }, + "4497": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MSTORE", + "path": "18" + }, + "4498": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "4500": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "ADD", + "path": "18" + }, + "4501": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4503": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "4504": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP1", + "path": "18" + }, + "4505": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP2", + "path": "18" + }, + "4506": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SUB", + "path": "18" + }, + "4507": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP1", + "path": "18" + }, + "4508": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "REVERT", + "path": "18" + }, + "4509": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4510": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "statement": 77, + "value": "0x0" + }, + "4512": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "4513": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP2", + "path": "18" + }, + "4514": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "4515": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1892 + ], + "op": "PUSH1", + "path": "18", + "value": "0xA" + }, + "4517": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "4519": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "4520": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4522": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "SWAP1", + "path": "18" + }, + "4523": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "KECCAK256", + "path": "18" + }, + "4524": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x648" + }, + "4527": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1904, + 1913 + ], + "op": "DUP3", + "path": "18" + }, + "4528": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "4529": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1772" + }, + "4532": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1882, + 1913 + ], + "op": "JUMP", + "path": "18" + }, + "4533": { + "fn": "ERC721A._safeMint", + "offset": [ + 10636, + 12344 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4534": { + "fn": "ERC721A._safeMint", + "offset": [ + 10777, + 10790 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4536": { + "fn": "ERC721A._safeMint", + "offset": [ + 10777, + 10790 + ], + "op": "SLOAD", + "path": "17" + }, + "4537": { + "op": "PUSH1", + "value": "0x1" + }, + "4539": { + "op": "PUSH1", + "value": "0x1" + }, + "4541": { + "op": "PUSH1", + "value": "0xA0" + }, + "4543": { + "op": "SHL" + }, + "4544": { + "op": "SUB" + }, + "4545": { + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "DUP5", + "path": "17", + "statement": 78 + }, + "4546": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "AND", + "path": "17" + }, + "4547": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "PUSH2", + "path": "17", + "value": "0x11DE" + }, + "4550": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPI", + "path": "17" + }, + "4551": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4553": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "4554": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "4558": { + "op": "PUSH1", + "value": "0xE8" + }, + "4560": { + "op": "SHL" + }, + "4561": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP2", + "path": "17" + }, + "4562": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MSTORE", + "path": "17" + }, + "4563": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4565": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "ADD", + "path": "17" + }, + "4566": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4568": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "4569": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP1", + "path": "17" + }, + "4570": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP2", + "path": "17" + }, + "4571": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SUB", + "path": "17" + }, + "4572": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP1", + "path": "17" + }, + "4573": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "REVERT", + "path": "17" + }, + "4574": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4575": { + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10870 + ], + "op": "DUP3", + "path": "17", + "statement": 79 + }, + "4576": { + "fn": "ERC721A._safeMint", + "offset": [ + 10874, + 10875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4578": { + "branch": 111, + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10875 + ], + "op": "SUB", + "path": "17" + }, + "4579": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "PUSH2", + "path": "17", + "value": "0x11FF" + }, + "4582": { + "branch": 111, + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPI", + "path": "17" + }, + "4583": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4585": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "4586": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "4591": { + "op": "PUSH1", + "value": "0xE0" + }, + "4593": { + "op": "SHL" + }, + "4594": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP2", + "path": "17" + }, + "4595": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MSTORE", + "path": "17" + }, + "4596": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4598": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "ADD", + "path": "17" + }, + "4599": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4601": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "4602": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP1", + "path": "17" + }, + "4603": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP2", + "path": "17" + }, + "4604": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SUB", + "path": "17" + }, + "4605": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP1", + "path": "17" + }, + "4606": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "REVERT", + "path": "17" + }, + "4607": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4608": { + "op": "PUSH1", + "value": "0x1" + }, + "4610": { + "op": "PUSH1", + "value": "0x1" + }, + "4612": { + "op": "PUSH1", + "value": "0xA0" + }, + "4614": { + "op": "SHL" + }, + "4615": { + "op": "SUB" + }, + "4616": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP5", + "path": "17", + "statement": 80 + }, + "4617": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "AND", + "path": "17" + }, + "4618": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4620": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "4621": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "4622": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "4623": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11257 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "4625": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4627": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "SWAP1", + "path": "17" + }, + "4628": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "4629": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "4630": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4632": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP1", + "path": "17" + }, + "4633": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP4", + "path": "17" + }, + "4634": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "KECCAK256", + "path": "17" + }, + "4635": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "4636": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SLOAD", + "path": "17" + }, + "4637": { + "op": "PUSH1", + "value": "0x1" + }, + "4639": { + "op": "PUSH1", + "value": "0x1" + }, + "4641": { + "op": "PUSH1", + "value": "0x80" + }, + "4643": { + "op": "SHL" + }, + "4644": { + "op": "SUB" + }, + "4645": { + "op": "NOT" + }, + "4646": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17", + "statement": 81 + }, + "4647": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "4648": { + "op": "PUSH1", + "value": "0x1" + }, + "4650": { + "op": "PUSH1", + "value": "0x1" + }, + "4652": { + "op": "PUSH1", + "value": "0x40" + }, + "4654": { + "op": "SHL" + }, + "4655": { + "op": "SUB" + }, + "4656": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "4657": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP4", + "path": "17" + }, + "4658": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "4659": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP12", + "path": "17" + }, + "4660": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "ADD", + "path": "17" + }, + "4661": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP2", + "path": "17" + }, + "4662": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "4663": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "4664": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP3", + "path": "17" + }, + "4665": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "4666": { + "op": "PUSH1", + "value": "0x1" + }, + "4668": { + "op": "PUSH1", + "value": "0x40" + }, + "4670": { + "op": "SHL" + }, + "4671": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4680": { + "op": "NOT" + }, + "4681": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "4682": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP5", + "path": "17" + }, + "4683": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "4684": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "4685": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP3", + "path": "17" + }, + "4686": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "OR", + "path": "17" + }, + "4687": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP4", + "path": "17" + }, + "4688": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "4689": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DIV", + "path": "17" + }, + "4690": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "4691": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "4692": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP12", + "path": "17" + }, + "4693": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "ADD", + "path": "17" + }, + "4694": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "4695": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "4696": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "4697": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP3", + "path": "17" + }, + "4698": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "MUL", + "path": "17" + }, + "4699": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "4700": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "4701": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "4702": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SSTORE", + "path": "17" + }, + "4703": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP6", + "path": "17", + "statement": 82 + }, + "4704": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP5", + "path": "17" + }, + "4705": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "4706": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "4708": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "4709": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP3", + "path": "17" + }, + "4710": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "4711": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "4712": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP2", + "path": "17" + }, + "4713": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "KECCAK256", + "path": "17" + }, + "4714": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "DUP1", + "path": "17" + }, + "4715": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "SLOAD", + "path": "17" + }, + "4716": { + "op": "PUSH1", + "value": "0x1" + }, + "4718": { + "op": "PUSH1", + "value": "0x1" + }, + "4720": { + "op": "PUSH1", + "value": "0xE0" + }, + "4722": { + "op": "SHL" + }, + "4723": { + "op": "SUB" + }, + "4724": { + "op": "NOT" + }, + "4725": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17", + "statement": 83 + }, + "4726": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "DUP4", + "path": "17" + }, + "4727": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "4728": { + "op": "PUSH1", + "value": "0x1" + }, + "4730": { + "op": "PUSH1", + "value": "0xA0" + }, + "4732": { + "op": "SHL" + }, + "4733": { + "fn": "ERC721A._safeMint", + "offset": [ + 11466, + 11481 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "4734": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4735": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP4", + "path": "17" + }, + "4736": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17" + }, + "4737": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "4738": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4739": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "4740": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "MUL", + "path": "17" + }, + "4741": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "4742": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4743": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "4744": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "4745": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "4746": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SSTORE", + "path": "17" + }, + "4747": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP2", + "path": "17" + }, + "4748": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "4749": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP2", + "path": "17" + }, + "4750": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP6", + "path": "17" + }, + "4751": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "ADD", + "path": "17" + }, + "4752": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "SWAP1", + "path": "17" + }, + "4753": { + "op": "EXTCODESIZE" + }, + "4754": { + "op": "ISZERO" + }, + "4755": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1307" + }, + "4758": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPI", + "path": "17" + }, + "4759": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4760": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "PUSH1", + "path": "17", + "statement": 84, + "value": "0x40" + }, + "4762": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "MLOAD", + "path": "17" + }, + "4763": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "DUP3", + "path": "17" + }, + "4764": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "SWAP1", + "path": "17" + }, + "4765": { + "op": "PUSH1", + "value": "0x1" + }, + "4767": { + "op": "PUSH1", + "value": "0x1" + }, + "4769": { + "op": "PUSH1", + "value": "0xA0" + }, + "4771": { + "op": "SHL" + }, + "4772": { + "op": "SUB" + }, + "4773": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "DUP9", + "path": "17" + }, + "4774": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "AND", + "path": "17" + }, + "4775": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "4776": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4778": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "4779": { + "op": "PUSH1", + "value": "0x0" + }, + "4781": { + "op": "DUP1" + }, + "4782": { + "op": "MLOAD" + }, + "4783": { + "op": "PUSH1", + "value": "0x20" + }, + "4785": { + "op": "PUSH2", + "value": "0x1832" + }, + "4788": { + "op": "DUP4" + }, + "4789": { + "op": "CODECOPY" + }, + "4790": { + "op": "DUP2" + }, + "4791": { + "op": "MLOAD" + }, + "4792": { + "op": "SWAP2" + }, + "4793": { + "op": "MSTORE" + }, + "4794": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "4795": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "DUP3", + "path": "17" + }, + "4796": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "4797": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "LOG4", + "path": "17" + }, + "4798": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "PUSH2", + "path": "17", + "statement": 85, + "value": "0x12D0" + }, + "4801": { + "fn": "ERC721A._safeMint", + "offset": [ + 11771, + 11772 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4803": { + "fn": "ERC721A._safeMint", + "offset": [ + 11775, + 11777 + ], + "op": "DUP8", + "path": "17" + }, + "4804": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP5", + "path": "17" + }, + "4805": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP1", + "path": "17" + }, + "4806": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4808": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "ADD", + "path": "17" + }, + "4809": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "SWAP6", + "path": "17" + }, + "4810": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "POP", + "path": "17" + }, + "4811": { + "fn": "ERC721A._safeMint", + "offset": [ + 11795, + 11800 + ], + "op": "DUP8", + "path": "17" + }, + "4812": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11762 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF26" + }, + "4815": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 11732, + 11801 + ], + "op": "JUMP", + "path": "17" + }, + "4816": { + "branch": 112, + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4817": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12ED" + }, + "4820": { + "branch": 112, + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPI", + "path": "17" + }, + "4821": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4823": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "4824": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "4829": { + "op": "PUSH1", + "value": "0xE1" + }, + "4831": { + "op": "SHL" + }, + "4832": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP2", + "path": "17" + }, + "4833": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MSTORE", + "path": "17" + }, + "4834": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4836": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "ADD", + "path": "17" + }, + "4837": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4839": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "4840": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP1", + "path": "17" + }, + "4841": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP2", + "path": "17" + }, + "4842": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SUB", + "path": "17" + }, + "4843": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP1", + "path": "17" + }, + "4844": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "REVERT", + "path": "17" + }, + "4845": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4846": { + "fn": "ERC721A._safeMint", + "offset": [ + 11940, + 11943 + ], + "op": "DUP1", + "path": "17" + }, + "4847": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11937 + ], + "op": "DUP3", + "path": "17" + }, + "4848": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11943 + ], + "op": "LT", + "path": "17" + }, + "4849": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1297" + }, + "4852": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPI", + "path": "17" + }, + "4853": { + "fn": "ERC721A._safeMint", + "offset": [ + 12024, + 12036 + ], + "op": "DUP3", + "path": "17" + }, + "4854": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4856": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "SLOAD", + "path": "17" + }, + "4857": { + "branch": 113, + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12036 + ], + "op": "EQ", + "path": "17" + }, + "4858": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1302" + }, + "4861": { + "branch": 113, + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPI", + "path": "17" + }, + "4862": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "PUSH1", + "path": "17", + "statement": 86, + "value": "0x0" + }, + "4864": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "DUP1", + "path": "17" + }, + "4865": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "REVERT", + "path": "17" + }, + "4866": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4867": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0x133A" + }, + "4870": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMP", + "path": "17" + }, + "4871": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4872": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4873": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "PUSH1", + "path": "17", + "statement": 87, + "value": "0x40" + }, + "4875": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "MLOAD", + "path": "17" + }, + "4876": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4878": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "DUP4", + "path": "17" + }, + "4879": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "ADD", + "path": "17" + }, + "4880": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP3", + "path": "17" + }, + "4881": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP1", + "path": "17" + }, + "4882": { + "op": "PUSH1", + "value": "0x1" + }, + "4884": { + "op": "PUSH1", + "value": "0x1" + }, + "4886": { + "op": "PUSH1", + "value": "0xA0" + }, + "4888": { + "op": "SHL" + }, + "4889": { + "op": "SUB" + }, + "4890": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "DUP9", + "path": "17" + }, + "4891": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "AND", + "path": "17" + }, + "4892": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "4893": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4895": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "4896": { + "op": "PUSH1", + "value": "0x0" + }, + "4898": { + "op": "DUP1" + }, + "4899": { + "op": "MLOAD" + }, + "4900": { + "op": "PUSH1", + "value": "0x20" + }, + "4902": { + "op": "PUSH2", + "value": "0x1832" + }, + "4905": { + "op": "DUP4" + }, + "4906": { + "op": "CODECOPY" + }, + "4907": { + "op": "DUP2" + }, + "4908": { + "op": "MLOAD" + }, + "4909": { + "op": "SWAP2" + }, + "4910": { + "op": "MSTORE" + }, + "4911": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "4912": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "DUP3", + "path": "17" + }, + "4913": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "4914": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "LOG4", + "path": "17" + }, + "4915": { + "fn": "ERC721A._safeMint", + "offset": [ + 12197, + 12200 + ], + "op": "DUP1", + "path": "17" + }, + "4916": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12194 + ], + "op": "DUP3", + "path": "17" + }, + "4917": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12200 + ], + "op": "LT", + "path": "17" + }, + "4918": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1308" + }, + "4921": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPI", + "path": "17" + }, + "4922": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4923": { + "op": "POP" + }, + "4924": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12242 + ], + "op": "PUSH1", + "path": "17", + "statement": 88, + "value": "0x1" + }, + "4926": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SSTORE", + "path": "17" + }, + "4927": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "PUSH2", + "path": "17", + "statement": 89, + "value": "0x7E2" + }, + "4930": { + "fn": "ERC721A._safeMint", + "offset": [ + 12306, + 12307 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4932": { + "fn": "ERC721A._safeMint", + "offset": [ + 12310, + 12312 + ], + "op": "DUP6", + "path": "17" + }, + "4933": { + "fn": "ERC721A._safeMint", + "offset": [ + 12314, + 12326 + ], + "op": "DUP4", + "path": "17" + }, + "4934": { + "fn": "ERC721A._safeMint", + "offset": [ + 12328, + 12336 + ], + "op": "DUP7", + "path": "17" + }, + "4935": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "DUP5", + "path": "17" + }, + "4936": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 12277, + 12337 + ], + "op": "JUMP", + "path": "17" + }, + "4937": { + "op": "JUMPDEST" + }, + "4938": { + "op": "PUSH1", + "value": "0x1" + }, + "4940": { + "op": "PUSH1", + "value": "0x1" + }, + "4942": { + "op": "PUSH1", + "value": "0xE0" + }, + "4944": { + "op": "SHL" + }, + "4945": { + "op": "SUB" + }, + "4946": { + "op": "NOT" + }, + "4947": { + "op": "DUP2" + }, + "4948": { + "op": "AND" + }, + "4949": { + "op": "DUP2" + }, + "4950": { + "op": "EQ" + }, + "4951": { + "op": "PUSH2", + "value": "0x67E" + }, + "4954": { + "op": "JUMPI" + }, + "4955": { + "op": "PUSH1", + "value": "0x0" + }, + "4957": { + "op": "DUP1" + }, + "4958": { + "op": "REVERT" + }, + "4959": { + "op": "JUMPDEST" + }, + "4960": { + "op": "PUSH1", + "value": "0x0" + }, + "4962": { + "op": "PUSH1", + "value": "0x20" + }, + "4964": { + "op": "DUP3" + }, + "4965": { + "op": "DUP5" + }, + "4966": { + "op": "SUB" + }, + "4967": { + "op": "SLT" + }, + "4968": { + "op": "ISZERO" + }, + "4969": { + "op": "PUSH2", + "value": "0x1371" + }, + "4972": { + "op": "JUMPI" + }, + "4973": { + "op": "PUSH1", + "value": "0x0" + }, + "4975": { + "op": "DUP1" + }, + "4976": { + "op": "REVERT" + }, + "4977": { + "op": "JUMPDEST" + }, + "4978": { + "op": "DUP2" + }, + "4979": { + "op": "CALLDATALOAD" + }, + "4980": { + "op": "PUSH2", + "value": "0x137C" + }, + "4983": { + "op": "DUP2" + }, + "4984": { + "op": "PUSH2", + "value": "0x1349" + }, + "4987": { + "jump": "i", + "op": "JUMP" + }, + "4988": { + "op": "JUMPDEST" + }, + "4989": { + "op": "SWAP4" + }, + "4990": { + "op": "SWAP3" + }, + "4991": { + "op": "POP" + }, + "4992": { + "op": "POP" + }, + "4993": { + "op": "POP" + }, + "4994": { + "jump": "o", + "op": "JUMP" + }, + "4995": { + "op": "JUMPDEST" + }, + "4996": { + "op": "PUSH1", + "value": "0x0" + }, + "4998": { + "op": "JUMPDEST" + }, + "4999": { + "op": "DUP4" + }, + "5000": { + "op": "DUP2" + }, + "5001": { + "op": "LT" + }, + "5002": { + "op": "ISZERO" + }, + "5003": { + "op": "PUSH2", + "value": "0x139E" + }, + "5006": { + "op": "JUMPI" + }, + "5007": { + "op": "DUP2" + }, + "5008": { + "op": "DUP2" + }, + "5009": { + "op": "ADD" + }, + "5010": { + "op": "MLOAD" + }, + "5011": { + "op": "DUP4" + }, + "5012": { + "op": "DUP3" + }, + "5013": { + "op": "ADD" + }, + "5014": { + "op": "MSTORE" + }, + "5015": { + "op": "PUSH1", + "value": "0x20" + }, + "5017": { + "op": "ADD" + }, + "5018": { + "op": "PUSH2", + "value": "0x1386" + }, + "5021": { + "op": "JUMP" + }, + "5022": { + "op": "JUMPDEST" + }, + "5023": { + "op": "DUP4" + }, + "5024": { + "op": "DUP2" + }, + "5025": { + "op": "GT" + }, + "5026": { + "op": "ISZERO" + }, + "5027": { + "op": "PUSH2", + "value": "0x7E2" + }, + "5030": { + "op": "JUMPI" + }, + "5031": { + "op": "POP" + }, + "5032": { + "op": "POP" + }, + "5033": { + "op": "PUSH1", + "value": "0x0" + }, + "5035": { + "op": "SWAP2" + }, + "5036": { + "op": "ADD" + }, + "5037": { + "op": "MSTORE" + }, + "5038": { + "jump": "o", + "op": "JUMP" + }, + "5039": { + "op": "JUMPDEST" + }, + "5040": { + "op": "PUSH1", + "value": "0x0" + }, + "5042": { + "op": "DUP2" + }, + "5043": { + "op": "MLOAD" + }, + "5044": { + "op": "DUP1" + }, + "5045": { + "op": "DUP5" + }, + "5046": { + "op": "MSTORE" + }, + "5047": { + "op": "PUSH2", + "value": "0x13C7" + }, + "5050": { + "op": "DUP2" + }, + "5051": { + "op": "PUSH1", + "value": "0x20" + }, + "5053": { + "op": "DUP7" + }, + "5054": { + "op": "ADD" + }, + "5055": { + "op": "PUSH1", + "value": "0x20" + }, + "5057": { + "op": "DUP7" + }, + "5058": { + "op": "ADD" + }, + "5059": { + "op": "PUSH2", + "value": "0x1383" + }, + "5062": { + "jump": "i", + "op": "JUMP" + }, + "5063": { + "op": "JUMPDEST" + }, + "5064": { + "op": "PUSH1", + "value": "0x1F" + }, + "5066": { + "op": "ADD" + }, + "5067": { + "op": "PUSH1", + "value": "0x1F" + }, + "5069": { + "op": "NOT" + }, + "5070": { + "op": "AND" + }, + "5071": { + "op": "SWAP3" + }, + "5072": { + "op": "SWAP1" + }, + "5073": { + "op": "SWAP3" + }, + "5074": { + "op": "ADD" + }, + "5075": { + "op": "PUSH1", + "value": "0x20" + }, + "5077": { + "op": "ADD" + }, + "5078": { + "op": "SWAP3" + }, + "5079": { + "op": "SWAP2" + }, + "5080": { + "op": "POP" + }, + "5081": { + "op": "POP" + }, + "5082": { + "jump": "o", + "op": "JUMP" + }, + "5083": { + "op": "JUMPDEST" + }, + "5084": { + "op": "PUSH1", + "value": "0x20" + }, + "5086": { + "op": "DUP2" + }, + "5087": { + "op": "MSTORE" + }, + "5088": { + "op": "PUSH1", + "value": "0x0" + }, + "5090": { + "op": "PUSH2", + "value": "0x137C" + }, + "5093": { + "op": "PUSH1", + "value": "0x20" + }, + "5095": { + "op": "DUP4" + }, + "5096": { + "op": "ADD" + }, + "5097": { + "op": "DUP5" + }, + "5098": { + "op": "PUSH2", + "value": "0x13AF" + }, + "5101": { + "jump": "i", + "op": "JUMP" + }, + "5102": { + "op": "JUMPDEST" + }, + "5103": { + "op": "PUSH1", + "value": "0x0" + }, + "5105": { + "op": "PUSH1", + "value": "0x20" + }, + "5107": { + "op": "DUP3" + }, + "5108": { + "op": "DUP5" + }, + "5109": { + "op": "SUB" + }, + "5110": { + "op": "SLT" + }, + "5111": { + "op": "ISZERO" + }, + "5112": { + "op": "PUSH2", + "value": "0x1400" + }, + "5115": { + "op": "JUMPI" + }, + "5116": { + "op": "PUSH1", + "value": "0x0" + }, + "5118": { + "op": "DUP1" + }, + "5119": { + "op": "REVERT" + }, + "5120": { + "op": "JUMPDEST" + }, + "5121": { + "op": "POP" + }, + "5122": { + "op": "CALLDATALOAD" + }, + "5123": { + "op": "SWAP2" + }, + "5124": { + "op": "SWAP1" + }, + "5125": { + "op": "POP" + }, + "5126": { + "jump": "o", + "op": "JUMP" + }, + "5127": { + "op": "JUMPDEST" + }, + "5128": { + "op": "DUP1" + }, + "5129": { + "op": "CALLDATALOAD" + }, + "5130": { + "op": "PUSH1", + "value": "0x1" + }, + "5132": { + "op": "PUSH1", + "value": "0x1" + }, + "5134": { + "op": "PUSH1", + "value": "0xA0" + }, + "5136": { + "op": "SHL" + }, + "5137": { + "op": "SUB" + }, + "5138": { + "op": "DUP2" + }, + "5139": { + "op": "AND" + }, + "5140": { + "op": "DUP2" + }, + "5141": { + "op": "EQ" + }, + "5142": { + "op": "PUSH2", + "value": "0x141E" + }, + "5145": { + "op": "JUMPI" + }, + "5146": { + "op": "PUSH1", + "value": "0x0" + }, + "5148": { + "op": "DUP1" + }, + "5149": { + "op": "REVERT" + }, + "5150": { + "op": "JUMPDEST" + }, + "5151": { + "op": "SWAP2" + }, + "5152": { + "op": "SWAP1" + }, + "5153": { + "op": "POP" + }, + "5154": { + "jump": "o", + "op": "JUMP" + }, + "5155": { + "op": "JUMPDEST" + }, + "5156": { + "op": "PUSH1", + "value": "0x0" + }, + "5158": { + "op": "DUP1" + }, + "5159": { + "op": "PUSH1", + "value": "0x40" + }, + "5161": { + "op": "DUP4" + }, + "5162": { + "op": "DUP6" + }, + "5163": { + "op": "SUB" + }, + "5164": { + "op": "SLT" + }, + "5165": { + "op": "ISZERO" + }, + "5166": { + "op": "PUSH2", + "value": "0x1436" + }, + "5169": { + "op": "JUMPI" + }, + "5170": { + "op": "PUSH1", + "value": "0x0" + }, + "5172": { + "op": "DUP1" + }, + "5173": { + "op": "REVERT" + }, + "5174": { + "op": "JUMPDEST" + }, + "5175": { + "op": "PUSH2", + "value": "0x143F" + }, + "5178": { + "op": "DUP4" + }, + "5179": { + "op": "PUSH2", + "value": "0x1407" + }, + "5182": { + "jump": "i", + "op": "JUMP" + }, + "5183": { + "op": "JUMPDEST" + }, + "5184": { + "op": "SWAP5" + }, + "5185": { + "op": "PUSH1", + "value": "0x20" + }, + "5187": { + "op": "SWAP4" + }, + "5188": { + "op": "SWAP1" + }, + "5189": { + "op": "SWAP4" + }, + "5190": { + "op": "ADD" + }, + "5191": { + "op": "CALLDATALOAD" + }, + "5192": { + "op": "SWAP4" + }, + "5193": { + "op": "POP" + }, + "5194": { + "op": "POP" + }, + "5195": { + "op": "POP" + }, + "5196": { + "jump": "o", + "op": "JUMP" + }, + "5197": { + "op": "JUMPDEST" + }, + "5198": { + "op": "PUSH1", + "value": "0x0" + }, + "5200": { + "op": "DUP1" + }, + "5201": { + "op": "PUSH1", + "value": "0x0" + }, + "5203": { + "op": "PUSH1", + "value": "0x60" + }, + "5205": { + "op": "DUP5" + }, + "5206": { + "op": "DUP7" + }, + "5207": { + "op": "SUB" + }, + "5208": { + "op": "SLT" + }, + "5209": { + "op": "ISZERO" + }, + "5210": { + "op": "PUSH2", + "value": "0x1462" + }, + "5213": { + "op": "JUMPI" + }, + "5214": { + "op": "PUSH1", + "value": "0x0" + }, + "5216": { + "op": "DUP1" + }, + "5217": { + "op": "REVERT" + }, + "5218": { + "op": "JUMPDEST" + }, + "5219": { + "op": "PUSH2", + "value": "0x146B" + }, + "5222": { + "op": "DUP5" + }, + "5223": { + "op": "PUSH2", + "value": "0x1407" + }, + "5226": { + "jump": "i", + "op": "JUMP" + }, + "5227": { + "op": "JUMPDEST" + }, + "5228": { + "op": "SWAP3" + }, + "5229": { + "op": "POP" + }, + "5230": { + "op": "PUSH2", + "value": "0x1479" + }, + "5233": { + "op": "PUSH1", + "value": "0x20" + }, + "5235": { + "op": "DUP6" + }, + "5236": { + "op": "ADD" + }, + "5237": { + "op": "PUSH2", + "value": "0x1407" + }, + "5240": { + "jump": "i", + "op": "JUMP" + }, + "5241": { + "op": "JUMPDEST" + }, + "5242": { + "op": "SWAP2" + }, + "5243": { + "op": "POP" + }, + "5244": { + "op": "PUSH1", + "value": "0x40" + }, + "5246": { + "op": "DUP5" + }, + "5247": { + "op": "ADD" + }, + "5248": { + "op": "CALLDATALOAD" + }, + "5249": { + "op": "SWAP1" + }, + "5250": { + "op": "POP" + }, + "5251": { + "op": "SWAP3" + }, + "5252": { + "op": "POP" + }, + "5253": { + "op": "SWAP3" + }, + "5254": { + "op": "POP" + }, + "5255": { + "op": "SWAP3" + }, + "5256": { + "jump": "o", + "op": "JUMP" + }, + "5257": { + "op": "JUMPDEST" + }, + "5258": { + "op": "PUSH1", + "value": "0x0" + }, + "5260": { + "op": "PUSH1", + "value": "0x20" + }, + "5262": { + "op": "DUP3" + }, + "5263": { + "op": "DUP5" + }, + "5264": { + "op": "SUB" + }, + "5265": { + "op": "SLT" + }, + "5266": { + "op": "ISZERO" + }, + "5267": { + "op": "PUSH2", + "value": "0x149B" + }, + "5270": { + "op": "JUMPI" + }, + "5271": { + "op": "PUSH1", + "value": "0x0" + }, + "5273": { + "op": "DUP1" + }, + "5274": { + "op": "REVERT" + }, + "5275": { + "op": "JUMPDEST" + }, + "5276": { + "op": "PUSH2", + "value": "0x137C" + }, + "5279": { + "op": "DUP3" + }, + "5280": { + "op": "PUSH2", + "value": "0x1407" + }, + "5283": { + "jump": "i", + "op": "JUMP" + }, + "5284": { + "op": "JUMPDEST" + }, + "5285": { + "op": "PUSH1", + "value": "0x0" + }, + "5287": { + "op": "DUP1" + }, + "5288": { + "op": "PUSH1", + "value": "0x40" + }, + "5290": { + "op": "DUP4" + }, + "5291": { + "op": "DUP6" + }, + "5292": { + "op": "SUB" + }, + "5293": { + "op": "SLT" + }, + "5294": { + "op": "ISZERO" + }, + "5295": { + "op": "PUSH2", + "value": "0x14B7" + }, + "5298": { + "op": "JUMPI" + }, + "5299": { + "op": "PUSH1", + "value": "0x0" + }, + "5301": { + "op": "DUP1" + }, + "5302": { + "op": "REVERT" + }, + "5303": { + "op": "JUMPDEST" + }, + "5304": { + "op": "PUSH2", + "value": "0x14C0" + }, + "5307": { + "op": "DUP4" + }, + "5308": { + "op": "PUSH2", + "value": "0x1407" + }, + "5311": { + "jump": "i", + "op": "JUMP" + }, + "5312": { + "op": "JUMPDEST" + }, + "5313": { + "op": "SWAP2" + }, + "5314": { + "op": "POP" + }, + "5315": { + "op": "PUSH1", + "value": "0x20" + }, + "5317": { + "op": "DUP4" + }, + "5318": { + "op": "ADD" + }, + "5319": { + "op": "CALLDATALOAD" + }, + "5320": { + "op": "DUP1" + }, + "5321": { + "op": "ISZERO" + }, + "5322": { + "op": "ISZERO" + }, + "5323": { + "op": "DUP2" + }, + "5324": { + "op": "EQ" + }, + "5325": { + "op": "PUSH2", + "value": "0x14D5" + }, + "5328": { + "op": "JUMPI" + }, + "5329": { + "op": "PUSH1", + "value": "0x0" + }, + "5331": { + "op": "DUP1" + }, + "5332": { + "op": "REVERT" + }, + "5333": { + "op": "JUMPDEST" + }, + "5334": { + "op": "DUP1" + }, + "5335": { + "op": "SWAP2" + }, + "5336": { + "op": "POP" + }, + "5337": { + "op": "POP" + }, + "5338": { + "op": "SWAP3" + }, + "5339": { + "op": "POP" + }, + "5340": { + "op": "SWAP3" + }, + "5341": { + "op": "SWAP1" + }, + "5342": { + "op": "POP" + }, + "5343": { + "jump": "o", + "op": "JUMP" + }, + "5344": { + "op": "JUMPDEST" + }, + "5345": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5350": { + "op": "PUSH1", + "value": "0xE0" + }, + "5352": { + "op": "SHL" + }, + "5353": { + "op": "PUSH1", + "value": "0x0" + }, + "5355": { + "op": "MSTORE" + }, + "5356": { + "op": "PUSH1", + "value": "0x41" + }, + "5358": { + "op": "PUSH1", + "value": "0x4" + }, + "5360": { + "op": "MSTORE" + }, + "5361": { + "op": "PUSH1", + "value": "0x24" + }, + "5363": { + "op": "PUSH1", + "value": "0x0" + }, + "5365": { + "op": "REVERT" + }, + "5366": { + "op": "JUMPDEST" + }, + "5367": { + "op": "PUSH1", + "value": "0x0" + }, + "5369": { + "op": "PUSH1", + "value": "0x1" + }, + "5371": { + "op": "PUSH1", + "value": "0x1" + }, + "5373": { + "op": "PUSH1", + "value": "0x40" + }, + "5375": { + "op": "SHL" + }, + "5376": { + "op": "SUB" + }, + "5377": { + "op": "DUP1" + }, + "5378": { + "op": "DUP5" + }, + "5379": { + "op": "GT" + }, + "5380": { + "op": "ISZERO" + }, + "5381": { + "op": "PUSH2", + "value": "0x1510" + }, + "5384": { + "op": "JUMPI" + }, + "5385": { + "op": "PUSH2", + "value": "0x1510" + }, + "5388": { + "op": "PUSH2", + "value": "0x14E0" + }, + "5391": { + "jump": "i", + "op": "JUMP" + }, + "5392": { + "op": "JUMPDEST" + }, + "5393": { + "op": "PUSH1", + "value": "0x40" + }, + "5395": { + "op": "MLOAD" + }, + "5396": { + "op": "PUSH1", + "value": "0x1F" + }, + "5398": { + "op": "DUP6" + }, + "5399": { + "op": "ADD" + }, + "5400": { + "op": "PUSH1", + "value": "0x1F" + }, + "5402": { + "op": "NOT" + }, + "5403": { + "op": "SWAP1" + }, + "5404": { + "op": "DUP2" + }, + "5405": { + "op": "AND" + }, + "5406": { + "op": "PUSH1", + "value": "0x3F" + }, + "5408": { + "op": "ADD" + }, + "5409": { + "op": "AND" + }, + "5410": { + "op": "DUP2" + }, + "5411": { + "op": "ADD" + }, + "5412": { + "op": "SWAP1" + }, + "5413": { + "op": "DUP3" + }, + "5414": { + "op": "DUP3" + }, + "5415": { + "op": "GT" + }, + "5416": { + "op": "DUP2" + }, + "5417": { + "op": "DUP4" + }, + "5418": { + "op": "LT" + }, + "5419": { + "op": "OR" + }, + "5420": { + "op": "ISZERO" + }, + "5421": { + "op": "PUSH2", + "value": "0x1538" + }, + "5424": { + "op": "JUMPI" + }, + "5425": { + "op": "PUSH2", + "value": "0x1538" + }, + "5428": { + "op": "PUSH2", + "value": "0x14E0" + }, + "5431": { + "jump": "i", + "op": "JUMP" + }, + "5432": { + "op": "JUMPDEST" + }, + "5433": { + "op": "DUP2" + }, + "5434": { + "op": "PUSH1", + "value": "0x40" + }, + "5436": { + "op": "MSTORE" + }, + "5437": { + "op": "DUP1" + }, + "5438": { + "op": "SWAP4" + }, + "5439": { + "op": "POP" + }, + "5440": { + "op": "DUP6" + }, + "5441": { + "op": "DUP2" + }, + "5442": { + "op": "MSTORE" + }, + "5443": { + "op": "DUP7" + }, + "5444": { + "op": "DUP7" + }, + "5445": { + "op": "DUP7" + }, + "5446": { + "op": "ADD" + }, + "5447": { + "op": "GT" + }, + "5448": { + "op": "ISZERO" + }, + "5449": { + "op": "PUSH2", + "value": "0x1551" + }, + "5452": { + "op": "JUMPI" + }, + "5453": { + "op": "PUSH1", + "value": "0x0" + }, + "5455": { + "op": "DUP1" + }, + "5456": { + "op": "REVERT" + }, + "5457": { + "op": "JUMPDEST" + }, + "5458": { + "op": "DUP6" + }, + "5459": { + "op": "DUP6" + }, + "5460": { + "op": "PUSH1", + "value": "0x20" + }, + "5462": { + "op": "DUP4" + }, + "5463": { + "op": "ADD" + }, + "5464": { + "op": "CALLDATACOPY" + }, + "5465": { + "op": "PUSH1", + "value": "0x0" + }, + "5467": { + "op": "PUSH1", + "value": "0x20" + }, + "5469": { + "op": "DUP8" + }, + "5470": { + "op": "DUP4" + }, + "5471": { + "op": "ADD" + }, + "5472": { + "op": "ADD" + }, + "5473": { + "op": "MSTORE" + }, + "5474": { + "op": "POP" + }, + "5475": { + "op": "POP" + }, + "5476": { + "op": "POP" + }, + "5477": { + "op": "SWAP4" + }, + "5478": { + "op": "SWAP3" + }, + "5479": { + "op": "POP" + }, + "5480": { + "op": "POP" + }, + "5481": { + "op": "POP" + }, + "5482": { + "jump": "o", + "op": "JUMP" + }, + "5483": { + "op": "JUMPDEST" + }, + "5484": { + "op": "PUSH1", + "value": "0x0" + }, + "5486": { + "op": "DUP1" + }, + "5487": { + "op": "PUSH1", + "value": "0x0" + }, + "5489": { + "op": "DUP1" + }, + "5490": { + "op": "PUSH1", + "value": "0x80" + }, + "5492": { + "op": "DUP6" + }, + "5493": { + "op": "DUP8" + }, + "5494": { + "op": "SUB" + }, + "5495": { + "op": "SLT" + }, + "5496": { + "op": "ISZERO" + }, + "5497": { + "op": "PUSH2", + "value": "0x1581" + }, + "5500": { + "op": "JUMPI" + }, + "5501": { + "op": "PUSH1", + "value": "0x0" + }, + "5503": { + "op": "DUP1" + }, + "5504": { + "op": "REVERT" + }, + "5505": { + "op": "JUMPDEST" + }, + "5506": { + "op": "PUSH2", + "value": "0x158A" + }, + "5509": { + "op": "DUP6" + }, + "5510": { + "op": "PUSH2", + "value": "0x1407" + }, + "5513": { + "jump": "i", + "op": "JUMP" + }, + "5514": { + "op": "JUMPDEST" + }, + "5515": { + "op": "SWAP4" + }, + "5516": { + "op": "POP" + }, + "5517": { + "op": "PUSH2", + "value": "0x1598" + }, + "5520": { + "op": "PUSH1", + "value": "0x20" + }, + "5522": { + "op": "DUP7" + }, + "5523": { + "op": "ADD" + }, + "5524": { + "op": "PUSH2", + "value": "0x1407" + }, + "5527": { + "jump": "i", + "op": "JUMP" + }, + "5528": { + "op": "JUMPDEST" + }, + "5529": { + "op": "SWAP3" + }, + "5530": { + "op": "POP" + }, + "5531": { + "op": "PUSH1", + "value": "0x40" + }, + "5533": { + "op": "DUP6" + }, + "5534": { + "op": "ADD" + }, + "5535": { + "op": "CALLDATALOAD" + }, + "5536": { + "op": "SWAP2" + }, + "5537": { + "op": "POP" + }, + "5538": { + "op": "PUSH1", + "value": "0x60" + }, + "5540": { + "op": "DUP6" + }, + "5541": { + "op": "ADD" + }, + "5542": { + "op": "CALLDATALOAD" + }, + "5543": { + "op": "PUSH1", + "value": "0x1" + }, + "5545": { + "op": "PUSH1", + "value": "0x1" + }, + "5547": { + "op": "PUSH1", + "value": "0x40" + }, + "5549": { + "op": "SHL" + }, + "5550": { + "op": "SUB" + }, + "5551": { + "op": "DUP2" + }, + "5552": { + "op": "GT" + }, + "5553": { + "op": "ISZERO" + }, + "5554": { + "op": "PUSH2", + "value": "0x15BA" + }, + "5557": { + "op": "JUMPI" + }, + "5558": { + "op": "PUSH1", + "value": "0x0" + }, + "5560": { + "op": "DUP1" + }, + "5561": { + "op": "REVERT" + }, + "5562": { + "op": "JUMPDEST" + }, + "5563": { + "op": "DUP6" + }, + "5564": { + "op": "ADD" + }, + "5565": { + "op": "PUSH1", + "value": "0x1F" + }, + "5567": { + "op": "DUP2" + }, + "5568": { + "op": "ADD" + }, + "5569": { + "op": "DUP8" + }, + "5570": { + "op": "SGT" + }, + "5571": { + "op": "PUSH2", + "value": "0x15CB" + }, + "5574": { + "op": "JUMPI" + }, + "5575": { + "op": "PUSH1", + "value": "0x0" + }, + "5577": { + "op": "DUP1" + }, + "5578": { + "op": "REVERT" + }, + "5579": { + "op": "JUMPDEST" + }, + "5580": { + "op": "PUSH2", + "value": "0x15DA" + }, + "5583": { + "op": "DUP8" + }, + "5584": { + "op": "DUP3" + }, + "5585": { + "op": "CALLDATALOAD" + }, + "5586": { + "op": "PUSH1", + "value": "0x20" + }, + "5588": { + "op": "DUP5" + }, + "5589": { + "op": "ADD" + }, + "5590": { + "op": "PUSH2", + "value": "0x14F6" + }, + "5593": { + "jump": "i", + "op": "JUMP" + }, + "5594": { + "op": "JUMPDEST" + }, + "5595": { + "op": "SWAP2" + }, + "5596": { + "op": "POP" + }, + "5597": { + "op": "POP" + }, + "5598": { + "op": "SWAP3" + }, + "5599": { + "op": "SWAP6" + }, + "5600": { + "op": "SWAP2" + }, + "5601": { + "op": "SWAP5" + }, + "5602": { + "op": "POP" + }, + "5603": { + "op": "SWAP3" + }, + "5604": { + "op": "POP" + }, + "5605": { + "jump": "o", + "op": "JUMP" + }, + "5606": { + "op": "JUMPDEST" + }, + "5607": { + "op": "PUSH1", + "value": "0x0" + }, + "5609": { + "op": "PUSH1", + "value": "0x20" + }, + "5611": { + "op": "DUP3" + }, + "5612": { + "op": "DUP5" + }, + "5613": { + "op": "SUB" + }, + "5614": { + "op": "SLT" + }, + "5615": { + "op": "ISZERO" + }, + "5616": { + "op": "PUSH2", + "value": "0x15F8" + }, + "5619": { + "op": "JUMPI" + }, + "5620": { + "op": "PUSH1", + "value": "0x0" + }, + "5622": { + "op": "DUP1" + }, + "5623": { + "op": "REVERT" + }, + "5624": { + "op": "JUMPDEST" + }, + "5625": { + "op": "DUP2" + }, + "5626": { + "op": "CALLDATALOAD" + }, + "5627": { + "op": "PUSH1", + "value": "0x1" + }, + "5629": { + "op": "PUSH1", + "value": "0x1" + }, + "5631": { + "op": "PUSH1", + "value": "0x40" + }, + "5633": { + "op": "SHL" + }, + "5634": { + "op": "SUB" + }, + "5635": { + "op": "DUP2" + }, + "5636": { + "op": "GT" + }, + "5637": { + "op": "ISZERO" + }, + "5638": { + "op": "PUSH2", + "value": "0x160E" + }, + "5641": { + "op": "JUMPI" + }, + "5642": { + "op": "PUSH1", + "value": "0x0" + }, + "5644": { + "op": "DUP1" + }, + "5645": { + "op": "REVERT" + }, + "5646": { + "op": "JUMPDEST" + }, + "5647": { + "op": "DUP3" + }, + "5648": { + "op": "ADD" + }, + "5649": { + "op": "PUSH1", + "value": "0x1F" + }, + "5651": { + "op": "DUP2" + }, + "5652": { + "op": "ADD" + }, + "5653": { + "op": "DUP5" + }, + "5654": { + "op": "SGT" + }, + "5655": { + "op": "PUSH2", + "value": "0x161F" + }, + "5658": { + "op": "JUMPI" + }, + "5659": { + "op": "PUSH1", + "value": "0x0" + }, + "5661": { + "op": "DUP1" + }, + "5662": { + "op": "REVERT" + }, + "5663": { + "op": "JUMPDEST" + }, + "5664": { + "op": "PUSH2", + "value": "0x8F4" + }, + "5667": { + "op": "DUP5" + }, + "5668": { + "op": "DUP3" + }, + "5669": { + "op": "CALLDATALOAD" + }, + "5670": { + "op": "PUSH1", + "value": "0x20" + }, + "5672": { + "op": "DUP5" + }, + "5673": { + "op": "ADD" + }, + "5674": { + "op": "PUSH2", + "value": "0x14F6" + }, + "5677": { + "jump": "i", + "op": "JUMP" + }, + "5678": { + "op": "JUMPDEST" + }, + "5679": { + "op": "PUSH1", + "value": "0x0" + }, + "5681": { + "op": "DUP1" + }, + "5682": { + "op": "PUSH1", + "value": "0x40" + }, + "5684": { + "op": "DUP4" + }, + "5685": { + "op": "DUP6" + }, + "5686": { + "op": "SUB" + }, + "5687": { + "op": "SLT" + }, + "5688": { + "op": "ISZERO" + }, + "5689": { + "op": "PUSH2", + "value": "0x1641" + }, + "5692": { + "op": "JUMPI" + }, + "5693": { + "op": "PUSH1", + "value": "0x0" + }, + "5695": { + "op": "DUP1" + }, + "5696": { + "op": "REVERT" + }, + "5697": { + "op": "JUMPDEST" + }, + "5698": { + "op": "PUSH2", + "value": "0x164A" + }, + "5701": { + "op": "DUP4" + }, + "5702": { + "op": "PUSH2", + "value": "0x1407" + }, + "5705": { + "jump": "i", + "op": "JUMP" + }, + "5706": { + "op": "JUMPDEST" + }, + "5707": { + "op": "SWAP2" + }, + "5708": { + "op": "POP" + }, + "5709": { + "op": "PUSH2", + "value": "0x1658" + }, + "5712": { + "op": "PUSH1", + "value": "0x20" + }, + "5714": { + "op": "DUP5" + }, + "5715": { + "op": "ADD" + }, + "5716": { + "op": "PUSH2", + "value": "0x1407" + }, + "5719": { + "jump": "i", + "op": "JUMP" + }, + "5720": { + "op": "JUMPDEST" + }, + "5721": { + "op": "SWAP1" + }, + "5722": { + "op": "POP" + }, + "5723": { + "op": "SWAP3" + }, + "5724": { + "op": "POP" + }, + "5725": { + "op": "SWAP3" + }, + "5726": { + "op": "SWAP1" + }, + "5727": { + "op": "POP" + }, + "5728": { + "jump": "o", + "op": "JUMP" + }, + "5729": { + "op": "JUMPDEST" + }, + "5730": { + "op": "PUSH1", + "value": "0x1" + }, + "5732": { + "op": "DUP2" + }, + "5733": { + "op": "DUP2" + }, + "5734": { + "op": "SHR" + }, + "5735": { + "op": "SWAP1" + }, + "5736": { + "op": "DUP3" + }, + "5737": { + "op": "AND" + }, + "5738": { + "op": "DUP1" + }, + "5739": { + "op": "PUSH2", + "value": "0x1675" + }, + "5742": { + "op": "JUMPI" + }, + "5743": { + "op": "PUSH1", + "value": "0x7F" + }, + "5745": { + "op": "DUP3" + }, + "5746": { + "op": "AND" + }, + "5747": { + "op": "SWAP2" + }, + "5748": { + "op": "POP" + }, + "5749": { + "op": "JUMPDEST" + }, + "5750": { + "op": "PUSH1", + "value": "0x20" + }, + "5752": { + "op": "DUP3" + }, + "5753": { + "op": "LT" + }, + "5754": { + "op": "DUP2" + }, + "5755": { + "op": "SUB" + }, + "5756": { + "op": "PUSH2", + "value": "0x1695" + }, + "5759": { + "op": "JUMPI" + }, + "5760": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5765": { + "op": "PUSH1", + "value": "0xE0" + }, + "5767": { + "op": "SHL" + }, + "5768": { + "op": "PUSH1", + "value": "0x0" + }, + "5770": { + "op": "MSTORE" + }, + "5771": { + "op": "PUSH1", + "value": "0x22" + }, + "5773": { + "op": "PUSH1", + "value": "0x4" + }, + "5775": { + "op": "MSTORE" + }, + "5776": { + "op": "PUSH1", + "value": "0x24" + }, + "5778": { + "op": "PUSH1", + "value": "0x0" + }, + "5780": { + "op": "REVERT" + }, + "5781": { + "op": "JUMPDEST" + }, + "5782": { + "op": "POP" + }, + "5783": { + "op": "SWAP2" + }, + "5784": { + "op": "SWAP1" + }, + "5785": { + "op": "POP" + }, + "5786": { + "jump": "o", + "op": "JUMP" + }, + "5787": { + "op": "JUMPDEST" + }, + "5788": { + "op": "PUSH1", + "value": "0x0" + }, + "5790": { + "op": "DUP4" + }, + "5791": { + "op": "MLOAD" + }, + "5792": { + "op": "PUSH2", + "value": "0x16AD" + }, + "5795": { + "op": "DUP2" + }, + "5796": { + "op": "DUP5" + }, + "5797": { + "op": "PUSH1", + "value": "0x20" + }, + "5799": { + "op": "DUP9" + }, + "5800": { + "op": "ADD" + }, + "5801": { + "op": "PUSH2", + "value": "0x1383" + }, + "5804": { + "jump": "i", + "op": "JUMP" + }, + "5805": { + "op": "JUMPDEST" + }, + "5806": { + "op": "DUP4" + }, + "5807": { + "op": "MLOAD" + }, + "5808": { + "op": "SWAP1" + }, + "5809": { + "op": "DUP4" + }, + "5810": { + "op": "ADD" + }, + "5811": { + "op": "SWAP1" + }, + "5812": { + "op": "PUSH2", + "value": "0x16C1" + }, + "5815": { + "op": "DUP2" + }, + "5816": { + "op": "DUP4" + }, + "5817": { + "op": "PUSH1", + "value": "0x20" + }, + "5819": { + "op": "DUP9" + }, + "5820": { + "op": "ADD" + }, + "5821": { + "op": "PUSH2", + "value": "0x1383" + }, + "5824": { + "jump": "i", + "op": "JUMP" + }, + "5825": { + "op": "JUMPDEST" + }, + "5826": { + "op": "ADD" + }, + "5827": { + "op": "SWAP5" + }, + "5828": { + "op": "SWAP4" + }, + "5829": { + "op": "POP" + }, + "5830": { + "op": "POP" + }, + "5831": { + "op": "POP" + }, + "5832": { + "op": "POP" + }, + "5833": { + "jump": "o", + "op": "JUMP" + }, + "5834": { + "op": "JUMPDEST" + }, + "5835": { + "op": "PUSH1", + "value": "0x1" + }, + "5837": { + "op": "PUSH1", + "value": "0x1" + }, + "5839": { + "op": "PUSH1", + "value": "0xA0" + }, + "5841": { + "op": "SHL" + }, + "5842": { + "op": "SUB" + }, + "5843": { + "op": "DUP6" + }, + "5844": { + "op": "DUP2" + }, + "5845": { + "op": "AND" + }, + "5846": { + "op": "DUP3" + }, + "5847": { + "op": "MSTORE" + }, + "5848": { + "op": "DUP5" + }, + "5849": { + "op": "AND" + }, + "5850": { + "op": "PUSH1", + "value": "0x20" + }, + "5852": { + "op": "DUP3" + }, + "5853": { + "op": "ADD" + }, + "5854": { + "op": "MSTORE" + }, + "5855": { + "op": "PUSH1", + "value": "0x40" + }, + "5857": { + "op": "DUP2" + }, + "5858": { + "op": "ADD" + }, + "5859": { + "op": "DUP4" + }, + "5860": { + "op": "SWAP1" + }, + "5861": { + "op": "MSTORE" + }, + "5862": { + "op": "PUSH1", + "value": "0x80" + }, + "5864": { + "op": "PUSH1", + "value": "0x60" + }, + "5866": { + "op": "DUP3" + }, + "5867": { + "op": "ADD" + }, + "5868": { + "op": "DUP2" + }, + "5869": { + "op": "SWAP1" + }, + "5870": { + "op": "MSTORE" + }, + "5871": { + "op": "PUSH1", + "value": "0x0" + }, + "5873": { + "op": "SWAP1" + }, + "5874": { + "op": "PUSH2", + "value": "0x16FD" + }, + "5877": { + "op": "SWAP1" + }, + "5878": { + "op": "DUP4" + }, + "5879": { + "op": "ADD" + }, + "5880": { + "op": "DUP5" + }, + "5881": { + "op": "PUSH2", + "value": "0x13AF" + }, + "5884": { + "jump": "i", + "op": "JUMP" + }, + "5885": { + "op": "JUMPDEST" + }, + "5886": { + "op": "SWAP7" + }, + "5887": { + "op": "SWAP6" + }, + "5888": { + "op": "POP" + }, + "5889": { + "op": "POP" + }, + "5890": { + "op": "POP" + }, + "5891": { + "op": "POP" + }, + "5892": { + "op": "POP" + }, + "5893": { + "op": "POP" + }, + "5894": { + "jump": "o", + "op": "JUMP" + }, + "5895": { + "op": "JUMPDEST" + }, + "5896": { + "op": "PUSH1", + "value": "0x0" + }, + "5898": { + "op": "PUSH1", + "value": "0x20" + }, + "5900": { + "op": "DUP3" + }, + "5901": { + "op": "DUP5" + }, + "5902": { + "op": "SUB" + }, + "5903": { + "op": "SLT" + }, + "5904": { + "op": "ISZERO" + }, + "5905": { + "op": "PUSH2", + "value": "0x1719" + }, + "5908": { + "op": "JUMPI" + }, + "5909": { + "op": "PUSH1", + "value": "0x0" + }, + "5911": { + "op": "DUP1" + }, + "5912": { + "op": "REVERT" + }, + "5913": { + "op": "JUMPDEST" + }, + "5914": { + "op": "DUP2" + }, + "5915": { + "op": "MLOAD" + }, + "5916": { + "op": "PUSH2", + "value": "0x137C" + }, + "5919": { + "op": "DUP2" + }, + "5920": { + "op": "PUSH2", + "value": "0x1349" + }, + "5923": { + "jump": "i", + "op": "JUMP" + }, + "5924": { + "op": "JUMPDEST" + }, + "5925": { + "op": "PUSH1", + "value": "0x1F" + }, + "5927": { + "op": "DUP3" + }, + "5928": { + "op": "GT" + }, + "5929": { + "op": "ISZERO" + }, + "5930": { + "op": "PUSH2", + "value": "0x648" + }, + "5933": { + "op": "JUMPI" + }, + "5934": { + "op": "PUSH1", + "value": "0x0" + }, + "5936": { + "op": "DUP2" + }, + "5937": { + "op": "DUP2" + }, + "5938": { + "op": "MSTORE" + }, + "5939": { + "op": "PUSH1", + "value": "0x20" + }, + "5941": { + "op": "DUP2" + }, + "5942": { + "op": "KECCAK256" + }, + "5943": { + "op": "PUSH1", + "value": "0x1F" + }, + "5945": { + "op": "DUP6" + }, + "5946": { + "op": "ADD" + }, + "5947": { + "op": "PUSH1", + "value": "0x5" + }, + "5949": { + "op": "SHR" + }, + "5950": { + "op": "DUP2" + }, + "5951": { + "op": "ADD" + }, + "5952": { + "op": "PUSH1", + "value": "0x20" + }, + "5954": { + "op": "DUP7" + }, + "5955": { + "op": "LT" + }, + "5956": { + "op": "ISZERO" + }, + "5957": { + "op": "PUSH2", + "value": "0x174B" + }, + "5960": { + "op": "JUMPI" + }, + "5961": { + "op": "POP" + }, + "5962": { + "op": "DUP1" + }, + "5963": { + "op": "JUMPDEST" + }, + "5964": { + "op": "PUSH1", + "value": "0x1F" + }, + "5966": { + "op": "DUP6" + }, + "5967": { + "op": "ADD" + }, + "5968": { + "op": "PUSH1", + "value": "0x5" + }, + "5970": { + "op": "SHR" + }, + "5971": { + "op": "DUP3" + }, + "5972": { + "op": "ADD" + }, + "5973": { + "op": "SWAP2" + }, + "5974": { + "op": "POP" + }, + "5975": { + "op": "JUMPDEST" + }, + "5976": { + "op": "DUP2" + }, + "5977": { + "op": "DUP2" + }, + "5978": { + "op": "LT" + }, + "5979": { + "op": "ISZERO" + }, + "5980": { + "op": "PUSH2", + "value": "0x176A" + }, + "5983": { + "op": "JUMPI" + }, + "5984": { + "op": "DUP3" + }, + "5985": { + "op": "DUP2" + }, + "5986": { + "op": "SSTORE" + }, + "5987": { + "op": "PUSH1", + "value": "0x1" + }, + "5989": { + "op": "ADD" + }, + "5990": { + "op": "PUSH2", + "value": "0x1757" + }, + "5993": { + "op": "JUMP" + }, + "5994": { + "op": "JUMPDEST" + }, + "5995": { + "op": "POP" + }, + "5996": { + "op": "POP" + }, + "5997": { + "op": "POP" + }, + "5998": { + "op": "POP" + }, + "5999": { + "op": "POP" + }, + "6000": { + "op": "POP" + }, + "6001": { + "jump": "o", + "op": "JUMP" + }, + "6002": { + "op": "JUMPDEST" + }, + "6003": { + "op": "DUP2" + }, + "6004": { + "op": "MLOAD" + }, + "6005": { + "op": "PUSH1", + "value": "0x1" + }, + "6007": { + "op": "PUSH1", + "value": "0x1" + }, + "6009": { + "op": "PUSH1", + "value": "0x40" + }, + "6011": { + "op": "SHL" + }, + "6012": { + "op": "SUB" + }, + "6013": { + "op": "DUP2" + }, + "6014": { + "op": "GT" + }, + "6015": { + "op": "ISZERO" + }, + "6016": { + "op": "PUSH2", + "value": "0x178B" + }, + "6019": { + "op": "JUMPI" + }, + "6020": { + "op": "PUSH2", + "value": "0x178B" + }, + "6023": { + "op": "PUSH2", + "value": "0x14E0" + }, + "6026": { + "jump": "i", + "op": "JUMP" + }, + "6027": { + "op": "JUMPDEST" + }, + "6028": { + "op": "PUSH2", + "value": "0x179F" + }, + "6031": { + "op": "DUP2" + }, + "6032": { + "op": "PUSH2", + "value": "0x1799" + }, + "6035": { + "op": "DUP5" + }, + "6036": { + "op": "SLOAD" + }, + "6037": { + "op": "PUSH2", + "value": "0x1661" + }, + "6040": { + "jump": "i", + "op": "JUMP" + }, + "6041": { + "op": "JUMPDEST" + }, + "6042": { + "op": "DUP5" + }, + "6043": { + "op": "PUSH2", + "value": "0x1724" + }, + "6046": { + "jump": "i", + "op": "JUMP" + }, + "6047": { + "op": "JUMPDEST" + }, + "6048": { + "op": "PUSH1", + "value": "0x20" + }, + "6050": { + "op": "DUP1" + }, + "6051": { + "op": "PUSH1", + "value": "0x1F" + }, + "6053": { + "op": "DUP4" + }, + "6054": { + "op": "GT" + }, + "6055": { + "op": "PUSH1", + "value": "0x1" + }, + "6057": { + "op": "DUP2" + }, + "6058": { + "op": "EQ" + }, + "6059": { + "op": "PUSH2", + "value": "0x17D4" + }, + "6062": { + "op": "JUMPI" + }, + "6063": { + "op": "PUSH1", + "value": "0x0" + }, + "6065": { + "op": "DUP5" + }, + "6066": { + "op": "ISZERO" + }, + "6067": { + "op": "PUSH2", + "value": "0x17BC" + }, + "6070": { + "op": "JUMPI" + }, + "6071": { + "op": "POP" + }, + "6072": { + "op": "DUP6" + }, + "6073": { + "op": "DUP4" + }, + "6074": { + "op": "ADD" + }, + "6075": { + "op": "MLOAD" + }, + "6076": { + "op": "JUMPDEST" + }, + "6077": { + "op": "PUSH1", + "value": "0x0" + }, + "6079": { + "op": "NOT" + }, + "6080": { + "op": "PUSH1", + "value": "0x3" + }, + "6082": { + "op": "DUP7" + }, + "6083": { + "op": "SWAP1" + }, + "6084": { + "op": "SHL" + }, + "6085": { + "op": "SHR" + }, + "6086": { + "op": "NOT" + }, + "6087": { + "op": "AND" + }, + "6088": { + "op": "PUSH1", + "value": "0x1" + }, + "6090": { + "op": "DUP6" + }, + "6091": { + "op": "SWAP1" + }, + "6092": { + "op": "SHL" + }, + "6093": { + "op": "OR" + }, + "6094": { + "op": "DUP6" + }, + "6095": { + "op": "SSTORE" + }, + "6096": { + "op": "PUSH2", + "value": "0x176A" + }, + "6099": { + "op": "JUMP" + }, + "6100": { + "op": "JUMPDEST" + }, + "6101": { + "op": "PUSH1", + "value": "0x0" + }, + "6103": { + "op": "DUP6" + }, + "6104": { + "op": "DUP2" + }, + "6105": { + "op": "MSTORE" + }, + "6106": { + "op": "PUSH1", + "value": "0x20" + }, + "6108": { + "op": "DUP2" + }, + "6109": { + "op": "KECCAK256" + }, + "6110": { + "op": "PUSH1", + "value": "0x1F" + }, + "6112": { + "op": "NOT" + }, + "6113": { + "op": "DUP7" + }, + "6114": { + "op": "AND" + }, + "6115": { + "op": "SWAP2" + }, + "6116": { + "op": "JUMPDEST" + }, + "6117": { + "op": "DUP3" + }, + "6118": { + "op": "DUP2" + }, + "6119": { + "op": "LT" + }, + "6120": { + "op": "ISZERO" + }, + "6121": { + "op": "PUSH2", + "value": "0x1803" + }, + "6124": { + "op": "JUMPI" + }, + "6125": { + "op": "DUP9" + }, + "6126": { + "op": "DUP7" + }, + "6127": { + "op": "ADD" + }, + "6128": { + "op": "MLOAD" + }, + "6129": { + "op": "DUP3" + }, + "6130": { + "op": "SSTORE" + }, + "6131": { + "op": "SWAP5" + }, + "6132": { + "op": "DUP5" + }, + "6133": { + "op": "ADD" + }, + "6134": { + "op": "SWAP5" + }, + "6135": { + "op": "PUSH1", + "value": "0x1" + }, + "6137": { + "op": "SWAP1" + }, + "6138": { + "op": "SWAP2" + }, + "6139": { + "op": "ADD" + }, + "6140": { + "op": "SWAP1" + }, + "6141": { + "op": "DUP5" + }, + "6142": { + "op": "ADD" + }, + "6143": { + "op": "PUSH2", + "value": "0x17E4" + }, + "6146": { + "op": "JUMP" + }, + "6147": { + "op": "JUMPDEST" + }, + "6148": { + "op": "POP" + }, + "6149": { + "op": "DUP6" + }, + "6150": { + "op": "DUP3" + }, + "6151": { + "op": "LT" + }, + "6152": { + "op": "ISZERO" + }, + "6153": { + "op": "PUSH2", + "value": "0x1821" + }, + "6156": { + "op": "JUMPI" + }, + "6157": { + "op": "DUP8" + }, + "6158": { + "op": "DUP6" + }, + "6159": { + "op": "ADD" + }, + "6160": { + "op": "MLOAD" + }, + "6161": { + "op": "PUSH1", + "value": "0x0" + }, + "6163": { + "op": "NOT" + }, + "6164": { + "op": "PUSH1", + "value": "0x3" + }, + "6166": { + "op": "DUP9" + }, + "6167": { + "op": "SWAP1" + }, + "6168": { + "op": "SHL" + }, + "6169": { + "op": "PUSH1", + "value": "0xF8" + }, + "6171": { + "op": "AND" + }, + "6172": { + "op": "SHR" + }, + "6173": { + "op": "NOT" + }, + "6174": { + "op": "AND" + }, + "6175": { + "op": "DUP2" + }, + "6176": { + "op": "SSTORE" + }, + "6177": { + "op": "JUMPDEST" + }, + "6178": { + "op": "POP" + }, + "6179": { + "op": "POP" + }, + "6180": { + "op": "POP" + }, + "6181": { + "op": "POP" + }, + "6182": { + "op": "POP" + }, + "6183": { + "op": "PUSH1", + "value": "0x1" + }, + "6185": { + "op": "SWAP1" + }, + "6186": { + "op": "DUP2" + }, + "6187": { + "op": "SHL" + }, + "6188": { + "op": "ADD" + }, + "6189": { + "op": "SWAP1" + }, + "6190": { + "op": "SSTORE" + }, + "6191": { + "op": "POP" + }, + "6192": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "deaa9357bfff0ea4f55a3d93f9de10097d7153a6", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"./ERC721ABurnableMock.sol\";\nimport \"./StartTokenIdHelper.sol\";\n\ncontract ERC721ABurnableStartTokenIdMock is StartTokenIdHelper, ERC721ABurnableMock {\n constructor(\n string memory name_,\n string memory symbol_,\n uint256 startTokenId_\n ) StartTokenIdHelper(startTokenId_) ERC721ABurnableMock(name_, symbol_) {}\n\n function _startTokenId() internal view override returns (uint256) {\n return startTokenId;\n }\n}\n", + "sourceMap": "526:381:30:-:0;;;744:1:20;719:26;;616:181:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;876:12:35;:28;;;779:5:30;786:7;779:5;786:7;779:5;786:7;2285:5:17;:13;779:5:30;2285::17;:13;:::i;:::-;-1:-1:-1;2308:7:17;:17;2318:7;2308;:17;:::i;:::-;-1:-1:-1;860:7:30;886:12;2335:13:17;:31;-1:-1:-1;526:381:30;;-1:-1:-1;;;;;;;;526:381:30;14:127:43;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:623::-;1144:6;1152;1160;1213:2;1201:9;1192:7;1188:23;1184:32;1181:52;;;1229:1;1226;1219:12;1181:52;1256:16;;-1:-1:-1;;;;;1321:14:43;;;1318:34;;;1348:1;1345;1338:12;1318:34;1371:61;1424:7;1415:6;1404:9;1400:22;1371:61;:::i;:::-;1361:71;;1478:2;1467:9;1463:18;1457:25;1441:41;;1507:2;1497:8;1494:16;1491:36;;;1523:1;1520;1513:12;1491:36;;1546:63;1601:7;1590:8;1579:9;1575:24;1546:63;:::i;:::-;1536:73;;;1649:2;1638:9;1634:18;1628:25;1618:35;;1036:623;;;;;:::o;1664:380::-;1743:1;1739:12;;;;1786;;;1807:61;;1861:4;1853:6;1849:17;1839:27;;1807:61;1914:2;1906:6;1903:14;1883:18;1880:38;1877:161;;1960:10;1955:3;1951:20;1948:1;1941:31;1995:4;1992:1;1985:15;2023:4;2020:1;2013:15;1877:161;;1664:380;;;:::o;2175:545::-;2277:2;2272:3;2269:11;2266:448;;;2313:1;2338:5;2334:2;2327:17;2383:4;2379:2;2369:19;2453:2;2441:10;2437:19;2434:1;2430:27;2424:4;2420:38;2489:4;2477:10;2474:20;2471:47;;;-1:-1:-1;2512:4:43;2471:47;2567:2;2562:3;2558:12;2555:1;2551:20;2545:4;2541:31;2531:41;;2622:82;2640:2;2633:5;2630:13;2622:82;;;2685:17;;;2666:1;2655:13;2622:82;;;2626:3;;;2266:448;2175:545;;;:::o;2896:1352::-;3016:10;;-1:-1:-1;;;;;3038:30:43;;3035:56;;;3071:18;;:::i;:::-;3100:97;3190:6;3150:38;3182:4;3176:11;3150:38;:::i;:::-;3144:4;3100:97;:::i;:::-;3252:4;;3316:2;3305:14;;3333:1;3328:663;;;;4035:1;4052:6;4049:89;;;-1:-1:-1;4104:19:43;;;4098:26;4049:89;-1:-1:-1;;2853:1:43;2849:11;;;2845:24;2841:29;2831:40;2877:1;2873:11;;;2828:57;4151:81;;3298:944;;3328:663;2122:1;2115:14;;;2159:4;2146:18;;-1:-1:-1;;3364:20:43;;;3482:236;3496:7;3493:1;3490:14;3482:236;;;3585:19;;;3579:26;3564:42;;3677:27;;;;3645:1;3633:14;;;;3512:19;;3482:236;;;3486:3;3746:6;3737:7;3734:19;3731:201;;;3807:19;;;3801:26;-1:-1:-1;;3890:1:43;3886:14;;;3902:3;3882:24;3878:37;3874:42;3859:58;3844:74;;3731:201;-1:-1:-1;;;;;3978:1:43;3962:14;;;3958:22;3945:36;;-1:-1:-1;2896:1352:43:o;:::-;526:381:30;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableStartTokenIdMock.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721AGasReporterMock.json b/tests/build/contracts/ERC721AGasReporterMock.json new file mode 100644 index 0000000..852a1f8 --- /dev/null +++ b/tests/build/contracts/ERC721AGasReporterMock.json @@ -0,0 +1,24826 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "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": "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": "to", + "type": "address" + } + ], + "name": "mintOne", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "mintTen", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "safeMintOne", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "safeMintTen", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "31": "contracts/contracts/packages/nft/contracts/mocks/ERC721AGasReporterMock.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721AGasReporterMock.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "ERC721AGasReporterMock": [ + 3768 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "Strings": [ + 6613 + ] + }, + "id": 3769, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3708, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:31" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "file": "../ERC721A.sol", + "id": 3709, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3769, + "sourceUnit": 2708, + "src": "454:24:31", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3710, + "name": "ERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2707, + "src": "515:7:31" + }, + "id": 3711, + "nodeType": "InheritanceSpecifier", + "src": "515:7:31" + } + ], + "canonicalName": "ERC721AGasReporterMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3768, + "linearizedBaseContracts": [ + 3768, + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410 + ], + "name": "ERC721AGasReporterMock", + "nameLocation": "489:22:31", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3722, + "nodeType": "Block", + "src": "609:2:31", + "statements": [] + }, + "id": 3723, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3718, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3713, + "src": "593:5:31", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3719, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "600:7:31", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 3720, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3717, + "name": "ERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2707, + "src": "585:7:31" + }, + "nodeType": "ModifierInvocation", + "src": "585:23:31" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3713, + "mutability": "mutable", + "name": "name_", + "nameLocation": "555:5:31", + "nodeType": "VariableDeclaration", + "scope": 3723, + "src": "541:19:31", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3712, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "541:6:31", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3715, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "576:7:31", + "nodeType": "VariableDeclaration", + "scope": 3723, + "src": "562:21:31", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3714, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "562:6:31", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "540:44:31" + }, + "returnParameters": { + "id": 3721, + "nodeType": "ParameterList", + "parameters": [], + "src": "609:0:31" + }, + "scope": 3768, + "src": "529:82:31", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3733, + "nodeType": "Block", + "src": "657:33:31", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3729, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3725, + "src": "677:2:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "31", + "id": 3730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "681:1:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 3728, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1957, + 2120 + ], + "referencedDeclaration": 1957, + "src": "667:9:31", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "667:16:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3732, + "nodeType": "ExpressionStatement", + "src": "667:16:31" + } + ] + }, + "functionSelector": "db6745f8", + "id": 3734, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeMintOne", + "nameLocation": "626:11:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3725, + "mutability": "mutable", + "name": "to", + "nameLocation": "646:2:31", + "nodeType": "VariableDeclaration", + "scope": 3734, + "src": "638:10:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3724, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "638:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "637:12:31" + }, + "returnParameters": { + "id": 3727, + "nodeType": "ParameterList", + "parameters": [], + "src": "657:0:31" + }, + "scope": 3768, + "src": "617:73:31", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3744, + "nodeType": "Block", + "src": "732:29:31", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3740, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3736, + "src": "748:2:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "31", + "id": 3741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "752:1:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 3739, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2238, + "src": "742:5:31", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "742:12:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3743, + "nodeType": "ExpressionStatement", + "src": "742:12:31" + } + ] + }, + "functionSelector": "fa695a97", + "id": 3745, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mintOne", + "nameLocation": "705:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3736, + "mutability": "mutable", + "name": "to", + "nameLocation": "721:2:31", + "nodeType": "VariableDeclaration", + "scope": 3745, + "src": "713:10:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3735, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "713:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "712:12:31" + }, + "returnParameters": { + "id": 3738, + "nodeType": "ParameterList", + "parameters": [], + "src": "732:0:31" + }, + "scope": 3768, + "src": "696:65:31", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3755, + "nodeType": "Block", + "src": "807:34:31", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3751, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3747, + "src": "827:2:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "3130", + "id": 3752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "831:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + } + ], + "id": 3750, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1957, + 2120 + ], + "referencedDeclaration": 1957, + "src": "817:9:31", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "817:17:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3754, + "nodeType": "ExpressionStatement", + "src": "817:17:31" + } + ] + }, + "functionSelector": "81861f84", + "id": 3756, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeMintTen", + "nameLocation": "776:11:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3747, + "mutability": "mutable", + "name": "to", + "nameLocation": "796:2:31", + "nodeType": "VariableDeclaration", + "scope": 3756, + "src": "788:10:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3746, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "788:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "787:12:31" + }, + "returnParameters": { + "id": 3749, + "nodeType": "ParameterList", + "parameters": [], + "src": "807:0:31" + }, + "scope": 3768, + "src": "767:74:31", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3766, + "nodeType": "Block", + "src": "883:30:31", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3762, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3758, + "src": "899:2:31", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "3130", + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "903:2:31", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + } + ], + "id": 3761, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2238, + "src": "893:5:31", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "893:13:31", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3765, + "nodeType": "ExpressionStatement", + "src": "893:13:31" + } + ] + }, + "functionSelector": "ef9c0bec", + "id": 3767, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mintTen", + "nameLocation": "856:7:31", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3758, + "mutability": "mutable", + "name": "to", + "nameLocation": "872:2:31", + "nodeType": "VariableDeclaration", + "scope": 3767, + "src": "864:10:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "864:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "863:12:31" + }, + "returnParameters": { + "id": 3760, + "nodeType": "ParameterList", + "parameters": [], + "src": "883:0:31" + }, + "scope": 3768, + "src": "847:66:31", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 3769, + "src": "480:435:31", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367 + ] + } + ], + "src": "429:487:31" + }, + "bytecode": "60806040523480156200001157600080fd5b506040516200165f3803806200165f833981016040819052620000349162000130565b8181600262000044838262000229565b50600362000053828262000229565b506000805550620002f592505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008b57600080fd5b81516001600160401b0380821115620000a857620000a862000063565b604051601f8301601f19908116603f01168101908282118183101715620000d357620000d362000063565b81604052838152602092508683858801011115620000f057600080fd5b600091505b83821015620001145785820183015181830184015290820190620000f5565b83821115620001265760008385830101525b9695505050505050565b600080604083850312156200014457600080fd5b82516001600160401b03808211156200015c57600080fd5b6200016a8683870162000079565b935060208501519150808211156200018157600080fd5b50620001908582860162000079565b9150509250929050565b600181811c90821680620001af57607f821691505b602082108103620001d057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022457600081815260208120601f850160051c81016020861015620001ff5750805b601f850160051c820191505b8181101562000220578281556001016200020b565b5050505b505050565b81516001600160401b0381111562000245576200024562000063565b6200025d816200025684546200019a565b84620001d6565b602080601f8311600181146200029557600084156200027c5750858301515b600019600386901b1c1916600185901b17855562000220565b600085815260208120601f198616915b82811015620002c657888601518255948401946001909101908401620002a5565b5085821015620002e55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61135a80620003056000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806381861f84116100a2578063c87b56dd11610071578063c87b56dd1461023b578063db6745f81461024e578063e985e9c514610261578063ef9c0bec1461029d578063fa695a97146102b057600080fd5b806381861f84146101fa57806395d89b411461020d578063a22cb46514610215578063b88d4fde1461022857600080fd5b806318160ddd116100e957806318160ddd1461019857806323b872dd146101ae57806342842e0e146101c15780636352211e146101d457806370a08231146101e757600080fd5b806301ffc9a71461011b57806306fdde0314610143578063081812fc14610158578063095ea7b314610183575b600080fd5b61012e610129366004610ef0565b6102c3565b60405190151581526020015b60405180910390f35b61014b610315565b60405161013a9190610f65565b61016b610166366004610f78565b6103a7565b6040516001600160a01b03909116815260200161013a565b610196610191366004610fad565b6103eb565b005b600154600054035b60405190815260200161013a565b6101966101bc366004610fd7565b610471565b6101966101cf366004610fd7565b61047c565b61016b6101e2366004610f78565b610497565b6101a06101f5366004611013565b6104a9565b610196610208366004611013565b6104f8565b61014b610506565b61019661022336600461102e565b610515565b610196610236366004611080565b6105aa565b61014b610249366004610f78565b6105f4565b61019661025c366004611013565b610685565b61012e61026f36600461115c565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6101966102ab366004611013565b610690565b6101966102be366004611013565b61069b565b60006001600160e01b031982166380ac58cd60e01b14806102f457506001600160e01b03198216635b5e139f60e01b145b8061030f57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600280546103249061118f565b80601f01602080910402602001604051908101604052809291908181526020018280546103509061118f565b801561039d5780601f106103725761010080835404028352916020019161039d565b820191906000526020600020905b81548152906001019060200180831161038057829003601f168201915b5050505050905090565b60006103b2826106a6565b6103cf576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006103f682610497565b9050806001600160a01b0316836001600160a01b03160361042a5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b0382161461046157610444813361026f565b610461576040516367d9dca160e11b815260040160405180910390fd5b61046c8383836106d1565b505050565b61046c83838361072d565b61046c838383604051806020016040528060008152506105aa565b60006104a28261090a565b5192915050565b60006001600160a01b0382166104d2576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b61050381600a610a26565b50565b6060600380546103249061118f565b336001600160a01b0383160361053e5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6105b584848461072d565b6001600160a01b0383163b156105ee576105d184848484610a44565b6105ee576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606105ff826106a6565b61061c57604051630a14c4b560e41b815260040160405180910390fd5b600061063360408051602081019091526000815290565b90508051600003610653576040518060200160405280600081525061067e565b8061065d84610b30565b60405160200161066e9291906111c9565b6040516020818303038152906040525b9392505050565b610503816001610a26565b61050381600a610c31565b610503816001610c31565b600080548210801561030f575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006107388261090a565b9050836001600160a01b031681600001516001600160a01b03161461076f5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b038616148061078d575061078d853361026f565b806107a857503361079d846103a7565b6001600160a01b0316145b9050806107c857604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0384166107ef57604051633a954ecd60e21b815260040160405180910390fd5b6107fb600084876106d1565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff1980821667ffffffffffffffff92831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b429092169190910217835587018084529220805491939091166108d15760005482146108d1578054602086015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b031660008051602061130583398151915260405160405180910390a45050505050565b604080516060810182526000808252602082018190529181019190915281600054811015610a0d57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b810467ffffffffffffffff1692820192909252600160e01b90910460ff16151591810182905290610a0b5780516001600160a01b0316156109a1579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b820467ffffffffffffffff1693830193909352600160e01b900460ff1615159281019290925215610a06579392505050565b6109a1565b505b604051636f96cda160e11b815260040160405180910390fd5b610a40828260405180602001604052806000815250610d44565b5050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610a799033908990889088906004016111f8565b6020604051808303816000875af1925050508015610ab4575060408051601f3d908101601f19168201909252610ab191810190611235565b60015b610b12573d808015610ae2576040519150601f19603f3d011682016040523d82523d6000602084013e610ae7565b606091505b508051600003610b0a576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b606081600003610b575750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610b815780610b6b81611268565b9150610b7a9050600a83611297565b9150610b5b565b60008167ffffffffffffffff811115610b9c57610b9c61106a565b6040519080825280601f01601f191660200182016040528015610bc6576020820181803683370190505b5090505b8415610b2857610bdb6001836112ab565b9150610be8600a866112c2565b610bf39060306112d6565b60f81b818381518110610c0857610c086112ee565b60200101906001600160f81b031916908160001a905350610c2a600a86611297565b9450610bca565b6000546001600160a01b038316610c5a57604051622e076360e81b815260040160405180910390fd5b81600003610c7b5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546001600160801b0319811667ffffffffffffffff8083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b03871690600090600080516020611305833981519152908290a4808210610d0a5750600055505050565b6000546001600160a01b038416610d6d57604051622e076360e81b815260040160405180910390fd5b82600003610d8e5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260056020908152604080832080546001600160801b0319811667ffffffffffffffff8083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600490925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15610e97575b60405182906001600160a01b03881690600090600080516020611305833981519152908290a4610e606000878480600101955087610a44565b610e7d576040516368d2bf6b60e11b815260040160405180910390fd5b808210610e27578260005414610e9257600080fd5b610eca565b5b6040516001830192906001600160a01b03881690600090600080516020611305833981519152908290a4808210610e98575b5060009081556105ee9085838684565b6001600160e01b03198116811461050357600080fd5b600060208284031215610f0257600080fd5b813561067e81610eda565b60005b83811015610f28578181015183820152602001610f10565b838111156105ee5750506000910152565b60008151808452610f51816020860160208601610f0d565b601f01601f19169290920160200192915050565b60208152600061067e6020830184610f39565b600060208284031215610f8a57600080fd5b5035919050565b80356001600160a01b0381168114610fa857600080fd5b919050565b60008060408385031215610fc057600080fd5b610fc983610f91565b946020939093013593505050565b600080600060608486031215610fec57600080fd5b610ff584610f91565b925061100360208501610f91565b9150604084013590509250925092565b60006020828403121561102557600080fd5b61067e82610f91565b6000806040838503121561104157600080fd5b61104a83610f91565b91506020830135801515811461105f57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561109657600080fd5b61109f85610f91565b93506110ad60208601610f91565b925060408501359150606085013567ffffffffffffffff808211156110d157600080fd5b818701915087601f8301126110e557600080fd5b8135818111156110f7576110f761106a565b604051601f8201601f19908116603f0116810190838211818310171561111f5761111f61106a565b816040528281528a602084870101111561113857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561116f57600080fd5b61117883610f91565b915061118660208401610f91565b90509250929050565b600181811c908216806111a357607f821691505b6020821081036111c357634e487b7160e01b600052602260045260246000fd5b50919050565b600083516111db818460208801610f0d565b8351908301906111ef818360208801610f0d565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061122b90830184610f39565b9695505050505050565b60006020828403121561124757600080fd5b815161067e81610eda565b634e487b7160e01b600052601160045260246000fd5b60006001820161127a5761127a611252565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826112a6576112a6611281565b500490565b6000828210156112bd576112bd611252565b500390565b6000826112d1576112d1611281565b500690565b600082198211156112e9576112e9611252565b500190565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d5dd1d0ae82f7a37e4e33af4615ad4c3545164259646b0778a395f4f196fefa564736f6c634300080f0033", + "bytecodeSha1": "85fec4181c3ad596d742cf807e61059e42ead50a", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721AGasReporterMock", + "coverageMap": { + "branches": { + "1": {}, + "17": { + "ERC721A._checkContractOnERC721Received": { + "86": [ + 19927, + 19945, + false + ] + }, + "ERC721A._mint": { + "87": [ + 12705, + 12721, + false + ], + "88": [ + 12763, + 12776, + false + ] + }, + "ERC721A._ownershipOf": { + "83": [ + 5289, + 5309, + false + ], + "84": [ + 5459, + 5487, + false + ], + "85": [ + 6021, + 6049, + false + ] + }, + "ERC721A._safeMint": { + "89": [ + 10804, + 10820, + false + ], + "90": [ + 10862, + 10875, + false + ], + "91": [ + 11732, + 11801, + false + ], + "92": [ + 12007, + 12036, + false + ] + }, + "ERC721A._transfer": { + "79": [ + 14163, + 14189, + false + ], + "80": [ + 14380, + 14397, + false + ], + "81": [ + 14455, + 14471, + false + ], + "82": [ + 15745, + 15773, + false + ] + }, + "ERC721A.approve": { + "71": [ + 7663, + 7674, + false + ], + "72": [ + 7722, + 7743, + false + ], + "73": [ + 7762, + 7799, + false + ] + }, + "ERC721A.balanceOf": { + "74": [ + 3832, + 3851, + false + ] + }, + "ERC721A.getApproved": { + "70": [ + 8074, + 8090, + false + ] + }, + "ERC721A.safeTransferFrom": { + "76": [ + 9533, + 9589, + false + ] + }, + "ERC721A.setApprovalForAll": { + "75": [ + 8347, + 8371, + false + ] + }, + "ERC721A.tokenURI": { + "77": [ + 6937, + 6953, + false + ], + "78": [ + 7053, + 7079, + true + ] + } + }, + "22": {}, + "3": {}, + "31": {}, + "5": {}, + "7": {}, + "8": {} + }, + "statements": { + "1": {}, + "17": { + "ERC721A._approve": { + "30": [ + 18958, + 18987 + ], + "31": [ + 18997, + 19030 + ] + }, + "ERC721A._baseURI": { + "24": [ + 7464, + 7473 + ] + }, + "ERC721A._checkContractOnERC721Received": { + "48": [ + 19923, + 20152 + ], + "49": [ + 19807, + 19869 + ] + }, + "ERC721A._exists": { + "29": [ + 9996, + 10088 + ] + }, + "ERC721A._mint": { + "50": [ + 12701, + 12749 + ], + "51": [ + 12759, + 12803 + ], + "52": [ + 13146, + 13190 + ], + "53": [ + 13204, + 13253 + ], + "54": [ + 13268, + 13303 + ], + "55": [ + 13317, + 13383 + ], + "56": [ + 13520, + 13565 + ], + "57": [ + 13622, + 13650 + ] + }, + "ERC721A._ownershipOf": { + "43": [ + 5519, + 5535 + ], + "44": [ + 5922, + 5928 + ], + "45": [ + 5958, + 5987 + ], + "46": [ + 6085, + 6101 + ] + }, + "ERC721A._safeMint": { + "47": [ + 10242, + 10269 + ], + "58": [ + 10800, + 10848 + ], + "59": [ + 10858, + 10902 + ], + "60": [ + 11245, + 11289 + ], + "61": [ + 11303, + 11352 + ], + "62": [ + 11367, + 11402 + ], + "63": [ + 11416, + 11482 + ], + "64": [ + 11662, + 11705 + ], + "65": [ + 11727, + 11899 + ], + "66": [ + 12038, + 12046 + ], + "67": [ + 12110, + 12155 + ], + "68": [ + 12229, + 12257 + ], + "69": [ + 12277, + 12337 + ] + }, + "ERC721A._transfer": { + "32": [ + 14159, + 14226 + ], + "33": [ + 14375, + 14441 + ], + "34": [ + 14451, + 14503 + ], + "35": [ + 14619, + 14654 + ], + "36": [ + 14944, + 14975 + ], + "37": [ + 14989, + 15018 + ], + "38": [ + 15101, + 15119 + ], + "39": [ + 15133, + 15182 + ], + "40": [ + 15797, + 15817 + ], + "41": [ + 15839, + 15893 + ], + "42": [ + 15946, + 15978 + ] + }, + "ERC721A.approve": { + "7": [ + 7659, + 7707 + ], + "9": [ + 7757, + 7876 + ], + "10": [ + 7886, + 7914 + ] + }, + "ERC721A.balanceOf": { + "14": [ + 3828, + 3888 + ], + "15": [ + 3898, + 3941 + ] + }, + "ERC721A.getApproved": { + "5": [ + 8069, + 8133 + ], + "6": [ + 8144, + 8175 + ] + }, + "ERC721A.isApprovedForAll": { + "1": [ + 8710, + 8752 + ] + }, + "ERC721A.name": { + "4": [ + 6583, + 6595 + ] + }, + "ERC721A.ownerOf": { + "13": [ + 6402, + 6435 + ] + }, + "ERC721A.safeTransferFrom": { + "12": [ + 9184, + 9223 + ], + "21": [ + 9457, + 9485 + ], + "22": [ + 9528, + 9671 + ] + }, + "ERC721A.setApprovalForAll": { + "18": [ + 8343, + 8397 + ], + "19": [ + 8408, + 8461 + ], + "20": [ + 8471, + 8524 + ] + }, + "ERC721A.supportsInterface": { + "2": [ + 3540, + 3679 + ] + }, + "ERC721A.symbol": { + "17": [ + 6747, + 6761 + ] + }, + "ERC721A.tokenURI": { + "23": [ + 6932, + 6991 + ], + "25": [ + 7046, + 7140 + ] + }, + "ERC721A.totalSupply": { + "0": [ + 2920, + 2973 + ] + }, + "ERC721A.transferFrom": { + "11": [ + 8950, + 8978 + ] + } + }, + "22": {}, + "3": {}, + "31": { + "ERC721AGasReporterMock.mintOne": { + "28": [ + 742, + 754 + ] + }, + "ERC721AGasReporterMock.mintTen": { + "27": [ + 893, + 906 + ] + }, + "ERC721AGasReporterMock.safeMintOne": { + "26": [ + 667, + 683 + ] + }, + "ERC721AGasReporterMock.safeMintTen": { + "16": [ + 817, + 834 + ] + } + }, + "5": { + "Context._msgSender": { + "8": [ + 712, + 729 + ] + } + }, + "7": { + "ERC165.supportsInterface": { + "3": [ + 930, + 977 + ] + } + }, + "8": {} + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "ERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata" + ], + "deployedBytecode": "608060405234801561001057600080fd5b50600436106101165760003560e01c806381861f84116100a2578063c87b56dd11610071578063c87b56dd1461023b578063db6745f81461024e578063e985e9c514610261578063ef9c0bec1461029d578063fa695a97146102b057600080fd5b806381861f84146101fa57806395d89b411461020d578063a22cb46514610215578063b88d4fde1461022857600080fd5b806318160ddd116100e957806318160ddd1461019857806323b872dd146101ae57806342842e0e146101c15780636352211e146101d457806370a08231146101e757600080fd5b806301ffc9a71461011b57806306fdde0314610143578063081812fc14610158578063095ea7b314610183575b600080fd5b61012e610129366004610ef0565b6102c3565b60405190151581526020015b60405180910390f35b61014b610315565b60405161013a9190610f65565b61016b610166366004610f78565b6103a7565b6040516001600160a01b03909116815260200161013a565b610196610191366004610fad565b6103eb565b005b600154600054035b60405190815260200161013a565b6101966101bc366004610fd7565b610471565b6101966101cf366004610fd7565b61047c565b61016b6101e2366004610f78565b610497565b6101a06101f5366004611013565b6104a9565b610196610208366004611013565b6104f8565b61014b610506565b61019661022336600461102e565b610515565b610196610236366004611080565b6105aa565b61014b610249366004610f78565b6105f4565b61019661025c366004611013565b610685565b61012e61026f36600461115c565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6101966102ab366004611013565b610690565b6101966102be366004611013565b61069b565b60006001600160e01b031982166380ac58cd60e01b14806102f457506001600160e01b03198216635b5e139f60e01b145b8061030f57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600280546103249061118f565b80601f01602080910402602001604051908101604052809291908181526020018280546103509061118f565b801561039d5780601f106103725761010080835404028352916020019161039d565b820191906000526020600020905b81548152906001019060200180831161038057829003601f168201915b5050505050905090565b60006103b2826106a6565b6103cf576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006103f682610497565b9050806001600160a01b0316836001600160a01b03160361042a5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b0382161461046157610444813361026f565b610461576040516367d9dca160e11b815260040160405180910390fd5b61046c8383836106d1565b505050565b61046c83838361072d565b61046c838383604051806020016040528060008152506105aa565b60006104a28261090a565b5192915050565b60006001600160a01b0382166104d2576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b61050381600a610a26565b50565b6060600380546103249061118f565b336001600160a01b0383160361053e5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6105b584848461072d565b6001600160a01b0383163b156105ee576105d184848484610a44565b6105ee576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606105ff826106a6565b61061c57604051630a14c4b560e41b815260040160405180910390fd5b600061063360408051602081019091526000815290565b90508051600003610653576040518060200160405280600081525061067e565b8061065d84610b30565b60405160200161066e9291906111c9565b6040516020818303038152906040525b9392505050565b610503816001610a26565b61050381600a610c31565b610503816001610c31565b600080548210801561030f575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006107388261090a565b9050836001600160a01b031681600001516001600160a01b03161461076f5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b038616148061078d575061078d853361026f565b806107a857503361079d846103a7565b6001600160a01b0316145b9050806107c857604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0384166107ef57604051633a954ecd60e21b815260040160405180910390fd5b6107fb600084876106d1565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff1980821667ffffffffffffffff92831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b429092169190910217835587018084529220805491939091166108d15760005482146108d1578054602086015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b031660008051602061130583398151915260405160405180910390a45050505050565b604080516060810182526000808252602082018190529181019190915281600054811015610a0d57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b810467ffffffffffffffff1692820192909252600160e01b90910460ff16151591810182905290610a0b5780516001600160a01b0316156109a1579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b820467ffffffffffffffff1693830193909352600160e01b900460ff1615159281019290925215610a06579392505050565b6109a1565b505b604051636f96cda160e11b815260040160405180910390fd5b610a40828260405180602001604052806000815250610d44565b5050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610a799033908990889088906004016111f8565b6020604051808303816000875af1925050508015610ab4575060408051601f3d908101601f19168201909252610ab191810190611235565b60015b610b12573d808015610ae2576040519150601f19603f3d011682016040523d82523d6000602084013e610ae7565b606091505b508051600003610b0a576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b606081600003610b575750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610b815780610b6b81611268565b9150610b7a9050600a83611297565b9150610b5b565b60008167ffffffffffffffff811115610b9c57610b9c61106a565b6040519080825280601f01601f191660200182016040528015610bc6576020820181803683370190505b5090505b8415610b2857610bdb6001836112ab565b9150610be8600a866112c2565b610bf39060306112d6565b60f81b818381518110610c0857610c086112ee565b60200101906001600160f81b031916908160001a905350610c2a600a86611297565b9450610bca565b6000546001600160a01b038316610c5a57604051622e076360e81b815260040160405180910390fd5b81600003610c7b5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546001600160801b0319811667ffffffffffffffff8083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b03871690600090600080516020611305833981519152908290a4808210610d0a5750600055505050565b6000546001600160a01b038416610d6d57604051622e076360e81b815260040160405180910390fd5b82600003610d8e5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260056020908152604080832080546001600160801b0319811667ffffffffffffffff8083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600490925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15610e97575b60405182906001600160a01b03881690600090600080516020611305833981519152908290a4610e606000878480600101955087610a44565b610e7d576040516368d2bf6b60e11b815260040160405180910390fd5b808210610e27578260005414610e9257600080fd5b610eca565b5b6040516001830192906001600160a01b03881690600090600080516020611305833981519152908290a4808210610e98575b5060009081556105ee9085838684565b6001600160e01b03198116811461050357600080fd5b600060208284031215610f0257600080fd5b813561067e81610eda565b60005b83811015610f28578181015183820152602001610f10565b838111156105ee5750506000910152565b60008151808452610f51816020860160208601610f0d565b601f01601f19169290920160200192915050565b60208152600061067e6020830184610f39565b600060208284031215610f8a57600080fd5b5035919050565b80356001600160a01b0381168114610fa857600080fd5b919050565b60008060408385031215610fc057600080fd5b610fc983610f91565b946020939093013593505050565b600080600060608486031215610fec57600080fd5b610ff584610f91565b925061100360208501610f91565b9150604084013590509250925092565b60006020828403121561102557600080fd5b61067e82610f91565b6000806040838503121561104157600080fd5b61104a83610f91565b91506020830135801515811461105f57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561109657600080fd5b61109f85610f91565b93506110ad60208601610f91565b925060408501359150606085013567ffffffffffffffff808211156110d157600080fd5b818701915087601f8301126110e557600080fd5b8135818111156110f7576110f761106a565b604051601f8201601f19908116603f0116810190838211818310171561111f5761111f61106a565b816040528281528a602084870101111561113857600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561116f57600080fd5b61117883610f91565b915061118660208401610f91565b90509250929050565b600181811c908216806111a357607f821691505b6020821081036111c357634e487b7160e01b600052602260045260246000fd5b50919050565b600083516111db818460208801610f0d565b8351908301906111ef818360208801610f0d565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061122b90830184610f39565b9695505050505050565b60006020828403121561124757600080fd5b815161067e81610eda565b634e487b7160e01b600052601160045260246000fd5b60006001820161127a5761127a611252565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826112a6576112a6611281565b500490565b6000828210156112bd576112bd611252565b500390565b6000826112d1576112d1611281565b500690565b600082198211156112e9576112e9611252565b500190565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220d5dd1d0ae82f7a37e4e33af4615ad4c3545164259646b0778a395f4f196fefa564736f6c634300080f0033", + "deployedSourceMap": "480:435:31:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3422:264:17;;;;;;:::i;:::-;;:::i;:::-;;;565:14:43;;558:22;540:41;;528:2;513:18;3422:264:17;;;;;;;;6504:98;;;:::i;:::-;;;;;;;:::i;7982:200::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:43;;;1674:51;;1662:2;1647:18;7982:200:17;1528:203:43;7537:384:17;;;;;;:::i;:::-;;:::i;:::-;;2684:306;2943:12;;2737:7;2927:13;:28;2684:306;;;2319:25:43;;;2307:2;2292:18;2684:306:17;2173:177:43;8821:164:17;;;;;;:::i;:::-;;:::i;9051:179::-;;;;;;:::i;:::-;;:::i;6319:123::-;;;;;;:::i;:::-;;:::i;3745:203::-;;;;;;:::i;:::-;;:::i;767:74:31:-;;;;;;:::i;:::-;;:::i;6666:102:17:-;;;:::i;8249:282::-;;;;;;:::i;:::-;;:::i;9296:381::-;;;;;;:::i;:::-;;:::i;6834:313::-;;;;;;:::i;:::-;;:::i;617:73:31:-;;;;;;:::i;:::-;;:::i;8597:162:17:-;;;;;;:::i;:::-;-1:-1:-1;;;;;8717:25:17;;;8694:4;8717:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8597:162;847:66:31;;;;;;:::i;:::-;;:::i;696:65::-;;;;;;:::i;:::-;;:::i;3422:264:17:-;3524:4;-1:-1:-1;;;;;;3547:40:17;;-1:-1:-1;;;3547:40:17;;:92;;-1:-1:-1;;;;;;;3591:48:17;;-1:-1:-1;;;3591:48:17;3547:92;:132;;;-1:-1:-1;;;;;;;;;;937:40:7;;;3643:36:17;3540:139;3422:264;-1:-1:-1;;3422:264:17:o;6504:98::-;6558:13;6590:5;6583:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:98;:::o;7982:200::-;8050:7;8074:16;8082:7;8074;:16::i;:::-;8069:64;;8099:34;;-1:-1:-1;;;8099:34:17;;;;;;;;;;;8069:64;-1:-1:-1;8151:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;8151:24:17;;7982:200::o;7537:384::-;7609:13;7625:24;7641:7;7625:15;:24::i;:::-;7609:40;;7669:5;-1:-1:-1;;;;;7663:11:17;:2;-1:-1:-1;;;;;7663:11:17;;7659:48;;7683:24;;-1:-1:-1;;;7683:24:17;;;;;;;;;;;7659:48;719:10:5;-1:-1:-1;;;;;7722:21:17;;;7718:158;;7762:37;7779:5;719:10:5;8597:162:17;:::i;7762:37::-;7757:119;;7826:35;;-1:-1:-1;;;7826:35:17;;;;;;;;;;;7757:119;7886:28;7895:2;7899:7;7908:5;7886:8;:28::i;:::-;7599:322;7537:384;;:::o;8821:164::-;8950:28;8960:4;8966:2;8970:7;8950:9;:28::i;9051:179::-;9184:39;9201:4;9207:2;9211:7;9184:39;;;;;;;;;;;;:16;:39::i;6319:123::-;6383:7;6409:21;6422:7;6409:12;:21::i;:::-;:26;;6319:123;-1:-1:-1;;6319:123:17:o;3745:203::-;3809:7;-1:-1:-1;;;;;3832:19:17;;3828:60;;3860:28;;-1:-1:-1;;;3860:28:17;;;;;;;;;;;3828:60;-1:-1:-1;;;;;;3913:19:17;;;;;:12;:19;;;;;:27;;;;3745:203::o;767:74:31:-;817:17;827:2;831;817:9;:17::i;:::-;767:74;:::o;6666:102:17:-;6722:13;6754:7;6747:14;;;;;:::i;8249:282::-;719:10:5;-1:-1:-1;;;;;8347:24:17;;;8343:54;;8380:17;;-1:-1:-1;;;8380:17:17;;;;;;;;;;;8343:54;719:10:5;8408:32:17;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8408:42:17;;;;;;;;;;;;:53;;-1:-1:-1;;8408:53:17;;;;;;;;;;8476:48;;540:41:43;;;8408:42:17;;719:10:5;8476:48:17;;513:18:43;8476:48:17;;;;;;;8249:282;;:::o;9296:381::-;9457:28;9467:4;9473:2;9477:7;9457:9;:28::i;:::-;-1:-1:-1;;;;;9499:13:17;;1465:19:4;:23;9495:176:17;;9533:56;9564:4;9570:2;9574:7;9583:5;9533:30;:56::i;:::-;9528:143;;9616:40;;-1:-1:-1;;;9616:40:17;;;;;;;;;;;9528:143;9296:381;;;;:::o;6834:313::-;6907:13;6937:16;6945:7;6937;:16::i;:::-;6932:59;;6962:29;;-1:-1:-1;;;6962:29:17;;;;;;;;;;;6932:59;7002:21;7026:10;7464:9;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;7026:10;7002:34;;7059:7;7053:21;7078:1;7053:26;:87;;;;;;;;;;;;;;;;;7106:7;7115:18;:7;:16;:18::i;:::-;7089:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7053:87;7046:94;6834:313;-1:-1:-1;;;6834:313:17:o;617:73:31:-;667:16;677:2;681:1;667:9;:16::i;847:66::-;893:13;899:2;903;893:5;:13::i;696:65::-;742:12;748:2;752:1;742:5;:12::i;9923:172:17:-;9980:4;10043:13;;10033:7;:23;10003:85;;;;-1:-1:-1;;10061:20:17;;;;:11;:20;;;;;:27;-1:-1:-1;;;10061:27:17;;;;10060:28;;9923:172::o;18848:189::-;18958:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;18958:29:17;-1:-1:-1;;;;;18958:29:17;;;;;;;;;19002:28;;18958:24;;19002:28;;;;;;;18848:189;;;:::o;13979:2058::-;14089:35;14127:21;14140:7;14127:12;:21::i;:::-;14089:59;;14185:4;-1:-1:-1;;;;;14163:26:17;:13;:18;;;-1:-1:-1;;;;;14163:26:17;;14159:67;;14198:28;;-1:-1:-1;;;14198:28:17;;;;;;;;;;;14159:67;14237:22;719:10:5;-1:-1:-1;;;;;14263:20:17;;;;:60;;-1:-1:-1;14287:36:17;14304:4;719:10:5;8597:162:17;:::i;14287:36::-;14263:100;;;-1:-1:-1;719:10:5;14327:20:17;14339:7;14327:11;:20::i;:::-;-1:-1:-1;;;;;14327:36:17;;14263:100;14237:127;;14380:17;14375:66;;14406:35;;-1:-1:-1;;;14406:35:17;;;;;;;;;;;14375:66;-1:-1:-1;;;;;14455:16:17;;14451:52;;14480:23;;-1:-1:-1;;;14480:23:17;;;;;;;;;;;14451:52;14619:35;14636:1;14640:7;14649:4;14619:8;:35::i;:::-;-1:-1:-1;;;;;14944:18:17;;;;;;;:12;:18;;;;;;;;:31;;-1:-1:-1;;14944:31:17;;;;;;;-1:-1:-1;;14944:31:17;;;;;;;14989:16;;;;;;;;;:29;;;;;;;;-1:-1:-1;14989:29:17;;;;;;;;;;;15067:20;;;:11;:20;;;;;;15101:18;;-1:-1:-1;;;;;;15133:49:17;;;;-1:-1:-1;;;15166:15:17;15133:49;;;;;;;;;;15452:11;;15511:24;;;;;15553:13;;15067:20;;15511:24;;15553:13;15549:377;;15760:13;;15745:11;:28;15741:171;;15797:20;;15865:28;;;;15839:54;;-1:-1:-1;;;15839:54:17;-1:-1:-1;;;;;;15839:54:17;;;-1:-1:-1;;;;;15797:20:17;;15839:54;;;;15741:171;14920:1016;;;15970:7;15966:2;-1:-1:-1;;;;;15951:27:17;15960:4;-1:-1:-1;;;;;15951:27:17;-1:-1:-1;;;;;;;;;;;15951:27:17;;;;;;;;;14079:1958;;13979:2058;;;:::o;5088:1174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;5198:7:17;5296:13;;5289:4;:20;5285:913;;;5333:31;5367:17;;;:11;:17;;;;;;;;;5333:51;;;;;;;;;-1:-1:-1;;;;;5333:51:17;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;;;;5406:774;;5459:14;;-1:-1:-1;;;;;5459:28:17;;5455:107;;5526:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;5455:107::-;-1:-1:-1;;;5922:6:17;5970:17;;;;:11;:17;;;;;;;;;5958:29;;;;;;;;;-1:-1:-1;;;;;5958:29:17;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;;;6021:28;6017:115;;6092:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;6017:115::-;5879:279;;;5311:887;5285:913;6224:31;;-1:-1:-1;;;6224:31:17;;;;;;;;;;;10174:102;10242:27;10252:2;10256:8;10242:27;;;;;;;;;;;;:9;:27::i;:::-;10174:102;;:::o;19518:650::-;19696:72;;-1:-1:-1;;;19696:72:17;;19676:4;;-1:-1:-1;;;;;19696:36:17;;;;;:72;;719:10:5;;19747:4:17;;19753:7;;19762:5;;19696:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19696:72:17;;;;;;;;-1:-1:-1;;19696:72:17;;;;;;;;;;;;:::i;:::-;;;19692:470;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:6;:13;19944:1;19927:18;19923:229;;19972:40;;-1:-1:-1;;;19972:40:17;;;;;;;;;;;19923:229;20112:6;20106:13;20097:6;20093:2;20089:15;20082:38;19692:470;-1:-1:-1;;;;;;19814:55:17;-1:-1:-1;;;19814:55:17;;-1:-1:-1;19692:470:17;19518:650;;;;;;:::o;328:703:6:-;384:13;601:5;610:1;601:10;597:51;;-1:-1:-1;;627:10:6;;;;;;;;;;;;-1:-1:-1;;;627:10:6;;;;;328:703::o;597:51::-;672:5;657:12;711:75;718:9;;711:75;;743:8;;;;:::i;:::-;;-1:-1:-1;765:10:6;;-1:-1:-1;773:2:6;765:10;;:::i;:::-;;;711:75;;;795:19;827:6;817:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:17:6;;795:39;;844:150;851:10;;844:150;;877:11;887:1;877:11;;:::i;:::-;;-1:-1:-1;945:10:6;953:2;945:5;:10;:::i;:::-;932:24;;:2;:24;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;902:56:6;;;;;;;;-1:-1:-1;972:11:6;981:2;972:11;;:::i;:::-;;;844:150;;12591:1146:17;12655:20;12678:13;-1:-1:-1;;;;;12705:16:17;;12701:48;;12730:19;;-1:-1:-1;;;12730:19:17;;;;;;;;;;;12701:48;12763:8;12775:1;12763:13;12759:44;;12785:18;;-1:-1:-1;;;12785:18:17;;;;;;;;;;;12759:44;-1:-1:-1;;;;;13146:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;13204:49:17;;13146:44;;;;;;;;13204:49;;;-1:-1:-1;;;;;13146:44:17;;;;;;13204:49;;;;;;;;;;;;;;;;13268:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;13317:66:17;;;;-1:-1:-1;;;13367:15:17;13317:66;;;;;;;;;;13268:25;13461:23;;;13499:109;13525:40;;13550:14;;;;;-1:-1:-1;;;;;13525:40:17;;;13542:1;;-1:-1:-1;;;;;;;;;;;13525:40:17;13542:1;;13525:40;13603:3;13588:12;:18;13499:109;;-1:-1:-1;13622:13:17;:28;7599:322;7537:384;;:::o;10636:1708::-;10754:20;10777:13;-1:-1:-1;;;;;10804:16:17;;10800:48;;10829:19;;-1:-1:-1;;;10829:19:17;;;;;;;;;;;10800:48;10862:8;10874:1;10862:13;10858:44;;10884:18;;-1:-1:-1;;;10884:18:17;;;;;;;;;;;10858:44;-1:-1:-1;;;;;11245:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;11303:49:17;;11245:44;;;;;;;;11303:49;;;-1:-1:-1;;;;;11245:44:17;;;;;;11303:49;;;;;;;;;;;;;;;;11367:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;11416:66:17;;;-1:-1:-1;;;11466:15:17;11416:66;;;;;;;;;;;;;11367:25;;11560:23;;;;1465:19:4;:23;11598:618:17;;11637:308;11667:38;;11692:12;;-1:-1:-1;;;;;11667:38:17;;;11684:1;;-1:-1:-1;;;;;;;;;;;11667:38:17;11684:1;;11667:38;11732:69;11771:1;11775:2;11779:14;;;;;;11795:5;11732:30;:69::i;:::-;11727:172;;11836:40;;-1:-1:-1;;;11836:40:17;;;;;;;;;;;11727:172;11940:3;11925:12;:18;11637:308;;12024:12;12007:13;;:29;12003:43;;12038:8;;;12003:43;11598:618;;;12085:117;12115:40;;12140:14;;;;;-1:-1:-1;;;;;12115:40:17;;;12132:1;;-1:-1:-1;;;;;;;;;;;12115:40:17;12132:1;;12115:40;12197:3;12182:12;:18;12085:117;;11598:618;-1:-1:-1;12229:13:17;:28;;;12277:60;;12310:2;12314:12;12328:8;12277:60;:::i;14:131:43:-;-1:-1:-1;;;;;;88:32:43;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:43;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:43;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:43:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:43;;1343:180;-1:-1:-1;1343:180:43:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:43;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:43:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:186::-;2747:6;2800:2;2788:9;2779:7;2775:23;2771:32;2768:52;;;2816:1;2813;2806:12;2768:52;2839:29;2858:9;2839:29;:::i;2879:347::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3044:29;3063:9;3044:29;:::i;:::-;3034:39;;3123:2;3112:9;3108:18;3095:32;3170:5;3163:13;3156:21;3149:5;3146:32;3136:60;;3192:1;3189;3182:12;3136:60;3215:5;3205:15;;;2879:347;;;;;:::o;3231:127::-;3292:10;3287:3;3283:20;3280:1;3273:31;3323:4;3320:1;3313:15;3347:4;3344:1;3337:15;3363:1138;3458:6;3466;3474;3482;3535:3;3523:9;3514:7;3510:23;3506:33;3503:53;;;3552:1;3549;3542:12;3503:53;3575:29;3594:9;3575:29;:::i;:::-;3565:39;;3623:38;3657:2;3646:9;3642:18;3623:38;:::i;:::-;3613:48;;3708:2;3697:9;3693:18;3680:32;3670:42;;3763:2;3752:9;3748:18;3735:32;3786:18;3827:2;3819:6;3816:14;3813:34;;;3843:1;3840;3833:12;3813:34;3881:6;3870:9;3866:22;3856:32;;3926:7;3919:4;3915:2;3911:13;3907:27;3897:55;;3948:1;3945;3938:12;3897:55;3984:2;3971:16;4006:2;4002;3999:10;3996:36;;;4012:18;;:::i;:::-;4087:2;4081:9;4055:2;4141:13;;-1:-1:-1;;4137:22:43;;;4161:2;4133:31;4129:40;4117:53;;;4185:18;;;4205:22;;;4182:46;4179:72;;;4231:18;;:::i;:::-;4271:10;4267:2;4260:22;4306:2;4298:6;4291:18;4346:7;4341:2;4336;4332;4328:11;4324:20;4321:33;4318:53;;;4367:1;4364;4357:12;4318:53;4423:2;4418;4414;4410:11;4405:2;4397:6;4393:15;4380:46;4468:1;4463:2;4458;4450:6;4446:15;4442:24;4435:35;4489:6;4479:16;;;;;;;3363:1138;;;;;;;:::o;4506:260::-;4574:6;4582;4635:2;4623:9;4614:7;4610:23;4606:32;4603:52;;;4651:1;4648;4641:12;4603:52;4674:29;4693:9;4674:29;:::i;:::-;4664:39;;4722:38;4756:2;4745:9;4741:18;4722:38;:::i;:::-;4712:48;;4506:260;;;;;:::o;4771:380::-;4850:1;4846:12;;;;4893;;;4914:61;;4968:4;4960:6;4956:17;4946:27;;4914:61;5021:2;5013:6;5010:14;4990:18;4987:38;4984:161;;5067:10;5062:3;5058:20;5055:1;5048:31;5102:4;5099:1;5092:15;5130:4;5127:1;5120:15;4984:161;;4771:380;;;:::o;5156:470::-;5335:3;5373:6;5367:13;5389:53;5435:6;5430:3;5423:4;5415:6;5411:17;5389:53;:::i;:::-;5505:13;;5464:16;;;;5527:57;5505:13;5464:16;5561:4;5549:17;;5527:57;:::i;:::-;5600:20;;5156:470;-1:-1:-1;;;;5156:470:43:o;5631:489::-;-1:-1:-1;;;;;5900:15:43;;;5882:34;;5952:15;;5947:2;5932:18;;5925:43;5999:2;5984:18;;5977:34;;;6047:3;6042:2;6027:18;;6020:31;;;5825:4;;6068:46;;6094:19;;6086:6;6068:46;:::i;:::-;6060:54;5631:489;-1:-1:-1;;;;;;5631:489:43:o;6125:249::-;6194:6;6247:2;6235:9;6226:7;6222:23;6218:32;6215:52;;;6263:1;6260;6253:12;6215:52;6295:9;6289:16;6314:30;6338:5;6314:30;:::i;6379:127::-;6440:10;6435:3;6431:20;6428:1;6421:31;6471:4;6468:1;6461:15;6495:4;6492:1;6485:15;6511:135;6550:3;6571:17;;;6568:43;;6591:18;;:::i;:::-;-1:-1:-1;6638:1:43;6627:13;;6511:135::o;6651:127::-;6712:10;6707:3;6703:20;6700:1;6693:31;6743:4;6740:1;6733:15;6767:4;6764:1;6757:15;6783:120;6823:1;6849;6839:35;;6854:18;;:::i;:::-;-1:-1:-1;6888:9:43;;6783:120::o;6908:125::-;6948:4;6976:1;6973;6970:8;6967:34;;;6981:18;;:::i;:::-;-1:-1:-1;7018:9:43;;6908:125::o;7038:112::-;7070:1;7096;7086:35;;7101:18;;:::i;:::-;-1:-1:-1;7135:9:43;;7038:112::o;7155:128::-;7195:3;7226:1;7222:6;7219:1;7216:13;7213:39;;;7232:18;;:::i;:::-;-1:-1:-1;7268:9:43;;7155:128::o;7288:127::-;7349:10;7344:3;7340:20;7337:1;7330:31;7380:4;7377:1;7370:15;7404:4;7401:1;7394:15", + "language": "Solidity", + "natspec": { + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "offset": [ + 480, + 915 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x116 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x81861F84 GT PUSH2 0xA2 JUMPI DUP1 PUSH4 0xC87B56DD GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x23B JUMPI DUP1 PUSH4 0xDB6745F8 EQ PUSH2 0x24E JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x261 JUMPI DUP1 PUSH4 0xEF9C0BEC EQ PUSH2 0x29D JUMPI DUP1 PUSH4 0xFA695A97 EQ PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x81861F84 EQ PUSH2 0x1FA JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x20D JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x228 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xE9 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1AE JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x1D4 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x1E7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x11B JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x143 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x158 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x183 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12E PUSH2 0x129 CALLDATASIZE PUSH1 0x4 PUSH2 0xEF0 JUMP JUMPDEST PUSH2 0x2C3 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x14B PUSH2 0x315 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13A SWAP2 SWAP1 PUSH2 0xF65 JUMP JUMPDEST PUSH2 0x16B PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0xF78 JUMP JUMPDEST PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x13A JUMP JUMPDEST PUSH2 0x196 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0xFAD JUMP JUMPDEST PUSH2 0x3EB JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x13A JUMP JUMPDEST PUSH2 0x196 PUSH2 0x1BC CALLDATASIZE PUSH1 0x4 PUSH2 0xFD7 JUMP JUMPDEST PUSH2 0x471 JUMP JUMPDEST PUSH2 0x196 PUSH2 0x1CF CALLDATASIZE PUSH1 0x4 PUSH2 0xFD7 JUMP JUMPDEST PUSH2 0x47C JUMP JUMPDEST PUSH2 0x16B PUSH2 0x1E2 CALLDATASIZE PUSH1 0x4 PUSH2 0xF78 JUMP JUMPDEST PUSH2 0x497 JUMP JUMPDEST PUSH2 0x1A0 PUSH2 0x1F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x4A9 JUMP JUMPDEST PUSH2 0x196 PUSH2 0x208 CALLDATASIZE PUSH1 0x4 PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x4F8 JUMP JUMPDEST PUSH2 0x14B PUSH2 0x506 JUMP JUMPDEST PUSH2 0x196 PUSH2 0x223 CALLDATASIZE PUSH1 0x4 PUSH2 0x102E JUMP JUMPDEST PUSH2 0x515 JUMP JUMPDEST PUSH2 0x196 PUSH2 0x236 CALLDATASIZE PUSH1 0x4 PUSH2 0x1080 JUMP JUMPDEST PUSH2 0x5AA JUMP JUMPDEST PUSH2 0x14B PUSH2 0x249 CALLDATASIZE PUSH1 0x4 PUSH2 0xF78 JUMP JUMPDEST PUSH2 0x5F4 JUMP JUMPDEST PUSH2 0x196 PUSH2 0x25C CALLDATASIZE PUSH1 0x4 PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x685 JUMP JUMPDEST PUSH2 0x12E PUSH2 0x26F CALLDATASIZE PUSH1 0x4 PUSH2 0x115C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x196 PUSH2 0x2AB CALLDATASIZE PUSH1 0x4 PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x690 JUMP JUMPDEST PUSH2 0x196 PUSH2 0x2BE CALLDATASIZE PUSH1 0x4 PUSH2 0x1013 JUMP JUMPDEST PUSH2 0x69B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x2F4 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x30F JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x324 SWAP1 PUSH2 0x118F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x350 SWAP1 PUSH2 0x118F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x39D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x372 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x39D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x380 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3B2 DUP3 PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x3CF JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3F6 DUP3 PUSH2 0x497 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x42A JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x461 JUMPI PUSH2 0x444 DUP2 CALLER PUSH2 0x26F JUMP JUMPDEST PUSH2 0x461 JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x46C DUP4 DUP4 DUP4 PUSH2 0x6D1 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x46C DUP4 DUP4 DUP4 PUSH2 0x72D JUMP JUMPDEST PUSH2 0x46C DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x5AA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A2 DUP3 PUSH2 0x90A JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x4D2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH2 0x503 DUP2 PUSH1 0xA PUSH2 0xA26 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x324 SWAP1 PUSH2 0x118F JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x53E JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x5B5 DUP5 DUP5 DUP5 PUSH2 0x72D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x5EE JUMPI PUSH2 0x5D1 DUP5 DUP5 DUP5 DUP5 PUSH2 0xA44 JUMP JUMPDEST PUSH2 0x5EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5FF DUP3 PUSH2 0x6A6 JUMP JUMPDEST PUSH2 0x61C JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x633 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x653 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x67E JUMP JUMPDEST DUP1 PUSH2 0x65D DUP5 PUSH2 0xB30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x66E SWAP3 SWAP2 SWAP1 PUSH2 0x11C9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x503 DUP2 PUSH1 0x1 PUSH2 0xA26 JUMP JUMPDEST PUSH2 0x503 DUP2 PUSH1 0xA PUSH2 0xC31 JUMP JUMPDEST PUSH2 0x503 DUP2 PUSH1 0x1 PUSH2 0xC31 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP3 LT DUP1 ISZERO PUSH2 0x30F JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x738 DUP3 PUSH2 0x90A JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x76F JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0x78D JUMPI POP PUSH2 0x78D DUP6 CALLER PUSH2 0x26F JUMP JUMPDEST DUP1 PUSH2 0x7A8 JUMPI POP CALLER PUSH2 0x79D DUP5 PUSH2 0x3A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0x7C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x7EF JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x7FB PUSH1 0x0 DUP5 DUP8 PUSH2 0x6D1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0x8D1 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0x8D1 JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1305 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 PUSH1 0x0 SLOAD DUP2 LT ISZERO PUSH2 0xA0D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xA0B JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x9A1 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0xA06 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x9A1 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xA40 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xD44 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xA79 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x11F8 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xAB4 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xAB1 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1235 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xB12 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xAE2 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xAE7 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xB0A JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0xB57 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xB81 JUMPI DUP1 PUSH2 0xB6B DUP2 PUSH2 0x1268 JUMP JUMPDEST SWAP2 POP PUSH2 0xB7A SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x1297 JUMP JUMPDEST SWAP2 POP PUSH2 0xB5B JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB9C JUMPI PUSH2 0xB9C PUSH2 0x106A JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xBC6 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0xB28 JUMPI PUSH2 0xBDB PUSH1 0x1 DUP4 PUSH2 0x12AB JUMP JUMPDEST SWAP2 POP PUSH2 0xBE8 PUSH1 0xA DUP7 PUSH2 0x12C2 JUMP JUMPDEST PUSH2 0xBF3 SWAP1 PUSH1 0x30 PUSH2 0x12D6 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xC08 JUMPI PUSH2 0xC08 PUSH2 0x12EE JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0xC2A PUSH1 0xA DUP7 PUSH2 0x1297 JUMP JUMPDEST SWAP5 POP PUSH2 0xBCA JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xC5A JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0xC7B JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1305 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xD0A JUMPI POP PUSH1 0x0 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD6D JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 SUB PUSH2 0xD8E JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP12 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP12 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP2 SWAP1 DUP2 DUP6 ADD SWAP1 EXTCODESIZE ISZERO PUSH2 0xE97 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1305 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 PUSH2 0xE60 PUSH1 0x0 DUP8 DUP5 DUP1 PUSH1 0x1 ADD SWAP6 POP DUP8 PUSH2 0xA44 JUMP JUMPDEST PUSH2 0xE7D JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP3 LT PUSH2 0xE27 JUMPI DUP3 PUSH1 0x0 SLOAD EQ PUSH2 0xE92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xECA JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1305 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xE98 JUMPI JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 SSTORE PUSH2 0x5EE SWAP1 DUP6 DUP4 DUP7 DUP5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x503 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF02 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x67E DUP2 PUSH2 0xEDA JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xF28 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0xF10 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x5EE JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0xF51 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0xF0D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x67E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xF39 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xFA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xFC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFC9 DUP4 PUSH2 0xF91 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xFEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xFF5 DUP5 PUSH2 0xF91 JUMP JUMPDEST SWAP3 POP PUSH2 0x1003 PUSH1 0x20 DUP6 ADD PUSH2 0xF91 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1025 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x67E DUP3 PUSH2 0xF91 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1041 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x104A DUP4 PUSH2 0xF91 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x105F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1096 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x109F DUP6 PUSH2 0xF91 JUMP JUMPDEST SWAP4 POP PUSH2 0x10AD PUSH1 0x20 DUP7 ADD PUSH2 0xF91 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x10D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x10E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x10F7 JUMPI PUSH2 0x10F7 PUSH2 0x106A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x111F JUMPI PUSH2 0x111F PUSH2 0x106A JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x1138 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x116F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1178 DUP4 PUSH2 0xF91 JUMP JUMPDEST SWAP2 POP PUSH2 0x1186 PUSH1 0x20 DUP5 ADD PUSH2 0xF91 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x11A3 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x11C3 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x11DB DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0xF0D JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x11EF DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0xF0D JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x122B SWAP1 DUP4 ADD DUP5 PUSH2 0xF39 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1247 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x67E DUP2 PUSH2 0xEDA JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x127A JUMPI PUSH2 0x127A PUSH2 0x1252 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x12A6 JUMPI PUSH2 0x12A6 PUSH2 0x1281 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x12BD JUMPI PUSH2 0x12BD PUSH2 0x1252 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x12D1 JUMPI PUSH2 0x12D1 PUSH2 0x1281 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x12E9 JUMPI PUSH2 0x12E9 PUSH2 0x1252 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0xDD CALLCODE MSTORE 0xAD SHL 0xE2 0xC8 SWAP12 PUSH10 0xC2B068FC378DAA952BA7 CALL PUSH4 0xC4A11628 CREATE2 GAS 0x4D CREATE2 0x23 0xB3 0xEF LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD5 0xDD SAR EXP 0xE8 0x2F PUSH27 0x37E4E33AF4615AD4C3545164259646B0778A395F4F196FEFA56473 PUSH16 0x6C634300080F00330000000000000000 ", + "pcMap": { + "0": { + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "MSTORE", + "path": "31" + }, + "5": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "CALLVALUE", + "path": "31" + }, + "6": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "7": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "ISZERO", + "path": "31" + }, + "8": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "12": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "REVERT", + "path": "31" + }, + "16": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPDEST", + "path": "31" + }, + "17": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "POP", + "path": "31" + }, + "18": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "CALLDATASIZE", + "path": "31" + }, + "21": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "LT", + "path": "31" + }, + "22": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x116" + }, + "25": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "26": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "CALLDATALOAD", + "path": "31" + }, + "29": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "SHR", + "path": "31" + }, + "32": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "33": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x81861F84" + }, + "38": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "GT", + "path": "31" + }, + "39": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0xA2" + }, + "42": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "43": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "44": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xC87B56DD" + }, + "49": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "GT", + "path": "31" + }, + "50": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x71" + }, + "53": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "54": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "55": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xC87B56DD" + }, + "60": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "61": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x23B" + }, + "64": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "65": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "66": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xDB6745F8" + }, + "71": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "72": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x24E" + }, + "75": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "76": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "77": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xE985E9C5" + }, + "82": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "83": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x261" + }, + "86": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "87": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "88": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xEF9C0BEC" + }, + "93": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "94": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x29D" + }, + "97": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "98": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "99": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xFA695A97" + }, + "104": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "105": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x2B0" + }, + "108": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "109": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x0" + }, + "111": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "112": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "REVERT", + "path": "31" + }, + "113": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPDEST", + "path": "31" + }, + "114": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "115": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x81861F84" + }, + "120": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "121": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1FA" + }, + "124": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "125": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "126": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x95D89B41" + }, + "131": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "132": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x20D" + }, + "135": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "136": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "137": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xA22CB465" + }, + "142": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "143": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x215" + }, + "146": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "147": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "148": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0xB88D4FDE" + }, + "153": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "154": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x228" + }, + "157": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "158": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x0" + }, + "160": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "161": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "REVERT", + "path": "31" + }, + "162": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPDEST", + "path": "31" + }, + "163": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "164": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x18160DDD" + }, + "169": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "GT", + "path": "31" + }, + "170": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0xE9" + }, + "173": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "174": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "175": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x18160DDD" + }, + "180": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "181": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x198" + }, + "184": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "185": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "186": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x23B872DD" + }, + "191": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "192": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1AE" + }, + "195": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "196": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "197": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x42842E0E" + }, + "202": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "203": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1C1" + }, + "206": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "207": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "208": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x6352211E" + }, + "213": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "214": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1D4" + }, + "217": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "218": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "219": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x70A08231" + }, + "224": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "225": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1E7" + }, + "228": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "229": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x0" + }, + "231": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "232": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "REVERT", + "path": "31" + }, + "233": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPDEST", + "path": "31" + }, + "234": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "235": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x1FFC9A7" + }, + "240": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "241": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x11B" + }, + "244": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "245": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "246": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x6FDDE03" + }, + "251": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "252": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x143" + }, + "255": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "256": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "257": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x81812FC" + }, + "262": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "263": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x158" + }, + "266": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "267": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "268": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH4", + "path": "31", + "value": "0x95EA7B3" + }, + "273": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "EQ", + "path": "31" + }, + "274": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH2", + "path": "31", + "value": "0x183" + }, + "277": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPI", + "path": "31" + }, + "278": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "JUMPDEST", + "path": "31" + }, + "279": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "PUSH1", + "path": "31", + "value": "0x0" + }, + "281": { + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "DUP1", + "path": "31" + }, + "282": { + "first_revert": true, + "fn": null, + "offset": [ + 480, + 915 + ], + "op": "REVERT", + "path": "31" + }, + "283": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "284": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12E" + }, + "287": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x129" + }, + "290": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "291": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "293": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEF0" + }, + "296": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "297": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "298": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2C3" + }, + "301": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "302": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "303": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "305": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "306": { + "op": "SWAP1" + }, + "307": { + "op": "ISZERO" + }, + "308": { + "op": "ISZERO" + }, + "309": { + "op": "DUP2" + }, + "310": { + "op": "MSTORE" + }, + "311": { + "op": "PUSH1", + "value": "0x20" + }, + "313": { + "op": "ADD" + }, + "314": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "315": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "317": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "318": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "319": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "320": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SUB", + "path": "17" + }, + "321": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP1", + "path": "17" + }, + "322": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "RETURN", + "path": "17" + }, + "323": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "324": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14B" + }, + "327": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x315" + }, + "330": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "331": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "332": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "334": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "MLOAD", + "path": "17" + }, + "335": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13A" + }, + "338": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP2", + "path": "17" + }, + "339": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "340": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF65" + }, + "343": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "344": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "345": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16B" + }, + "348": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x166" + }, + "351": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "352": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "354": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF78" + }, + "357": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "358": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "359": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3A7" + }, + "362": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "363": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "364": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "366": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "MLOAD", + "path": "17" + }, + "367": { + "op": "PUSH1", + "value": "0x1" + }, + "369": { + "op": "PUSH1", + "value": "0x1" + }, + "371": { + "op": "PUSH1", + "value": "0xA0" + }, + "373": { + "op": "SHL" + }, + "374": { + "op": "SUB" + }, + "375": { + "op": "SWAP1" + }, + "376": { + "op": "SWAP2" + }, + "377": { + "op": "AND" + }, + "378": { + "op": "DUP2" + }, + "379": { + "op": "MSTORE" + }, + "380": { + "op": "PUSH1", + "value": "0x20" + }, + "382": { + "op": "ADD" + }, + "383": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13A" + }, + "386": { + "op": "JUMP" + }, + "387": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "388": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x196" + }, + "391": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x191" + }, + "394": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "395": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "397": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFAD" + }, + "400": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "401": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "402": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3EB" + }, + "405": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "406": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "407": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "STOP", + "path": "17" + }, + "408": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "409": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "statement": 0, + "value": "0x1" + }, + "411": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "412": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "414": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "415": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "416": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "417": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "419": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "MLOAD", + "path": "17" + }, + "420": { + "op": "SWAP1" + }, + "421": { + "op": "DUP2" + }, + "422": { + "op": "MSTORE" + }, + "423": { + "op": "PUSH1", + "value": "0x20" + }, + "425": { + "op": "ADD" + }, + "426": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13A" + }, + "429": { + "op": "JUMP" + }, + "430": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "431": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x196" + }, + "434": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1BC" + }, + "437": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "438": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "440": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFD7" + }, + "443": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "444": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "445": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x471" + }, + "448": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "449": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "450": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x196" + }, + "453": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1CF" + }, + "456": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "457": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "459": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFD7" + }, + "462": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "463": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "464": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x47C" + }, + "467": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "468": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "469": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16B" + }, + "472": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1E2" + }, + "475": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "476": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "478": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF78" + }, + "481": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "482": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "483": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x497" + }, + "486": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "487": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "488": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A0" + }, + "491": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F5" + }, + "494": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "495": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "497": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1013" + }, + "500": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "501": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "502": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4A9" + }, + "505": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "506": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "JUMPDEST", + "path": "31" + }, + "507": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "PUSH2", + "path": "31", + "value": "0x196" + }, + "510": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "PUSH2", + "path": "31", + "value": "0x208" + }, + "513": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "CALLDATASIZE", + "path": "31" + }, + "514": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "PUSH1", + "path": "31", + "value": "0x4" + }, + "516": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1013" + }, + "519": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "jump": "i", + "offset": [ + 767, + 841 + ], + "op": "JUMP", + "path": "31" + }, + "520": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "JUMPDEST", + "path": "31" + }, + "521": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "PUSH2", + "path": "31", + "value": "0x4F8" + }, + "524": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "jump": "i", + "offset": [ + 767, + 841 + ], + "op": "JUMP", + "path": "31" + }, + "525": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "526": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14B" + }, + "529": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x506" + }, + "532": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6666, + 6768 + ], + "op": "JUMP", + "path": "17" + }, + "533": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "534": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x196" + }, + "537": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x223" + }, + "540": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "541": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "543": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x102E" + }, + "546": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "547": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "548": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x515" + }, + "551": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "552": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "553": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x196" + }, + "556": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x236" + }, + "559": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "560": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "562": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1080" + }, + "565": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "566": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "567": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5AA" + }, + "570": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "571": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "572": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14B" + }, + "575": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x249" + }, + "578": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "579": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "581": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF78" + }, + "584": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "585": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "586": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5F4" + }, + "589": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "590": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "JUMPDEST", + "path": "31" + }, + "591": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "PUSH2", + "path": "31", + "value": "0x196" + }, + "594": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "PUSH2", + "path": "31", + "value": "0x25C" + }, + "597": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "CALLDATASIZE", + "path": "31" + }, + "598": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "PUSH1", + "path": "31", + "value": "0x4" + }, + "600": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1013" + }, + "603": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "jump": "i", + "offset": [ + 617, + 690 + ], + "op": "JUMP", + "path": "31" + }, + "604": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "JUMPDEST", + "path": "31" + }, + "605": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "PUSH2", + "path": "31", + "value": "0x685" + }, + "608": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "jump": "i", + "offset": [ + 617, + 690 + ], + "op": "JUMP", + "path": "31" + }, + "609": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "610": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12E" + }, + "613": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x26F" + }, + "616": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "617": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "619": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x115C" + }, + "622": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "623": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "624": { + "op": "PUSH1", + "value": "0x1" + }, + "626": { + "op": "PUSH1", + "value": "0x1" + }, + "628": { + "op": "PUSH1", + "value": "0xA0" + }, + "630": { + "op": "SHL" + }, + "631": { + "op": "SUB" + }, + "632": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP2", + "path": "17", + "statement": 1 + }, + "633": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP3", + "path": "17" + }, + "634": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "AND", + "path": "17" + }, + "635": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8694, + 8698 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "637": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "638": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "639": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "640": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "642": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "644": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "645": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "646": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "647": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "649": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP1", + "path": "17" + }, + "650": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP4", + "path": "17" + }, + "651": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "KECCAK256", + "path": "17" + }, + "652": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP4", + "path": "17" + }, + "653": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "654": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP5", + "path": "17" + }, + "655": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "656": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "DUP3", + "path": "17" + }, + "657": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "658": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "659": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "660": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "661": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "662": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "KECCAK256", + "path": "17" + }, + "663": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SLOAD", + "path": "17" + }, + "664": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "666": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "667": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "668": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "669": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "JUMPDEST", + "path": "31" + }, + "670": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "PUSH2", + "path": "31", + "value": "0x196" + }, + "673": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "PUSH2", + "path": "31", + "value": "0x2AB" + }, + "676": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "CALLDATASIZE", + "path": "31" + }, + "677": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "PUSH1", + "path": "31", + "value": "0x4" + }, + "679": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1013" + }, + "682": { + "fn": "ERC721AGasReporterMock.mintTen", + "jump": "i", + "offset": [ + 847, + 913 + ], + "op": "JUMP", + "path": "31" + }, + "683": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "JUMPDEST", + "path": "31" + }, + "684": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "PUSH2", + "path": "31", + "value": "0x690" + }, + "687": { + "fn": "ERC721AGasReporterMock.mintTen", + "jump": "i", + "offset": [ + 847, + 913 + ], + "op": "JUMP", + "path": "31" + }, + "688": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "JUMPDEST", + "path": "31" + }, + "689": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "PUSH2", + "path": "31", + "value": "0x196" + }, + "692": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "PUSH2", + "path": "31", + "value": "0x2BE" + }, + "695": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "CALLDATASIZE", + "path": "31" + }, + "696": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "PUSH1", + "path": "31", + "value": "0x4" + }, + "698": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "PUSH2", + "path": "31", + "value": "0x1013" + }, + "701": { + "fn": "ERC721AGasReporterMock.mintOne", + "jump": "i", + "offset": [ + 696, + 761 + ], + "op": "JUMP", + "path": "31" + }, + "702": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "JUMPDEST", + "path": "31" + }, + "703": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "PUSH2", + "path": "31", + "value": "0x69B" + }, + "706": { + "fn": "ERC721AGasReporterMock.mintOne", + "jump": "i", + "offset": [ + 696, + 761 + ], + "op": "JUMP", + "path": "31" + }, + "707": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "708": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3524, + 3528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "710": { + "op": "PUSH1", + "value": "0x1" + }, + "712": { + "op": "PUSH1", + "value": "0x1" + }, + "714": { + "op": "PUSH1", + "value": "0xE0" + }, + "716": { + "op": "SHL" + }, + "717": { + "op": "SUB" + }, + "718": { + "op": "NOT" + }, + "719": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP3", + "path": "17", + "statement": 2 + }, + "720": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "AND", + "path": "17" + }, + "721": { + "op": "PUSH4", + "value": "0x80AC58CD" + }, + "726": { + "op": "PUSH1", + "value": "0xE0" + }, + "728": { + "op": "SHL" + }, + "729": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "EQ", + "path": "17" + }, + "730": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP1", + "path": "17" + }, + "731": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2F4" + }, + "734": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPI", + "path": "17" + }, + "735": { + "op": "POP" + }, + "736": { + "op": "PUSH1", + "value": "0x1" + }, + "738": { + "op": "PUSH1", + "value": "0x1" + }, + "740": { + "op": "PUSH1", + "value": "0xE0" + }, + "742": { + "op": "SHL" + }, + "743": { + "op": "SUB" + }, + "744": { + "op": "NOT" + }, + "745": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "DUP3", + "path": "17" + }, + "746": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "AND", + "path": "17" + }, + "747": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "752": { + "op": "PUSH1", + "value": "0xE0" + }, + "754": { + "op": "SHL" + }, + "755": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "EQ", + "path": "17" + }, + "756": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPDEST", + "path": "17" + }, + "757": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "DUP1", + "path": "17" + }, + "758": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "PUSH2", + "path": "17", + "value": "0x30F" + }, + "761": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "JUMPI", + "path": "17" + }, + "762": { + "op": "POP" + }, + "763": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "768": { + "op": "PUSH1", + "value": "0xE0" + }, + "770": { + "op": "SHL" + }, + "771": { + "op": "PUSH1", + "value": "0x1" + }, + "773": { + "op": "PUSH1", + "value": "0x1" + }, + "775": { + "op": "PUSH1", + "value": "0xE0" + }, + "777": { + "op": "SHL" + }, + "778": { + "op": "SUB" + }, + "779": { + "op": "NOT" + }, + "780": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "DUP4", + "path": "7", + "statement": 3 + }, + "781": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "AND", + "path": "7" + }, + "782": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "EQ", + "path": "7" + }, + "783": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3643, + 3679 + ], + "op": "JUMPDEST", + "path": "17" + }, + "784": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3540, + 3679 + ], + "op": "SWAP3", + "path": "17" + }, + "785": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "786": { + "op": "POP" + }, + "787": { + "op": "POP" + }, + "788": { + "fn": "ERC721A.supportsInterface", + "jump": "o", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "789": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "790": { + "fn": "ERC721A.name", + "offset": [ + 6558, + 6571 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "792": { + "fn": "ERC721A.name", + "offset": [ + 6590, + 6595 + ], + "op": "PUSH1", + "path": "17", + "statement": 4, + "value": "0x2" + }, + "794": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "795": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "796": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x324" + }, + "799": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "800": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x118F" + }, + "803": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "804": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "805": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "806": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "808": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "809": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "811": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "812": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "813": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "814": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "815": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "817": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "818": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "820": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MLOAD", + "path": "17" + }, + "821": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "822": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "823": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "824": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "826": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "827": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "828": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP3", + "path": "17" + }, + "829": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "830": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "831": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "832": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "833": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "834": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "836": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "837": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "838": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "839": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "840": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x350" + }, + "843": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "844": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x118F" + }, + "847": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "848": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "849": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "850": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ISZERO", + "path": "17" + }, + "851": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x39D" + }, + "854": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "855": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "856": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "858": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "LT", + "path": "17" + }, + "859": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x372" + }, + "862": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "863": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100" + }, + "866": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "867": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "868": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "869": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "870": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "871": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "872": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "873": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "874": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "876": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "877": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "878": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x39D" + }, + "881": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "882": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "883": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "884": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "885": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "886": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "887": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "889": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "890": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "892": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "894": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "KECCAK256", + "path": "17" + }, + "895": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "896": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "897": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "898": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "899": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "900": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "901": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "902": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "904": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "905": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "906": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "908": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "909": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "910": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "911": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "GT", + "path": "17" + }, + "912": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x380" + }, + "915": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "916": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "917": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "918": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SUB", + "path": "17" + }, + "919": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "921": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "AND", + "path": "17" + }, + "922": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "923": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "924": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "925": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "926": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "927": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "928": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "929": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "930": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "931": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "932": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "933": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "934": { + "fn": "ERC721A.name", + "jump": "o", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "935": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "936": { + "fn": "ERC721A.getApproved", + "offset": [ + 8050, + 8057 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "938": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "PUSH2", + "path": "17", + "statement": 5, + "value": "0x3B2" + }, + "941": { + "fn": "ERC721A.getApproved", + "offset": [ + 8082, + 8089 + ], + "op": "DUP3", + "path": "17" + }, + "942": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8081 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6A6" + }, + "945": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 8074, + 8090 + ], + "op": "JUMP", + "path": "17" + }, + "946": { + "branch": 70, + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "JUMPDEST", + "path": "17" + }, + "947": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3CF" + }, + "950": { + "branch": 70, + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPI", + "path": "17" + }, + "951": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "953": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "954": { + "op": "PUSH4", + "value": "0x33D1C039" + }, + "959": { + "op": "PUSH1", + "value": "0xE2" + }, + "961": { + "op": "SHL" + }, + "962": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP2", + "path": "17" + }, + "963": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MSTORE", + "path": "17" + }, + "964": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "966": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "ADD", + "path": "17" + }, + "967": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "969": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "970": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP1", + "path": "17" + }, + "971": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP2", + "path": "17" + }, + "972": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SUB", + "path": "17" + }, + "973": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP1", + "path": "17" + }, + "974": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "REVERT", + "path": "17" + }, + "975": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "976": { + "op": "POP" + }, + "977": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "statement": 6, + "value": "0x0" + }, + "979": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "980": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "DUP2", + "path": "17" + }, + "981": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "982": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8166 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "984": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "986": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "987": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "989": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "990": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "KECCAK256", + "path": "17" + }, + "991": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SLOAD", + "path": "17" + }, + "992": { + "op": "PUSH1", + "value": "0x1" + }, + "994": { + "op": "PUSH1", + "value": "0x1" + }, + "996": { + "op": "PUSH1", + "value": "0xA0" + }, + "998": { + "op": "SHL" + }, + "999": { + "op": "SUB" + }, + "1000": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "AND", + "path": "17" + }, + "1001": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1002": { + "fn": "ERC721A.getApproved", + "jump": "o", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "1003": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1004": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7622 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1006": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3F6" + }, + "1009": { + "fn": "ERC721A.approve", + "offset": [ + 7641, + 7648 + ], + "op": "DUP3", + "path": "17" + }, + "1010": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7640 + ], + "op": "PUSH2", + "path": "17", + "value": "0x497" + }, + "1013": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7625, + 7649 + ], + "op": "JUMP", + "path": "17" + }, + "1014": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1015": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "SWAP1", + "path": "17" + }, + "1016": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "POP", + "path": "17" + }, + "1017": { + "fn": "ERC721A.approve", + "offset": [ + 7669, + 7674 + ], + "op": "DUP1", + "path": "17", + "statement": 7 + }, + "1018": { + "op": "PUSH1", + "value": "0x1" + }, + "1020": { + "op": "PUSH1", + "value": "0x1" + }, + "1022": { + "op": "PUSH1", + "value": "0xA0" + }, + "1024": { + "op": "SHL" + }, + "1025": { + "op": "SUB" + }, + "1026": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1027": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7665 + ], + "op": "DUP4", + "path": "17" + }, + "1028": { + "op": "PUSH1", + "value": "0x1" + }, + "1030": { + "op": "PUSH1", + "value": "0x1" + }, + "1032": { + "op": "PUSH1", + "value": "0xA0" + }, + "1034": { + "op": "SHL" + }, + "1035": { + "op": "SUB" + }, + "1036": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1037": { + "branch": 71, + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "SUB", + "path": "17" + }, + "1038": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "PUSH2", + "path": "17", + "value": "0x42A" + }, + "1041": { + "branch": 71, + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPI", + "path": "17" + }, + "1042": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1044": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1045": { + "op": "PUSH4", + "value": "0x250FDEE3" + }, + "1050": { + "op": "PUSH1", + "value": "0xE2" + }, + "1052": { + "op": "SHL" + }, + "1053": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP2", + "path": "17" + }, + "1054": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MSTORE", + "path": "17" + }, + "1055": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1057": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "ADD", + "path": "17" + }, + "1058": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1060": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1061": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP1", + "path": "17" + }, + "1062": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP2", + "path": "17" + }, + "1063": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SUB", + "path": "17" + }, + "1064": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP1", + "path": "17" + }, + "1065": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "REVERT", + "path": "17" + }, + "1066": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1067": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 8 + }, + "1068": { + "op": "PUSH1", + "value": "0x1" + }, + "1070": { + "op": "PUSH1", + "value": "0x1" + }, + "1072": { + "op": "PUSH1", + "value": "0xA0" + }, + "1074": { + "op": "SHL" + }, + "1075": { + "op": "SUB" + }, + "1076": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "DUP3", + "path": "17" + }, + "1077": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "AND", + "path": "17" + }, + "1078": { + "branch": 72, + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "EQ", + "path": "17" + }, + "1079": { + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x461" + }, + "1082": { + "branch": 72, + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1083": { + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "PUSH2", + "path": "17", + "statement": 9, + "value": "0x444" + }, + "1086": { + "fn": "ERC721A.approve", + "offset": [ + 7779, + 7784 + ], + "op": "DUP2", + "path": "17" + }, + "1087": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1088": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x26F" + }, + "1091": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1092": { + "branch": 73, + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1093": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x461" + }, + "1096": { + "branch": 73, + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1097": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1099": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1100": { + "op": "PUSH4", + "value": "0x67D9DCA1" + }, + "1105": { + "op": "PUSH1", + "value": "0xE1" + }, + "1107": { + "op": "SHL" + }, + "1108": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP2", + "path": "17" + }, + "1109": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MSTORE", + "path": "17" + }, + "1110": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1112": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "ADD", + "path": "17" + }, + "1113": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1115": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1116": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP1", + "path": "17" + }, + "1117": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP2", + "path": "17" + }, + "1118": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SUB", + "path": "17" + }, + "1119": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP1", + "path": "17" + }, + "1120": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "REVERT", + "path": "17" + }, + "1121": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1122": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "PUSH2", + "path": "17", + "statement": 10, + "value": "0x46C" + }, + "1125": { + "fn": "ERC721A.approve", + "offset": [ + 7895, + 7897 + ], + "op": "DUP4", + "path": "17" + }, + "1126": { + "fn": "ERC721A.approve", + "offset": [ + 7899, + 7906 + ], + "op": "DUP4", + "path": "17" + }, + "1127": { + "fn": "ERC721A.approve", + "offset": [ + 7908, + 7913 + ], + "op": "DUP4", + "path": "17" + }, + "1128": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7894 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6D1" + }, + "1131": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7886, + 7914 + ], + "op": "JUMP", + "path": "17" + }, + "1132": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1133": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1134": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1135": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1136": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "1137": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1138": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8978 + ], + "op": "PUSH2", + "path": "17", + "statement": 11, + "value": "0x46C" + }, + "1141": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8960, + 8964 + ], + "op": "DUP4", + "path": "17" + }, + "1142": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8966, + 8968 + ], + "op": "DUP4", + "path": "17" + }, + "1143": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8970, + 8977 + ], + "op": "DUP4", + "path": "17" + }, + "1144": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8959 + ], + "op": "PUSH2", + "path": "17", + "value": "0x72D" + }, + "1147": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8950, + 8978 + ], + "op": "JUMP", + "path": "17" + }, + "1148": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1149": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH2", + "path": "17", + "statement": 12, + "value": "0x46C" + }, + "1152": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9201, + 9205 + ], + "op": "DUP4", + "path": "17" + }, + "1153": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9207, + 9209 + ], + "op": "DUP4", + "path": "17" + }, + "1154": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9211, + 9218 + ], + "op": "DUP4", + "path": "17" + }, + "1155": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1157": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MLOAD", + "path": "17" + }, + "1158": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1159": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1161": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "ADD", + "path": "17" + }, + "1162": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1164": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1165": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1166": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1168": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP2", + "path": "17" + }, + "1169": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1170": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "POP", + "path": "17" + }, + "1171": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9200 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5AA" + }, + "1174": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9184, + 9223 + ], + "op": "JUMP", + "path": "17" + }, + "1175": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1176": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6383, + 6390 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1178": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "PUSH2", + "path": "17", + "statement": 13, + "value": "0x4A2" + }, + "1181": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6422, + 6429 + ], + "op": "DUP3", + "path": "17" + }, + "1182": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6421 + ], + "op": "PUSH2", + "path": "17", + "value": "0x90A" + }, + "1185": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6409, + 6430 + ], + "op": "JUMP", + "path": "17" + }, + "1186": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1187": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "MLOAD", + "path": "17" + }, + "1188": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "SWAP3", + "path": "17" + }, + "1189": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "SWAP2", + "path": "17" + }, + "1190": { + "op": "POP" + }, + "1191": { + "op": "POP" + }, + "1192": { + "fn": "ERC721A.ownerOf", + "jump": "o", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "1193": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1194": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3809, + 3816 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1196": { + "op": "PUSH1", + "value": "0x1" + }, + "1198": { + "op": "PUSH1", + "value": "0x1" + }, + "1200": { + "op": "PUSH1", + "value": "0xA0" + }, + "1202": { + "op": "SHL" + }, + "1203": { + "op": "SUB" + }, + "1204": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "DUP3", + "path": "17", + "statement": 14 + }, + "1205": { + "branch": 74, + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "AND", + "path": "17" + }, + "1206": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4D2" + }, + "1209": { + "branch": 74, + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPI", + "path": "17" + }, + "1210": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1212": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1213": { + "op": "PUSH4", + "value": "0x23D3AD81" + }, + "1218": { + "op": "PUSH1", + "value": "0xE2" + }, + "1220": { + "op": "SHL" + }, + "1221": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP2", + "path": "17" + }, + "1222": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MSTORE", + "path": "17" + }, + "1223": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1225": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "ADD", + "path": "17" + }, + "1226": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1228": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1229": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP1", + "path": "17" + }, + "1230": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP2", + "path": "17" + }, + "1231": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SUB", + "path": "17" + }, + "1232": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP1", + "path": "17" + }, + "1233": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "REVERT", + "path": "17" + }, + "1234": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1235": { + "op": "POP" + }, + "1236": { + "op": "PUSH1", + "value": "0x1" + }, + "1238": { + "op": "PUSH1", + "value": "0x1" + }, + "1240": { + "op": "PUSH1", + "value": "0xA0" + }, + "1242": { + "op": "SHL" + }, + "1243": { + "op": "SUB" + }, + "1244": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "AND", + "path": "17", + "statement": 15 + }, + "1245": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1247": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1248": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "DUP2", + "path": "17" + }, + "1249": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1250": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3925 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "1252": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1254": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1255": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1257": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1258": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "KECCAK256", + "path": "17" + }, + "1259": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SLOAD", + "path": "17" + }, + "1260": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1269": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "AND", + "path": "17" + }, + "1270": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SWAP1", + "path": "17" + }, + "1271": { + "fn": "ERC721A.balanceOf", + "jump": "o", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "1272": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "JUMPDEST", + "path": "31" + }, + "1273": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 817, + 834 + ], + "op": "PUSH2", + "path": "31", + "statement": 16, + "value": "0x503" + }, + "1276": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 827, + 829 + ], + "op": "DUP2", + "path": "31" + }, + "1277": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 831, + 833 + ], + "op": "PUSH1", + "path": "31", + "value": "0xA" + }, + "1279": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 817, + 826 + ], + "op": "PUSH2", + "path": "31", + "value": "0xA26" + }, + "1282": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "jump": "i", + "offset": [ + 817, + 834 + ], + "op": "JUMP", + "path": "31" + }, + "1283": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 817, + 834 + ], + "op": "JUMPDEST", + "path": "31" + }, + "1284": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "offset": [ + 767, + 841 + ], + "op": "POP", + "path": "31" + }, + "1285": { + "fn": "ERC721AGasReporterMock.safeMintTen", + "jump": "o", + "offset": [ + 767, + 841 + ], + "op": "JUMP", + "path": "31" + }, + "1286": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1287": { + "fn": "ERC721A.symbol", + "offset": [ + 6722, + 6735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1289": { + "fn": "ERC721A.symbol", + "offset": [ + 6754, + 6761 + ], + "op": "PUSH1", + "path": "17", + "statement": 17, + "value": "0x3" + }, + "1291": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "DUP1", + "path": "17" + }, + "1292": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SLOAD", + "path": "17" + }, + "1293": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x324" + }, + "1296": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SWAP1", + "path": "17" + }, + "1297": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x118F" + }, + "1300": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6747, + 6761 + ], + "op": "JUMP", + "path": "17" + }, + "1301": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1302": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1303": { + "op": "PUSH1", + "value": "0x1" + }, + "1305": { + "op": "PUSH1", + "value": "0x1" + }, + "1307": { + "op": "PUSH1", + "value": "0xA0" + }, + "1309": { + "op": "SHL" + }, + "1310": { + "op": "SUB" + }, + "1311": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "DUP4", + "path": "17", + "statement": 18 + }, + "1312": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "AND", + "path": "17" + }, + "1313": { + "branch": 75, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "SUB", + "path": "17" + }, + "1314": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "PUSH2", + "path": "17", + "value": "0x53E" + }, + "1317": { + "branch": 75, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPI", + "path": "17" + }, + "1318": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1320": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1321": { + "op": "PUSH4", + "value": "0xB06307DB" + }, + "1326": { + "op": "PUSH1", + "value": "0xE0" + }, + "1328": { + "op": "SHL" + }, + "1329": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP2", + "path": "17" + }, + "1330": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MSTORE", + "path": "17" + }, + "1331": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1333": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "ADD", + "path": "17" + }, + "1334": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1336": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1337": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP1", + "path": "17" + }, + "1338": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP2", + "path": "17" + }, + "1339": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SUB", + "path": "17" + }, + "1340": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP1", + "path": "17" + }, + "1341": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "REVERT", + "path": "17" + }, + "1342": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1343": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1344": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "statement": 19, + "value": "0x0" + }, + "1346": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1347": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1348": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1349": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8426 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "1351": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1353": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "SWAP1", + "path": "17" + }, + "1354": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1355": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1356": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1358": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP1", + "path": "17" + }, + "1359": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP4", + "path": "17" + }, + "1360": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "KECCAK256", + "path": "17" + }, + "1361": { + "op": "PUSH1", + "value": "0x1" + }, + "1363": { + "op": "PUSH1", + "value": "0x1" + }, + "1365": { + "op": "PUSH1", + "value": "0xA0" + }, + "1367": { + "op": "SHL" + }, + "1368": { + "op": "SUB" + }, + "1369": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP8", + "path": "17" + }, + "1370": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "AND", + "path": "17" + }, + "1371": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP1", + "path": "17" + }, + "1372": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP6", + "path": "17" + }, + "1373": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1374": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1375": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP4", + "path": "17" + }, + "1376": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1377": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1378": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP2", + "path": "17" + }, + "1379": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1380": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "KECCAK256", + "path": "17" + }, + "1381": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP1", + "path": "17" + }, + "1382": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SLOAD", + "path": "17" + }, + "1383": { + "op": "PUSH1", + "value": "0xFF" + }, + "1385": { + "op": "NOT" + }, + "1386": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "AND", + "path": "17" + }, + "1387": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP7", + "path": "17" + }, + "1388": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1389": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1390": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1391": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP2", + "path": "17" + }, + "1392": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "OR", + "path": "17" + }, + "1393": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1394": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP2", + "path": "17" + }, + "1395": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SSTORE", + "path": "17" + }, + "1396": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17", + "statement": 20 + }, + "1397": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1398": { + "op": "SWAP1" + }, + "1399": { + "op": "DUP2" + }, + "1400": { + "op": "MSTORE" + }, + "1401": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP2", + "path": "17" + }, + "1402": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1403": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP2", + "path": "5" + }, + "1404": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH32", + "path": "17", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "1437": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1438": { + "op": "ADD" + }, + "1439": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1441": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1442": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "DUP1", + "path": "17" + }, + "1443": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1444": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SUB", + "path": "17" + }, + "1445": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17" + }, + "1446": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "LOG3", + "path": "17" + }, + "1447": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1448": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1449": { + "fn": "ERC721A.setApprovalForAll", + "jump": "o", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "1450": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1451": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "PUSH2", + "path": "17", + "statement": 21, + "value": "0x5B5" + }, + "1454": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9467, + 9471 + ], + "op": "DUP5", + "path": "17" + }, + "1455": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9473, + 9475 + ], + "op": "DUP5", + "path": "17" + }, + "1456": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9477, + 9484 + ], + "op": "DUP5", + "path": "17" + }, + "1457": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9466 + ], + "op": "PUSH2", + "path": "17", + "value": "0x72D" + }, + "1460": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9457, + 9485 + ], + "op": "JUMP", + "path": "17" + }, + "1461": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1462": { + "op": "PUSH1", + "value": "0x1" + }, + "1464": { + "op": "PUSH1", + "value": "0x1" + }, + "1466": { + "op": "PUSH1", + "value": "0xA0" + }, + "1468": { + "op": "SHL" + }, + "1469": { + "op": "SUB" + }, + "1470": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "DUP4", + "path": "17" + }, + "1471": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "AND", + "path": "17" + }, + "1472": { + "op": "EXTCODESIZE" + }, + "1473": { + "op": "ISZERO" + }, + "1474": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5EE" + }, + "1477": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1478": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "PUSH2", + "path": "17", + "statement": 22, + "value": "0x5D1" + }, + "1481": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9564, + 9568 + ], + "op": "DUP5", + "path": "17" + }, + "1482": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9570, + 9572 + ], + "op": "DUP5", + "path": "17" + }, + "1483": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9574, + 9581 + ], + "op": "DUP5", + "path": "17" + }, + "1484": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9583, + 9588 + ], + "op": "DUP5", + "path": "17" + }, + "1485": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9563 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA44" + }, + "1488": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9533, + 9589 + ], + "op": "JUMP", + "path": "17" + }, + "1489": { + "branch": 76, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1490": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5EE" + }, + "1493": { + "branch": 76, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1494": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1496": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1497": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "1502": { + "op": "PUSH1", + "value": "0xE1" + }, + "1504": { + "op": "SHL" + }, + "1505": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP2", + "path": "17" + }, + "1506": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MSTORE", + "path": "17" + }, + "1507": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1509": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "ADD", + "path": "17" + }, + "1510": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1512": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1513": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP1", + "path": "17" + }, + "1514": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP2", + "path": "17" + }, + "1515": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SUB", + "path": "17" + }, + "1516": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP1", + "path": "17" + }, + "1517": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "REVERT", + "path": "17" + }, + "1518": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1519": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1520": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1521": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1522": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1523": { + "fn": "ERC721A.safeTransferFrom", + "jump": "o", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "1524": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1525": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6907, + 6920 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1527": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6953 + ], + "op": "PUSH2", + "path": "17", + "statement": 23, + "value": "0x5FF" + }, + "1530": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6945, + 6952 + ], + "op": "DUP3", + "path": "17" + }, + "1531": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6944 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6A6" + }, + "1534": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6937, + 6953 + ], + "op": "JUMP", + "path": "17" + }, + "1535": { + "branch": 77, + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6953 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1536": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "PUSH2", + "path": "17", + "value": "0x61C" + }, + "1539": { + "branch": 77, + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "JUMPI", + "path": "17" + }, + "1540": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1542": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MLOAD", + "path": "17" + }, + "1543": { + "op": "PUSH4", + "value": "0xA14C4B5" + }, + "1548": { + "op": "PUSH1", + "value": "0xE4" + }, + "1550": { + "op": "SHL" + }, + "1551": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "DUP2", + "path": "17" + }, + "1552": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MSTORE", + "path": "17" + }, + "1553": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1555": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "ADD", + "path": "17" + }, + "1556": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1558": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MLOAD", + "path": "17" + }, + "1559": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "DUP1", + "path": "17" + }, + "1560": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SWAP2", + "path": "17" + }, + "1561": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SUB", + "path": "17" + }, + "1562": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SWAP1", + "path": "17" + }, + "1563": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "REVERT", + "path": "17" + }, + "1564": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1565": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7023 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1567": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7026, + 7036 + ], + "op": "PUSH2", + "path": "17", + "value": "0x633" + }, + "1570": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "statement": 24, + "value": "0x40" + }, + "1572": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "1573": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "1574": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1576": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1577": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "1578": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1579": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "1580": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1581": { + "op": "PUSH1", + "value": "0x0" + }, + "1583": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1584": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1585": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1586": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "1587": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7026, + 7036 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1588": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7036 + ], + "op": "SWAP1", + "path": "17" + }, + "1589": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7036 + ], + "op": "POP", + "path": "17" + }, + "1590": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7059, + 7066 + ], + "op": "DUP1", + "path": "17", + "statement": 25 + }, + "1591": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7074 + ], + "op": "MLOAD", + "path": "17" + }, + "1592": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7078, + 7079 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1594": { + "branch": 78, + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7079 + ], + "op": "SUB", + "path": "17" + }, + "1595": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH2", + "path": "17", + "value": "0x653" + }, + "1598": { + "branch": 78, + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPI", + "path": "17" + }, + "1599": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1601": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MLOAD", + "path": "17" + }, + "1602": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP1", + "path": "17" + }, + "1603": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1605": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "ADD", + "path": "17" + }, + "1606": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1608": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MSTORE", + "path": "17" + }, + "1609": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP1", + "path": "17" + }, + "1610": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1612": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP2", + "path": "17" + }, + "1613": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MSTORE", + "path": "17" + }, + "1614": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "POP", + "path": "17" + }, + "1615": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH2", + "path": "17", + "value": "0x67E" + }, + "1618": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMP", + "path": "17" + }, + "1619": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1620": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7106, + 7113 + ], + "op": "DUP1", + "path": "17" + }, + "1621": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x65D" + }, + "1624": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7122 + ], + "op": "DUP5", + "path": "17" + }, + "1625": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7131 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB30" + }, + "1628": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 7115, + 7133 + ], + "op": "JUMP", + "path": "17" + }, + "1629": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1630": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1632": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MLOAD", + "path": "17" + }, + "1633": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1635": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "ADD", + "path": "17" + }, + "1636": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH2", + "path": "17", + "value": "0x66E" + }, + "1639": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP3", + "path": "17" + }, + "1640": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP2", + "path": "17" + }, + "1641": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP1", + "path": "17" + }, + "1642": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH2", + "path": "17", + "value": "0x11C9" + }, + "1645": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 7089, + 7134 + ], + "op": "JUMP", + "path": "17" + }, + "1646": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1647": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1649": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MLOAD", + "path": "17" + }, + "1650": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1652": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP2", + "path": "17" + }, + "1653": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP4", + "path": "17" + }, + "1654": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SUB", + "path": "17" + }, + "1655": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SUB", + "path": "17" + }, + "1656": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP2", + "path": "17" + }, + "1657": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MSTORE", + "path": "17" + }, + "1658": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP1", + "path": "17" + }, + "1659": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1661": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MSTORE", + "path": "17" + }, + "1662": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1663": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7046, + 7140 + ], + "op": "SWAP4", + "path": "17" + }, + "1664": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "SWAP3", + "path": "17" + }, + "1665": { + "op": "POP" + }, + "1666": { + "op": "POP" + }, + "1667": { + "op": "POP" + }, + "1668": { + "fn": "ERC721A.tokenURI", + "jump": "o", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "1669": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 617, + 690 + ], + "op": "JUMPDEST", + "path": "31" + }, + "1670": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 667, + 683 + ], + "op": "PUSH2", + "path": "31", + "statement": 26, + "value": "0x503" + }, + "1673": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 677, + 679 + ], + "op": "DUP2", + "path": "31" + }, + "1674": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 681, + 682 + ], + "op": "PUSH1", + "path": "31", + "value": "0x1" + }, + "1676": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "offset": [ + 667, + 676 + ], + "op": "PUSH2", + "path": "31", + "value": "0xA26" + }, + "1679": { + "fn": "ERC721AGasReporterMock.safeMintOne", + "jump": "i", + "offset": [ + 667, + 683 + ], + "op": "JUMP", + "path": "31" + }, + "1680": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 847, + 913 + ], + "op": "JUMPDEST", + "path": "31" + }, + "1681": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 893, + 906 + ], + "op": "PUSH2", + "path": "31", + "statement": 27, + "value": "0x503" + }, + "1684": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 899, + 901 + ], + "op": "DUP2", + "path": "31" + }, + "1685": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 903, + 905 + ], + "op": "PUSH1", + "path": "31", + "value": "0xA" + }, + "1687": { + "fn": "ERC721AGasReporterMock.mintTen", + "offset": [ + 893, + 898 + ], + "op": "PUSH2", + "path": "31", + "value": "0xC31" + }, + "1690": { + "fn": "ERC721AGasReporterMock.mintTen", + "jump": "i", + "offset": [ + 893, + 906 + ], + "op": "JUMP", + "path": "31" + }, + "1691": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 696, + 761 + ], + "op": "JUMPDEST", + "path": "31" + }, + "1692": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 742, + 754 + ], + "op": "PUSH2", + "path": "31", + "statement": 28, + "value": "0x503" + }, + "1695": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 748, + 750 + ], + "op": "DUP2", + "path": "31" + }, + "1696": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 752, + 753 + ], + "op": "PUSH1", + "path": "31", + "value": "0x1" + }, + "1698": { + "fn": "ERC721AGasReporterMock.mintOne", + "offset": [ + 742, + 747 + ], + "op": "PUSH2", + "path": "31", + "value": "0xC31" + }, + "1701": { + "fn": "ERC721AGasReporterMock.mintOne", + "jump": "i", + "offset": [ + 742, + 754 + ], + "op": "JUMP", + "path": "31" + }, + "1702": { + "fn": "ERC721A._exists", + "offset": [ + 9923, + 10095 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1703": { + "fn": "ERC721A._exists", + "offset": [ + 9980, + 9984 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1705": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "DUP1", + "path": "17", + "statement": 29 + }, + "1706": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "SLOAD", + "path": "17" + }, + "1707": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10040 + ], + "op": "DUP3", + "path": "17" + }, + "1708": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10056 + ], + "op": "LT", + "path": "17" + }, + "1709": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "DUP1", + "path": "17" + }, + "1710": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "1711": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "PUSH2", + "path": "17", + "value": "0x30F" + }, + "1714": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "JUMPI", + "path": "17" + }, + "1715": { + "op": "POP" + }, + "1716": { + "op": "POP" + }, + "1717": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1719": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "1720": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "DUP2", + "path": "17" + }, + "1721": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "1722": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10072 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1724": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1726": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "1727": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1729": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "1730": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "KECCAK256", + "path": "17" + }, + "1731": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SLOAD", + "path": "17" + }, + "1732": { + "op": "PUSH1", + "value": "0x1" + }, + "1734": { + "op": "PUSH1", + "value": "0xE0" + }, + "1736": { + "op": "SHL" + }, + "1737": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "1738": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "DIV", + "path": "17" + }, + "1739": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "1741": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "AND", + "path": "17" + }, + "1742": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "1743": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "1744": { + "fn": "ERC721A._exists", + "jump": "o", + "offset": [ + 9923, + 10095 + ], + "op": "JUMP", + "path": "17" + }, + "1745": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1746": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "statement": 30, + "value": "0x0" + }, + "1748": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "1749": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP2", + "path": "17" + }, + "1750": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "1751": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18973 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1753": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1755": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "1756": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1758": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP1", + "path": "17" + }, + "1759": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "1760": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "KECCAK256", + "path": "17" + }, + "1761": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP1", + "path": "17" + }, + "1762": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SLOAD", + "path": "17" + }, + "1763": { + "op": "PUSH1", + "value": "0x1" + }, + "1765": { + "op": "PUSH1", + "value": "0x1" + }, + "1767": { + "op": "PUSH1", + "value": "0xA0" + }, + "1769": { + "op": "SHL" + }, + "1770": { + "op": "SUB" + }, + "1771": { + "op": "NOT" + }, + "1772": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "1773": { + "op": "PUSH1", + "value": "0x1" + }, + "1775": { + "op": "PUSH1", + "value": "0x1" + }, + "1777": { + "op": "PUSH1", + "value": "0xA0" + }, + "1779": { + "op": "SHL" + }, + "1780": { + "op": "SUB" + }, + "1781": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP8", + "path": "17" + }, + "1782": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP2", + "path": "17" + }, + "1783": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "1784": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP2", + "path": "17" + }, + "1785": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP3", + "path": "17" + }, + "1786": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "OR", + "path": "17" + }, + "1787": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP1", + "path": "17" + }, + "1788": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP3", + "path": "17" + }, + "1789": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SSTORE", + "path": "17" + }, + "1790": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17", + "statement": 31 + }, + "1791": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "MLOAD", + "path": "17" + }, + "1792": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP6", + "path": "17" + }, + "1793": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "SWAP4", + "path": "17" + }, + "1794": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "1795": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "DUP6", + "path": "17" + }, + "1796": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "AND", + "path": "17" + }, + "1797": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "1798": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "PUSH32", + "path": "17", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "1831": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "1832": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "LOG4", + "path": "17" + }, + "1833": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "1834": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "1835": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "1836": { + "fn": "ERC721A._approve", + "jump": "o", + "offset": [ + 18848, + 19037 + ], + "op": "JUMP", + "path": "17" + }, + "1837": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1838": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14124 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1840": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "PUSH2", + "path": "17", + "value": "0x738" + }, + "1843": { + "fn": "ERC721A._transfer", + "offset": [ + 14140, + 14147 + ], + "op": "DUP3", + "path": "17" + }, + "1844": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14139 + ], + "op": "PUSH2", + "path": "17", + "value": "0x90A" + }, + "1847": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14127, + 14148 + ], + "op": "JUMP", + "path": "17" + }, + "1848": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1849": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "SWAP1", + "path": "17" + }, + "1850": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "POP", + "path": "17" + }, + "1851": { + "fn": "ERC721A._transfer", + "offset": [ + 14185, + 14189 + ], + "op": "DUP4", + "path": "17", + "statement": 32 + }, + "1852": { + "op": "PUSH1", + "value": "0x1" + }, + "1854": { + "op": "PUSH1", + "value": "0x1" + }, + "1856": { + "op": "PUSH1", + "value": "0xA0" + }, + "1858": { + "op": "SHL" + }, + "1859": { + "op": "SUB" + }, + "1860": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "1861": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14176 + ], + "op": "DUP2", + "path": "17" + }, + "1862": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1864": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "ADD", + "path": "17" + }, + "1865": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "MLOAD", + "path": "17" + }, + "1866": { + "op": "PUSH1", + "value": "0x1" + }, + "1868": { + "op": "PUSH1", + "value": "0x1" + }, + "1870": { + "op": "PUSH1", + "value": "0xA0" + }, + "1872": { + "op": "SHL" + }, + "1873": { + "op": "SUB" + }, + "1874": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "1875": { + "branch": 79, + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "EQ", + "path": "17" + }, + "1876": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "PUSH2", + "path": "17", + "value": "0x76F" + }, + "1879": { + "branch": 79, + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPI", + "path": "17" + }, + "1880": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1882": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "1883": { + "op": "PUSH3", + "value": "0xA11481" + }, + "1887": { + "op": "PUSH1", + "value": "0xE8" + }, + "1889": { + "op": "SHL" + }, + "1890": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP2", + "path": "17" + }, + "1891": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MSTORE", + "path": "17" + }, + "1892": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1894": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "ADD", + "path": "17" + }, + "1895": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1897": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "1898": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP1", + "path": "17" + }, + "1899": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP2", + "path": "17" + }, + "1900": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SUB", + "path": "17" + }, + "1901": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP1", + "path": "17" + }, + "1902": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "REVERT", + "path": "17" + }, + "1903": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1904": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14259 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1906": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1907": { + "op": "PUSH1", + "value": "0x1" + }, + "1909": { + "op": "PUSH1", + "value": "0x1" + }, + "1911": { + "op": "PUSH1", + "value": "0xA0" + }, + "1913": { + "op": "SHL" + }, + "1914": { + "op": "SUB" + }, + "1915": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP7", + "path": "17" + }, + "1916": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "AND", + "path": "17" + }, + "1917": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "EQ", + "path": "17" + }, + "1918": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP1", + "path": "17" + }, + "1919": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x78D" + }, + "1922": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "JUMPI", + "path": "17" + }, + "1923": { + "op": "POP" + }, + "1924": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x78D" + }, + "1927": { + "fn": "ERC721A._transfer", + "offset": [ + 14304, + 14308 + ], + "op": "DUP6", + "path": "17" + }, + "1928": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1929": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x26F" + }, + "1932": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1933": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1934": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "DUP1", + "path": "17" + }, + "1935": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7A8" + }, + "1938": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPI", + "path": "17" + }, + "1939": { + "op": "POP" + }, + "1940": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1941": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "PUSH2", + "path": "17", + "value": "0x79D" + }, + "1944": { + "fn": "ERC721A._transfer", + "offset": [ + 14339, + 14346 + ], + "op": "DUP5", + "path": "17" + }, + "1945": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14338 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3A7" + }, + "1948": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14327, + 14347 + ], + "op": "JUMP", + "path": "17" + }, + "1949": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1950": { + "op": "PUSH1", + "value": "0x1" + }, + "1952": { + "op": "PUSH1", + "value": "0x1" + }, + "1954": { + "op": "PUSH1", + "value": "0xA0" + }, + "1956": { + "op": "SHL" + }, + "1957": { + "op": "SUB" + }, + "1958": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "AND", + "path": "17" + }, + "1959": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "EQ", + "path": "17" + }, + "1960": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1961": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "SWAP1", + "path": "17" + }, + "1962": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "POP", + "path": "17" + }, + "1963": { + "branch": 80, + "fn": "ERC721A._transfer", + "offset": [ + 14380, + 14397 + ], + "op": "DUP1", + "path": "17", + "statement": 33 + }, + "1964": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7C8" + }, + "1967": { + "branch": 80, + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPI", + "path": "17" + }, + "1968": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1970": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "1971": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "1976": { + "op": "PUSH1", + "value": "0xE1" + }, + "1978": { + "op": "SHL" + }, + "1979": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP2", + "path": "17" + }, + "1980": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MSTORE", + "path": "17" + }, + "1981": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1983": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "ADD", + "path": "17" + }, + "1984": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1986": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "1987": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP1", + "path": "17" + }, + "1988": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP2", + "path": "17" + }, + "1989": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SUB", + "path": "17" + }, + "1990": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP1", + "path": "17" + }, + "1991": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "REVERT", + "path": "17" + }, + "1992": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1993": { + "op": "PUSH1", + "value": "0x1" + }, + "1995": { + "op": "PUSH1", + "value": "0x1" + }, + "1997": { + "op": "PUSH1", + "value": "0xA0" + }, + "1999": { + "op": "SHL" + }, + "2000": { + "op": "SUB" + }, + "2001": { + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "DUP5", + "path": "17", + "statement": 34 + }, + "2002": { + "branch": 81, + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "AND", + "path": "17" + }, + "2003": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7EF" + }, + "2006": { + "branch": 81, + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPI", + "path": "17" + }, + "2007": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2009": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2010": { + "op": "PUSH4", + "value": "0x3A954ECD" + }, + "2015": { + "op": "PUSH1", + "value": "0xE2" + }, + "2017": { + "op": "SHL" + }, + "2018": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP2", + "path": "17" + }, + "2019": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MSTORE", + "path": "17" + }, + "2020": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2022": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "ADD", + "path": "17" + }, + "2023": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2025": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2026": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP1", + "path": "17" + }, + "2027": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP2", + "path": "17" + }, + "2028": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SUB", + "path": "17" + }, + "2029": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP1", + "path": "17" + }, + "2030": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "REVERT", + "path": "17" + }, + "2031": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2032": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "PUSH2", + "path": "17", + "statement": 35, + "value": "0x7FB" + }, + "2035": { + "fn": "ERC721A._transfer", + "offset": [ + 14636, + 14637 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2037": { + "fn": "ERC721A._transfer", + "offset": [ + 14640, + 14647 + ], + "op": "DUP5", + "path": "17" + }, + "2038": { + "fn": "ERC721A._transfer", + "offset": [ + 14649, + 14653 + ], + "op": "DUP8", + "path": "17" + }, + "2039": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14627 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6D1" + }, + "2042": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14619, + 14654 + ], + "op": "JUMP", + "path": "17" + }, + "2043": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2044": { + "op": "PUSH1", + "value": "0x1" + }, + "2046": { + "op": "PUSH1", + "value": "0x1" + }, + "2048": { + "op": "PUSH1", + "value": "0xA0" + }, + "2050": { + "op": "SHL" + }, + "2051": { + "op": "SUB" + }, + "2052": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP6", + "path": "17", + "statement": 36 + }, + "2053": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2054": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "AND", + "path": "17" + }, + "2055": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2057": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2058": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2059": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2060": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14956 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2062": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2064": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2065": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2066": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2067": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2069": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP1", + "path": "17" + }, + "2070": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP4", + "path": "17" + }, + "2071": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "KECCAK256", + "path": "17" + }, + "2072": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2073": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SLOAD", + "path": "17" + }, + "2074": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2083": { + "op": "NOT" + }, + "2084": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2085": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP3", + "path": "17" + }, + "2086": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2087": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2096": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2097": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2098": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2099": { + "op": "PUSH1", + "value": "0x0" + }, + "2101": { + "op": "NOT" + }, + "2102": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "ADD", + "path": "17" + }, + "2103": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2104": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2105": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "OR", + "path": "17" + }, + "2106": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP1", + "path": "17" + }, + "2107": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2108": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SSTORE", + "path": "17" + }, + "2109": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP10", + "path": "17", + "statement": 37 + }, + "2110": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2111": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "AND", + "path": "17" + }, + "2112": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP1", + "path": "17" + }, + "2113": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2114": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "MSTORE", + "path": "17" + }, + "2115": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP4", + "path": "17" + }, + "2116": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2117": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "KECCAK256", + "path": "17" + }, + "2118": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP1", + "path": "17" + }, + "2119": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SLOAD", + "path": "17" + }, + "2120": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2121": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2122": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2123": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2124": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP4", + "path": "17" + }, + "2125": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2126": { + "op": "PUSH1", + "value": "0x1" + }, + "2128": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2129": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP2", + "path": "17" + }, + "2130": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "ADD", + "path": "17" + }, + "2131": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2132": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2133": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2134": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2135": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2136": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "OR", + "path": "17" + }, + "2137": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2138": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SSTORE", + "path": "17" + }, + "2139": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP10", + "path": "17" + }, + "2140": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP7", + "path": "17" + }, + "2141": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2142": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15078 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2144": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP1", + "path": "17" + }, + "2145": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP5", + "path": "17" + }, + "2146": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2147": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP3", + "path": "17" + }, + "2148": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP6", + "path": "17" + }, + "2149": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "KECCAK256", + "path": "17" + }, + "2150": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "DUP1", + "path": "17", + "statement": 38 + }, + "2151": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "SLOAD", + "path": "17" + }, + "2152": { + "op": "PUSH1", + "value": "0x1" + }, + "2154": { + "op": "PUSH1", + "value": "0x1" + }, + "2156": { + "op": "PUSH1", + "value": "0xE0" + }, + "2158": { + "op": "SHL" + }, + "2159": { + "op": "SUB" + }, + "2160": { + "op": "NOT" + }, + "2161": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17", + "statement": 39 + }, + "2162": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2163": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP5", + "path": "17" + }, + "2164": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2165": { + "op": "PUSH1", + "value": "0x1" + }, + "2167": { + "op": "PUSH1", + "value": "0xA0" + }, + "2169": { + "op": "SHL" + }, + "2170": { + "fn": "ERC721A._transfer", + "offset": [ + 15166, + 15181 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2171": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2172": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP3", + "path": "17" + }, + "2173": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17" + }, + "2174": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2175": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2176": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2177": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "MUL", + "path": "17" + }, + "2178": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2179": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "DUP4", + "path": "17" + }, + "2180": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SSTORE", + "path": "17" + }, + "2181": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "DUP8", + "path": "17" + }, + "2182": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "ADD", + "path": "17" + }, + "2183": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP1", + "path": "17" + }, + "2184": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP5", + "path": "17" + }, + "2185": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "MSTORE", + "path": "17" + }, + "2186": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP3", + "path": "17" + }, + "2187": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "KECCAK256", + "path": "17" + }, + "2188": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "DUP1", + "path": "17" + }, + "2189": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "SLOAD", + "path": "17" + }, + "2190": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP2", + "path": "17" + }, + "2191": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP4", + "path": "17" + }, + "2192": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP1", + "path": "17" + }, + "2193": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP2", + "path": "17" + }, + "2194": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "AND", + "path": "17" + }, + "2195": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8D1" + }, + "2198": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "JUMPI", + "path": "17" + }, + "2199": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2201": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "SLOAD", + "path": "17" + }, + "2202": { + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15756 + ], + "op": "DUP3", + "path": "17" + }, + "2203": { + "branch": 82, + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15773 + ], + "op": "EQ", + "path": "17" + }, + "2204": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8D1" + }, + "2207": { + "branch": 82, + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPI", + "path": "17" + }, + "2208": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP1", + "path": "17", + "statement": 40 + }, + "2209": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "SLOAD", + "path": "17" + }, + "2210": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "PUSH1", + "path": "17", + "statement": 41, + "value": "0x20" + }, + "2212": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "DUP7", + "path": "17" + }, + "2213": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "ADD", + "path": "17" + }, + "2214": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "MLOAD", + "path": "17" + }, + "2215": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2224": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2225": { + "op": "PUSH1", + "value": "0x1" + }, + "2227": { + "op": "PUSH1", + "value": "0xA0" + }, + "2229": { + "op": "SHL" + }, + "2230": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "MUL", + "path": "17" + }, + "2231": { + "op": "PUSH1", + "value": "0x1" + }, + "2233": { + "op": "PUSH1", + "value": "0x1" + }, + "2235": { + "op": "PUSH1", + "value": "0xE0" + }, + "2237": { + "op": "SHL" + }, + "2238": { + "op": "SUB" + }, + "2239": { + "op": "NOT" + }, + "2240": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP1", + "path": "17" + }, + "2241": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP2", + "path": "17" + }, + "2242": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2243": { + "op": "PUSH1", + "value": "0x1" + }, + "2245": { + "op": "PUSH1", + "value": "0x1" + }, + "2247": { + "op": "PUSH1", + "value": "0xA0" + }, + "2249": { + "op": "SHL" + }, + "2250": { + "op": "SUB" + }, + "2251": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP11", + "path": "17" + }, + "2252": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "AND", + "path": "17" + }, + "2253": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2254": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2255": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "DUP2", + "path": "17" + }, + "2256": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SSTORE", + "path": "17" + }, + "2257": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2258": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2259": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2260": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2261": { + "fn": "ERC721A._transfer", + "offset": [ + 15970, + 15977 + ], + "op": "DUP3", + "path": "17", + "statement": 42 + }, + "2262": { + "fn": "ERC721A._transfer", + "offset": [ + 15966, + 15968 + ], + "op": "DUP5", + "path": "17" + }, + "2263": { + "op": "PUSH1", + "value": "0x1" + }, + "2265": { + "op": "PUSH1", + "value": "0x1" + }, + "2267": { + "op": "PUSH1", + "value": "0xA0" + }, + "2269": { + "op": "SHL" + }, + "2270": { + "op": "SUB" + }, + "2271": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2272": { + "fn": "ERC721A._transfer", + "offset": [ + 15960, + 15964 + ], + "op": "DUP7", + "path": "17" + }, + "2273": { + "op": "PUSH1", + "value": "0x1" + }, + "2275": { + "op": "PUSH1", + "value": "0x1" + }, + "2277": { + "op": "PUSH1", + "value": "0xA0" + }, + "2279": { + "op": "SHL" + }, + "2280": { + "op": "SUB" + }, + "2281": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2282": { + "op": "PUSH1", + "value": "0x0" + }, + "2284": { + "op": "DUP1" + }, + "2285": { + "op": "MLOAD" + }, + "2286": { + "op": "PUSH1", + "value": "0x20" + }, + "2288": { + "op": "PUSH2", + "value": "0x1305" + }, + "2291": { + "op": "DUP4" + }, + "2292": { + "op": "CODECOPY" + }, + "2293": { + "op": "DUP2" + }, + "2294": { + "op": "MLOAD" + }, + "2295": { + "op": "SWAP2" + }, + "2296": { + "op": "MSTORE" + }, + "2297": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2299": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2300": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2302": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2303": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "DUP1", + "path": "17" + }, + "2304": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP2", + "path": "17" + }, + "2305": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SUB", + "path": "17" + }, + "2306": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP1", + "path": "17" + }, + "2307": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "LOG4", + "path": "17" + }, + "2308": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2309": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2310": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2311": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2312": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2313": { + "fn": "ERC721A._transfer", + "jump": "o", + "offset": [ + 13979, + 16037 + ], + "op": "JUMP", + "path": "17" + }, + "2314": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2315": { + "op": "PUSH1", + "value": "0x40" + }, + "2317": { + "op": "DUP1" + }, + "2318": { + "op": "MLOAD" + }, + "2319": { + "op": "PUSH1", + "value": "0x60" + }, + "2321": { + "op": "DUP2" + }, + "2322": { + "op": "ADD" + }, + "2323": { + "op": "DUP3" + }, + "2324": { + "op": "MSTORE" + }, + "2325": { + "op": "PUSH1", + "value": "0x0" + }, + "2327": { + "op": "DUP1" + }, + "2328": { + "op": "DUP3" + }, + "2329": { + "op": "MSTORE" + }, + "2330": { + "op": "PUSH1", + "value": "0x20" + }, + "2332": { + "op": "DUP3" + }, + "2333": { + "op": "ADD" + }, + "2334": { + "op": "DUP2" + }, + "2335": { + "op": "SWAP1" + }, + "2336": { + "op": "MSTORE" + }, + "2337": { + "op": "SWAP2" + }, + "2338": { + "op": "DUP2" + }, + "2339": { + "op": "ADD" + }, + "2340": { + "op": "SWAP2" + }, + "2341": { + "op": "SWAP1" + }, + "2342": { + "op": "SWAP2" + }, + "2343": { + "op": "MSTORE" + }, + "2344": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP2", + "path": "17" + }, + "2345": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2347": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "SLOAD", + "path": "17" + }, + "2348": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5293 + ], + "op": "DUP2", + "path": "17" + }, + "2349": { + "branch": 83, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5309 + ], + "op": "LT", + "path": "17" + }, + "2350": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "ISZERO", + "path": "17" + }, + "2351": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA0D" + }, + "2354": { + "branch": 83, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "2355": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5364 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2357": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2358": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2359": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "2360": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2362": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2364": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "2365": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2366": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "2367": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2369": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "2370": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "2371": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "2372": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "KECCAK256", + "path": "17" + }, + "2373": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "2374": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MLOAD", + "path": "17" + }, + "2375": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "2377": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2378": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "2379": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP5", + "path": "17" + }, + "2380": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "2381": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "2382": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SLOAD", + "path": "17" + }, + "2383": { + "op": "PUSH1", + "value": "0x1" + }, + "2385": { + "op": "PUSH1", + "value": "0x1" + }, + "2387": { + "op": "PUSH1", + "value": "0xA0" + }, + "2389": { + "op": "SHL" + }, + "2390": { + "op": "SUB" + }, + "2391": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2392": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "2393": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "2394": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "2395": { + "op": "PUSH1", + "value": "0x1" + }, + "2397": { + "op": "PUSH1", + "value": "0xA0" + }, + "2399": { + "op": "SHL" + }, + "2400": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2401": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "2402": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2411": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "2412": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "2413": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "2414": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "2415": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "2416": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "2417": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "2418": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "2419": { + "op": "PUSH1", + "value": "0x1" + }, + "2421": { + "op": "PUSH1", + "value": "0xE0" + }, + "2423": { + "op": "SHL" + }, + "2424": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "2425": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "2426": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "2427": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "2429": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "2430": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "2431": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "2432": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "2433": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2434": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "2435": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "2436": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "2437": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "2438": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "2439": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA0B" + }, + "2442": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "JUMPI", + "path": "17" + }, + "2443": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "DUP1", + "path": "17" + }, + "2444": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "MLOAD", + "path": "17" + }, + "2445": { + "op": "PUSH1", + "value": "0x1" + }, + "2447": { + "op": "PUSH1", + "value": "0x1" + }, + "2449": { + "op": "PUSH1", + "value": "0xA0" + }, + "2451": { + "op": "SHL" + }, + "2452": { + "op": "SUB" + }, + "2453": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "AND", + "path": "17" + }, + "2454": { + "branch": 84, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "ISZERO", + "path": "17" + }, + "2455": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9A1" + }, + "2458": { + "branch": 84, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPI", + "path": "17" + }, + "2459": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5526, + 5535 + ], + "op": "SWAP4", + "path": "17", + "statement": 43 + }, + "2460": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "2461": { + "op": "POP" + }, + "2462": { + "op": "POP" + }, + "2463": { + "op": "POP" + }, + "2464": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "2465": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2466": { + "op": "POP" + }, + "2467": { + "op": "PUSH1", + "value": "0x0" + }, + "2469": { + "op": "NOT" + }, + "2470": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5922, + 5928 + ], + "op": "ADD", + "path": "17", + "statement": 44 + }, + "2471": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "statement": 45, + "value": "0x0" + }, + "2473": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "2474": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "2475": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "2476": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5981 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2478": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2480": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "2481": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "2482": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "2483": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2485": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP2", + "path": "17" + }, + "2486": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "2487": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "2488": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "KECCAK256", + "path": "17" + }, + "2489": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "2490": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MLOAD", + "path": "17" + }, + "2491": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "2493": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "2494": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "2495": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP5", + "path": "17" + }, + "2496": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "2497": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "2498": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SLOAD", + "path": "17" + }, + "2499": { + "op": "PUSH1", + "value": "0x1" + }, + "2501": { + "op": "PUSH1", + "value": "0x1" + }, + "2503": { + "op": "PUSH1", + "value": "0xA0" + }, + "2505": { + "op": "SHL" + }, + "2506": { + "op": "SUB" + }, + "2507": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "2508": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "2509": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP1", + "path": "17" + }, + "2510": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "2511": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "2512": { + "op": "PUSH1", + "value": "0x1" + }, + "2514": { + "op": "PUSH1", + "value": "0xA0" + }, + "2516": { + "op": "SHL" + }, + "2517": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "2518": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "2519": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2528": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "2529": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "2530": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "2531": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "2532": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "2533": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "2534": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "2535": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "2536": { + "op": "PUSH1", + "value": "0x1" + }, + "2538": { + "op": "PUSH1", + "value": "0xE0" + }, + "2540": { + "op": "SHL" + }, + "2541": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "2542": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "2543": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "2545": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "2546": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "2547": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "2548": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "2549": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "2550": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "2551": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "2552": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "2553": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "2554": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "2555": { + "branch": 85, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6021, + 6049 + ], + "op": "ISZERO", + "path": "17" + }, + "2556": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA06" + }, + "2559": { + "branch": 85, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPI", + "path": "17" + }, + "2560": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6092, + 6101 + ], + "op": "SWAP4", + "path": "17", + "statement": 46 + }, + "2561": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "2562": { + "op": "POP" + }, + "2563": { + "op": "POP" + }, + "2564": { + "op": "POP" + }, + "2565": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "2566": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2567": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "PUSH2", + "path": "17", + "value": "0x9A1" + }, + "2570": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMP", + "path": "17" + }, + "2571": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2572": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5311, + 6198 + ], + "op": "POP", + "path": "17" + }, + "2573": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2574": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2576": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "2577": { + "op": "PUSH4", + "value": "0x6F96CDA1" + }, + "2582": { + "op": "PUSH1", + "value": "0xE1" + }, + "2584": { + "op": "SHL" + }, + "2585": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP2", + "path": "17" + }, + "2586": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MSTORE", + "path": "17" + }, + "2587": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2589": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "ADD", + "path": "17" + }, + "2590": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2592": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "2593": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP1", + "path": "17" + }, + "2594": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP2", + "path": "17" + }, + "2595": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SUB", + "path": "17" + }, + "2596": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP1", + "path": "17" + }, + "2597": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "REVERT", + "path": "17" + }, + "2598": { + "fn": "ERC721A._safeMint", + "offset": [ + 10174, + 10276 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2599": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH2", + "path": "17", + "statement": 47, + "value": "0xA40" + }, + "2602": { + "fn": "ERC721A._safeMint", + "offset": [ + 10252, + 10254 + ], + "op": "DUP3", + "path": "17" + }, + "2603": { + "fn": "ERC721A._safeMint", + "offset": [ + 10256, + 10264 + ], + "op": "DUP3", + "path": "17" + }, + "2604": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2606": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MLOAD", + "path": "17" + }, + "2607": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "2608": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2610": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "ADD", + "path": "17" + }, + "2611": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2613": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "2614": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "2615": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2617": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP2", + "path": "17" + }, + "2618": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "2619": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "POP", + "path": "17" + }, + "2620": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10251 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD44" + }, + "2623": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 10242, + 10269 + ], + "op": "JUMP", + "path": "17" + }, + "2624": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2625": { + "fn": "ERC721A._safeMint", + "offset": [ + 10174, + 10276 + ], + "op": "POP", + "path": "17" + }, + "2626": { + "fn": "ERC721A._safeMint", + "offset": [ + 10174, + 10276 + ], + "op": "POP", + "path": "17" + }, + "2627": { + "fn": "ERC721A._safeMint", + "jump": "o", + "offset": [ + 10174, + 10276 + ], + "op": "JUMP", + "path": "17" + }, + "2628": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2629": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2631": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "2632": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "2637": { + "op": "PUSH1", + "value": "0xE1" + }, + "2639": { + "op": "SHL" + }, + "2640": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "2641": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "2642": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2644": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "SWAP1", + "path": "17" + }, + "2645": { + "op": "PUSH1", + "value": "0x1" + }, + "2647": { + "op": "PUSH1", + "value": "0x1" + }, + "2649": { + "op": "PUSH1", + "value": "0xA0" + }, + "2651": { + "op": "SHL" + }, + "2652": { + "op": "SUB" + }, + "2653": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "DUP6", + "path": "17" + }, + "2654": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "AND", + "path": "17" + }, + "2655": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "2656": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "PUSH4", + "path": "17", + "value": "0x150B7A02" + }, + "2661": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "2662": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA79" + }, + "2665": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "2666": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2667": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP1", + "path": "5" + }, + "2668": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "DUP10", + "path": "17" + }, + "2669": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "SWAP1", + "path": "17" + }, + "2670": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "DUP9", + "path": "17" + }, + "2671": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "SWAP1", + "path": "17" + }, + "2672": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "DUP9", + "path": "17" + }, + "2673": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "SWAP1", + "path": "17" + }, + "2674": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2676": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "2677": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x11F8" + }, + "2680": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "2681": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2682": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2684": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2686": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "2687": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "2688": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP4", + "path": "17" + }, + "2689": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SUB", + "path": "17" + }, + "2690": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "2691": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2693": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP8", + "path": "17" + }, + "2694": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "GAS", + "path": "17" + }, + "2695": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "CALL", + "path": "17" + }, + "2696": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "2697": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "2698": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "2699": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "2700": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "2701": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ISZERO", + "path": "17" + }, + "2702": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAB4" + }, + "2705": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPI", + "path": "17" + }, + "2706": { + "op": "POP" + }, + "2707": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2709": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "2710": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "2711": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "2713": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "2714": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "2715": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "2716": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "2717": { + "op": "PUSH1", + "value": "0x1F" + }, + "2719": { + "op": "NOT" + }, + "2720": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "AND", + "path": "17" + }, + "2721": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP3", + "path": "17" + }, + "2722": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "2723": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "2724": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "2725": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "2726": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAB1" + }, + "2729": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP2", + "path": "17" + }, + "2730": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "2731": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "2732": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "2733": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1235" + }, + "2736": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "2737": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2738": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2740": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2741": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB12" + }, + "2744": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "2745": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "2746": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "2747": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "2748": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ISZERO", + "path": "17" + }, + "2749": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAE2" + }, + "2752": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "2753": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2755": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MLOAD", + "path": "17" + }, + "2756": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "2757": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "2758": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "2760": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "NOT", + "path": "17" + }, + "2761": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x3F" + }, + "2763": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "2764": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "2765": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "AND", + "path": "17" + }, + "2766": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "2767": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "2768": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2770": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "2771": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "2772": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "2773": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "2774": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "2775": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2777": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2779": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP5", + "path": "17" + }, + "2780": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "2781": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATACOPY", + "path": "17" + }, + "2782": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAE7" + }, + "2785": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMP", + "path": "17" + }, + "2786": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2787": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "2789": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "2790": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "2791": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2792": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "2793": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19933 + ], + "op": "DUP1", + "path": "17", + "statement": 48 + }, + "2794": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19940 + ], + "op": "MLOAD", + "path": "17" + }, + "2795": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19944, + 19945 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2797": { + "branch": 86, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19945 + ], + "op": "SUB", + "path": "17" + }, + "2798": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB0A" + }, + "2801": { + "branch": 86, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPI", + "path": "17" + }, + "2802": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2804": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "2805": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "2810": { + "op": "PUSH1", + "value": "0xE1" + }, + "2812": { + "op": "SHL" + }, + "2813": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP2", + "path": "17" + }, + "2814": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MSTORE", + "path": "17" + }, + "2815": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2817": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "ADD", + "path": "17" + }, + "2818": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2820": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "2821": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP1", + "path": "17" + }, + "2822": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP2", + "path": "17" + }, + "2823": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SUB", + "path": "17" + }, + "2824": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP1", + "path": "17" + }, + "2825": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "REVERT", + "path": "17" + }, + "2826": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2827": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20112, + 20118 + ], + "op": "DUP1", + "path": "17" + }, + "2828": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20106, + 20119 + ], + "op": "MLOAD", + "path": "17" + }, + "2829": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20097, + 20103 + ], + "op": "DUP2", + "path": "17" + }, + "2830": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20093, + 20095 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2832": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20089, + 20104 + ], + "op": "ADD", + "path": "17" + }, + "2833": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20082, + 20120 + ], + "op": "REVERT", + "path": "17" + }, + "2834": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2835": { + "op": "PUSH1", + "value": "0x1" + }, + "2837": { + "op": "PUSH1", + "value": "0x1" + }, + "2839": { + "op": "PUSH1", + "value": "0xE0" + }, + "2841": { + "op": "SHL" + }, + "2842": { + "op": "SUB" + }, + "2843": { + "op": "NOT" + }, + "2844": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "AND", + "path": "17", + "statement": 49 + }, + "2845": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "2850": { + "op": "PUSH1", + "value": "0xE1" + }, + "2852": { + "op": "SHL" + }, + "2853": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "EQ", + "path": "17" + }, + "2854": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "SWAP1", + "path": "17" + }, + "2855": { + "op": "POP" + }, + "2856": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2857": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP5", + "path": "17" + }, + "2858": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP4", + "path": "17" + }, + "2859": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "2860": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "2861": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "2862": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "2863": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "o", + "offset": [ + 19518, + 20168 + ], + "op": "JUMP", + "path": "17" + }, + "2864": { + "op": "JUMPDEST" + }, + "2865": { + "op": "PUSH1", + "value": "0x60" + }, + "2867": { + "op": "DUP2" + }, + "2868": { + "op": "PUSH1", + "value": "0x0" + }, + "2870": { + "op": "SUB" + }, + "2871": { + "op": "PUSH2", + "value": "0xB57" + }, + "2874": { + "op": "JUMPI" + }, + "2875": { + "op": "POP" + }, + "2876": { + "op": "POP" + }, + "2877": { + "op": "PUSH1", + "value": "0x40" + }, + "2879": { + "op": "DUP1" + }, + "2880": { + "op": "MLOAD" + }, + "2881": { + "op": "DUP1" + }, + "2882": { + "op": "DUP3" + }, + "2883": { + "op": "ADD" + }, + "2884": { + "op": "SWAP1" + }, + "2885": { + "op": "SWAP2" + }, + "2886": { + "op": "MSTORE" + }, + "2887": { + "op": "PUSH1", + "value": "0x1" + }, + "2889": { + "op": "DUP2" + }, + "2890": { + "op": "MSTORE" + }, + "2891": { + "op": "PUSH1", + "value": "0x3" + }, + "2893": { + "op": "PUSH1", + "value": "0xFC" + }, + "2895": { + "op": "SHL" + }, + "2896": { + "op": "PUSH1", + "value": "0x20" + }, + "2898": { + "op": "DUP3" + }, + "2899": { + "op": "ADD" + }, + "2900": { + "op": "MSTORE" + }, + "2901": { + "op": "SWAP1" + }, + "2902": { + "jump": "o", + "op": "JUMP" + }, + "2903": { + "op": "JUMPDEST" + }, + "2904": { + "op": "DUP2" + }, + "2905": { + "op": "PUSH1", + "value": "0x0" + }, + "2907": { + "op": "JUMPDEST" + }, + "2908": { + "op": "DUP2" + }, + "2909": { + "op": "ISZERO" + }, + "2910": { + "op": "PUSH2", + "value": "0xB81" + }, + "2913": { + "op": "JUMPI" + }, + "2914": { + "op": "DUP1" + }, + "2915": { + "op": "PUSH2", + "value": "0xB6B" + }, + "2918": { + "op": "DUP2" + }, + "2919": { + "op": "PUSH2", + "value": "0x1268" + }, + "2922": { + "jump": "i", + "op": "JUMP" + }, + "2923": { + "op": "JUMPDEST" + }, + "2924": { + "op": "SWAP2" + }, + "2925": { + "op": "POP" + }, + "2926": { + "op": "PUSH2", + "value": "0xB7A" + }, + "2929": { + "op": "SWAP1" + }, + "2930": { + "op": "POP" + }, + "2931": { + "op": "PUSH1", + "value": "0xA" + }, + "2933": { + "op": "DUP4" + }, + "2934": { + "op": "PUSH2", + "value": "0x1297" + }, + "2937": { + "jump": "i", + "op": "JUMP" + }, + "2938": { + "op": "JUMPDEST" + }, + "2939": { + "op": "SWAP2" + }, + "2940": { + "op": "POP" + }, + "2941": { + "op": "PUSH2", + "value": "0xB5B" + }, + "2944": { + "op": "JUMP" + }, + "2945": { + "op": "JUMPDEST" + }, + "2946": { + "op": "PUSH1", + "value": "0x0" + }, + "2948": { + "op": "DUP2" + }, + "2949": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2958": { + "op": "DUP2" + }, + "2959": { + "op": "GT" + }, + "2960": { + "op": "ISZERO" + }, + "2961": { + "op": "PUSH2", + "value": "0xB9C" + }, + "2964": { + "op": "JUMPI" + }, + "2965": { + "op": "PUSH2", + "value": "0xB9C" + }, + "2968": { + "op": "PUSH2", + "value": "0x106A" + }, + "2971": { + "jump": "i", + "op": "JUMP" + }, + "2972": { + "op": "JUMPDEST" + }, + "2973": { + "op": "PUSH1", + "value": "0x40" + }, + "2975": { + "op": "MLOAD" + }, + "2976": { + "op": "SWAP1" + }, + "2977": { + "op": "DUP1" + }, + "2978": { + "op": "DUP3" + }, + "2979": { + "op": "MSTORE" + }, + "2980": { + "op": "DUP1" + }, + "2981": { + "op": "PUSH1", + "value": "0x1F" + }, + "2983": { + "op": "ADD" + }, + "2984": { + "op": "PUSH1", + "value": "0x1F" + }, + "2986": { + "op": "NOT" + }, + "2987": { + "op": "AND" + }, + "2988": { + "op": "PUSH1", + "value": "0x20" + }, + "2990": { + "op": "ADD" + }, + "2991": { + "op": "DUP3" + }, + "2992": { + "op": "ADD" + }, + "2993": { + "op": "PUSH1", + "value": "0x40" + }, + "2995": { + "op": "MSTORE" + }, + "2996": { + "op": "DUP1" + }, + "2997": { + "op": "ISZERO" + }, + "2998": { + "op": "PUSH2", + "value": "0xBC6" + }, + "3001": { + "op": "JUMPI" + }, + "3002": { + "op": "PUSH1", + "value": "0x20" + }, + "3004": { + "op": "DUP3" + }, + "3005": { + "op": "ADD" + }, + "3006": { + "op": "DUP2" + }, + "3007": { + "op": "DUP1" + }, + "3008": { + "op": "CALLDATASIZE" + }, + "3009": { + "op": "DUP4" + }, + "3010": { + "op": "CALLDATACOPY" + }, + "3011": { + "op": "ADD" + }, + "3012": { + "op": "SWAP1" + }, + "3013": { + "op": "POP" + }, + "3014": { + "op": "JUMPDEST" + }, + "3015": { + "op": "POP" + }, + "3016": { + "op": "SWAP1" + }, + "3017": { + "op": "POP" + }, + "3018": { + "op": "JUMPDEST" + }, + "3019": { + "op": "DUP5" + }, + "3020": { + "op": "ISZERO" + }, + "3021": { + "op": "PUSH2", + "value": "0xB28" + }, + "3024": { + "op": "JUMPI" + }, + "3025": { + "op": "PUSH2", + "value": "0xBDB" + }, + "3028": { + "op": "PUSH1", + "value": "0x1" + }, + "3030": { + "op": "DUP4" + }, + "3031": { + "op": "PUSH2", + "value": "0x12AB" + }, + "3034": { + "jump": "i", + "op": "JUMP" + }, + "3035": { + "op": "JUMPDEST" + }, + "3036": { + "op": "SWAP2" + }, + "3037": { + "op": "POP" + }, + "3038": { + "op": "PUSH2", + "value": "0xBE8" + }, + "3041": { + "op": "PUSH1", + "value": "0xA" + }, + "3043": { + "op": "DUP7" + }, + "3044": { + "op": "PUSH2", + "value": "0x12C2" + }, + "3047": { + "jump": "i", + "op": "JUMP" + }, + "3048": { + "op": "JUMPDEST" + }, + "3049": { + "op": "PUSH2", + "value": "0xBF3" + }, + "3052": { + "op": "SWAP1" + }, + "3053": { + "op": "PUSH1", + "value": "0x30" + }, + "3055": { + "op": "PUSH2", + "value": "0x12D6" + }, + "3058": { + "jump": "i", + "op": "JUMP" + }, + "3059": { + "op": "JUMPDEST" + }, + "3060": { + "op": "PUSH1", + "value": "0xF8" + }, + "3062": { + "op": "SHL" + }, + "3063": { + "op": "DUP2" + }, + "3064": { + "op": "DUP4" + }, + "3065": { + "op": "DUP2" + }, + "3066": { + "op": "MLOAD" + }, + "3067": { + "op": "DUP2" + }, + "3068": { + "op": "LT" + }, + "3069": { + "op": "PUSH2", + "value": "0xC08" + }, + "3072": { + "op": "JUMPI" + }, + "3073": { + "op": "PUSH2", + "value": "0xC08" + }, + "3076": { + "op": "PUSH2", + "value": "0x12EE" + }, + "3079": { + "jump": "i", + "op": "JUMP" + }, + "3080": { + "op": "JUMPDEST" + }, + "3081": { + "op": "PUSH1", + "value": "0x20" + }, + "3083": { + "op": "ADD" + }, + "3084": { + "op": "ADD" + }, + "3085": { + "op": "SWAP1" + }, + "3086": { + "op": "PUSH1", + "value": "0x1" + }, + "3088": { + "op": "PUSH1", + "value": "0x1" + }, + "3090": { + "op": "PUSH1", + "value": "0xF8" + }, + "3092": { + "op": "SHL" + }, + "3093": { + "op": "SUB" + }, + "3094": { + "op": "NOT" + }, + "3095": { + "op": "AND" + }, + "3096": { + "op": "SWAP1" + }, + "3097": { + "op": "DUP2" + }, + "3098": { + "op": "PUSH1", + "value": "0x0" + }, + "3100": { + "op": "BYTE" + }, + "3101": { + "op": "SWAP1" + }, + "3102": { + "op": "MSTORE8" + }, + "3103": { + "op": "POP" + }, + "3104": { + "op": "PUSH2", + "value": "0xC2A" + }, + "3107": { + "op": "PUSH1", + "value": "0xA" + }, + "3109": { + "op": "DUP7" + }, + "3110": { + "op": "PUSH2", + "value": "0x1297" + }, + "3113": { + "jump": "i", + "op": "JUMP" + }, + "3114": { + "op": "JUMPDEST" + }, + "3115": { + "op": "SWAP5" + }, + "3116": { + "op": "POP" + }, + "3117": { + "op": "PUSH2", + "value": "0xBCA" + }, + "3120": { + "op": "JUMP" + }, + "3121": { + "fn": "ERC721A._mint", + "offset": [ + 12591, + 13737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3122": { + "fn": "ERC721A._mint", + "offset": [ + 12655, + 12675 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3124": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "SLOAD", + "path": "17" + }, + "3125": { + "op": "PUSH1", + "value": "0x1" + }, + "3127": { + "op": "PUSH1", + "value": "0x1" + }, + "3129": { + "op": "PUSH1", + "value": "0xA0" + }, + "3131": { + "op": "SHL" + }, + "3132": { + "op": "SUB" + }, + "3133": { + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "DUP4", + "path": "17", + "statement": 50 + }, + "3134": { + "branch": 87, + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "AND", + "path": "17" + }, + "3135": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC5A" + }, + "3138": { + "branch": 87, + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPI", + "path": "17" + }, + "3139": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3141": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "3142": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "3146": { + "op": "PUSH1", + "value": "0xE8" + }, + "3148": { + "op": "SHL" + }, + "3149": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP2", + "path": "17" + }, + "3150": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MSTORE", + "path": "17" + }, + "3151": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3153": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "ADD", + "path": "17" + }, + "3154": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3156": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "3157": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP1", + "path": "17" + }, + "3158": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP2", + "path": "17" + }, + "3159": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SUB", + "path": "17" + }, + "3160": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP1", + "path": "17" + }, + "3161": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "REVERT", + "path": "17" + }, + "3162": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3163": { + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12771 + ], + "op": "DUP2", + "path": "17", + "statement": 51 + }, + "3164": { + "fn": "ERC721A._mint", + "offset": [ + 12775, + 12776 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3166": { + "branch": 88, + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12776 + ], + "op": "SUB", + "path": "17" + }, + "3167": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC7B" + }, + "3170": { + "branch": 88, + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPI", + "path": "17" + }, + "3171": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3173": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "3174": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "3179": { + "op": "PUSH1", + "value": "0xE0" + }, + "3181": { + "op": "SHL" + }, + "3182": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP2", + "path": "17" + }, + "3183": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MSTORE", + "path": "17" + }, + "3184": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3186": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "ADD", + "path": "17" + }, + "3187": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3189": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "3190": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP1", + "path": "17" + }, + "3191": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP2", + "path": "17" + }, + "3192": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SUB", + "path": "17" + }, + "3193": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP1", + "path": "17" + }, + "3194": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "REVERT", + "path": "17" + }, + "3195": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3196": { + "op": "PUSH1", + "value": "0x1" + }, + "3198": { + "op": "PUSH1", + "value": "0x1" + }, + "3200": { + "op": "PUSH1", + "value": "0xA0" + }, + "3202": { + "op": "SHL" + }, + "3203": { + "op": "SUB" + }, + "3204": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17", + "statement": 52 + }, + "3205": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "AND", + "path": "17" + }, + "3206": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3208": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "3209": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "3210": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "3211": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13158 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3213": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3215": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "SWAP1", + "path": "17" + }, + "3216": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "3217": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "3218": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3220": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP1", + "path": "17" + }, + "3221": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17" + }, + "3222": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "KECCAK256", + "path": "17" + }, + "3223": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "3224": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SLOAD", + "path": "17" + }, + "3225": { + "op": "PUSH1", + "value": "0x1" + }, + "3227": { + "op": "PUSH1", + "value": "0x1" + }, + "3229": { + "op": "PUSH1", + "value": "0x80" + }, + "3231": { + "op": "SHL" + }, + "3232": { + "op": "SUB" + }, + "3233": { + "op": "NOT" + }, + "3234": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17", + "statement": 53 + }, + "3235": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "3236": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3245": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "3246": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP4", + "path": "17" + }, + "3247": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "3248": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP11", + "path": "17" + }, + "3249": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "ADD", + "path": "17" + }, + "3250": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP2", + "path": "17" + }, + "3251": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "3252": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "3253": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP3", + "path": "17" + }, + "3254": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "3255": { + "op": "PUSH1", + "value": "0x1" + }, + "3257": { + "op": "PUSH1", + "value": "0x40" + }, + "3259": { + "op": "SHL" + }, + "3260": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3269": { + "op": "NOT" + }, + "3270": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "3271": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP5", + "path": "17" + }, + "3272": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "3273": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "3274": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP3", + "path": "17" + }, + "3275": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "OR", + "path": "17" + }, + "3276": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP4", + "path": "17" + }, + "3277": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "3278": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DIV", + "path": "17" + }, + "3279": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "3280": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "3281": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP11", + "path": "17" + }, + "3282": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "ADD", + "path": "17" + }, + "3283": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "3284": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "3285": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "3286": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP3", + "path": "17" + }, + "3287": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "MUL", + "path": "17" + }, + "3288": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "3289": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "3290": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "3291": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SSTORE", + "path": "17" + }, + "3292": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP6", + "path": "17", + "statement": 54 + }, + "3293": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP5", + "path": "17" + }, + "3294": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "3295": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13279 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3297": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "3298": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP3", + "path": "17" + }, + "3299": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "3300": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "3301": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP2", + "path": "17" + }, + "3302": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "KECCAK256", + "path": "17" + }, + "3303": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "DUP1", + "path": "17" + }, + "3304": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "SLOAD", + "path": "17" + }, + "3305": { + "op": "PUSH1", + "value": "0x1" + }, + "3307": { + "op": "PUSH1", + "value": "0x1" + }, + "3309": { + "op": "PUSH1", + "value": "0xE0" + }, + "3311": { + "op": "SHL" + }, + "3312": { + "op": "SUB" + }, + "3313": { + "op": "NOT" + }, + "3314": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17", + "statement": 55 + }, + "3315": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3316": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "3317": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "3318": { + "op": "PUSH1", + "value": "0x1" + }, + "3320": { + "op": "PUSH1", + "value": "0xA0" + }, + "3322": { + "op": "SHL" + }, + "3323": { + "fn": "ERC721A._mint", + "offset": [ + 13367, + 13382 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "3324": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3325": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "3326": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17" + }, + "3327": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "3328": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3329": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "3330": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "MUL", + "path": "17" + }, + "3331": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "3332": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3333": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SSTORE", + "path": "17" + }, + "3334": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP1", + "path": "17" + }, + "3335": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP1", + "path": "17" + }, + "3336": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP4", + "path": "17" + }, + "3337": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "ADD", + "path": "17" + }, + "3338": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3339": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH1", + "path": "17", + "statement": 56, + "value": "0x40" + }, + "3341": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "MLOAD", + "path": "17" + }, + "3342": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3344": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "DUP4", + "path": "17" + }, + "3345": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "ADD", + "path": "17" + }, + "3346": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP3", + "path": "17" + }, + "3347": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP1", + "path": "17" + }, + "3348": { + "op": "PUSH1", + "value": "0x1" + }, + "3350": { + "op": "PUSH1", + "value": "0x1" + }, + "3352": { + "op": "PUSH1", + "value": "0xA0" + }, + "3354": { + "op": "SHL" + }, + "3355": { + "op": "SUB" + }, + "3356": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "DUP8", + "path": "17" + }, + "3357": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "AND", + "path": "17" + }, + "3358": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "3359": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3361": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "3362": { + "op": "PUSH1", + "value": "0x0" + }, + "3364": { + "op": "DUP1" + }, + "3365": { + "op": "MLOAD" + }, + "3366": { + "op": "PUSH1", + "value": "0x20" + }, + "3368": { + "op": "PUSH2", + "value": "0x1305" + }, + "3371": { + "op": "DUP4" + }, + "3372": { + "op": "CODECOPY" + }, + "3373": { + "op": "DUP2" + }, + "3374": { + "op": "MLOAD" + }, + "3375": { + "op": "SWAP2" + }, + "3376": { + "op": "MSTORE" + }, + "3377": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "3378": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "DUP3", + "path": "17" + }, + "3379": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "3380": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "LOG4", + "path": "17" + }, + "3381": { + "fn": "ERC721A._mint", + "offset": [ + 13603, + 13606 + ], + "op": "DUP1", + "path": "17" + }, + "3382": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13600 + ], + "op": "DUP3", + "path": "17" + }, + "3383": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13606 + ], + "op": "LT", + "path": "17" + }, + "3384": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD0A" + }, + "3387": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPI", + "path": "17" + }, + "3388": { + "op": "POP" + }, + "3389": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13635 + ], + "op": "PUSH1", + "path": "17", + "statement": 57, + "value": "0x0" + }, + "3391": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13650 + ], + "op": "SSTORE", + "path": "17" + }, + "3392": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "3393": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "3394": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "3395": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "3396": { + "fn": "ERC721A._safeMint", + "offset": [ + 10636, + 12344 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3397": { + "fn": "ERC721A._safeMint", + "offset": [ + 10754, + 10774 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3399": { + "fn": "ERC721A._safeMint", + "offset": [ + 10777, + 10790 + ], + "op": "SLOAD", + "path": "17" + }, + "3400": { + "op": "PUSH1", + "value": "0x1" + }, + "3402": { + "op": "PUSH1", + "value": "0x1" + }, + "3404": { + "op": "PUSH1", + "value": "0xA0" + }, + "3406": { + "op": "SHL" + }, + "3407": { + "op": "SUB" + }, + "3408": { + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "DUP5", + "path": "17", + "statement": 58 + }, + "3409": { + "branch": 89, + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "AND", + "path": "17" + }, + "3410": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD6D" + }, + "3413": { + "branch": 89, + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPI", + "path": "17" + }, + "3414": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3416": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "3417": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "3421": { + "op": "PUSH1", + "value": "0xE8" + }, + "3423": { + "op": "SHL" + }, + "3424": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP2", + "path": "17" + }, + "3425": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MSTORE", + "path": "17" + }, + "3426": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3428": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "ADD", + "path": "17" + }, + "3429": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3431": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "3432": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP1", + "path": "17" + }, + "3433": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP2", + "path": "17" + }, + "3434": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SUB", + "path": "17" + }, + "3435": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP1", + "path": "17" + }, + "3436": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "REVERT", + "path": "17" + }, + "3437": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3438": { + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10870 + ], + "op": "DUP3", + "path": "17", + "statement": 59 + }, + "3439": { + "fn": "ERC721A._safeMint", + "offset": [ + 10874, + 10875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3441": { + "branch": 90, + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10875 + ], + "op": "SUB", + "path": "17" + }, + "3442": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD8E" + }, + "3445": { + "branch": 90, + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPI", + "path": "17" + }, + "3446": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3448": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "3449": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "3454": { + "op": "PUSH1", + "value": "0xE0" + }, + "3456": { + "op": "SHL" + }, + "3457": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP2", + "path": "17" + }, + "3458": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MSTORE", + "path": "17" + }, + "3459": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3461": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "ADD", + "path": "17" + }, + "3462": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3464": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "3465": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP1", + "path": "17" + }, + "3466": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP2", + "path": "17" + }, + "3467": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SUB", + "path": "17" + }, + "3468": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP1", + "path": "17" + }, + "3469": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "REVERT", + "path": "17" + }, + "3470": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3471": { + "op": "PUSH1", + "value": "0x1" + }, + "3473": { + "op": "PUSH1", + "value": "0x1" + }, + "3475": { + "op": "PUSH1", + "value": "0xA0" + }, + "3477": { + "op": "SHL" + }, + "3478": { + "op": "SUB" + }, + "3479": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP5", + "path": "17", + "statement": 60 + }, + "3480": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "AND", + "path": "17" + }, + "3481": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3483": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3484": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3485": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "3486": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11257 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3488": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3490": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "SWAP1", + "path": "17" + }, + "3491": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3492": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "3493": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3495": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP1", + "path": "17" + }, + "3496": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP4", + "path": "17" + }, + "3497": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "KECCAK256", + "path": "17" + }, + "3498": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "3499": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SLOAD", + "path": "17" + }, + "3500": { + "op": "PUSH1", + "value": "0x1" + }, + "3502": { + "op": "PUSH1", + "value": "0x1" + }, + "3504": { + "op": "PUSH1", + "value": "0x80" + }, + "3506": { + "op": "SHL" + }, + "3507": { + "op": "SUB" + }, + "3508": { + "op": "NOT" + }, + "3509": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17", + "statement": 61 + }, + "3510": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3511": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3520": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "3521": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP4", + "path": "17" + }, + "3522": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3523": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP12", + "path": "17" + }, + "3524": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "ADD", + "path": "17" + }, + "3525": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP2", + "path": "17" + }, + "3526": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3527": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "3528": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP3", + "path": "17" + }, + "3529": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "3530": { + "op": "PUSH1", + "value": "0x1" + }, + "3532": { + "op": "PUSH1", + "value": "0x40" + }, + "3534": { + "op": "SHL" + }, + "3535": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3544": { + "op": "NOT" + }, + "3545": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "3546": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP5", + "path": "17" + }, + "3547": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3548": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "3549": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP3", + "path": "17" + }, + "3550": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "OR", + "path": "17" + }, + "3551": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP4", + "path": "17" + }, + "3552": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3553": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DIV", + "path": "17" + }, + "3554": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "3555": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3556": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP12", + "path": "17" + }, + "3557": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "ADD", + "path": "17" + }, + "3558": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "3559": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3560": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3561": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP3", + "path": "17" + }, + "3562": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "MUL", + "path": "17" + }, + "3563": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "3564": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3565": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "3566": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SSTORE", + "path": "17" + }, + "3567": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP6", + "path": "17", + "statement": 62 + }, + "3568": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP5", + "path": "17" + }, + "3569": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "3570": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3572": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3573": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP3", + "path": "17" + }, + "3574": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "3575": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3576": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP2", + "path": "17" + }, + "3577": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "KECCAK256", + "path": "17" + }, + "3578": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "DUP1", + "path": "17" + }, + "3579": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "SLOAD", + "path": "17" + }, + "3580": { + "op": "PUSH1", + "value": "0x1" + }, + "3582": { + "op": "PUSH1", + "value": "0x1" + }, + "3584": { + "op": "PUSH1", + "value": "0xE0" + }, + "3586": { + "op": "SHL" + }, + "3587": { + "op": "SUB" + }, + "3588": { + "op": "NOT" + }, + "3589": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17", + "statement": 63 + }, + "3590": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "DUP4", + "path": "17" + }, + "3591": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "3592": { + "op": "PUSH1", + "value": "0x1" + }, + "3594": { + "op": "PUSH1", + "value": "0xA0" + }, + "3596": { + "op": "SHL" + }, + "3597": { + "fn": "ERC721A._safeMint", + "offset": [ + 11466, + 11481 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "3598": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3599": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP4", + "path": "17" + }, + "3600": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17" + }, + "3601": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "3602": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3603": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "3604": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "MUL", + "path": "17" + }, + "3605": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "3606": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3607": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "3608": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "3609": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3610": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SSTORE", + "path": "17" + }, + "3611": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP2", + "path": "17" + }, + "3612": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3613": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP2", + "path": "17" + }, + "3614": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP6", + "path": "17" + }, + "3615": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "ADD", + "path": "17" + }, + "3616": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "SWAP1", + "path": "17" + }, + "3617": { + "op": "EXTCODESIZE" + }, + "3618": { + "op": "ISZERO" + }, + "3619": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE97" + }, + "3622": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPI", + "path": "17" + }, + "3623": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3624": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "PUSH1", + "path": "17", + "statement": 64, + "value": "0x40" + }, + "3626": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "MLOAD", + "path": "17" + }, + "3627": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "DUP3", + "path": "17" + }, + "3628": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "SWAP1", + "path": "17" + }, + "3629": { + "op": "PUSH1", + "value": "0x1" + }, + "3631": { + "op": "PUSH1", + "value": "0x1" + }, + "3633": { + "op": "PUSH1", + "value": "0xA0" + }, + "3635": { + "op": "SHL" + }, + "3636": { + "op": "SUB" + }, + "3637": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "DUP9", + "path": "17" + }, + "3638": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "AND", + "path": "17" + }, + "3639": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "3640": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3642": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "3643": { + "op": "PUSH1", + "value": "0x0" + }, + "3645": { + "op": "DUP1" + }, + "3646": { + "op": "MLOAD" + }, + "3647": { + "op": "PUSH1", + "value": "0x20" + }, + "3649": { + "op": "PUSH2", + "value": "0x1305" + }, + "3652": { + "op": "DUP4" + }, + "3653": { + "op": "CODECOPY" + }, + "3654": { + "op": "DUP2" + }, + "3655": { + "op": "MLOAD" + }, + "3656": { + "op": "SWAP2" + }, + "3657": { + "op": "MSTORE" + }, + "3658": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "3659": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "DUP3", + "path": "17" + }, + "3660": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "3661": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "LOG4", + "path": "17" + }, + "3662": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "PUSH2", + "path": "17", + "statement": 65, + "value": "0xE60" + }, + "3665": { + "fn": "ERC721A._safeMint", + "offset": [ + 11771, + 11772 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3667": { + "fn": "ERC721A._safeMint", + "offset": [ + 11775, + 11777 + ], + "op": "DUP8", + "path": "17" + }, + "3668": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP5", + "path": "17" + }, + "3669": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP1", + "path": "17" + }, + "3670": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3672": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "ADD", + "path": "17" + }, + "3673": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "SWAP6", + "path": "17" + }, + "3674": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "POP", + "path": "17" + }, + "3675": { + "fn": "ERC721A._safeMint", + "offset": [ + 11795, + 11800 + ], + "op": "DUP8", + "path": "17" + }, + "3676": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11762 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA44" + }, + "3679": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 11732, + 11801 + ], + "op": "JUMP", + "path": "17" + }, + "3680": { + "branch": 91, + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3681": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE7D" + }, + "3684": { + "branch": 91, + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPI", + "path": "17" + }, + "3685": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3687": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "3688": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "3693": { + "op": "PUSH1", + "value": "0xE1" + }, + "3695": { + "op": "SHL" + }, + "3696": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP2", + "path": "17" + }, + "3697": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MSTORE", + "path": "17" + }, + "3698": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3700": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "ADD", + "path": "17" + }, + "3701": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3703": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "3704": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP1", + "path": "17" + }, + "3705": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP2", + "path": "17" + }, + "3706": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SUB", + "path": "17" + }, + "3707": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP1", + "path": "17" + }, + "3708": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "REVERT", + "path": "17" + }, + "3709": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3710": { + "fn": "ERC721A._safeMint", + "offset": [ + 11940, + 11943 + ], + "op": "DUP1", + "path": "17" + }, + "3711": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11937 + ], + "op": "DUP3", + "path": "17" + }, + "3712": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11943 + ], + "op": "LT", + "path": "17" + }, + "3713": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE27" + }, + "3716": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPI", + "path": "17" + }, + "3717": { + "fn": "ERC721A._safeMint", + "offset": [ + 12024, + 12036 + ], + "op": "DUP3", + "path": "17" + }, + "3718": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3720": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "SLOAD", + "path": "17" + }, + "3721": { + "branch": 92, + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12036 + ], + "op": "EQ", + "path": "17" + }, + "3722": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE92" + }, + "3725": { + "branch": 92, + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPI", + "path": "17" + }, + "3726": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "PUSH1", + "path": "17", + "statement": 66, + "value": "0x0" + }, + "3728": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "DUP1", + "path": "17" + }, + "3729": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "REVERT", + "path": "17" + }, + "3730": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3731": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0xECA" + }, + "3734": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMP", + "path": "17" + }, + "3735": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3736": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3737": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "PUSH1", + "path": "17", + "statement": 67, + "value": "0x40" + }, + "3739": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "MLOAD", + "path": "17" + }, + "3740": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3742": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "DUP4", + "path": "17" + }, + "3743": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "ADD", + "path": "17" + }, + "3744": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP3", + "path": "17" + }, + "3745": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP1", + "path": "17" + }, + "3746": { + "op": "PUSH1", + "value": "0x1" + }, + "3748": { + "op": "PUSH1", + "value": "0x1" + }, + "3750": { + "op": "PUSH1", + "value": "0xA0" + }, + "3752": { + "op": "SHL" + }, + "3753": { + "op": "SUB" + }, + "3754": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "DUP9", + "path": "17" + }, + "3755": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "AND", + "path": "17" + }, + "3756": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "3757": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3759": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "3760": { + "op": "PUSH1", + "value": "0x0" + }, + "3762": { + "op": "DUP1" + }, + "3763": { + "op": "MLOAD" + }, + "3764": { + "op": "PUSH1", + "value": "0x20" + }, + "3766": { + "op": "PUSH2", + "value": "0x1305" + }, + "3769": { + "op": "DUP4" + }, + "3770": { + "op": "CODECOPY" + }, + "3771": { + "op": "DUP2" + }, + "3772": { + "op": "MLOAD" + }, + "3773": { + "op": "SWAP2" + }, + "3774": { + "op": "MSTORE" + }, + "3775": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "3776": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "DUP3", + "path": "17" + }, + "3777": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "3778": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "LOG4", + "path": "17" + }, + "3779": { + "fn": "ERC721A._safeMint", + "offset": [ + 12197, + 12200 + ], + "op": "DUP1", + "path": "17" + }, + "3780": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12194 + ], + "op": "DUP3", + "path": "17" + }, + "3781": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12200 + ], + "op": "LT", + "path": "17" + }, + "3782": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE98" + }, + "3785": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPI", + "path": "17" + }, + "3786": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3787": { + "op": "POP" + }, + "3788": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12242 + ], + "op": "PUSH1", + "path": "17", + "statement": 68, + "value": "0x0" + }, + "3790": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SWAP1", + "path": "17" + }, + "3791": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "DUP2", + "path": "17" + }, + "3792": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SSTORE", + "path": "17" + }, + "3793": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "PUSH2", + "path": "17", + "statement": 69, + "value": "0x5EE" + }, + "3796": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "SWAP1", + "path": "17" + }, + "3797": { + "fn": "ERC721A._safeMint", + "offset": [ + 12310, + 12312 + ], + "op": "DUP6", + "path": "17" + }, + "3798": { + "fn": "ERC721A._safeMint", + "offset": [ + 12314, + 12326 + ], + "op": "DUP4", + "path": "17" + }, + "3799": { + "fn": "ERC721A._safeMint", + "offset": [ + 12328, + 12336 + ], + "op": "DUP7", + "path": "17" + }, + "3800": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "DUP5", + "path": "17" + }, + "3801": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 12277, + 12337 + ], + "op": "JUMP", + "path": "17" + }, + "3802": { + "op": "JUMPDEST" + }, + "3803": { + "op": "PUSH1", + "value": "0x1" + }, + "3805": { + "op": "PUSH1", + "value": "0x1" + }, + "3807": { + "op": "PUSH1", + "value": "0xE0" + }, + "3809": { + "op": "SHL" + }, + "3810": { + "op": "SUB" + }, + "3811": { + "op": "NOT" + }, + "3812": { + "op": "DUP2" + }, + "3813": { + "op": "AND" + }, + "3814": { + "op": "DUP2" + }, + "3815": { + "op": "EQ" + }, + "3816": { + "op": "PUSH2", + "value": "0x503" + }, + "3819": { + "op": "JUMPI" + }, + "3820": { + "op": "PUSH1", + "value": "0x0" + }, + "3822": { + "op": "DUP1" + }, + "3823": { + "op": "REVERT" + }, + "3824": { + "op": "JUMPDEST" + }, + "3825": { + "op": "PUSH1", + "value": "0x0" + }, + "3827": { + "op": "PUSH1", + "value": "0x20" + }, + "3829": { + "op": "DUP3" + }, + "3830": { + "op": "DUP5" + }, + "3831": { + "op": "SUB" + }, + "3832": { + "op": "SLT" + }, + "3833": { + "op": "ISZERO" + }, + "3834": { + "op": "PUSH2", + "value": "0xF02" + }, + "3837": { + "op": "JUMPI" + }, + "3838": { + "op": "PUSH1", + "value": "0x0" + }, + "3840": { + "op": "DUP1" + }, + "3841": { + "op": "REVERT" + }, + "3842": { + "op": "JUMPDEST" + }, + "3843": { + "op": "DUP2" + }, + "3844": { + "op": "CALLDATALOAD" + }, + "3845": { + "op": "PUSH2", + "value": "0x67E" + }, + "3848": { + "op": "DUP2" + }, + "3849": { + "op": "PUSH2", + "value": "0xEDA" + }, + "3852": { + "jump": "i", + "op": "JUMP" + }, + "3853": { + "op": "JUMPDEST" + }, + "3854": { + "op": "PUSH1", + "value": "0x0" + }, + "3856": { + "op": "JUMPDEST" + }, + "3857": { + "op": "DUP4" + }, + "3858": { + "op": "DUP2" + }, + "3859": { + "op": "LT" + }, + "3860": { + "op": "ISZERO" + }, + "3861": { + "op": "PUSH2", + "value": "0xF28" + }, + "3864": { + "op": "JUMPI" + }, + "3865": { + "op": "DUP2" + }, + "3866": { + "op": "DUP2" + }, + "3867": { + "op": "ADD" + }, + "3868": { + "op": "MLOAD" + }, + "3869": { + "op": "DUP4" + }, + "3870": { + "op": "DUP3" + }, + "3871": { + "op": "ADD" + }, + "3872": { + "op": "MSTORE" + }, + "3873": { + "op": "PUSH1", + "value": "0x20" + }, + "3875": { + "op": "ADD" + }, + "3876": { + "op": "PUSH2", + "value": "0xF10" + }, + "3879": { + "op": "JUMP" + }, + "3880": { + "op": "JUMPDEST" + }, + "3881": { + "op": "DUP4" + }, + "3882": { + "op": "DUP2" + }, + "3883": { + "op": "GT" + }, + "3884": { + "op": "ISZERO" + }, + "3885": { + "op": "PUSH2", + "value": "0x5EE" + }, + "3888": { + "op": "JUMPI" + }, + "3889": { + "op": "POP" + }, + "3890": { + "op": "POP" + }, + "3891": { + "op": "PUSH1", + "value": "0x0" + }, + "3893": { + "op": "SWAP2" + }, + "3894": { + "op": "ADD" + }, + "3895": { + "op": "MSTORE" + }, + "3896": { + "jump": "o", + "op": "JUMP" + }, + "3897": { + "op": "JUMPDEST" + }, + "3898": { + "op": "PUSH1", + "value": "0x0" + }, + "3900": { + "op": "DUP2" + }, + "3901": { + "op": "MLOAD" + }, + "3902": { + "op": "DUP1" + }, + "3903": { + "op": "DUP5" + }, + "3904": { + "op": "MSTORE" + }, + "3905": { + "op": "PUSH2", + "value": "0xF51" + }, + "3908": { + "op": "DUP2" + }, + "3909": { + "op": "PUSH1", + "value": "0x20" + }, + "3911": { + "op": "DUP7" + }, + "3912": { + "op": "ADD" + }, + "3913": { + "op": "PUSH1", + "value": "0x20" + }, + "3915": { + "op": "DUP7" + }, + "3916": { + "op": "ADD" + }, + "3917": { + "op": "PUSH2", + "value": "0xF0D" + }, + "3920": { + "jump": "i", + "op": "JUMP" + }, + "3921": { + "op": "JUMPDEST" + }, + "3922": { + "op": "PUSH1", + "value": "0x1F" + }, + "3924": { + "op": "ADD" + }, + "3925": { + "op": "PUSH1", + "value": "0x1F" + }, + "3927": { + "op": "NOT" + }, + "3928": { + "op": "AND" + }, + "3929": { + "op": "SWAP3" + }, + "3930": { + "op": "SWAP1" + }, + "3931": { + "op": "SWAP3" + }, + "3932": { + "op": "ADD" + }, + "3933": { + "op": "PUSH1", + "value": "0x20" + }, + "3935": { + "op": "ADD" + }, + "3936": { + "op": "SWAP3" + }, + "3937": { + "op": "SWAP2" + }, + "3938": { + "op": "POP" + }, + "3939": { + "op": "POP" + }, + "3940": { + "jump": "o", + "op": "JUMP" + }, + "3941": { + "op": "JUMPDEST" + }, + "3942": { + "op": "PUSH1", + "value": "0x20" + }, + "3944": { + "op": "DUP2" + }, + "3945": { + "op": "MSTORE" + }, + "3946": { + "op": "PUSH1", + "value": "0x0" + }, + "3948": { + "op": "PUSH2", + "value": "0x67E" + }, + "3951": { + "op": "PUSH1", + "value": "0x20" + }, + "3953": { + "op": "DUP4" + }, + "3954": { + "op": "ADD" + }, + "3955": { + "op": "DUP5" + }, + "3956": { + "op": "PUSH2", + "value": "0xF39" + }, + "3959": { + "jump": "i", + "op": "JUMP" + }, + "3960": { + "op": "JUMPDEST" + }, + "3961": { + "op": "PUSH1", + "value": "0x0" + }, + "3963": { + "op": "PUSH1", + "value": "0x20" + }, + "3965": { + "op": "DUP3" + }, + "3966": { + "op": "DUP5" + }, + "3967": { + "op": "SUB" + }, + "3968": { + "op": "SLT" + }, + "3969": { + "op": "ISZERO" + }, + "3970": { + "op": "PUSH2", + "value": "0xF8A" + }, + "3973": { + "op": "JUMPI" + }, + "3974": { + "op": "PUSH1", + "value": "0x0" + }, + "3976": { + "op": "DUP1" + }, + "3977": { + "op": "REVERT" + }, + "3978": { + "op": "JUMPDEST" + }, + "3979": { + "op": "POP" + }, + "3980": { + "op": "CALLDATALOAD" + }, + "3981": { + "op": "SWAP2" + }, + "3982": { + "op": "SWAP1" + }, + "3983": { + "op": "POP" + }, + "3984": { + "jump": "o", + "op": "JUMP" + }, + "3985": { + "op": "JUMPDEST" + }, + "3986": { + "op": "DUP1" + }, + "3987": { + "op": "CALLDATALOAD" + }, + "3988": { + "op": "PUSH1", + "value": "0x1" + }, + "3990": { + "op": "PUSH1", + "value": "0x1" + }, + "3992": { + "op": "PUSH1", + "value": "0xA0" + }, + "3994": { + "op": "SHL" + }, + "3995": { + "op": "SUB" + }, + "3996": { + "op": "DUP2" + }, + "3997": { + "op": "AND" + }, + "3998": { + "op": "DUP2" + }, + "3999": { + "op": "EQ" + }, + "4000": { + "op": "PUSH2", + "value": "0xFA8" + }, + "4003": { + "op": "JUMPI" + }, + "4004": { + "op": "PUSH1", + "value": "0x0" + }, + "4006": { + "op": "DUP1" + }, + "4007": { + "op": "REVERT" + }, + "4008": { + "op": "JUMPDEST" + }, + "4009": { + "op": "SWAP2" + }, + "4010": { + "op": "SWAP1" + }, + "4011": { + "op": "POP" + }, + "4012": { + "jump": "o", + "op": "JUMP" + }, + "4013": { + "op": "JUMPDEST" + }, + "4014": { + "op": "PUSH1", + "value": "0x0" + }, + "4016": { + "op": "DUP1" + }, + "4017": { + "op": "PUSH1", + "value": "0x40" + }, + "4019": { + "op": "DUP4" + }, + "4020": { + "op": "DUP6" + }, + "4021": { + "op": "SUB" + }, + "4022": { + "op": "SLT" + }, + "4023": { + "op": "ISZERO" + }, + "4024": { + "op": "PUSH2", + "value": "0xFC0" + }, + "4027": { + "op": "JUMPI" + }, + "4028": { + "op": "PUSH1", + "value": "0x0" + }, + "4030": { + "op": "DUP1" + }, + "4031": { + "op": "REVERT" + }, + "4032": { + "op": "JUMPDEST" + }, + "4033": { + "op": "PUSH2", + "value": "0xFC9" + }, + "4036": { + "op": "DUP4" + }, + "4037": { + "op": "PUSH2", + "value": "0xF91" + }, + "4040": { + "jump": "i", + "op": "JUMP" + }, + "4041": { + "op": "JUMPDEST" + }, + "4042": { + "op": "SWAP5" + }, + "4043": { + "op": "PUSH1", + "value": "0x20" + }, + "4045": { + "op": "SWAP4" + }, + "4046": { + "op": "SWAP1" + }, + "4047": { + "op": "SWAP4" + }, + "4048": { + "op": "ADD" + }, + "4049": { + "op": "CALLDATALOAD" + }, + "4050": { + "op": "SWAP4" + }, + "4051": { + "op": "POP" + }, + "4052": { + "op": "POP" + }, + "4053": { + "op": "POP" + }, + "4054": { + "jump": "o", + "op": "JUMP" + }, + "4055": { + "op": "JUMPDEST" + }, + "4056": { + "op": "PUSH1", + "value": "0x0" + }, + "4058": { + "op": "DUP1" + }, + "4059": { + "op": "PUSH1", + "value": "0x0" + }, + "4061": { + "op": "PUSH1", + "value": "0x60" + }, + "4063": { + "op": "DUP5" + }, + "4064": { + "op": "DUP7" + }, + "4065": { + "op": "SUB" + }, + "4066": { + "op": "SLT" + }, + "4067": { + "op": "ISZERO" + }, + "4068": { + "op": "PUSH2", + "value": "0xFEC" + }, + "4071": { + "op": "JUMPI" + }, + "4072": { + "op": "PUSH1", + "value": "0x0" + }, + "4074": { + "op": "DUP1" + }, + "4075": { + "op": "REVERT" + }, + "4076": { + "op": "JUMPDEST" + }, + "4077": { + "op": "PUSH2", + "value": "0xFF5" + }, + "4080": { + "op": "DUP5" + }, + "4081": { + "op": "PUSH2", + "value": "0xF91" + }, + "4084": { + "jump": "i", + "op": "JUMP" + }, + "4085": { + "op": "JUMPDEST" + }, + "4086": { + "op": "SWAP3" + }, + "4087": { + "op": "POP" + }, + "4088": { + "op": "PUSH2", + "value": "0x1003" + }, + "4091": { + "op": "PUSH1", + "value": "0x20" + }, + "4093": { + "op": "DUP6" + }, + "4094": { + "op": "ADD" + }, + "4095": { + "op": "PUSH2", + "value": "0xF91" + }, + "4098": { + "jump": "i", + "op": "JUMP" + }, + "4099": { + "op": "JUMPDEST" + }, + "4100": { + "op": "SWAP2" + }, + "4101": { + "op": "POP" + }, + "4102": { + "op": "PUSH1", + "value": "0x40" + }, + "4104": { + "op": "DUP5" + }, + "4105": { + "op": "ADD" + }, + "4106": { + "op": "CALLDATALOAD" + }, + "4107": { + "op": "SWAP1" + }, + "4108": { + "op": "POP" + }, + "4109": { + "op": "SWAP3" + }, + "4110": { + "op": "POP" + }, + "4111": { + "op": "SWAP3" + }, + "4112": { + "op": "POP" + }, + "4113": { + "op": "SWAP3" + }, + "4114": { + "jump": "o", + "op": "JUMP" + }, + "4115": { + "op": "JUMPDEST" + }, + "4116": { + "op": "PUSH1", + "value": "0x0" + }, + "4118": { + "op": "PUSH1", + "value": "0x20" + }, + "4120": { + "op": "DUP3" + }, + "4121": { + "op": "DUP5" + }, + "4122": { + "op": "SUB" + }, + "4123": { + "op": "SLT" + }, + "4124": { + "op": "ISZERO" + }, + "4125": { + "op": "PUSH2", + "value": "0x1025" + }, + "4128": { + "op": "JUMPI" + }, + "4129": { + "op": "PUSH1", + "value": "0x0" + }, + "4131": { + "op": "DUP1" + }, + "4132": { + "op": "REVERT" + }, + "4133": { + "op": "JUMPDEST" + }, + "4134": { + "op": "PUSH2", + "value": "0x67E" + }, + "4137": { + "op": "DUP3" + }, + "4138": { + "op": "PUSH2", + "value": "0xF91" + }, + "4141": { + "jump": "i", + "op": "JUMP" + }, + "4142": { + "op": "JUMPDEST" + }, + "4143": { + "op": "PUSH1", + "value": "0x0" + }, + "4145": { + "op": "DUP1" + }, + "4146": { + "op": "PUSH1", + "value": "0x40" + }, + "4148": { + "op": "DUP4" + }, + "4149": { + "op": "DUP6" + }, + "4150": { + "op": "SUB" + }, + "4151": { + "op": "SLT" + }, + "4152": { + "op": "ISZERO" + }, + "4153": { + "op": "PUSH2", + "value": "0x1041" + }, + "4156": { + "op": "JUMPI" + }, + "4157": { + "op": "PUSH1", + "value": "0x0" + }, + "4159": { + "op": "DUP1" + }, + "4160": { + "op": "REVERT" + }, + "4161": { + "op": "JUMPDEST" + }, + "4162": { + "op": "PUSH2", + "value": "0x104A" + }, + "4165": { + "op": "DUP4" + }, + "4166": { + "op": "PUSH2", + "value": "0xF91" + }, + "4169": { + "jump": "i", + "op": "JUMP" + }, + "4170": { + "op": "JUMPDEST" + }, + "4171": { + "op": "SWAP2" + }, + "4172": { + "op": "POP" + }, + "4173": { + "op": "PUSH1", + "value": "0x20" + }, + "4175": { + "op": "DUP4" + }, + "4176": { + "op": "ADD" + }, + "4177": { + "op": "CALLDATALOAD" + }, + "4178": { + "op": "DUP1" + }, + "4179": { + "op": "ISZERO" + }, + "4180": { + "op": "ISZERO" + }, + "4181": { + "op": "DUP2" + }, + "4182": { + "op": "EQ" + }, + "4183": { + "op": "PUSH2", + "value": "0x105F" + }, + "4186": { + "op": "JUMPI" + }, + "4187": { + "op": "PUSH1", + "value": "0x0" + }, + "4189": { + "op": "DUP1" + }, + "4190": { + "op": "REVERT" + }, + "4191": { + "op": "JUMPDEST" + }, + "4192": { + "op": "DUP1" + }, + "4193": { + "op": "SWAP2" + }, + "4194": { + "op": "POP" + }, + "4195": { + "op": "POP" + }, + "4196": { + "op": "SWAP3" + }, + "4197": { + "op": "POP" + }, + "4198": { + "op": "SWAP3" + }, + "4199": { + "op": "SWAP1" + }, + "4200": { + "op": "POP" + }, + "4201": { + "jump": "o", + "op": "JUMP" + }, + "4202": { + "op": "JUMPDEST" + }, + "4203": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "4208": { + "op": "PUSH1", + "value": "0xE0" + }, + "4210": { + "op": "SHL" + }, + "4211": { + "op": "PUSH1", + "value": "0x0" + }, + "4213": { + "op": "MSTORE" + }, + "4214": { + "op": "PUSH1", + "value": "0x41" + }, + "4216": { + "op": "PUSH1", + "value": "0x4" + }, + "4218": { + "op": "MSTORE" + }, + "4219": { + "op": "PUSH1", + "value": "0x24" + }, + "4221": { + "op": "PUSH1", + "value": "0x0" + }, + "4223": { + "op": "REVERT" + }, + "4224": { + "op": "JUMPDEST" + }, + "4225": { + "op": "PUSH1", + "value": "0x0" + }, + "4227": { + "op": "DUP1" + }, + "4228": { + "op": "PUSH1", + "value": "0x0" + }, + "4230": { + "op": "DUP1" + }, + "4231": { + "op": "PUSH1", + "value": "0x80" + }, + "4233": { + "op": "DUP6" + }, + "4234": { + "op": "DUP8" + }, + "4235": { + "op": "SUB" + }, + "4236": { + "op": "SLT" + }, + "4237": { + "op": "ISZERO" + }, + "4238": { + "op": "PUSH2", + "value": "0x1096" + }, + "4241": { + "op": "JUMPI" + }, + "4242": { + "op": "PUSH1", + "value": "0x0" + }, + "4244": { + "op": "DUP1" + }, + "4245": { + "op": "REVERT" + }, + "4246": { + "op": "JUMPDEST" + }, + "4247": { + "op": "PUSH2", + "value": "0x109F" + }, + "4250": { + "op": "DUP6" + }, + "4251": { + "op": "PUSH2", + "value": "0xF91" + }, + "4254": { + "jump": "i", + "op": "JUMP" + }, + "4255": { + "op": "JUMPDEST" + }, + "4256": { + "op": "SWAP4" + }, + "4257": { + "op": "POP" + }, + "4258": { + "op": "PUSH2", + "value": "0x10AD" + }, + "4261": { + "op": "PUSH1", + "value": "0x20" + }, + "4263": { + "op": "DUP7" + }, + "4264": { + "op": "ADD" + }, + "4265": { + "op": "PUSH2", + "value": "0xF91" + }, + "4268": { + "jump": "i", + "op": "JUMP" + }, + "4269": { + "op": "JUMPDEST" + }, + "4270": { + "op": "SWAP3" + }, + "4271": { + "op": "POP" + }, + "4272": { + "op": "PUSH1", + "value": "0x40" + }, + "4274": { + "op": "DUP6" + }, + "4275": { + "op": "ADD" + }, + "4276": { + "op": "CALLDATALOAD" + }, + "4277": { + "op": "SWAP2" + }, + "4278": { + "op": "POP" + }, + "4279": { + "op": "PUSH1", + "value": "0x60" + }, + "4281": { + "op": "DUP6" + }, + "4282": { + "op": "ADD" + }, + "4283": { + "op": "CALLDATALOAD" + }, + "4284": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4293": { + "op": "DUP1" + }, + "4294": { + "op": "DUP3" + }, + "4295": { + "op": "GT" + }, + "4296": { + "op": "ISZERO" + }, + "4297": { + "op": "PUSH2", + "value": "0x10D1" + }, + "4300": { + "op": "JUMPI" + }, + "4301": { + "op": "PUSH1", + "value": "0x0" + }, + "4303": { + "op": "DUP1" + }, + "4304": { + "op": "REVERT" + }, + "4305": { + "op": "JUMPDEST" + }, + "4306": { + "op": "DUP2" + }, + "4307": { + "op": "DUP8" + }, + "4308": { + "op": "ADD" + }, + "4309": { + "op": "SWAP2" + }, + "4310": { + "op": "POP" + }, + "4311": { + "op": "DUP8" + }, + "4312": { + "op": "PUSH1", + "value": "0x1F" + }, + "4314": { + "op": "DUP4" + }, + "4315": { + "op": "ADD" + }, + "4316": { + "op": "SLT" + }, + "4317": { + "op": "PUSH2", + "value": "0x10E5" + }, + "4320": { + "op": "JUMPI" + }, + "4321": { + "op": "PUSH1", + "value": "0x0" + }, + "4323": { + "op": "DUP1" + }, + "4324": { + "op": "REVERT" + }, + "4325": { + "op": "JUMPDEST" + }, + "4326": { + "op": "DUP2" + }, + "4327": { + "op": "CALLDATALOAD" + }, + "4328": { + "op": "DUP2" + }, + "4329": { + "op": "DUP2" + }, + "4330": { + "op": "GT" + }, + "4331": { + "op": "ISZERO" + }, + "4332": { + "op": "PUSH2", + "value": "0x10F7" + }, + "4335": { + "op": "JUMPI" + }, + "4336": { + "op": "PUSH2", + "value": "0x10F7" + }, + "4339": { + "op": "PUSH2", + "value": "0x106A" + }, + "4342": { + "jump": "i", + "op": "JUMP" + }, + "4343": { + "op": "JUMPDEST" + }, + "4344": { + "op": "PUSH1", + "value": "0x40" + }, + "4346": { + "op": "MLOAD" + }, + "4347": { + "op": "PUSH1", + "value": "0x1F" + }, + "4349": { + "op": "DUP3" + }, + "4350": { + "op": "ADD" + }, + "4351": { + "op": "PUSH1", + "value": "0x1F" + }, + "4353": { + "op": "NOT" + }, + "4354": { + "op": "SWAP1" + }, + "4355": { + "op": "DUP2" + }, + "4356": { + "op": "AND" + }, + "4357": { + "op": "PUSH1", + "value": "0x3F" + }, + "4359": { + "op": "ADD" + }, + "4360": { + "op": "AND" + }, + "4361": { + "op": "DUP2" + }, + "4362": { + "op": "ADD" + }, + "4363": { + "op": "SWAP1" + }, + "4364": { + "op": "DUP4" + }, + "4365": { + "op": "DUP3" + }, + "4366": { + "op": "GT" + }, + "4367": { + "op": "DUP2" + }, + "4368": { + "op": "DUP4" + }, + "4369": { + "op": "LT" + }, + "4370": { + "op": "OR" + }, + "4371": { + "op": "ISZERO" + }, + "4372": { + "op": "PUSH2", + "value": "0x111F" + }, + "4375": { + "op": "JUMPI" + }, + "4376": { + "op": "PUSH2", + "value": "0x111F" + }, + "4379": { + "op": "PUSH2", + "value": "0x106A" + }, + "4382": { + "jump": "i", + "op": "JUMP" + }, + "4383": { + "op": "JUMPDEST" + }, + "4384": { + "op": "DUP2" + }, + "4385": { + "op": "PUSH1", + "value": "0x40" + }, + "4387": { + "op": "MSTORE" + }, + "4388": { + "op": "DUP3" + }, + "4389": { + "op": "DUP2" + }, + "4390": { + "op": "MSTORE" + }, + "4391": { + "op": "DUP11" + }, + "4392": { + "op": "PUSH1", + "value": "0x20" + }, + "4394": { + "op": "DUP5" + }, + "4395": { + "op": "DUP8" + }, + "4396": { + "op": "ADD" + }, + "4397": { + "op": "ADD" + }, + "4398": { + "op": "GT" + }, + "4399": { + "op": "ISZERO" + }, + "4400": { + "op": "PUSH2", + "value": "0x1138" + }, + "4403": { + "op": "JUMPI" + }, + "4404": { + "op": "PUSH1", + "value": "0x0" + }, + "4406": { + "op": "DUP1" + }, + "4407": { + "op": "REVERT" + }, + "4408": { + "op": "JUMPDEST" + }, + "4409": { + "op": "DUP3" + }, + "4410": { + "op": "PUSH1", + "value": "0x20" + }, + "4412": { + "op": "DUP7" + }, + "4413": { + "op": "ADD" + }, + "4414": { + "op": "PUSH1", + "value": "0x20" + }, + "4416": { + "op": "DUP4" + }, + "4417": { + "op": "ADD" + }, + "4418": { + "op": "CALLDATACOPY" + }, + "4419": { + "op": "PUSH1", + "value": "0x0" + }, + "4421": { + "op": "PUSH1", + "value": "0x20" + }, + "4423": { + "op": "DUP5" + }, + "4424": { + "op": "DUP4" + }, + "4425": { + "op": "ADD" + }, + "4426": { + "op": "ADD" + }, + "4427": { + "op": "MSTORE" + }, + "4428": { + "op": "DUP1" + }, + "4429": { + "op": "SWAP6" + }, + "4430": { + "op": "POP" + }, + "4431": { + "op": "POP" + }, + "4432": { + "op": "POP" + }, + "4433": { + "op": "POP" + }, + "4434": { + "op": "POP" + }, + "4435": { + "op": "POP" + }, + "4436": { + "op": "SWAP3" + }, + "4437": { + "op": "SWAP6" + }, + "4438": { + "op": "SWAP2" + }, + "4439": { + "op": "SWAP5" + }, + "4440": { + "op": "POP" + }, + "4441": { + "op": "SWAP3" + }, + "4442": { + "op": "POP" + }, + "4443": { + "jump": "o", + "op": "JUMP" + }, + "4444": { + "op": "JUMPDEST" + }, + "4445": { + "op": "PUSH1", + "value": "0x0" + }, + "4447": { + "op": "DUP1" + }, + "4448": { + "op": "PUSH1", + "value": "0x40" + }, + "4450": { + "op": "DUP4" + }, + "4451": { + "op": "DUP6" + }, + "4452": { + "op": "SUB" + }, + "4453": { + "op": "SLT" + }, + "4454": { + "op": "ISZERO" + }, + "4455": { + "op": "PUSH2", + "value": "0x116F" + }, + "4458": { + "op": "JUMPI" + }, + "4459": { + "op": "PUSH1", + "value": "0x0" + }, + "4461": { + "op": "DUP1" + }, + "4462": { + "op": "REVERT" + }, + "4463": { + "op": "JUMPDEST" + }, + "4464": { + "op": "PUSH2", + "value": "0x1178" + }, + "4467": { + "op": "DUP4" + }, + "4468": { + "op": "PUSH2", + "value": "0xF91" + }, + "4471": { + "jump": "i", + "op": "JUMP" + }, + "4472": { + "op": "JUMPDEST" + }, + "4473": { + "op": "SWAP2" + }, + "4474": { + "op": "POP" + }, + "4475": { + "op": "PUSH2", + "value": "0x1186" + }, + "4478": { + "op": "PUSH1", + "value": "0x20" + }, + "4480": { + "op": "DUP5" + }, + "4481": { + "op": "ADD" + }, + "4482": { + "op": "PUSH2", + "value": "0xF91" + }, + "4485": { + "jump": "i", + "op": "JUMP" + }, + "4486": { + "op": "JUMPDEST" + }, + "4487": { + "op": "SWAP1" + }, + "4488": { + "op": "POP" + }, + "4489": { + "op": "SWAP3" + }, + "4490": { + "op": "POP" + }, + "4491": { + "op": "SWAP3" + }, + "4492": { + "op": "SWAP1" + }, + "4493": { + "op": "POP" + }, + "4494": { + "jump": "o", + "op": "JUMP" + }, + "4495": { + "op": "JUMPDEST" + }, + "4496": { + "op": "PUSH1", + "value": "0x1" + }, + "4498": { + "op": "DUP2" + }, + "4499": { + "op": "DUP2" + }, + "4500": { + "op": "SHR" + }, + "4501": { + "op": "SWAP1" + }, + "4502": { + "op": "DUP3" + }, + "4503": { + "op": "AND" + }, + "4504": { + "op": "DUP1" + }, + "4505": { + "op": "PUSH2", + "value": "0x11A3" + }, + "4508": { + "op": "JUMPI" + }, + "4509": { + "op": "PUSH1", + "value": "0x7F" + }, + "4511": { + "op": "DUP3" + }, + "4512": { + "op": "AND" + }, + "4513": { + "op": "SWAP2" + }, + "4514": { + "op": "POP" + }, + "4515": { + "op": "JUMPDEST" + }, + "4516": { + "op": "PUSH1", + "value": "0x20" + }, + "4518": { + "op": "DUP3" + }, + "4519": { + "op": "LT" + }, + "4520": { + "op": "DUP2" + }, + "4521": { + "op": "SUB" + }, + "4522": { + "op": "PUSH2", + "value": "0x11C3" + }, + "4525": { + "op": "JUMPI" + }, + "4526": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "4531": { + "op": "PUSH1", + "value": "0xE0" + }, + "4533": { + "op": "SHL" + }, + "4534": { + "op": "PUSH1", + "value": "0x0" + }, + "4536": { + "op": "MSTORE" + }, + "4537": { + "op": "PUSH1", + "value": "0x22" + }, + "4539": { + "op": "PUSH1", + "value": "0x4" + }, + "4541": { + "op": "MSTORE" + }, + "4542": { + "op": "PUSH1", + "value": "0x24" + }, + "4544": { + "op": "PUSH1", + "value": "0x0" + }, + "4546": { + "op": "REVERT" + }, + "4547": { + "op": "JUMPDEST" + }, + "4548": { + "op": "POP" + }, + "4549": { + "op": "SWAP2" + }, + "4550": { + "op": "SWAP1" + }, + "4551": { + "op": "POP" + }, + "4552": { + "jump": "o", + "op": "JUMP" + }, + "4553": { + "op": "JUMPDEST" + }, + "4554": { + "op": "PUSH1", + "value": "0x0" + }, + "4556": { + "op": "DUP4" + }, + "4557": { + "op": "MLOAD" + }, + "4558": { + "op": "PUSH2", + "value": "0x11DB" + }, + "4561": { + "op": "DUP2" + }, + "4562": { + "op": "DUP5" + }, + "4563": { + "op": "PUSH1", + "value": "0x20" + }, + "4565": { + "op": "DUP9" + }, + "4566": { + "op": "ADD" + }, + "4567": { + "op": "PUSH2", + "value": "0xF0D" + }, + "4570": { + "jump": "i", + "op": "JUMP" + }, + "4571": { + "op": "JUMPDEST" + }, + "4572": { + "op": "DUP4" + }, + "4573": { + "op": "MLOAD" + }, + "4574": { + "op": "SWAP1" + }, + "4575": { + "op": "DUP4" + }, + "4576": { + "op": "ADD" + }, + "4577": { + "op": "SWAP1" + }, + "4578": { + "op": "PUSH2", + "value": "0x11EF" + }, + "4581": { + "op": "DUP2" + }, + "4582": { + "op": "DUP4" + }, + "4583": { + "op": "PUSH1", + "value": "0x20" + }, + "4585": { + "op": "DUP9" + }, + "4586": { + "op": "ADD" + }, + "4587": { + "op": "PUSH2", + "value": "0xF0D" + }, + "4590": { + "jump": "i", + "op": "JUMP" + }, + "4591": { + "op": "JUMPDEST" + }, + "4592": { + "op": "ADD" + }, + "4593": { + "op": "SWAP5" + }, + "4594": { + "op": "SWAP4" + }, + "4595": { + "op": "POP" + }, + "4596": { + "op": "POP" + }, + "4597": { + "op": "POP" + }, + "4598": { + "op": "POP" + }, + "4599": { + "jump": "o", + "op": "JUMP" + }, + "4600": { + "op": "JUMPDEST" + }, + "4601": { + "op": "PUSH1", + "value": "0x1" + }, + "4603": { + "op": "PUSH1", + "value": "0x1" + }, + "4605": { + "op": "PUSH1", + "value": "0xA0" + }, + "4607": { + "op": "SHL" + }, + "4608": { + "op": "SUB" + }, + "4609": { + "op": "DUP6" + }, + "4610": { + "op": "DUP2" + }, + "4611": { + "op": "AND" + }, + "4612": { + "op": "DUP3" + }, + "4613": { + "op": "MSTORE" + }, + "4614": { + "op": "DUP5" + }, + "4615": { + "op": "AND" + }, + "4616": { + "op": "PUSH1", + "value": "0x20" + }, + "4618": { + "op": "DUP3" + }, + "4619": { + "op": "ADD" + }, + "4620": { + "op": "MSTORE" + }, + "4621": { + "op": "PUSH1", + "value": "0x40" + }, + "4623": { + "op": "DUP2" + }, + "4624": { + "op": "ADD" + }, + "4625": { + "op": "DUP4" + }, + "4626": { + "op": "SWAP1" + }, + "4627": { + "op": "MSTORE" + }, + "4628": { + "op": "PUSH1", + "value": "0x80" + }, + "4630": { + "op": "PUSH1", + "value": "0x60" + }, + "4632": { + "op": "DUP3" + }, + "4633": { + "op": "ADD" + }, + "4634": { + "op": "DUP2" + }, + "4635": { + "op": "SWAP1" + }, + "4636": { + "op": "MSTORE" + }, + "4637": { + "op": "PUSH1", + "value": "0x0" + }, + "4639": { + "op": "SWAP1" + }, + "4640": { + "op": "PUSH2", + "value": "0x122B" + }, + "4643": { + "op": "SWAP1" + }, + "4644": { + "op": "DUP4" + }, + "4645": { + "op": "ADD" + }, + "4646": { + "op": "DUP5" + }, + "4647": { + "op": "PUSH2", + "value": "0xF39" + }, + "4650": { + "jump": "i", + "op": "JUMP" + }, + "4651": { + "op": "JUMPDEST" + }, + "4652": { + "op": "SWAP7" + }, + "4653": { + "op": "SWAP6" + }, + "4654": { + "op": "POP" + }, + "4655": { + "op": "POP" + }, + "4656": { + "op": "POP" + }, + "4657": { + "op": "POP" + }, + "4658": { + "op": "POP" + }, + "4659": { + "op": "POP" + }, + "4660": { + "jump": "o", + "op": "JUMP" + }, + "4661": { + "op": "JUMPDEST" + }, + "4662": { + "op": "PUSH1", + "value": "0x0" + }, + "4664": { + "op": "PUSH1", + "value": "0x20" + }, + "4666": { + "op": "DUP3" + }, + "4667": { + "op": "DUP5" + }, + "4668": { + "op": "SUB" + }, + "4669": { + "op": "SLT" + }, + "4670": { + "op": "ISZERO" + }, + "4671": { + "op": "PUSH2", + "value": "0x1247" + }, + "4674": { + "op": "JUMPI" + }, + "4675": { + "op": "PUSH1", + "value": "0x0" + }, + "4677": { + "op": "DUP1" + }, + "4678": { + "op": "REVERT" + }, + "4679": { + "op": "JUMPDEST" + }, + "4680": { + "op": "DUP2" + }, + "4681": { + "op": "MLOAD" + }, + "4682": { + "op": "PUSH2", + "value": "0x67E" + }, + "4685": { + "op": "DUP2" + }, + "4686": { + "op": "PUSH2", + "value": "0xEDA" + }, + "4689": { + "jump": "i", + "op": "JUMP" + }, + "4690": { + "op": "JUMPDEST" + }, + "4691": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "4696": { + "op": "PUSH1", + "value": "0xE0" + }, + "4698": { + "op": "SHL" + }, + "4699": { + "op": "PUSH1", + "value": "0x0" + }, + "4701": { + "op": "MSTORE" + }, + "4702": { + "op": "PUSH1", + "value": "0x11" + }, + "4704": { + "op": "PUSH1", + "value": "0x4" + }, + "4706": { + "op": "MSTORE" + }, + "4707": { + "op": "PUSH1", + "value": "0x24" + }, + "4709": { + "op": "PUSH1", + "value": "0x0" + }, + "4711": { + "op": "REVERT" + }, + "4712": { + "op": "JUMPDEST" + }, + "4713": { + "op": "PUSH1", + "value": "0x0" + }, + "4715": { + "op": "PUSH1", + "value": "0x1" + }, + "4717": { + "op": "DUP3" + }, + "4718": { + "op": "ADD" + }, + "4719": { + "op": "PUSH2", + "value": "0x127A" + }, + "4722": { + "op": "JUMPI" + }, + "4723": { + "op": "PUSH2", + "value": "0x127A" + }, + "4726": { + "op": "PUSH2", + "value": "0x1252" + }, + "4729": { + "jump": "i", + "op": "JUMP" + }, + "4730": { + "op": "JUMPDEST" + }, + "4731": { + "op": "POP" + }, + "4732": { + "op": "PUSH1", + "value": "0x1" + }, + "4734": { + "op": "ADD" + }, + "4735": { + "op": "SWAP1" + }, + "4736": { + "jump": "o", + "op": "JUMP" + }, + "4737": { + "op": "JUMPDEST" + }, + "4738": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "4743": { + "op": "PUSH1", + "value": "0xE0" + }, + "4745": { + "op": "SHL" + }, + "4746": { + "op": "PUSH1", + "value": "0x0" + }, + "4748": { + "op": "MSTORE" + }, + "4749": { + "op": "PUSH1", + "value": "0x12" + }, + "4751": { + "op": "PUSH1", + "value": "0x4" + }, + "4753": { + "op": "MSTORE" + }, + "4754": { + "op": "PUSH1", + "value": "0x24" + }, + "4756": { + "op": "PUSH1", + "value": "0x0" + }, + "4758": { + "op": "REVERT" + }, + "4759": { + "op": "JUMPDEST" + }, + "4760": { + "op": "PUSH1", + "value": "0x0" + }, + "4762": { + "op": "DUP3" + }, + "4763": { + "op": "PUSH2", + "value": "0x12A6" + }, + "4766": { + "op": "JUMPI" + }, + "4767": { + "op": "PUSH2", + "value": "0x12A6" + }, + "4770": { + "op": "PUSH2", + "value": "0x1281" + }, + "4773": { + "jump": "i", + "op": "JUMP" + }, + "4774": { + "op": "JUMPDEST" + }, + "4775": { + "op": "POP" + }, + "4776": { + "op": "DIV" + }, + "4777": { + "op": "SWAP1" + }, + "4778": { + "jump": "o", + "op": "JUMP" + }, + "4779": { + "op": "JUMPDEST" + }, + "4780": { + "op": "PUSH1", + "value": "0x0" + }, + "4782": { + "op": "DUP3" + }, + "4783": { + "op": "DUP3" + }, + "4784": { + "op": "LT" + }, + "4785": { + "op": "ISZERO" + }, + "4786": { + "op": "PUSH2", + "value": "0x12BD" + }, + "4789": { + "op": "JUMPI" + }, + "4790": { + "op": "PUSH2", + "value": "0x12BD" + }, + "4793": { + "op": "PUSH2", + "value": "0x1252" + }, + "4796": { + "jump": "i", + "op": "JUMP" + }, + "4797": { + "op": "JUMPDEST" + }, + "4798": { + "op": "POP" + }, + "4799": { + "op": "SUB" + }, + "4800": { + "op": "SWAP1" + }, + "4801": { + "jump": "o", + "op": "JUMP" + }, + "4802": { + "op": "JUMPDEST" + }, + "4803": { + "op": "PUSH1", + "value": "0x0" + }, + "4805": { + "op": "DUP3" + }, + "4806": { + "op": "PUSH2", + "value": "0x12D1" + }, + "4809": { + "op": "JUMPI" + }, + "4810": { + "op": "PUSH2", + "value": "0x12D1" + }, + "4813": { + "op": "PUSH2", + "value": "0x1281" + }, + "4816": { + "jump": "i", + "op": "JUMP" + }, + "4817": { + "op": "JUMPDEST" + }, + "4818": { + "op": "POP" + }, + "4819": { + "op": "MOD" + }, + "4820": { + "op": "SWAP1" + }, + "4821": { + "jump": "o", + "op": "JUMP" + }, + "4822": { + "op": "JUMPDEST" + }, + "4823": { + "op": "PUSH1", + "value": "0x0" + }, + "4825": { + "op": "DUP3" + }, + "4826": { + "op": "NOT" + }, + "4827": { + "op": "DUP3" + }, + "4828": { + "op": "GT" + }, + "4829": { + "op": "ISZERO" + }, + "4830": { + "op": "PUSH2", + "value": "0x12E9" + }, + "4833": { + "op": "JUMPI" + }, + "4834": { + "op": "PUSH2", + "value": "0x12E9" + }, + "4837": { + "op": "PUSH2", + "value": "0x1252" + }, + "4840": { + "jump": "i", + "op": "JUMP" + }, + "4841": { + "op": "JUMPDEST" + }, + "4842": { + "op": "POP" + }, + "4843": { + "op": "ADD" + }, + "4844": { + "op": "SWAP1" + }, + "4845": { + "jump": "o", + "op": "JUMP" + }, + "4846": { + "op": "JUMPDEST" + }, + "4847": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "4852": { + "op": "PUSH1", + "value": "0xE0" + }, + "4854": { + "op": "SHL" + }, + "4855": { + "op": "PUSH1", + "value": "0x0" + }, + "4857": { + "op": "MSTORE" + }, + "4858": { + "op": "PUSH1", + "value": "0x32" + }, + "4860": { + "op": "PUSH1", + "value": "0x4" + }, + "4862": { + "op": "MSTORE" + }, + "4863": { + "op": "PUSH1", + "value": "0x24" + }, + "4865": { + "op": "PUSH1", + "value": "0x0" + }, + "4867": { + "op": "REVERT" + } + }, + "sha1": "165ae5587a57d9f20c3844fe3536148e167f0bc2", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"../ERC721A.sol\";\n\ncontract ERC721AGasReporterMock is ERC721A {\n constructor(string memory name_, string memory symbol_) ERC721A(name_, symbol_) {}\n\n function safeMintOne(address to) public {\n _safeMint(to, 1);\n }\n\n function mintOne(address to) public {\n _mint(to, 1);\n }\n\n function safeMintTen(address to) public {\n _safeMint(to, 10);\n }\n\n function mintTen(address to) public {\n _mint(to, 10);\n }\n}\n", + "sourceMap": "480:435:31:-:0;;;529:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;593:5;600:7;2285:5:17;:13;593:5:31;2285::17;:13;:::i;:::-;-1:-1:-1;2308:7:17;:17;2318:7;2308;:17;:::i;:::-;-1:-1:-1;2521:7:17;2335:13;:31;-1:-1:-1;480:435:31;;-1:-1:-1;;;480:435:31;14:127:43;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:43;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;2114:545::-;2216:2;2211:3;2208:11;2205:448;;;2252:1;2277:5;2273:2;2266:17;2322:4;2318:2;2308:19;2392:2;2380:10;2376:19;2373:1;2369:27;2363:4;2359:38;2428:4;2416:10;2413:20;2410:47;;;-1:-1:-1;2451:4:43;2410:47;2506:2;2501:3;2497:12;2494:1;2490:20;2484:4;2480:31;2470:41;;2561:82;2579:2;2572:5;2569:13;2561:82;;;2624:17;;;2605:1;2594:13;2561:82;;;2565:3;;;2205:448;2114:545;;;:::o;2835:1352::-;2955:10;;-1:-1:-1;;;;;2977:30:43;;2974:56;;;3010:18;;:::i;:::-;3039:97;3129:6;3089:38;3121:4;3115:11;3089:38;:::i;:::-;3083:4;3039:97;:::i;:::-;3191:4;;3255:2;3244:14;;3272:1;3267:663;;;;3974:1;3991:6;3988:89;;;-1:-1:-1;4043:19:43;;;4037:26;3988:89;-1:-1:-1;;2792:1:43;2788:11;;;2784:24;2780:29;2770:40;2816:1;2812:11;;;2767:57;4090:81;;3237:944;;3267:663;2061:1;2054:14;;;2098:4;2085:18;;-1:-1:-1;;3303:20:43;;;3421:236;3435:7;3432:1;3429:14;3421:236;;;3524:19;;;3518:26;3503:42;;3616:27;;;;3584:1;3572:14;;;;3451:19;;3421:236;;;3425:3;3685:6;3676:7;3673:19;3670:201;;;3746:19;;;3740:26;-1:-1:-1;;3829:1:43;3825:14;;;3841:3;3821:24;3817:37;3813:42;3798:58;3783:74;;3670:201;-1:-1:-1;;;;;3917:1:43;3901:14;;;3897:22;3884:36;;-1:-1:-1;2835:1352:43:o;:::-;480:435:31;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721AGasReporterMock.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721AMock.json b/tests/build/contracts/ERC721AMock.json new file mode 100644 index 0000000..43221e3 --- /dev/null +++ b/tests/build/contracts/ERC721AMock.json @@ -0,0 +1,30709 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "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": "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": "baseURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "approvalCheck", + "type": "bool" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "getAux", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "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": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "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": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint64", + "name": "aux", + "type": "uint64" + } + ], + "name": "setAux", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalMinted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "32": "contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "ERC721AMock": [ + 3910 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "Strings": [ + 6613 + ] + }, + "id": 3911, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3770, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:32" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "file": "../ERC721A.sol", + "id": 3771, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3911, + "sourceUnit": 2708, + "src": "454:24:32", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3772, + "name": "ERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2707, + "src": "504:7:32" + }, + "id": 3773, + "nodeType": "InheritanceSpecifier", + "src": "504:7:32" + } + ], + "canonicalName": "ERC721AMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3910, + "linearizedBaseContracts": [ + 3910, + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410 + ], + "name": "ERC721AMock", + "nameLocation": "489:11:32", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3784, + "nodeType": "Block", + "src": "598:2:32", + "statements": [] + }, + "id": 3785, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3780, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3775, + "src": "582:5:32", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3781, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3777, + "src": "589:7:32", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 3782, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3779, + "name": "ERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2707, + "src": "574:7:32" + }, + "nodeType": "ModifierInvocation", + "src": "574:23:32" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3775, + "mutability": "mutable", + "name": "name_", + "nameLocation": "544:5:32", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "530:19:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3774, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "530:6:32", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3777, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "565:7:32", + "nodeType": "VariableDeclaration", + "scope": 3785, + "src": "551:21:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3776, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "551:6:32", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "529:44:32" + }, + "returnParameters": { + "id": 3783, + "nodeType": "ParameterList", + "parameters": [], + "src": "598:0:32" + }, + "scope": 3910, + "src": "518:82:32", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3796, + "nodeType": "Block", + "src": "673:44:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3793, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3787, + "src": "704:5:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3792, + "name": "_numberMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "690:13:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 3794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "690:20:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3791, + "id": 3795, + "nodeType": "Return", + "src": "683:27:32" + } + ] + }, + "functionSelector": "dc33e681", + "id": 3797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "numberMinted", + "nameLocation": "615:12:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3788, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3787, + "mutability": "mutable", + "name": "owner", + "nameLocation": "636:5:32", + "nodeType": "VariableDeclaration", + "scope": 3797, + "src": "628:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3786, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "628:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "627:15:32" + }, + "returnParameters": { + "id": 3791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3790, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3797, + "src": "664:7:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3789, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "664:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "663:9:32" + }, + "scope": 3910, + "src": "606:111:32", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3805, + "nodeType": "Block", + "src": "776:38:32", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3802, + "name": "_totalMinted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "793:12:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "793:14:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3801, + "id": 3804, + "nodeType": "Return", + "src": "786:21:32" + } + ] + }, + "functionSelector": "a2309ff8", + "id": 3806, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalMinted", + "nameLocation": "732:11:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3798, + "nodeType": "ParameterList", + "parameters": [], + "src": "743:2:32" + }, + "returnParameters": { + "id": 3801, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3800, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3806, + "src": "767:7:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3799, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "767:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "766:9:32" + }, + "scope": 3910, + "src": "723:91:32", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3817, + "nodeType": "Block", + "src": "880:38:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3814, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3808, + "src": "905:5:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3813, + "name": "_getAux", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1548, + "src": "897:7:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint64_$", + "typeString": "function (address) view returns (uint64)" + } + }, + "id": 3815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "897:14:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 3812, + "id": 3816, + "nodeType": "Return", + "src": "890:21:32" + } + ] + }, + "functionSelector": "bf0b175e", + "id": 3818, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAux", + "nameLocation": "829:6:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3809, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3808, + "mutability": "mutable", + "name": "owner", + "nameLocation": "844:5:32", + "nodeType": "VariableDeclaration", + "scope": 3818, + "src": "836:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3807, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "836:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "835:15:32" + }, + "returnParameters": { + "id": 3812, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3811, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3818, + "src": "872:6:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3810, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "872:6:32", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "871:8:32" + }, + "scope": 3910, + "src": "820:98:32", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3830, + "nodeType": "Block", + "src": "974:36:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3826, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3820, + "src": "992:5:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3827, + "name": "aux", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3822, + "src": "999:3:32", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 3825, + "name": "_setAux", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1564, + "src": "984:7:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint64_$returns$__$", + "typeString": "function (address,uint64)" + } + }, + "id": 3828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "984:19:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3829, + "nodeType": "ExpressionStatement", + "src": "984:19:32" + } + ] + }, + "functionSelector": "453ab141", + "id": 3831, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "setAux", + "nameLocation": "933:6:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3820, + "mutability": "mutable", + "name": "owner", + "nameLocation": "948:5:32", + "nodeType": "VariableDeclaration", + "scope": 3831, + "src": "940:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3819, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "940:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3822, + "mutability": "mutable", + "name": "aux", + "nameLocation": "962:3:32", + "nodeType": "VariableDeclaration", + "scope": 3831, + "src": "955:10:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3821, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "955:6:32", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "939:27:32" + }, + "returnParameters": { + "id": 3824, + "nodeType": "ParameterList", + "parameters": [], + "src": "974:0:32" + }, + "scope": 3910, + "src": "924:86:32", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3839, + "nodeType": "Block", + "src": "1071:34:32", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3836, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1725, + "src": "1088:8:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 3837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1088:10:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 3835, + "id": 3838, + "nodeType": "Return", + "src": "1081:17:32" + } + ] + }, + "functionSelector": "6c0360eb", + "id": 3840, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "baseURI", + "nameLocation": "1025:7:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3832, + "nodeType": "ParameterList", + "parameters": [], + "src": "1032:2:32" + }, + "returnParameters": { + "id": 3835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3834, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3840, + "src": "1056:13:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3833, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1056:6:32", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1055:15:32" + }, + "scope": 3910, + "src": "1016:89:32", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3851, + "nodeType": "Block", + "src": "1171:40:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3848, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3842, + "src": "1196:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3847, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "1188:7:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1188:16:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3846, + "id": 3850, + "nodeType": "Return", + "src": "1181:23:32" + } + ] + }, + "functionSelector": "4f558e79", + "id": 3852, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "exists", + "nameLocation": "1120:6:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3842, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1135:7:32", + "nodeType": "VariableDeclaration", + "scope": 3852, + "src": "1127:15:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3841, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1127:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1126:17:32" + }, + "returnParameters": { + "id": 3846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3845, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3852, + "src": "1165:4:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3844, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1165:4:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1164:6:32" + }, + "scope": 3910, + "src": "1111:100:32", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3864, + "nodeType": "Block", + "src": "1272:40:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3860, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3854, + "src": "1292:2:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3861, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3856, + "src": "1296:8:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3859, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1957, + 2120 + ], + "referencedDeclaration": 1957, + "src": "1282:9:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1282:23:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3863, + "nodeType": "ExpressionStatement", + "src": "1282:23:32" + } + ] + }, + "functionSelector": "a1448194", + "id": 3865, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeMint", + "nameLocation": "1226:8:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3857, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3854, + "mutability": "mutable", + "name": "to", + "nameLocation": "1243:2:32", + "nodeType": "VariableDeclaration", + "scope": 3865, + "src": "1235:10:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3853, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1235:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3856, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "1255:8:32", + "nodeType": "VariableDeclaration", + "scope": 3865, + "src": "1247:16:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3855, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1247:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1234:30:32" + }, + "returnParameters": { + "id": 3858, + "nodeType": "ParameterList", + "parameters": [], + "src": "1272:0:32" + }, + "scope": 3910, + "src": "1217:95:32", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3880, + "nodeType": "Block", + "src": "1423:47:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3875, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3867, + "src": "1443:2:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3876, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3869, + "src": "1447:8:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3877, + "name": "_data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3871, + "src": "1457:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3874, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1957, + 2120 + ], + "referencedDeclaration": 2120, + "src": "1433:9:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,bytes memory)" + } + }, + "id": 3878, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1433:30:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3879, + "nodeType": "ExpressionStatement", + "src": "1433:30:32" + } + ] + }, + "functionSelector": "8832e6e3", + "id": 3881, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeMint", + "nameLocation": "1327:8:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3867, + "mutability": "mutable", + "name": "to", + "nameLocation": "1353:2:32", + "nodeType": "VariableDeclaration", + "scope": 3881, + "src": "1345:10:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3866, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1345:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3869, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "1373:8:32", + "nodeType": "VariableDeclaration", + "scope": 3881, + "src": "1365:16:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3868, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1365:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3871, + "mutability": "mutable", + "name": "_data", + "nameLocation": "1404:5:32", + "nodeType": "VariableDeclaration", + "scope": 3881, + "src": "1391:18:32", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3870, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1391:5:32", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1335:80:32" + }, + "returnParameters": { + "id": 3873, + "nodeType": "ParameterList", + "parameters": [], + "src": "1423:0:32" + }, + "scope": 3910, + "src": "1318:152:32", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3893, + "nodeType": "Block", + "src": "1527:36:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3889, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3883, + "src": "1543:2:32", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3890, + "name": "quantity", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3885, + "src": "1547:8:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3888, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2238, + "src": "1537:5:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1537:19:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3892, + "nodeType": "ExpressionStatement", + "src": "1537:19:32" + } + ] + }, + "functionSelector": "40c10f19", + "id": 3894, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mint", + "nameLocation": "1485:4:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3883, + "mutability": "mutable", + "name": "to", + "nameLocation": "1498:2:32", + "nodeType": "VariableDeclaration", + "scope": 3894, + "src": "1490:10:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1490:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3885, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "1510:8:32", + "nodeType": "VariableDeclaration", + "scope": 3894, + "src": "1502:16:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3884, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1502:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1489:30:32" + }, + "returnParameters": { + "id": 3887, + "nodeType": "ParameterList", + "parameters": [], + "src": "1527:0:32" + }, + "scope": 3910, + "src": "1476:87:32", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 3908, + "nodeType": "Block", + "src": "1627:52:32", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 3904, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3896, + "src": "1649:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3905, + "name": "approvalCheck", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3898, + "src": "1658:13:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 3901, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1637:5:32", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC721AMock_$3910_$", + "typeString": "type(contract super ERC721AMock)" + } + }, + "id": 3903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_burn", + "nodeType": "MemberAccess", + "referencedDeclaration": 2602, + "src": "1637:11:32", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool)" + } + }, + "id": 3906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1637:35:32", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3907, + "nodeType": "ExpressionStatement", + "src": "1637:35:32" + } + ] + }, + "functionSelector": "9fac68cb", + "id": 3909, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "1578:4:32", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3896, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1591:7:32", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1583:15:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1583:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3898, + "mutability": "mutable", + "name": "approvalCheck", + "nameLocation": "1605:13:32", + "nodeType": "VariableDeclaration", + "scope": 3909, + "src": "1600:18:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3897, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1600:4:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1582:37:32" + }, + "returnParameters": { + "id": 3900, + "nodeType": "ParameterList", + "parameters": [], + "src": "1627:0:32" + }, + "scope": 3910, + "src": "1569:110:32", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 3911, + "src": "480:1201:32", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367 + ] + } + ], + "src": "429:1253:32" + }, + "bytecode": "60806040523480156200001157600080fd5b5060405162001a4638038062001a46833981016040819052620000349162000130565b8181600262000044838262000229565b50600362000053828262000229565b506000805550620002f592505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008b57600080fd5b81516001600160401b0380821115620000a857620000a862000063565b604051601f8301601f19908116603f01168101908282118183101715620000d357620000d362000063565b81604052838152602092508683858801011115620000f057600080fd5b600091505b83821015620001145785820183015181830184015290820190620000f5565b83821115620001265760008385830101525b9695505050505050565b600080604083850312156200014457600080fd5b82516001600160401b03808211156200015c57600080fd5b6200016a8683870162000079565b935060208501519150808211156200018157600080fd5b50620001908582860162000079565b9150509250929050565b600181811c90821680620001af57607f821691505b602082108103620001d057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022457600081815260208120601f850160051c81016020861015620001ff5750805b601f850160051c820191505b8181101562000220578281556001016200020b565b5050505b505050565b81516001600160401b0381111562000245576200024562000063565b6200025d816200025684546200019a565b84620001d6565b602080601f8311600181146200029557600084156200027c5750858301515b600019600386901b1c1916600185901b17855562000220565b600085815260208120601f198616915b82811015620002c657888601518255948401946001909101908401620002a5565b5085821015620002e55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61174180620003056000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a2309ff81161007c578063a2309ff814610306578063b88d4fde1461030e578063bf0b175e14610321578063c87b56dd1461034c578063dc33e6811461035f578063e985e9c51461037257600080fd5b806370a082311461029f5780638832e6e3146102b257806395d89b41146102c55780639fac68cb146102cd578063a1448194146102e0578063a22cb465146102f357600080fd5b806340c10f191161011557806340c10f191461020357806342842e0e14610216578063453ab141146102295780634f558e79146102715780636352211e146102845780636c0360eb1461029757600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101c557806318160ddd146101da57806323b872dd146101f0575b600080fd5b61017061016b366004611206565b6103ae565b60405190151581526020015b60405180910390f35b61018d610400565b60405161017c919061127b565b6101ad6101a836600461128e565b610492565b6040516001600160a01b03909116815260200161017c565b6101d86101d33660046112c3565b6104d6565b005b600154600054035b60405190815260200161017c565b6101d86101fe3660046112ed565b61055c565b6101d86102113660046112c3565b610567565b6101d86102243660046112ed565b610575565b6101d8610237366004611329565b6001600160a01b038216600090815260056020526040902080546001600160c01b0316600160c01b6001600160401b038416021790555050565b61017061027f36600461128e565b610590565b6101ad61029236600461128e565b61059b565b61018d6105ad565b6101e26102ad36600461136c565b6105c9565b6101d86102c0366004611429565b610617565b61018d610622565b6101d86102db36600461148f565b610631565b6101d86102ee3660046112c3565b61063b565b6101d86103013660046114bb565b610645565b6000546101e2565b6101d861031c3660046114e5565b6106da565b61033461032f36600461136c565b610724565b6040516001600160401b03909116815260200161017c565b61018d61035a36600461128e565b610752565b6101e261036d36600461136c565b6107e3565b61017061038036600461154c565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b14806103df57506001600160e01b03198216635b5e139f60e01b145b806103fa57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461040f90611576565b80601f016020809104026020016040519081016040528092919081815260200182805461043b90611576565b80156104885780601f1061045d57610100808354040283529160200191610488565b820191906000526020600020905b81548152906001019060200180831161046b57829003601f168201915b5050505050905090565b600061049d82610811565b6104ba576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006104e18261059b565b9050806001600160a01b0316836001600160a01b0316036105155760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b0382161461054c5761052f8133610380565b61054c576040516367d9dca160e11b815260040160405180910390fd5b61055783838361083c565b505050565b610557838383610898565b6105718282610a73565b5050565b610557838383604051806020016040528060008152506106da565b60006103fa82610811565b60006105a682610b85565b5192915050565b60606105c460408051602081019091526000815290565b905090565b60006001600160a01b0382166105f2576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b610557838383610c9f565b60606003805461040f90611576565b6105718282610e34565b6105718282610fe7565b336001600160a01b0383160361066e5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6106e5848484610898565b6001600160a01b0383163b1561071e5761070184848484611001565b61071e576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6001600160a01b038116600090815260056020526040812054600160c01b90046001600160401b03166103fa565b606061075d82610811565b61077a57604051630a14c4b560e41b815260040160405180910390fd5b600061079160408051602081019091526000815290565b905080516000036107b157604051806020016040528060008152506107dc565b806107bb846110ed565b6040516020016107cc9291906115b0565b6040516020818303038152906040525b9392505050565b6001600160a01b038116600090815260056020526040812054600160401b90046001600160401b03166103fa565b60008054821080156103fa575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108a382610b85565b9050836001600160a01b031681600001516001600160a01b0316146108da5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806108f857506108f88533610380565b8061091357503361090884610492565b6001600160a01b0316145b90508061093357604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661095a57604051633a954ecd60e21b815260040160405180910390fd5b6109666000848761083c565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a3a576000548214610a3a57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03166000805160206116ec83398151915260405160405180910390a45050505050565b6000546001600160a01b038316610a9c57604051622e076360e81b815260040160405180910390fd5b81600003610abd5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000906000805160206116ec833981519152908290a4808210610b4b5750600055505050565b604080516060810182526000808252602082018190529181019190915281600054811015610c8657600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610c845780516001600160a01b031615610c1b579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610c7f579392505050565b610c1b565b505b604051636f96cda160e11b815260040160405180910390fd5b6000546001600160a01b038416610cc857604051622e076360e81b815260040160405180910390fd5b82600003610ce95760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260056020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600490925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15610df1575b60405182906001600160a01b038816906000906000805160206116ec833981519152908290a4610dba6000878480600101955087611001565b610dd7576040516368d2bf6b60e11b815260040160405180910390fd5b808210610d81578260005414610dec57600080fd5b610e24565b5b6040516001830192906001600160a01b038816906000906000805160206116ec833981519152908290a4808210610df2575b50600090815561071e9085838684565b6000610e3f83610b85565b80519091508215610ea5576000336001600160a01b0383161480610e685750610e688233610380565b80610e83575033610e7886610492565b6001600160a01b0316145b905080610ea357604051632ce44b5f60e11b815260040160405180910390fd5b505b610eb16000858361083c565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610faf576000548214610faf57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416906000805160206116ec833981519152908390a4505060018054810190555050565b610571828260405180602001604052806000815250610c9f565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906110369033908990889088906004016115df565b6020604051808303816000875af1925050508015611071575060408051601f3d908101601f1916820190925261106e9181019061161c565b60015b6110cf573d80801561109f576040519150601f19603f3d011682016040523d82523d6000602084013e6110a4565b606091505b5080516000036110c7576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060816000036111145750506040805180820190915260018152600360fc1b602082015290565b8160005b811561113e57806111288161164f565b91506111379050600a8361167e565b9150611118565b6000816001600160401b0381111561115857611158611387565b6040519080825280601f01601f191660200182016040528015611182576020820181803683370190505b5090505b84156110e557611197600183611692565b91506111a4600a866116a9565b6111af9060306116bd565b60f81b8183815181106111c4576111c46116d5565b60200101906001600160f81b031916908160001a9053506111e6600a8661167e565b9450611186565b6001600160e01b03198116811461120357600080fd5b50565b60006020828403121561121857600080fd5b81356107dc816111ed565b60005b8381101561123e578181015183820152602001611226565b8381111561071e5750506000910152565b60008151808452611267816020860160208601611223565b601f01601f19169290920160200192915050565b6020815260006107dc602083018461124f565b6000602082840312156112a057600080fd5b5035919050565b80356001600160a01b03811681146112be57600080fd5b919050565b600080604083850312156112d657600080fd5b6112df836112a7565b946020939093013593505050565b60008060006060848603121561130257600080fd5b61130b846112a7565b9250611319602085016112a7565b9150604084013590509250925092565b6000806040838503121561133c57600080fd5b611345836112a7565b915060208301356001600160401b038116811461136157600080fd5b809150509250929050565b60006020828403121561137e57600080fd5b6107dc826112a7565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126113ae57600080fd5b81356001600160401b03808211156113c8576113c8611387565b604051601f8301601f19908116603f011681019082821181831017156113f0576113f0611387565b8160405283815286602085880101111561140957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561143e57600080fd5b611447846112a7565b92506020840135915060408401356001600160401b0381111561146957600080fd5b6114758682870161139d565b9150509250925092565b803580151581146112be57600080fd5b600080604083850312156114a257600080fd5b823591506114b26020840161147f565b90509250929050565b600080604083850312156114ce57600080fd5b6114d7836112a7565b91506114b26020840161147f565b600080600080608085870312156114fb57600080fd5b611504856112a7565b9350611512602086016112a7565b92506040850135915060608501356001600160401b0381111561153457600080fd5b6115408782880161139d565b91505092959194509250565b6000806040838503121561155f57600080fd5b611568836112a7565b91506114b2602084016112a7565b600181811c9082168061158a57607f821691505b6020821081036115aa57634e487b7160e01b600052602260045260246000fd5b50919050565b600083516115c2818460208801611223565b8351908301906115d6818360208801611223565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116129083018461124f565b9695505050505050565b60006020828403121561162e57600080fd5b81516107dc816111ed565b634e487b7160e01b600052601160045260246000fd5b60006001820161166157611661611639565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261168d5761168d611668565b500490565b6000828210156116a4576116a4611639565b500390565b6000826116b8576116b8611668565b500690565b600082198211156116d0576116d0611639565b500190565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220115f9f5d24c3f2e0d3e9cd7edee492afe8b1e4dcbb94b93d93365217cef1f2c464736f6c634300080f0033", + "bytecodeSha1": "421add3143af2b4adf1ce79de2d1156186aadb65", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721AMock", + "coverageMap": { + "branches": { + "1": {}, + "17": { + "ERC721A._burn": { + "111": [ + 16787, + 16804, + false + ], + "112": [ + 18282, + 18310, + false + ] + }, + "ERC721A._checkContractOnERC721Received": { + "113": [ + 19927, + 19945, + false + ] + }, + "ERC721A._mint": { + "102": [ + 12705, + 12721, + false + ], + "103": [ + 12763, + 12776, + false + ] + }, + "ERC721A._ownershipOf": { + "104": [ + 5289, + 5309, + false + ], + "105": [ + 5459, + 5487, + false + ], + "106": [ + 6021, + 6049, + false + ] + }, + "ERC721A._safeMint": { + "107": [ + 10804, + 10820, + false + ], + "108": [ + 10862, + 10875, + false + ], + "109": [ + 11732, + 11801, + false + ], + "110": [ + 12007, + 12036, + false + ] + }, + "ERC721A._transfer": { + "98": [ + 14163, + 14189, + false + ], + "99": [ + 14380, + 14397, + false + ], + "100": [ + 14455, + 14471, + false + ], + "101": [ + 15745, + 15773, + false + ] + }, + "ERC721A.approve": { + "90": [ + 7663, + 7674, + false + ], + "91": [ + 7722, + 7743, + false + ], + "92": [ + 7762, + 7799, + false + ] + }, + "ERC721A.balanceOf": { + "93": [ + 3832, + 3851, + false + ] + }, + "ERC721A.getApproved": { + "89": [ + 8074, + 8090, + false + ] + }, + "ERC721A.safeTransferFrom": { + "95": [ + 9533, + 9589, + false + ] + }, + "ERC721A.setApprovalForAll": { + "94": [ + 8347, + 8371, + false + ] + }, + "ERC721A.tokenURI": { + "96": [ + 6937, + 6953, + false + ], + "97": [ + 7053, + 7079, + true + ] + } + }, + "22": {}, + "3": {}, + "32": {}, + "5": {}, + "7": {}, + "8": {} + }, + "statements": { + "1": {}, + "17": { + "ERC721A._approve": { + "38": [ + 18958, + 18987 + ], + "39": [ + 18997, + 19030 + ] + }, + "ERC721A._baseURI": { + "19": [ + 7464, + 7473 + ] + }, + "ERC721A._burn": { + "75": [ + 16782, + 16848 + ], + "76": [ + 16982, + 17017 + ], + "77": [ + 17373, + 17397 + ], + "78": [ + 17411, + 17440 + ], + "79": [ + 17604, + 17624 + ], + "80": [ + 17638, + 17687 + ], + "81": [ + 17701, + 17723 + ], + "82": [ + 18334, + 18354 + ], + "83": [ + 18376, + 18430 + ], + "84": [ + 18483, + 18523 + ], + "85": [ + 18706, + 18720 + ] + }, + "ERC721A._checkContractOnERC721Received": { + "87": [ + 19923, + 20152 + ], + "88": [ + 19807, + 19869 + ] + }, + "ERC721A._exists": { + "37": [ + 9996, + 10088 + ] + }, + "ERC721A._getAux": { + "31": [ + 4574, + 4604 + ] + }, + "ERC721A._mint": { + "51": [ + 12701, + 12749 + ], + "52": [ + 12759, + 12803 + ], + "53": [ + 13146, + 13190 + ], + "54": [ + 13204, + 13253 + ], + "55": [ + 13268, + 13303 + ], + "56": [ + 13317, + 13383 + ], + "57": [ + 13520, + 13565 + ], + "58": [ + 13622, + 13650 + ] + }, + "ERC721A._numberMinted": { + "35": [ + 4105, + 4153 + ] + }, + "ERC721A._ownershipOf": { + "59": [ + 5519, + 5535 + ], + "60": [ + 5922, + 5928 + ], + "61": [ + 5958, + 5987 + ], + "62": [ + 6085, + 6101 + ] + }, + "ERC721A._safeMint": { + "63": [ + 10800, + 10848 + ], + "64": [ + 10858, + 10902 + ], + "65": [ + 11245, + 11289 + ], + "66": [ + 11303, + 11352 + ], + "67": [ + 11367, + 11402 + ], + "68": [ + 11416, + 11482 + ], + "69": [ + 11662, + 11705 + ], + "70": [ + 11727, + 11899 + ], + "71": [ + 12038, + 12046 + ], + "72": [ + 12110, + 12155 + ], + "73": [ + 12229, + 12257 + ], + "74": [ + 12277, + 12337 + ], + "86": [ + 10242, + 10269 + ] + }, + "ERC721A._setAux": { + "1": [ + 4856, + 4885 + ] + }, + "ERC721A._totalMinted": { + "2": [ + 3300, + 3338 + ] + }, + "ERC721A._transfer": { + "40": [ + 14159, + 14226 + ], + "41": [ + 14375, + 14441 + ], + "42": [ + 14451, + 14503 + ], + "43": [ + 14619, + 14654 + ], + "44": [ + 14944, + 14975 + ], + "45": [ + 14989, + 15018 + ], + "46": [ + 15101, + 15119 + ], + "47": [ + 15133, + 15182 + ], + "48": [ + 15797, + 15817 + ], + "49": [ + 15839, + 15893 + ], + "50": [ + 15946, + 15978 + ] + }, + "ERC721A.approve": { + "9": [ + 7659, + 7707 + ], + "11": [ + 7757, + 7876 + ], + "12": [ + 7886, + 7914 + ] + }, + "ERC721A.balanceOf": { + "20": [ + 3828, + 3888 + ], + "21": [ + 3898, + 3941 + ] + }, + "ERC721A.getApproved": { + "7": [ + 8069, + 8133 + ], + "8": [ + 8144, + 8175 + ] + }, + "ERC721A.isApprovedForAll": { + "3": [ + 8710, + 8752 + ] + }, + "ERC721A.name": { + "6": [ + 6583, + 6595 + ] + }, + "ERC721A.ownerOf": { + "17": [ + 6402, + 6435 + ] + }, + "ERC721A.safeTransferFrom": { + "15": [ + 9184, + 9223 + ], + "29": [ + 9457, + 9485 + ], + "30": [ + 9528, + 9671 + ] + }, + "ERC721A.setApprovalForAll": { + "26": [ + 8343, + 8397 + ], + "27": [ + 8408, + 8461 + ], + "28": [ + 8471, + 8524 + ] + }, + "ERC721A.supportsInterface": { + "4": [ + 3540, + 3679 + ] + }, + "ERC721A.symbol": { + "23": [ + 6747, + 6761 + ] + }, + "ERC721A.tokenURI": { + "33": [ + 6932, + 6991 + ], + "34": [ + 7046, + 7140 + ] + }, + "ERC721A.totalSupply": { + "0": [ + 2920, + 2973 + ] + }, + "ERC721A.transferFrom": { + "13": [ + 8950, + 8978 + ] + } + }, + "22": {}, + "3": {}, + "32": { + "ERC721AMock.baseURI": { + "18": [ + 1081, + 1098 + ] + }, + "ERC721AMock.burn": { + "24": [ + 1637, + 1672 + ] + }, + "ERC721AMock.exists": { + "16": [ + 1181, + 1204 + ] + }, + "ERC721AMock.getAux": { + "32": [ + 890, + 911 + ] + }, + "ERC721AMock.mint": { + "14": [ + 1537, + 1556 + ] + }, + "ERC721AMock.numberMinted": { + "36": [ + 683, + 710 + ] + }, + "ERC721AMock.safeMint": { + "22": [ + 1433, + 1463 + ], + "25": [ + 1282, + 1305 + ] + } + }, + "5": { + "Context._msgSender": { + "10": [ + 712, + 729 + ] + } + }, + "7": { + "ERC165.supportsInterface": { + "5": [ + 930, + 977 + ] + } + }, + "8": {} + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "ERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata" + ], + "deployedBytecode": "608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a2309ff81161007c578063a2309ff814610306578063b88d4fde1461030e578063bf0b175e14610321578063c87b56dd1461034c578063dc33e6811461035f578063e985e9c51461037257600080fd5b806370a082311461029f5780638832e6e3146102b257806395d89b41146102c55780639fac68cb146102cd578063a1448194146102e0578063a22cb465146102f357600080fd5b806340c10f191161011557806340c10f191461020357806342842e0e14610216578063453ab141146102295780634f558e79146102715780636352211e146102845780636c0360eb1461029757600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101c557806318160ddd146101da57806323b872dd146101f0575b600080fd5b61017061016b366004611206565b6103ae565b60405190151581526020015b60405180910390f35b61018d610400565b60405161017c919061127b565b6101ad6101a836600461128e565b610492565b6040516001600160a01b03909116815260200161017c565b6101d86101d33660046112c3565b6104d6565b005b600154600054035b60405190815260200161017c565b6101d86101fe3660046112ed565b61055c565b6101d86102113660046112c3565b610567565b6101d86102243660046112ed565b610575565b6101d8610237366004611329565b6001600160a01b038216600090815260056020526040902080546001600160c01b0316600160c01b6001600160401b038416021790555050565b61017061027f36600461128e565b610590565b6101ad61029236600461128e565b61059b565b61018d6105ad565b6101e26102ad36600461136c565b6105c9565b6101d86102c0366004611429565b610617565b61018d610622565b6101d86102db36600461148f565b610631565b6101d86102ee3660046112c3565b61063b565b6101d86103013660046114bb565b610645565b6000546101e2565b6101d861031c3660046114e5565b6106da565b61033461032f36600461136c565b610724565b6040516001600160401b03909116815260200161017c565b61018d61035a36600461128e565b610752565b6101e261036d36600461136c565b6107e3565b61017061038036600461154c565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b14806103df57506001600160e01b03198216635b5e139f60e01b145b806103fa57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461040f90611576565b80601f016020809104026020016040519081016040528092919081815260200182805461043b90611576565b80156104885780601f1061045d57610100808354040283529160200191610488565b820191906000526020600020905b81548152906001019060200180831161046b57829003601f168201915b5050505050905090565b600061049d82610811565b6104ba576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006104e18261059b565b9050806001600160a01b0316836001600160a01b0316036105155760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b0382161461054c5761052f8133610380565b61054c576040516367d9dca160e11b815260040160405180910390fd5b61055783838361083c565b505050565b610557838383610898565b6105718282610a73565b5050565b610557838383604051806020016040528060008152506106da565b60006103fa82610811565b60006105a682610b85565b5192915050565b60606105c460408051602081019091526000815290565b905090565b60006001600160a01b0382166105f2576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b610557838383610c9f565b60606003805461040f90611576565b6105718282610e34565b6105718282610fe7565b336001600160a01b0383160361066e5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6106e5848484610898565b6001600160a01b0383163b1561071e5761070184848484611001565b61071e576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6001600160a01b038116600090815260056020526040812054600160c01b90046001600160401b03166103fa565b606061075d82610811565b61077a57604051630a14c4b560e41b815260040160405180910390fd5b600061079160408051602081019091526000815290565b905080516000036107b157604051806020016040528060008152506107dc565b806107bb846110ed565b6040516020016107cc9291906115b0565b6040516020818303038152906040525b9392505050565b6001600160a01b038116600090815260056020526040812054600160401b90046001600160401b03166103fa565b60008054821080156103fa575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108a382610b85565b9050836001600160a01b031681600001516001600160a01b0316146108da5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806108f857506108f88533610380565b8061091357503361090884610492565b6001600160a01b0316145b90508061093357604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661095a57604051633a954ecd60e21b815260040160405180910390fd5b6109666000848761083c565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a3a576000548214610a3a57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03166000805160206116ec83398151915260405160405180910390a45050505050565b6000546001600160a01b038316610a9c57604051622e076360e81b815260040160405180910390fd5b81600003610abd5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000906000805160206116ec833981519152908290a4808210610b4b5750600055505050565b604080516060810182526000808252602082018190529181019190915281600054811015610c8657600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610c845780516001600160a01b031615610c1b579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610c7f579392505050565b610c1b565b505b604051636f96cda160e11b815260040160405180910390fd5b6000546001600160a01b038416610cc857604051622e076360e81b815260040160405180910390fd5b82600003610ce95760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260056020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600490925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15610df1575b60405182906001600160a01b038816906000906000805160206116ec833981519152908290a4610dba6000878480600101955087611001565b610dd7576040516368d2bf6b60e11b815260040160405180910390fd5b808210610d81578260005414610dec57600080fd5b610e24565b5b6040516001830192906001600160a01b038816906000906000805160206116ec833981519152908290a4808210610df2575b50600090815561071e9085838684565b6000610e3f83610b85565b80519091508215610ea5576000336001600160a01b0383161480610e685750610e688233610380565b80610e83575033610e7886610492565b6001600160a01b0316145b905080610ea357604051632ce44b5f60e11b815260040160405180910390fd5b505b610eb16000858361083c565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610faf576000548214610faf57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416906000805160206116ec833981519152908390a4505060018054810190555050565b610571828260405180602001604052806000815250610c9f565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906110369033908990889088906004016115df565b6020604051808303816000875af1925050508015611071575060408051601f3d908101601f1916820190925261106e9181019061161c565b60015b6110cf573d80801561109f576040519150601f19603f3d011682016040523d82523d6000602084013e6110a4565b606091505b5080516000036110c7576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060816000036111145750506040805180820190915260018152600360fc1b602082015290565b8160005b811561113e57806111288161164f565b91506111379050600a8361167e565b9150611118565b6000816001600160401b0381111561115857611158611387565b6040519080825280601f01601f191660200182016040528015611182576020820181803683370190505b5090505b84156110e557611197600183611692565b91506111a4600a866116a9565b6111af9060306116bd565b60f81b8183815181106111c4576111c46116d5565b60200101906001600160f81b031916908160001a9053506111e6600a8661167e565b9450611186565b6001600160e01b03198116811461120357600080fd5b50565b60006020828403121561121857600080fd5b81356107dc816111ed565b60005b8381101561123e578181015183820152602001611226565b8381111561071e5750506000910152565b60008151808452611267816020860160208601611223565b601f01601f19169290920160200192915050565b6020815260006107dc602083018461124f565b6000602082840312156112a057600080fd5b5035919050565b80356001600160a01b03811681146112be57600080fd5b919050565b600080604083850312156112d657600080fd5b6112df836112a7565b946020939093013593505050565b60008060006060848603121561130257600080fd5b61130b846112a7565b9250611319602085016112a7565b9150604084013590509250925092565b6000806040838503121561133c57600080fd5b611345836112a7565b915060208301356001600160401b038116811461136157600080fd5b809150509250929050565b60006020828403121561137e57600080fd5b6107dc826112a7565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126113ae57600080fd5b81356001600160401b03808211156113c8576113c8611387565b604051601f8301601f19908116603f011681019082821181831017156113f0576113f0611387565b8160405283815286602085880101111561140957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561143e57600080fd5b611447846112a7565b92506020840135915060408401356001600160401b0381111561146957600080fd5b6114758682870161139d565b9150509250925092565b803580151581146112be57600080fd5b600080604083850312156114a257600080fd5b823591506114b26020840161147f565b90509250929050565b600080604083850312156114ce57600080fd5b6114d7836112a7565b91506114b26020840161147f565b600080600080608085870312156114fb57600080fd5b611504856112a7565b9350611512602086016112a7565b92506040850135915060608501356001600160401b0381111561153457600080fd5b6115408782880161139d565b91505092959194509250565b6000806040838503121561155f57600080fd5b611568836112a7565b91506114b2602084016112a7565b600181811c9082168061158a57607f821691505b6020821081036115aa57634e487b7160e01b600052602260045260246000fd5b50919050565b600083516115c2818460208801611223565b8351908301906115d6818360208801611223565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116129083018461124f565b9695505050505050565b60006020828403121561162e57600080fd5b81516107dc816111ed565b634e487b7160e01b600052601160045260246000fd5b60006001820161166157611661611639565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261168d5761168d611668565b500490565b6000828210156116a4576116a4611639565b500390565b6000826116b8576116b8611668565b500690565b600082198211156116d0576116d0611639565b500190565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220115f9f5d24c3f2e0d3e9cd7edee492afe8b1e4dcbb94b93d93365217cef1f2c464736f6c634300080f0033", + "deployedSourceMap": "480:1201:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3422:264:17;;;;;;:::i;:::-;;:::i;:::-;;;565:14:43;;558:22;540:41;;528:2;513:18;3422:264:17;;;;;;;;6504:98;;;:::i;:::-;;;;;;;:::i;7982:200::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:43;;;1674:51;;1662:2;1647:18;7982:200:17;1528:203:43;7537:384:17;;;;;;:::i;:::-;;:::i;:::-;;2684:306;2943:12;;2737:7;2927:13;:28;2684:306;;;2319:25:43;;;2307:2;2292:18;2684:306:17;2173:177:43;8821:164:17;;;;;;:::i;:::-;;:::i;1476:87:32:-;;;;;;:::i;:::-;;:::i;9051:179:17:-;;;;;;:::i;:::-;;:::i;924:86:32:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4856:19:17;;;;;;:12;:19;;;;;:29;;-1:-1:-1;;;;;4856:29:17;-1:-1:-1;;;;;;;;4856:29:17;;;;;;1476:87:32;;;1111:100;;;;;;:::i;:::-;;:::i;6319:123:17:-;;;;;;:::i;:::-;;:::i;1016:89:32:-;;;:::i;3745:203:17:-;;;;;;:::i;:::-;;:::i;1318:152:32:-;;;;;;:::i;:::-;;:::i;6666:102:17:-;;;:::i;1569:110:32:-;;;;;;:::i;:::-;;:::i;1217:95::-;;;;;;:::i;:::-;;:::i;8249:282:17:-;;;;;;:::i;:::-;;:::i;723:91:32:-;767:7;3307:13:17;723:91:32;1016:89;9296:381:17;;;;;;:::i;:::-;;:::i;820:98:32:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5945:31:43;;;5927:50;;5915:2;5900:18;820:98:32;5783:200:43;6834:313:17;;;;;;:::i;:::-;;:::i;606:111:32:-;;;;;;:::i;:::-;;:::i;8597:162:17:-;;;;;;:::i;:::-;-1:-1:-1;;;;;8717:25:17;;;8694:4;8717:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8597:162;3422:264;3524:4;-1:-1:-1;;;;;;3547:40:17;;-1:-1:-1;;;3547:40:17;;:92;;-1:-1:-1;;;;;;;3591:48:17;;-1:-1:-1;;;3591:48:17;3547:92;:132;;;-1:-1:-1;;;;;;;;;;937:40:7;;;3643:36:17;3540:139;3422:264;-1:-1:-1;;3422:264:17:o;6504:98::-;6558:13;6590:5;6583:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:98;:::o;7982:200::-;8050:7;8074:16;8082:7;8074;:16::i;:::-;8069:64;;8099:34;;-1:-1:-1;;;8099:34:17;;;;;;;;;;;8069:64;-1:-1:-1;8151:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;8151:24:17;;7982:200::o;7537:384::-;7609:13;7625:24;7641:7;7625:15;:24::i;:::-;7609:40;;7669:5;-1:-1:-1;;;;;7663:11:17;:2;-1:-1:-1;;;;;7663:11:17;;7659:48;;7683:24;;-1:-1:-1;;;7683:24:17;;;;;;;;;;;7659:48;719:10:5;-1:-1:-1;;;;;7722:21:17;;;7718:158;;7762:37;7779:5;719:10:5;8597:162:17;:::i;7762:37::-;7757:119;;7826:35;;-1:-1:-1;;;7826:35:17;;;;;;;;;;;7757:119;7886:28;7895:2;7899:7;7908:5;7886:8;:28::i;:::-;7599:322;7537:384;;:::o;8821:164::-;8950:28;8960:4;8966:2;8970:7;8950:9;:28::i;1476:87:32:-;1537:19;1543:2;1547:8;1537:5;:19::i;:::-;1476:87;;:::o;9051:179:17:-;9184:39;9201:4;9207:2;9211:7;9184:39;;;;;;;;;;;;:16;:39::i;1111:100:32:-;1165:4;1188:16;1196:7;1188;:16::i;6319:123:17:-;6383:7;6409:21;6422:7;6409:12;:21::i;:::-;:26;;6319:123;-1:-1:-1;;6319:123:17:o;1016:89:32:-;1056:13;1088:10;7464:9:17;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;1088:10:32;1081:17;;1016:89;:::o;3745:203:17:-;3809:7;-1:-1:-1;;;;;3832:19:17;;3828:60;;3860:28;;-1:-1:-1;;;3860:28:17;;;;;;;;;;;3828:60;-1:-1:-1;;;;;;3913:19:17;;;;;:12;:19;;;;;:27;-1:-1:-1;;;;;3913:27:17;;3745:203::o;1318:152:32:-;1433:30;1443:2;1447:8;1457:5;1433:9;:30::i;6666:102:17:-;6722:13;6754:7;6747:14;;;;;:::i;1569:110:32:-;1637:35;1649:7;1658:13;1637:11;:35::i;1217:95::-;1282:23;1292:2;1296:8;1282:9;:23::i;8249:282:17:-;719:10:5;-1:-1:-1;;;;;8347:24:17;;;8343:54;;8380:17;;-1:-1:-1;;;8380:17:17;;;;;;;;;;;8343:54;719:10:5;8408:32:17;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8408:42:17;;;;;;;;;;;;:53;;-1:-1:-1;;8408:53:17;;;;;;;;;;8476:48;;540:41:43;;;8408:42:17;;719:10:5;8476:48:17;;513:18:43;8476:48:17;;;;;;;8249:282;;:::o;9296:381::-;9457:28;9467:4;9473:2;9477:7;9457:9;:28::i;:::-;-1:-1:-1;;;;;9499:13:17;;1465:19:4;:23;9495:176:17;;9533:56;9564:4;9570:2;9574:7;9583:5;9533:30;:56::i;:::-;9528:143;;9616:40;;-1:-1:-1;;;9616:40:17;;;;;;;;;;;9528:143;9296:381;;;;:::o;820:98:32:-;-1:-1:-1;;;;;4581:19:17;;872:6:32;4581:19:17;;;:12;:19;;;;;:23;-1:-1:-1;;;4581:23:17;;-1:-1:-1;;;;;4581:23:17;897:14:32;4501:110:17;6834:313;6907:13;6937:16;6945:7;6937;:16::i;:::-;6932:59;;6962:29;;-1:-1:-1;;;6962:29:17;;;;;;;;;;;6932:59;7002:21;7026:10;7464:9;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;7026:10;7002:34;;7059:7;7053:21;7078:1;7053:26;:87;;;;;;;;;;;;;;;;;7106:7;7115:18;:7;:16;:18::i;:::-;7089:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7053:87;7046:94;6834:313;-1:-1:-1;;;6834:313:17:o;606:111:32:-;-1:-1:-1;;;;;4120:19:17;;664:7:32;4120:19:17;;;:12;:19;;;;;:32;-1:-1:-1;;;4120:32:17;;-1:-1:-1;;;;;4120:32:17;690:20:32;4025:135:17;9923:172;9980:4;10043:13;;10033:7;:23;10003:85;;;;-1:-1:-1;;10061:20:17;;;;:11;:20;;;;;:27;-1:-1:-1;;;10061:27:17;;;;10060:28;;9923:172::o;18848:189::-;18958:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;18958:29:17;-1:-1:-1;;;;;18958:29:17;;;;;;;;;19002:28;;18958:24;;19002:28;;;;;;;18848:189;;;:::o;13979:2058::-;14089:35;14127:21;14140:7;14127:12;:21::i;:::-;14089:59;;14185:4;-1:-1:-1;;;;;14163:26:17;:13;:18;;;-1:-1:-1;;;;;14163:26:17;;14159:67;;14198:28;;-1:-1:-1;;;14198:28:17;;;;;;;;;;;14159:67;14237:22;719:10:5;-1:-1:-1;;;;;14263:20:17;;;;:60;;-1:-1:-1;14287:36:17;14304:4;719:10:5;8597:162:17;:::i;14287:36::-;14263:100;;;-1:-1:-1;719:10:5;14327:20:17;14339:7;14327:11;:20::i;:::-;-1:-1:-1;;;;;14327:36:17;;14263:100;14237:127;;14380:17;14375:66;;14406:35;;-1:-1:-1;;;14406:35:17;;;;;;;;;;;14375:66;-1:-1:-1;;;;;14455:16:17;;14451:52;;14480:23;;-1:-1:-1;;;14480:23:17;;;;;;;;;;;14451:52;14619:35;14636:1;14640:7;14649:4;14619:8;:35::i;:::-;-1:-1:-1;;;;;14944:18:17;;;;;;;:12;:18;;;;;;;;:31;;-1:-1:-1;;14944:31:17;;;-1:-1:-1;;;;;14944:31:17;;;-1:-1:-1;;14944:31:17;;;;;;;14989:16;;;;;;;;;:29;;;;;;;;-1:-1:-1;14989:29:17;;;;;;;;;;;15067:20;;;:11;:20;;;;;;15101:18;;-1:-1:-1;;;;;;15133:49:17;;;;-1:-1:-1;;;15166:15:17;15133:49;;;;;;;;;;15452:11;;15511:24;;;;;15553:13;;15067:20;;15511:24;;15553:13;15549:377;;15760:13;;15745:11;:28;15741:171;;15797:20;;15865:28;;;;-1:-1:-1;;;;;15839:54:17;-1:-1:-1;;;15839:54:17;-1:-1:-1;;;;;;15839:54:17;;;-1:-1:-1;;;;;15797:20:17;;15839:54;;;;15741:171;14920:1016;;;15970:7;15966:2;-1:-1:-1;;;;;15951:27:17;15960:4;-1:-1:-1;;;;;15951:27:17;-1:-1:-1;;;;;;;;;;;15951:27:17;;;;;;;;;14079:1958;;13979:2058;;;:::o;12591:1146::-;12655:20;12678:13;-1:-1:-1;;;;;12705:16:17;;12701:48;;12730:19;;-1:-1:-1;;;12730:19:17;;;;;;;;;;;12701:48;12763:8;12775:1;12763:13;12759:44;;12785:18;;-1:-1:-1;;;12785:18:17;;;;;;;;;;;12759:44;-1:-1:-1;;;;;13146:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;13204:49:17;;-1:-1:-1;;;;;13146:44:17;;;;;;;13204:49;;;-1:-1:-1;;;;;13146:44:17;;;;;;13204:49;;;;;;;;;;;;;;;;13268:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;13317:66:17;;;;-1:-1:-1;;;13367:15:17;13317:66;;;;;;;;;;13268:25;13461:23;;;13499:109;13525:40;;13550:14;;;;;-1:-1:-1;;;;;13525:40:17;;;13542:1;;-1:-1:-1;;;;;;;;;;;13525:40:17;13542:1;;13525:40;13603:3;13588:12;:18;13499:109;;-1:-1:-1;13622:13:17;:28;7599:322;7537:384;;:::o;5088:1174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;5198:7:17;5296:13;;5289:4;:20;5285:913;;;5333:31;5367:17;;;:11;:17;;;;;;;;;5333:51;;;;;;;;;-1:-1:-1;;;;;5333:51:17;;;;-1:-1:-1;;;5333:51:17;;-1:-1:-1;;;;;5333:51:17;;;;;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;;;;5406:774;;5459:14;;-1:-1:-1;;;;;5459:28:17;;5455:107;;5526:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;5455:107::-;-1:-1:-1;;;5922:6:17;5970:17;;;;:11;:17;;;;;;;;;5958:29;;;;;;;;;-1:-1:-1;;;;;5958:29:17;;;;;-1:-1:-1;;;5958:29:17;;-1:-1:-1;;;;;5958:29:17;;;;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;;;6021:28;6017:115;;6092:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;6017:115::-;5879:279;;;5311:887;5285:913;6224:31;;-1:-1:-1;;;6224:31:17;;;;;;;;;;;10636:1708;10754:20;10777:13;-1:-1:-1;;;;;10804:16:17;;10800:48;;10829:19;;-1:-1:-1;;;10829:19:17;;;;;;;;;;;10800:48;10862:8;10874:1;10862:13;10858:44;;10884:18;;-1:-1:-1;;;10884:18:17;;;;;;;;;;;10858:44;-1:-1:-1;;;;;11245:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;11303:49:17;;-1:-1:-1;;;;;11245:44:17;;;;;;;11303:49;;;-1:-1:-1;;;;;11245:44:17;;;;;;11303:49;;;;;;;;;;;;;;;;11367:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;11416:66:17;;;-1:-1:-1;;;11466:15:17;11416:66;;;;;;;;;;;;;11367:25;;11560:23;;;;1465:19:4;:23;11598:618:17;;11637:308;11667:38;;11692:12;;-1:-1:-1;;;;;11667:38:17;;;11684:1;;-1:-1:-1;;;;;;;;;;;11667:38:17;11684:1;;11667:38;11732:69;11771:1;11775:2;11779:14;;;;;;11795:5;11732:30;:69::i;:::-;11727:172;;11836:40;;-1:-1:-1;;;11836:40:17;;;;;;;;;;;11727:172;11940:3;11925:12;:18;11637:308;;12024:12;12007:13;;:29;12003:43;;12038:8;;;12003:43;11598:618;;;12085:117;12115:40;;12140:14;;;;;-1:-1:-1;;;;;12115:40:17;;;12132:1;;-1:-1:-1;;;;;;;;;;;12115:40:17;12132:1;;12115:40;12197:3;12182:12;:18;12085:117;;11598:618;-1:-1:-1;12229:13:17;:28;;;12277:60;;12310:2;12314:12;12328:8;12277:60;:::i;16414:2323::-;16493:35;16531:21;16544:7;16531:12;:21::i;:::-;16578:18;;16493:59;;-1:-1:-1;16607:252:17;;;;16640:22;719:10:5;-1:-1:-1;;;;;16666:20:17;;;;:60;;-1:-1:-1;16690:36:17;16707:4;719:10:5;8597:162:17;:::i;16690:36::-;16666:100;;;-1:-1:-1;719:10:5;16730:20:17;16742:7;16730:11;:20::i;:::-;-1:-1:-1;;;;;16730:36:17;;16666:100;16640:127;;16787:17;16782:66;;16813:35;;-1:-1:-1;;;16813:35:17;;;;;;;;;;;16782:66;16626:233;16607:252;16982:35;16999:1;17003:7;17012:4;16982:8;:35::i;:::-;-1:-1:-1;;;;;17341:18:17;;;17307:31;17341:18;;;:12;:18;;;;;;;;17373:24;;-1:-1:-1;;;;;;;;;;17373:24:17;;;;;;;;;-1:-1:-1;;17373:24:17;;;;17411:29;;;;;17396:1;17411:29;;;;;;;;-1:-1:-1;;17411:29:17;;;;;;;;;;17570:20;;;:11;:20;;;;;;17604;;-1:-1:-1;;;;17671:15:17;17638:49;;;-1:-1:-1;;;17638:49:17;-1:-1:-1;;;;;;17638:49:17;;;;;;;;;;17701:22;-1:-1:-1;;;17701:22:17;;;17989:11;;;18048:24;;;;;18090:13;;17341:18;;18048:24;;18090:13;18086:377;;18297:13;;18282:11;:28;18278:171;;18334:20;;18402:28;;;;-1:-1:-1;;;;;18376:54:17;-1:-1:-1;;;18376:54:17;-1:-1:-1;;;;;;18376:54:17;;;-1:-1:-1;;;;;18334:20:17;;18376:54;;;;18278:171;-1:-1:-1;;18488:35:17;;18515:7;;-1:-1:-1;18511:1:17;;-1:-1:-1;;;;;;18488:35:17;;;-1:-1:-1;;;;;;;;;;;18488:35:17;18511:1;;18488:35;-1:-1:-1;;18706:12:17;:14;;;;;;-1:-1:-1;;16414:2323:17:o;10174:102::-;10242:27;10252:2;10256:8;10242:27;;;;;;;;;;;;:9;:27::i;19518:650::-;19696:72;;-1:-1:-1;;;19696:72:17;;19676:4;;-1:-1:-1;;;;;19696:36:17;;;;;:72;;719:10:5;;19747:4:17;;19753:7;;19762:5;;19696:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19696:72:17;;;;;;;;-1:-1:-1;;19696:72:17;;;;;;;;;;;;:::i;:::-;;;19692:470;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:6;:13;19944:1;19927:18;19923:229;;19972:40;;-1:-1:-1;;;19972:40:17;;;;;;;;;;;19923:229;20112:6;20106:13;20097:6;20093:2;20089:15;20082:38;19692:470;-1:-1:-1;;;;;;19814:55:17;-1:-1:-1;;;19814:55:17;;-1:-1:-1;19692:470:17;19518:650;;;;;;:::o;328:703:6:-;384:13;601:5;610:1;601:10;597:51;;-1:-1:-1;;627:10:6;;;;;;;;;;;;-1:-1:-1;;;627:10:6;;;;;328:703::o;597:51::-;672:5;657:12;711:75;718:9;;711:75;;743:8;;;;:::i;:::-;;-1:-1:-1;765:10:6;;-1:-1:-1;773:2:6;765:10;;:::i;:::-;;;711:75;;;795:19;827:6;-1:-1:-1;;;;;817:17:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:17:6;;795:39;;844:150;851:10;;844:150;;877:11;887:1;877:11;;:::i;:::-;;-1:-1:-1;945:10:6;953:2;945:5;:10;:::i;:::-;932:24;;:2;:24;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;902:56:6;;;;;;;;-1:-1:-1;972:11:6;981:2;972:11;;:::i;:::-;;;844:150;;14:131:43;-1:-1:-1;;;;;;88:32:43;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:43;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:43;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:43:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:43;;1343:180;-1:-1:-1;1343:180:43:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:43;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:43:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:358::-;2755:6;2763;2816:2;2804:9;2795:7;2791:23;2787:32;2784:52;;;2832:1;2829;2822:12;2784:52;2855:29;2874:9;2855:29;:::i;:::-;2845:39;;2934:2;2923:9;2919:18;2906:32;-1:-1:-1;;;;;2971:5:43;2967:30;2960:5;2957:41;2947:69;;3012:1;3009;3002:12;2947:69;3035:5;3025:15;;;2688:358;;;;;:::o;3051:186::-;3110:6;3163:2;3151:9;3142:7;3138:23;3134:32;3131:52;;;3179:1;3176;3169:12;3131:52;3202:29;3221:9;3202:29;:::i;3242:127::-;3303:10;3298:3;3294:20;3291:1;3284:31;3334:4;3331:1;3324:15;3358:4;3355:1;3348:15;3374:718;3416:5;3469:3;3462:4;3454:6;3450:17;3446:27;3436:55;;3487:1;3484;3477:12;3436:55;3523:6;3510:20;-1:-1:-1;;;;;3586:2:43;3582;3579:10;3576:36;;;3592:18;;:::i;:::-;3667:2;3661:9;3635:2;3721:13;;-1:-1:-1;;3717:22:43;;;3741:2;3713:31;3709:40;3697:53;;;3765:18;;;3785:22;;;3762:46;3759:72;;;3811:18;;:::i;:::-;3851:10;3847:2;3840:22;3886:2;3878:6;3871:18;3932:3;3925:4;3920:2;3912:6;3908:15;3904:26;3901:35;3898:55;;;3949:1;3946;3939:12;3898:55;4013:2;4006:4;3998:6;3994:17;3987:4;3979:6;3975:17;3962:54;4060:1;4053:4;4048:2;4040:6;4036:15;4032:26;4025:37;4080:6;4071:15;;;;;;3374:718;;;;:::o;4097:462::-;4183:6;4191;4199;4252:2;4240:9;4231:7;4227:23;4223:32;4220:52;;;4268:1;4265;4258:12;4220:52;4291:29;4310:9;4291:29;:::i;:::-;4281:39;;4367:2;4356:9;4352:18;4339:32;4329:42;;4422:2;4411:9;4407:18;4394:32;-1:-1:-1;;;;;4441:6:43;4438:30;4435:50;;;4481:1;4478;4471:12;4435:50;4504:49;4545:7;4536:6;4525:9;4521:22;4504:49;:::i;:::-;4494:59;;;4097:462;;;;;:::o;4564:160::-;4629:20;;4685:13;;4678:21;4668:32;;4658:60;;4714:1;4711;4704:12;4729:248;4794:6;4802;4855:2;4843:9;4834:7;4830:23;4826:32;4823:52;;;4871:1;4868;4861:12;4823:52;4907:9;4894:23;4884:33;;4936:35;4967:2;4956:9;4952:18;4936:35;:::i;:::-;4926:45;;4729:248;;;;;:::o;4982:254::-;5047:6;5055;5108:2;5096:9;5087:7;5083:23;5079:32;5076:52;;;5124:1;5121;5114:12;5076:52;5147:29;5166:9;5147:29;:::i;:::-;5137:39;;5195:35;5226:2;5215:9;5211:18;5195:35;:::i;5241:537::-;5336:6;5344;5352;5360;5413:3;5401:9;5392:7;5388:23;5384:33;5381:53;;;5430:1;5427;5420:12;5381:53;5453:29;5472:9;5453:29;:::i;:::-;5443:39;;5501:38;5535:2;5524:9;5520:18;5501:38;:::i;:::-;5491:48;;5586:2;5575:9;5571:18;5558:32;5548:42;;5641:2;5630:9;5626:18;5613:32;-1:-1:-1;;;;;5660:6:43;5657:30;5654:50;;;5700:1;5697;5690:12;5654:50;5723:49;5764:7;5755:6;5744:9;5740:22;5723:49;:::i;:::-;5713:59;;;5241:537;;;;;;;:::o;5988:260::-;6056:6;6064;6117:2;6105:9;6096:7;6092:23;6088:32;6085:52;;;6133:1;6130;6123:12;6085:52;6156:29;6175:9;6156:29;:::i;:::-;6146:39;;6204:38;6238:2;6227:9;6223:18;6204:38;:::i;6253:380::-;6332:1;6328:12;;;;6375;;;6396:61;;6450:4;6442:6;6438:17;6428:27;;6396:61;6503:2;6495:6;6492:14;6472:18;6469:38;6466:161;;6549:10;6544:3;6540:20;6537:1;6530:31;6584:4;6581:1;6574:15;6612:4;6609:1;6602:15;6466:161;;6253:380;;;:::o;6638:470::-;6817:3;6855:6;6849:13;6871:53;6917:6;6912:3;6905:4;6897:6;6893:17;6871:53;:::i;:::-;6987:13;;6946:16;;;;7009:57;6987:13;6946:16;7043:4;7031:17;;7009:57;:::i;:::-;7082:20;;6638:470;-1:-1:-1;;;;6638:470:43:o;7113:489::-;-1:-1:-1;;;;;7382:15:43;;;7364:34;;7434:15;;7429:2;7414:18;;7407:43;7481:2;7466:18;;7459:34;;;7529:3;7524:2;7509:18;;7502:31;;;7307:4;;7550:46;;7576:19;;7568:6;7550:46;:::i;:::-;7542:54;7113:489;-1:-1:-1;;;;;;7113:489:43:o;7607:249::-;7676:6;7729:2;7717:9;7708:7;7704:23;7700:32;7697:52;;;7745:1;7742;7735:12;7697:52;7777:9;7771:16;7796:30;7820:5;7796:30;:::i;7861:127::-;7922:10;7917:3;7913:20;7910:1;7903:31;7953:4;7950:1;7943:15;7977:4;7974:1;7967:15;7993:135;8032:3;8053:17;;;8050:43;;8073:18;;:::i;:::-;-1:-1:-1;8120:1:43;8109:13;;7993:135::o;8133:127::-;8194:10;8189:3;8185:20;8182:1;8175:31;8225:4;8222:1;8215:15;8249:4;8246:1;8239:15;8265:120;8305:1;8331;8321:35;;8336:18;;:::i;:::-;-1:-1:-1;8370:9:43;;8265:120::o;8390:125::-;8430:4;8458:1;8455;8452:8;8449:34;;;8463:18;;:::i;:::-;-1:-1:-1;8500:9:43;;8390:125::o;8520:112::-;8552:1;8578;8568:35;;8583:18;;:::i;:::-;-1:-1:-1;8617:9:43;;8520:112::o;8637:128::-;8677:3;8708:1;8704:6;8701:1;8698:13;8695:39;;;8714:18;;:::i;:::-;-1:-1:-1;8750:9:43;;8637:128::o;8770:127::-;8831:10;8826:3;8822:20;8819:1;8812:31;8862:4;8859:1;8852:15;8886:4;8883:1;8876:15", + "language": "Solidity", + "natspec": { + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "offset": [ + 480, + 1681 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x158 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xC3 JUMPI DUP1 PUSH4 0xA2309FF8 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xA2309FF8 EQ PUSH2 0x306 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x30E JUMPI DUP1 PUSH4 0xBF0B175E EQ PUSH2 0x321 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x34C JUMPI DUP1 PUSH4 0xDC33E681 EQ PUSH2 0x35F JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x372 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x29F JUMPI DUP1 PUSH4 0x8832E6E3 EQ PUSH2 0x2B2 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2C5 JUMPI DUP1 PUSH4 0x9FAC68CB EQ PUSH2 0x2CD JUMPI DUP1 PUSH4 0xA1448194 EQ PUSH2 0x2E0 JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x2F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 GT PUSH2 0x115 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x216 JUMPI DUP1 PUSH4 0x453AB141 EQ PUSH2 0x229 JUMPI DUP1 PUSH4 0x4F558E79 EQ PUSH2 0x271 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x284 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x297 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x15D JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x19A JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1C5 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1DA JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1F0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x170 PUSH2 0x16B CALLDATASIZE PUSH1 0x4 PUSH2 0x1206 JUMP JUMPDEST PUSH2 0x3AE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18D PUSH2 0x400 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x17C SWAP2 SWAP1 PUSH2 0x127B JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x1A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x128E JUMP JUMPDEST PUSH2 0x492 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x17C JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x1D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x12C3 JUMP JUMPDEST PUSH2 0x4D6 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x17C JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x1FE CALLDATASIZE PUSH1 0x4 PUSH2 0x12ED JUMP JUMPDEST PUSH2 0x55C JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x211 CALLDATASIZE PUSH1 0x4 PUSH2 0x12C3 JUMP JUMPDEST PUSH2 0x567 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0x12ED JUMP JUMPDEST PUSH2 0x575 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x237 CALLDATASIZE PUSH1 0x4 PUSH2 0x1329 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB AND PUSH1 0x1 PUSH1 0xC0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP5 AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x170 PUSH2 0x27F CALLDATASIZE PUSH1 0x4 PUSH2 0x128E JUMP JUMPDEST PUSH2 0x590 JUMP JUMPDEST PUSH2 0x1AD PUSH2 0x292 CALLDATASIZE PUSH1 0x4 PUSH2 0x128E JUMP JUMPDEST PUSH2 0x59B JUMP JUMPDEST PUSH2 0x18D PUSH2 0x5AD JUMP JUMPDEST PUSH2 0x1E2 PUSH2 0x2AD CALLDATASIZE PUSH1 0x4 PUSH2 0x136C JUMP JUMPDEST PUSH2 0x5C9 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x2C0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1429 JUMP JUMPDEST PUSH2 0x617 JUMP JUMPDEST PUSH2 0x18D PUSH2 0x622 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x2DB CALLDATASIZE PUSH1 0x4 PUSH2 0x148F JUMP JUMPDEST PUSH2 0x631 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x2EE CALLDATASIZE PUSH1 0x4 PUSH2 0x12C3 JUMP JUMPDEST PUSH2 0x63B JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x301 CALLDATASIZE PUSH1 0x4 PUSH2 0x14BB JUMP JUMPDEST PUSH2 0x645 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x1E2 JUMP JUMPDEST PUSH2 0x1D8 PUSH2 0x31C CALLDATASIZE PUSH1 0x4 PUSH2 0x14E5 JUMP JUMPDEST PUSH2 0x6DA JUMP JUMPDEST PUSH2 0x334 PUSH2 0x32F CALLDATASIZE PUSH1 0x4 PUSH2 0x136C JUMP JUMPDEST PUSH2 0x724 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x17C JUMP JUMPDEST PUSH2 0x18D PUSH2 0x35A CALLDATASIZE PUSH1 0x4 PUSH2 0x128E JUMP JUMPDEST PUSH2 0x752 JUMP JUMPDEST PUSH2 0x1E2 PUSH2 0x36D CALLDATASIZE PUSH1 0x4 PUSH2 0x136C JUMP JUMPDEST PUSH2 0x7E3 JUMP JUMPDEST PUSH2 0x170 PUSH2 0x380 CALLDATASIZE PUSH1 0x4 PUSH2 0x154C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x3DF JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x3FA JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x40F SWAP1 PUSH2 0x1576 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x43B SWAP1 PUSH2 0x1576 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x488 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x45D JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x488 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x46B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x49D DUP3 PUSH2 0x811 JUMP JUMPDEST PUSH2 0x4BA JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4E1 DUP3 PUSH2 0x59B JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x515 JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x54C JUMPI PUSH2 0x52F DUP2 CALLER PUSH2 0x380 JUMP JUMPDEST PUSH2 0x54C JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x557 DUP4 DUP4 DUP4 PUSH2 0x83C JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x557 DUP4 DUP4 DUP4 PUSH2 0x898 JUMP JUMPDEST PUSH2 0x571 DUP3 DUP3 PUSH2 0xA73 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x557 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x6DA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3FA DUP3 PUSH2 0x811 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5A6 DUP3 PUSH2 0xB85 JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5C4 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x5F2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x557 DUP4 DUP4 DUP4 PUSH2 0xC9F JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x40F SWAP1 PUSH2 0x1576 JUMP JUMPDEST PUSH2 0x571 DUP3 DUP3 PUSH2 0xE34 JUMP JUMPDEST PUSH2 0x571 DUP3 DUP3 PUSH2 0xFE7 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x66E JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x6E5 DUP5 DUP5 DUP5 PUSH2 0x898 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x71E JUMPI PUSH2 0x701 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1001 JUMP JUMPDEST PUSH2 0x71E JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xC0 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x60 PUSH2 0x75D DUP3 PUSH2 0x811 JUMP JUMPDEST PUSH2 0x77A JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x791 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x7B1 JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x7DC JUMP JUMPDEST DUP1 PUSH2 0x7BB DUP5 PUSH2 0x10ED JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7CC SWAP3 SWAP2 SWAP1 PUSH2 0x15B0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH2 0x3FA JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP3 LT DUP1 ISZERO PUSH2 0x3FA JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A3 DUP3 PUSH2 0xB85 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x8DA JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0x8F8 JUMPI POP PUSH2 0x8F8 DUP6 CALLER PUSH2 0x380 JUMP JUMPDEST DUP1 PUSH2 0x913 JUMPI POP CALLER PUSH2 0x908 DUP5 PUSH2 0x492 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0x933 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x95A JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x966 PUSH1 0x0 DUP5 DUP8 PUSH2 0x83C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0xA3A JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xA3A JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x16EC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xA9C JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0xABD JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x16EC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xB4B JUMPI POP PUSH1 0x0 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 PUSH1 0x0 SLOAD DUP2 LT ISZERO PUSH2 0xC86 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xC84 JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xC1B JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0xC7F JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xC1B JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xCC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 SUB PUSH2 0xCE9 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP12 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP12 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP2 SWAP1 DUP2 DUP6 ADD SWAP1 EXTCODESIZE ISZERO PUSH2 0xDF1 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x16EC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 PUSH2 0xDBA PUSH1 0x0 DUP8 DUP5 DUP1 PUSH1 0x1 ADD SWAP6 POP DUP8 PUSH2 0x1001 JUMP JUMPDEST PUSH2 0xDD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP3 LT PUSH2 0xD81 JUMPI DUP3 PUSH1 0x0 SLOAD EQ PUSH2 0xDEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE24 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x16EC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xDF2 JUMPI JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 SSTORE PUSH2 0x71E SWAP1 DUP6 DUP4 DUP7 DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE3F DUP4 PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0xEA5 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0xE68 JUMPI POP PUSH2 0xE68 DUP3 CALLER PUSH2 0x380 JUMP JUMPDEST DUP1 PUSH2 0xE83 JUMPI POP CALLER PUSH2 0xE78 DUP7 PUSH2 0x492 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xEA3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0xEB1 PUSH1 0x0 DUP6 DUP4 PUSH2 0x83C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0xFAF JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xFAF JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x16EC DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x1 DUP1 SLOAD DUP2 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x571 DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xC9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x1036 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x15DF JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1071 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x106E SWAP2 DUP2 ADD SWAP1 PUSH2 0x161C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x10CF JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x109F JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x10A4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x10C7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x1114 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x113E JUMPI DUP1 PUSH2 0x1128 DUP2 PUSH2 0x164F JUMP JUMPDEST SWAP2 POP PUSH2 0x1137 SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x167E JUMP JUMPDEST SWAP2 POP PUSH2 0x1118 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1158 JUMPI PUSH2 0x1158 PUSH2 0x1387 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1182 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x10E5 JUMPI PUSH2 0x1197 PUSH1 0x1 DUP4 PUSH2 0x1692 JUMP JUMPDEST SWAP2 POP PUSH2 0x11A4 PUSH1 0xA DUP7 PUSH2 0x16A9 JUMP JUMPDEST PUSH2 0x11AF SWAP1 PUSH1 0x30 PUSH2 0x16BD JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x11C4 JUMPI PUSH2 0x11C4 PUSH2 0x16D5 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x11E6 PUSH1 0xA DUP7 PUSH2 0x167E JUMP JUMPDEST SWAP5 POP PUSH2 0x1186 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1203 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x7DC DUP2 PUSH2 0x11ED JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x123E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1226 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x71E JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1267 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1223 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x7DC PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x124F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x12BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x12D6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12DF DUP4 PUSH2 0x12A7 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1302 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x130B DUP5 PUSH2 0x12A7 JUMP JUMPDEST SWAP3 POP PUSH2 0x1319 PUSH1 0x20 DUP6 ADD PUSH2 0x12A7 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x133C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1345 DUP4 PUSH2 0x12A7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1361 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x137E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7DC DUP3 PUSH2 0x12A7 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x13AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x13C8 JUMPI PUSH2 0x13C8 PUSH2 0x1387 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x13F0 JUMPI PUSH2 0x13F0 PUSH2 0x1387 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1409 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x143E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1447 DUP5 PUSH2 0x12A7 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1469 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1475 DUP7 DUP3 DUP8 ADD PUSH2 0x139D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x12BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x14B2 PUSH1 0x20 DUP5 ADD PUSH2 0x147F JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14D7 DUP4 PUSH2 0x12A7 JUMP JUMPDEST SWAP2 POP PUSH2 0x14B2 PUSH1 0x20 DUP5 ADD PUSH2 0x147F JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x14FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1504 DUP6 PUSH2 0x12A7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1512 PUSH1 0x20 DUP7 ADD PUSH2 0x12A7 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1534 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1540 DUP8 DUP3 DUP9 ADD PUSH2 0x139D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x155F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1568 DUP4 PUSH2 0x12A7 JUMP JUMPDEST SWAP2 POP PUSH2 0x14B2 PUSH1 0x20 DUP5 ADD PUSH2 0x12A7 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x158A JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x15AA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x15C2 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1223 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x15D6 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x1223 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1612 SWAP1 DUP4 ADD DUP5 PUSH2 0x124F JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x162E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x7DC DUP2 PUSH2 0x11ED JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1661 JUMPI PUSH2 0x1661 PUSH2 0x1639 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x168D JUMPI PUSH2 0x168D PUSH2 0x1668 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x16A4 JUMPI PUSH2 0x16A4 PUSH2 0x1639 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x16B8 JUMPI PUSH2 0x16B8 PUSH2 0x1668 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x16D0 JUMPI PUSH2 0x16D0 PUSH2 0x1639 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0xDD CALLCODE MSTORE 0xAD SHL 0xE2 0xC8 SWAP12 PUSH10 0xC2B068FC378DAA952BA7 CALL PUSH4 0xC4A11628 CREATE2 GAS 0x4D CREATE2 0x23 0xB3 0xEF LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GT 0x5F SWAP16 0x5D 0x24 0xC3 CALLCODE 0xE0 0xD3 0xE9 0xCD PUSH31 0xDEE492AFE8B1E4DCBB94B93D93365217CEF1F2C464736F6C634300080F0033 ", + "pcMap": { + "0": { + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "MSTORE", + "path": "32" + }, + "5": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "CALLVALUE", + "path": "32" + }, + "6": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "7": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "ISZERO", + "path": "32" + }, + "8": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "12": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "REVERT", + "path": "32" + }, + "16": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPDEST", + "path": "32" + }, + "17": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "POP", + "path": "32" + }, + "18": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "21": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "LT", + "path": "32" + }, + "22": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x158" + }, + "25": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "26": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "CALLDATALOAD", + "path": "32" + }, + "29": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "SHR", + "path": "32" + }, + "32": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "33": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x70A08231" + }, + "38": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "GT", + "path": "32" + }, + "39": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0xC3" + }, + "42": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "43": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "44": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xA2309FF8" + }, + "49": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "GT", + "path": "32" + }, + "50": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x7C" + }, + "53": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "54": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "55": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xA2309FF8" + }, + "60": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "61": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x306" + }, + "64": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "65": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "66": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xB88D4FDE" + }, + "71": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "72": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x30E" + }, + "75": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "76": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "77": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xBF0B175E" + }, + "82": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "83": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x321" + }, + "86": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "87": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "88": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xC87B56DD" + }, + "93": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "94": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x34C" + }, + "97": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "98": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "99": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xDC33E681" + }, + "104": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "105": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x35F" + }, + "108": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "109": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "110": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xE985E9C5" + }, + "115": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "116": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x372" + }, + "119": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "120": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "122": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "123": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "REVERT", + "path": "32" + }, + "124": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPDEST", + "path": "32" + }, + "125": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "126": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x70A08231" + }, + "131": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "132": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x29F" + }, + "135": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "136": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "137": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x8832E6E3" + }, + "142": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "143": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2B2" + }, + "146": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "147": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "148": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x95D89B41" + }, + "153": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "154": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2C5" + }, + "157": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "158": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "159": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x9FAC68CB" + }, + "164": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "165": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2CD" + }, + "168": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "169": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "170": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xA1448194" + }, + "175": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "176": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2E0" + }, + "179": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "180": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "181": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0xA22CB465" + }, + "186": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "187": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2F3" + }, + "190": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "191": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "193": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "194": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "REVERT", + "path": "32" + }, + "195": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPDEST", + "path": "32" + }, + "196": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "197": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x40C10F19" + }, + "202": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "GT", + "path": "32" + }, + "203": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x115" + }, + "206": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "207": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "208": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x40C10F19" + }, + "213": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "214": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x203" + }, + "217": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "218": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "219": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x42842E0E" + }, + "224": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "225": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x216" + }, + "228": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "229": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "230": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x453AB141" + }, + "235": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "236": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x229" + }, + "239": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "240": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "241": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x4F558E79" + }, + "246": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "247": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x271" + }, + "250": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "251": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "252": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x6352211E" + }, + "257": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "258": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x284" + }, + "261": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "262": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "263": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x6C0360EB" + }, + "268": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "269": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x297" + }, + "272": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "273": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "275": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "276": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "REVERT", + "path": "32" + }, + "277": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPDEST", + "path": "32" + }, + "278": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "279": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x1FFC9A7" + }, + "284": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "285": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x15D" + }, + "288": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "289": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "290": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x6FDDE03" + }, + "295": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "296": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x185" + }, + "299": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "300": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "301": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x81812FC" + }, + "306": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "307": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x19A" + }, + "310": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "311": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "312": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x95EA7B3" + }, + "317": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "318": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1C5" + }, + "321": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "322": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "323": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x18160DDD" + }, + "328": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "329": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1DA" + }, + "332": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "333": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "334": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH4", + "path": "32", + "value": "0x23B872DD" + }, + "339": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "EQ", + "path": "32" + }, + "340": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1F0" + }, + "343": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPI", + "path": "32" + }, + "344": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "JUMPDEST", + "path": "32" + }, + "345": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "347": { + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "DUP1", + "path": "32" + }, + "348": { + "first_revert": true, + "fn": null, + "offset": [ + 480, + 1681 + ], + "op": "REVERT", + "path": "32" + }, + "349": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "350": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x170" + }, + "353": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16B" + }, + "356": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "357": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "359": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1206" + }, + "362": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "363": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "364": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3AE" + }, + "367": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "368": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "369": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "371": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "372": { + "op": "SWAP1" + }, + "373": { + "op": "ISZERO" + }, + "374": { + "op": "ISZERO" + }, + "375": { + "op": "DUP2" + }, + "376": { + "op": "MSTORE" + }, + "377": { + "op": "PUSH1", + "value": "0x20" + }, + "379": { + "op": "ADD" + }, + "380": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "381": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "383": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "384": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "385": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "386": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SUB", + "path": "17" + }, + "387": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP1", + "path": "17" + }, + "388": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "RETURN", + "path": "17" + }, + "389": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "390": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18D" + }, + "393": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x400" + }, + "396": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "397": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "398": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "400": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "MLOAD", + "path": "17" + }, + "401": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x17C" + }, + "404": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP2", + "path": "17" + }, + "405": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "406": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x127B" + }, + "409": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "410": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "411": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1AD" + }, + "414": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A8" + }, + "417": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "418": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "420": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x128E" + }, + "423": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "424": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "425": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x492" + }, + "428": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "429": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "430": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "432": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "MLOAD", + "path": "17" + }, + "433": { + "op": "PUSH1", + "value": "0x1" + }, + "435": { + "op": "PUSH1", + "value": "0x1" + }, + "437": { + "op": "PUSH1", + "value": "0xA0" + }, + "439": { + "op": "SHL" + }, + "440": { + "op": "SUB" + }, + "441": { + "op": "SWAP1" + }, + "442": { + "op": "SWAP2" + }, + "443": { + "op": "AND" + }, + "444": { + "op": "DUP2" + }, + "445": { + "op": "MSTORE" + }, + "446": { + "op": "PUSH1", + "value": "0x20" + }, + "448": { + "op": "ADD" + }, + "449": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x17C" + }, + "452": { + "op": "JUMP" + }, + "453": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "454": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D8" + }, + "457": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D3" + }, + "460": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "461": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "463": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12C3" + }, + "466": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "467": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "468": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4D6" + }, + "471": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "472": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "473": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "STOP", + "path": "17" + }, + "474": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "475": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "statement": 0, + "value": "0x1" + }, + "477": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "478": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "480": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "481": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "482": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "483": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "485": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "MLOAD", + "path": "17" + }, + "486": { + "op": "SWAP1" + }, + "487": { + "op": "DUP2" + }, + "488": { + "op": "MSTORE" + }, + "489": { + "op": "PUSH1", + "value": "0x20" + }, + "491": { + "op": "ADD" + }, + "492": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x17C" + }, + "495": { + "op": "JUMP" + }, + "496": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "497": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D8" + }, + "500": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1FE" + }, + "503": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "504": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "506": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12ED" + }, + "509": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "510": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "511": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x55C" + }, + "514": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "515": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMPDEST", + "path": "32" + }, + "516": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1D8" + }, + "519": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x211" + }, + "522": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "523": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "525": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x12C3" + }, + "528": { + "fn": "ERC721AMock.mint", + "jump": "i", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "529": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMPDEST", + "path": "32" + }, + "530": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x567" + }, + "533": { + "fn": "ERC721AMock.mint", + "jump": "i", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "534": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "535": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D8" + }, + "538": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x224" + }, + "541": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "542": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "544": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12ED" + }, + "547": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "548": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "549": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x575" + }, + "552": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "553": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "JUMPDEST", + "path": "32" + }, + "554": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1D8" + }, + "557": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH2", + "path": "32", + "value": "0x237" + }, + "560": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "561": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "563": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1329" + }, + "566": { + "fn": "ERC721AMock.setAux", + "jump": "i", + "offset": [ + 924, + 1010 + ], + "op": "JUMP", + "path": "32" + }, + "567": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "JUMPDEST", + "path": "32" + }, + "568": { + "op": "PUSH1", + "value": "0x1" + }, + "570": { + "op": "PUSH1", + "value": "0x1" + }, + "572": { + "op": "PUSH1", + "value": "0xA0" + }, + "574": { + "op": "SHL" + }, + "575": { + "op": "SUB" + }, + "576": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "DUP3", + "path": "17", + "statement": 1 + }, + "577": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "AND", + "path": "17" + }, + "578": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "580": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "SWAP1", + "path": "17" + }, + "581": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "DUP2", + "path": "17" + }, + "582": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "MSTORE", + "path": "17" + }, + "583": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4868 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "585": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "587": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "MSTORE", + "path": "17" + }, + "588": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "590": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "SWAP1", + "path": "17" + }, + "591": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "KECCAK256", + "path": "17" + }, + "592": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "DUP1", + "path": "17" + }, + "593": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "SLOAD", + "path": "17" + }, + "594": { + "op": "PUSH1", + "value": "0x1" + }, + "596": { + "op": "PUSH1", + "value": "0x1" + }, + "598": { + "op": "PUSH1", + "value": "0xC0" + }, + "600": { + "op": "SHL" + }, + "601": { + "op": "SUB" + }, + "602": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "AND", + "path": "17" + }, + "603": { + "op": "PUSH1", + "value": "0x1" + }, + "605": { + "op": "PUSH1", + "value": "0xC0" + }, + "607": { + "op": "SHL" + }, + "608": { + "op": "PUSH1", + "value": "0x1" + }, + "610": { + "op": "PUSH1", + "value": "0x1" + }, + "612": { + "op": "PUSH1", + "value": "0x40" + }, + "614": { + "op": "SHL" + }, + "615": { + "op": "SUB" + }, + "616": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "DUP5", + "path": "17" + }, + "617": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "AND", + "path": "17" + }, + "618": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "MUL", + "path": "17" + }, + "619": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "OR", + "path": "17" + }, + "620": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "SWAP1", + "path": "17" + }, + "621": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "SSTORE", + "path": "17" + }, + "622": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "623": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "624": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "625": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "JUMPDEST", + "path": "32" + }, + "626": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x170" + }, + "629": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x27F" + }, + "632": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "633": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "635": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x128E" + }, + "638": { + "fn": "ERC721AMock.exists", + "jump": "i", + "offset": [ + 1111, + 1211 + ], + "op": "JUMP", + "path": "32" + }, + "639": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "JUMPDEST", + "path": "32" + }, + "640": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x590" + }, + "643": { + "fn": "ERC721AMock.exists", + "jump": "i", + "offset": [ + 1111, + 1211 + ], + "op": "JUMP", + "path": "32" + }, + "644": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "645": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1AD" + }, + "648": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x292" + }, + "651": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "652": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "654": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x128E" + }, + "657": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "658": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "659": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x59B" + }, + "662": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "663": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "JUMPDEST", + "path": "32" + }, + "664": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "PUSH2", + "path": "32", + "value": "0x18D" + }, + "667": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "PUSH2", + "path": "32", + "value": "0x5AD" + }, + "670": { + "fn": "ERC721AMock.baseURI", + "jump": "i", + "offset": [ + 1016, + 1105 + ], + "op": "JUMP", + "path": "32" + }, + "671": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "672": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1E2" + }, + "675": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2AD" + }, + "678": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "679": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "681": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x136C" + }, + "684": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "685": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "686": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5C9" + }, + "689": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "690": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "JUMPDEST", + "path": "32" + }, + "691": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1D8" + }, + "694": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2C0" + }, + "697": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "698": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "700": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1429" + }, + "703": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1318, + 1470 + ], + "op": "JUMP", + "path": "32" + }, + "704": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "JUMPDEST", + "path": "32" + }, + "705": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x617" + }, + "708": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1318, + 1470 + ], + "op": "JUMP", + "path": "32" + }, + "709": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "710": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18D" + }, + "713": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x622" + }, + "716": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6666, + 6768 + ], + "op": "JUMP", + "path": "17" + }, + "717": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "JUMPDEST", + "path": "32" + }, + "718": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1D8" + }, + "721": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2DB" + }, + "724": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "725": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "727": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x148F" + }, + "730": { + "fn": "ERC721AMock.burn", + "jump": "i", + "offset": [ + 1569, + 1679 + ], + "op": "JUMP", + "path": "32" + }, + "731": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "JUMPDEST", + "path": "32" + }, + "732": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x631" + }, + "735": { + "fn": "ERC721AMock.burn", + "jump": "i", + "offset": [ + 1569, + 1679 + ], + "op": "JUMP", + "path": "32" + }, + "736": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "JUMPDEST", + "path": "32" + }, + "737": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1D8" + }, + "740": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2EE" + }, + "743": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "744": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "746": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x12C3" + }, + "749": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1217, + 1312 + ], + "op": "JUMP", + "path": "32" + }, + "750": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "JUMPDEST", + "path": "32" + }, + "751": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x63B" + }, + "754": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1217, + 1312 + ], + "op": "JUMP", + "path": "32" + }, + "755": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "756": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D8" + }, + "759": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x301" + }, + "762": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "763": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "765": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14BB" + }, + "768": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "769": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "770": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x645" + }, + "773": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "774": { + "fn": "ERC721AMock.totalMinted", + "offset": [ + 723, + 814 + ], + "op": "JUMPDEST", + "path": "32" + }, + "775": { + "fn": "ERC721AMock.totalMinted", + "offset": [ + 767, + 774 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "777": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3320 + ], + "op": "SLOAD", + "path": "17", + "statement": 2 + }, + "778": { + "fn": "ERC721AMock.totalMinted", + "offset": [ + 723, + 814 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1E2" + }, + "781": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "JUMP", + "path": "32" + }, + "782": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "783": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D8" + }, + "786": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x31C" + }, + "789": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "790": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "792": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14E5" + }, + "795": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "796": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "797": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6DA" + }, + "800": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "801": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "802": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x334" + }, + "805": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x32F" + }, + "808": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "809": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "811": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x136C" + }, + "814": { + "fn": "ERC721AMock.getAux", + "jump": "i", + "offset": [ + 820, + 918 + ], + "op": "JUMP", + "path": "32" + }, + "815": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "816": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x724" + }, + "819": { + "fn": "ERC721AMock.getAux", + "jump": "i", + "offset": [ + 820, + 918 + ], + "op": "JUMP", + "path": "32" + }, + "820": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "821": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH1", + "path": "32", + "value": "0x40" + }, + "823": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "MLOAD", + "path": "32" + }, + "824": { + "op": "PUSH1", + "value": "0x1" + }, + "826": { + "op": "PUSH1", + "value": "0x1" + }, + "828": { + "op": "PUSH1", + "value": "0x40" + }, + "830": { + "op": "SHL" + }, + "831": { + "op": "SUB" + }, + "832": { + "op": "SWAP1" + }, + "833": { + "op": "SWAP2" + }, + "834": { + "op": "AND" + }, + "835": { + "op": "DUP2" + }, + "836": { + "op": "MSTORE" + }, + "837": { + "op": "PUSH1", + "value": "0x20" + }, + "839": { + "op": "ADD" + }, + "840": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x17C" + }, + "843": { + "op": "JUMP" + }, + "844": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "845": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18D" + }, + "848": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x35A" + }, + "851": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "852": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "854": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x128E" + }, + "857": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "858": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "859": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x752" + }, + "862": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "863": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "JUMPDEST", + "path": "32" + }, + "864": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1E2" + }, + "867": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x36D" + }, + "870": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "871": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "873": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x136C" + }, + "876": { + "fn": "ERC721AMock.numberMinted", + "jump": "i", + "offset": [ + 606, + 717 + ], + "op": "JUMP", + "path": "32" + }, + "877": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "JUMPDEST", + "path": "32" + }, + "878": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x7E3" + }, + "881": { + "fn": "ERC721AMock.numberMinted", + "jump": "i", + "offset": [ + 606, + 717 + ], + "op": "JUMP", + "path": "32" + }, + "882": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "883": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x170" + }, + "886": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x380" + }, + "889": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "890": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "892": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x154C" + }, + "895": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "896": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "897": { + "op": "PUSH1", + "value": "0x1" + }, + "899": { + "op": "PUSH1", + "value": "0x1" + }, + "901": { + "op": "PUSH1", + "value": "0xA0" + }, + "903": { + "op": "SHL" + }, + "904": { + "op": "SUB" + }, + "905": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP2", + "path": "17", + "statement": 3 + }, + "906": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP3", + "path": "17" + }, + "907": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "AND", + "path": "17" + }, + "908": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8694, + 8698 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "910": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "911": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "912": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "913": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "915": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "917": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "918": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "919": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "920": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "922": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP1", + "path": "17" + }, + "923": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP4", + "path": "17" + }, + "924": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "KECCAK256", + "path": "17" + }, + "925": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP4", + "path": "17" + }, + "926": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "927": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP5", + "path": "17" + }, + "928": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "929": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "DUP3", + "path": "17" + }, + "930": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "931": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "932": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "933": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "934": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "935": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "KECCAK256", + "path": "17" + }, + "936": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SLOAD", + "path": "17" + }, + "937": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "939": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "940": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "941": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "942": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "943": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3524, + 3528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "945": { + "op": "PUSH1", + "value": "0x1" + }, + "947": { + "op": "PUSH1", + "value": "0x1" + }, + "949": { + "op": "PUSH1", + "value": "0xE0" + }, + "951": { + "op": "SHL" + }, + "952": { + "op": "SUB" + }, + "953": { + "op": "NOT" + }, + "954": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP3", + "path": "17", + "statement": 4 + }, + "955": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "AND", + "path": "17" + }, + "956": { + "op": "PUSH4", + "value": "0x80AC58CD" + }, + "961": { + "op": "PUSH1", + "value": "0xE0" + }, + "963": { + "op": "SHL" + }, + "964": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "EQ", + "path": "17" + }, + "965": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP1", + "path": "17" + }, + "966": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3DF" + }, + "969": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPI", + "path": "17" + }, + "970": { + "op": "POP" + }, + "971": { + "op": "PUSH1", + "value": "0x1" + }, + "973": { + "op": "PUSH1", + "value": "0x1" + }, + "975": { + "op": "PUSH1", + "value": "0xE0" + }, + "977": { + "op": "SHL" + }, + "978": { + "op": "SUB" + }, + "979": { + "op": "NOT" + }, + "980": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "DUP3", + "path": "17" + }, + "981": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "AND", + "path": "17" + }, + "982": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "987": { + "op": "PUSH1", + "value": "0xE0" + }, + "989": { + "op": "SHL" + }, + "990": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "EQ", + "path": "17" + }, + "991": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPDEST", + "path": "17" + }, + "992": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "DUP1", + "path": "17" + }, + "993": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3FA" + }, + "996": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "JUMPI", + "path": "17" + }, + "997": { + "op": "POP" + }, + "998": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "1003": { + "op": "PUSH1", + "value": "0xE0" + }, + "1005": { + "op": "SHL" + }, + "1006": { + "op": "PUSH1", + "value": "0x1" + }, + "1008": { + "op": "PUSH1", + "value": "0x1" + }, + "1010": { + "op": "PUSH1", + "value": "0xE0" + }, + "1012": { + "op": "SHL" + }, + "1013": { + "op": "SUB" + }, + "1014": { + "op": "NOT" + }, + "1015": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "DUP4", + "path": "7", + "statement": 5 + }, + "1016": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "AND", + "path": "7" + }, + "1017": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "EQ", + "path": "7" + }, + "1018": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3643, + 3679 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1019": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3540, + 3679 + ], + "op": "SWAP3", + "path": "17" + }, + "1020": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "1021": { + "op": "POP" + }, + "1022": { + "op": "POP" + }, + "1023": { + "fn": "ERC721A.supportsInterface", + "jump": "o", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "1024": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1025": { + "fn": "ERC721A.name", + "offset": [ + 6558, + 6571 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1027": { + "fn": "ERC721A.name", + "offset": [ + 6590, + 6595 + ], + "op": "PUSH1", + "path": "17", + "statement": 6, + "value": "0x2" + }, + "1029": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1030": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1031": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x40F" + }, + "1034": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1035": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1576" + }, + "1038": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1039": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1040": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1041": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1043": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1044": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1046": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1047": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1048": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1049": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1050": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1052": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1053": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1055": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MLOAD", + "path": "17" + }, + "1056": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1057": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1058": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1059": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1061": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1062": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1063": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP3", + "path": "17" + }, + "1064": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1065": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1066": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1067": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1068": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1069": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1071": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1072": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1073": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1074": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1075": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x43B" + }, + "1078": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1079": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1576" + }, + "1082": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1083": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1084": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1085": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ISZERO", + "path": "17" + }, + "1086": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x488" + }, + "1089": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1090": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1091": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1093": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "LT", + "path": "17" + }, + "1094": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x45D" + }, + "1097": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1098": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100" + }, + "1101": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1102": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1103": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1104": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1105": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1106": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1107": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1108": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1109": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1111": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1112": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1113": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x488" + }, + "1116": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1117": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1118": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1119": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1120": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1121": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1122": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1124": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1125": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1127": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1129": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "KECCAK256", + "path": "17" + }, + "1130": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1131": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1132": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1133": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1134": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1135": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1136": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1137": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "1139": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1140": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1141": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1143": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1144": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1145": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1146": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "GT", + "path": "17" + }, + "1147": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x46B" + }, + "1150": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1151": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1152": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1153": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SUB", + "path": "17" + }, + "1154": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1156": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "AND", + "path": "17" + }, + "1157": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1158": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1159": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1160": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1161": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1162": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1163": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1164": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1165": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1166": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1167": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1168": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "1169": { + "fn": "ERC721A.name", + "jump": "o", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "1170": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1171": { + "fn": "ERC721A.getApproved", + "offset": [ + 8050, + 8057 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1173": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "PUSH2", + "path": "17", + "statement": 7, + "value": "0x49D" + }, + "1176": { + "fn": "ERC721A.getApproved", + "offset": [ + 8082, + 8089 + ], + "op": "DUP3", + "path": "17" + }, + "1177": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8081 + ], + "op": "PUSH2", + "path": "17", + "value": "0x811" + }, + "1180": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 8074, + 8090 + ], + "op": "JUMP", + "path": "17" + }, + "1181": { + "branch": 89, + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1182": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4BA" + }, + "1185": { + "branch": 89, + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPI", + "path": "17" + }, + "1186": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1188": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1189": { + "op": "PUSH4", + "value": "0x33D1C039" + }, + "1194": { + "op": "PUSH1", + "value": "0xE2" + }, + "1196": { + "op": "SHL" + }, + "1197": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP2", + "path": "17" + }, + "1198": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MSTORE", + "path": "17" + }, + "1199": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1201": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "ADD", + "path": "17" + }, + "1202": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1204": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1205": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP1", + "path": "17" + }, + "1206": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP2", + "path": "17" + }, + "1207": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SUB", + "path": "17" + }, + "1208": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP1", + "path": "17" + }, + "1209": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "REVERT", + "path": "17" + }, + "1210": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1211": { + "op": "POP" + }, + "1212": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "statement": 8, + "value": "0x0" + }, + "1214": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1215": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "DUP2", + "path": "17" + }, + "1216": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1217": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8166 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1219": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1221": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1222": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1224": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1225": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "KECCAK256", + "path": "17" + }, + "1226": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SLOAD", + "path": "17" + }, + "1227": { + "op": "PUSH1", + "value": "0x1" + }, + "1229": { + "op": "PUSH1", + "value": "0x1" + }, + "1231": { + "op": "PUSH1", + "value": "0xA0" + }, + "1233": { + "op": "SHL" + }, + "1234": { + "op": "SUB" + }, + "1235": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "AND", + "path": "17" + }, + "1236": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1237": { + "fn": "ERC721A.getApproved", + "jump": "o", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "1238": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1239": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7622 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1241": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4E1" + }, + "1244": { + "fn": "ERC721A.approve", + "offset": [ + 7641, + 7648 + ], + "op": "DUP3", + "path": "17" + }, + "1245": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7640 + ], + "op": "PUSH2", + "path": "17", + "value": "0x59B" + }, + "1248": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7625, + 7649 + ], + "op": "JUMP", + "path": "17" + }, + "1249": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1250": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "SWAP1", + "path": "17" + }, + "1251": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "POP", + "path": "17" + }, + "1252": { + "fn": "ERC721A.approve", + "offset": [ + 7669, + 7674 + ], + "op": "DUP1", + "path": "17", + "statement": 9 + }, + "1253": { + "op": "PUSH1", + "value": "0x1" + }, + "1255": { + "op": "PUSH1", + "value": "0x1" + }, + "1257": { + "op": "PUSH1", + "value": "0xA0" + }, + "1259": { + "op": "SHL" + }, + "1260": { + "op": "SUB" + }, + "1261": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1262": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7665 + ], + "op": "DUP4", + "path": "17" + }, + "1263": { + "op": "PUSH1", + "value": "0x1" + }, + "1265": { + "op": "PUSH1", + "value": "0x1" + }, + "1267": { + "op": "PUSH1", + "value": "0xA0" + }, + "1269": { + "op": "SHL" + }, + "1270": { + "op": "SUB" + }, + "1271": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1272": { + "branch": 90, + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "SUB", + "path": "17" + }, + "1273": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "PUSH2", + "path": "17", + "value": "0x515" + }, + "1276": { + "branch": 90, + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPI", + "path": "17" + }, + "1277": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1279": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1280": { + "op": "PUSH4", + "value": "0x250FDEE3" + }, + "1285": { + "op": "PUSH1", + "value": "0xE2" + }, + "1287": { + "op": "SHL" + }, + "1288": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP2", + "path": "17" + }, + "1289": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MSTORE", + "path": "17" + }, + "1290": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1292": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "ADD", + "path": "17" + }, + "1293": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1295": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1296": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP1", + "path": "17" + }, + "1297": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP2", + "path": "17" + }, + "1298": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SUB", + "path": "17" + }, + "1299": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP1", + "path": "17" + }, + "1300": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "REVERT", + "path": "17" + }, + "1301": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1302": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 10 + }, + "1303": { + "op": "PUSH1", + "value": "0x1" + }, + "1305": { + "op": "PUSH1", + "value": "0x1" + }, + "1307": { + "op": "PUSH1", + "value": "0xA0" + }, + "1309": { + "op": "SHL" + }, + "1310": { + "op": "SUB" + }, + "1311": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "DUP3", + "path": "17" + }, + "1312": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "AND", + "path": "17" + }, + "1313": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "EQ", + "path": "17" + }, + "1314": { + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x54C" + }, + "1317": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1318": { + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "PUSH2", + "path": "17", + "statement": 11, + "value": "0x52F" + }, + "1321": { + "fn": "ERC721A.approve", + "offset": [ + 7779, + 7784 + ], + "op": "DUP2", + "path": "17" + }, + "1322": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1323": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x380" + }, + "1326": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1327": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1328": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x54C" + }, + "1331": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1332": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1334": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1335": { + "op": "PUSH4", + "value": "0x67D9DCA1" + }, + "1340": { + "op": "PUSH1", + "value": "0xE1" + }, + "1342": { + "op": "SHL" + }, + "1343": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP2", + "path": "17" + }, + "1344": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MSTORE", + "path": "17" + }, + "1345": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1347": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "ADD", + "path": "17" + }, + "1348": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1350": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1351": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP1", + "path": "17" + }, + "1352": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP2", + "path": "17" + }, + "1353": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SUB", + "path": "17" + }, + "1354": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP1", + "path": "17" + }, + "1355": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "REVERT", + "path": "17" + }, + "1356": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1357": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "PUSH2", + "path": "17", + "statement": 12, + "value": "0x557" + }, + "1360": { + "fn": "ERC721A.approve", + "offset": [ + 7895, + 7897 + ], + "op": "DUP4", + "path": "17" + }, + "1361": { + "fn": "ERC721A.approve", + "offset": [ + 7899, + 7906 + ], + "op": "DUP4", + "path": "17" + }, + "1362": { + "fn": "ERC721A.approve", + "offset": [ + 7908, + 7913 + ], + "op": "DUP4", + "path": "17" + }, + "1363": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7894 + ], + "op": "PUSH2", + "path": "17", + "value": "0x83C" + }, + "1366": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7886, + 7914 + ], + "op": "JUMP", + "path": "17" + }, + "1367": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1368": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1369": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1370": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1371": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "1372": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1373": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8978 + ], + "op": "PUSH2", + "path": "17", + "statement": 13, + "value": "0x557" + }, + "1376": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8960, + 8964 + ], + "op": "DUP4", + "path": "17" + }, + "1377": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8966, + 8968 + ], + "op": "DUP4", + "path": "17" + }, + "1378": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8970, + 8977 + ], + "op": "DUP4", + "path": "17" + }, + "1379": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8959 + ], + "op": "PUSH2", + "path": "17", + "value": "0x898" + }, + "1382": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8950, + 8978 + ], + "op": "JUMP", + "path": "17" + }, + "1383": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1384": { + "fn": "ERC721AMock.mint", + "offset": [ + 1537, + 1556 + ], + "op": "PUSH2", + "path": "32", + "statement": 14, + "value": "0x571" + }, + "1387": { + "fn": "ERC721AMock.mint", + "offset": [ + 1543, + 1545 + ], + "op": "DUP3", + "path": "32" + }, + "1388": { + "fn": "ERC721AMock.mint", + "offset": [ + 1547, + 1555 + ], + "op": "DUP3", + "path": "32" + }, + "1389": { + "fn": "ERC721AMock.mint", + "offset": [ + 1537, + 1542 + ], + "op": "PUSH2", + "path": "32", + "value": "0xA73" + }, + "1392": { + "fn": "ERC721AMock.mint", + "jump": "i", + "offset": [ + 1537, + 1556 + ], + "op": "JUMP", + "path": "32" + }, + "1393": { + "fn": "ERC721AMock.mint", + "offset": [ + 1537, + 1556 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1394": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "1395": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "1396": { + "fn": "ERC721AMock.mint", + "jump": "o", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "1397": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1398": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH2", + "path": "17", + "statement": 15, + "value": "0x557" + }, + "1401": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9201, + 9205 + ], + "op": "DUP4", + "path": "17" + }, + "1402": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9207, + 9209 + ], + "op": "DUP4", + "path": "17" + }, + "1403": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9211, + 9218 + ], + "op": "DUP4", + "path": "17" + }, + "1404": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1406": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MLOAD", + "path": "17" + }, + "1407": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1408": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1410": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "ADD", + "path": "17" + }, + "1411": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1413": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1414": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1415": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1417": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP2", + "path": "17" + }, + "1418": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1419": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "POP", + "path": "17" + }, + "1420": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9200 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6DA" + }, + "1423": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9184, + 9223 + ], + "op": "JUMP", + "path": "17" + }, + "1424": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1425": { + "fn": "ERC721AMock.exists", + "offset": [ + 1165, + 1169 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "1427": { + "fn": "ERC721AMock.exists", + "offset": [ + 1188, + 1204 + ], + "op": "PUSH2", + "path": "32", + "statement": 16, + "value": "0x3FA" + }, + "1430": { + "fn": "ERC721AMock.exists", + "offset": [ + 1196, + 1203 + ], + "op": "DUP3", + "path": "32" + }, + "1431": { + "fn": "ERC721AMock.exists", + "offset": [ + 1188, + 1195 + ], + "op": "PUSH2", + "path": "32", + "value": "0x811" + }, + "1434": { + "fn": "ERC721AMock.exists", + "jump": "i", + "offset": [ + 1188, + 1204 + ], + "op": "JUMP", + "path": "32" + }, + "1435": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1436": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6383, + 6390 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1438": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "PUSH2", + "path": "17", + "statement": 17, + "value": "0x5A6" + }, + "1441": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6422, + 6429 + ], + "op": "DUP3", + "path": "17" + }, + "1442": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6421 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB85" + }, + "1445": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6409, + 6430 + ], + "op": "JUMP", + "path": "17" + }, + "1446": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1447": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "MLOAD", + "path": "17" + }, + "1448": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "SWAP3", + "path": "17" + }, + "1449": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "SWAP2", + "path": "17" + }, + "1450": { + "op": "POP" + }, + "1451": { + "op": "POP" + }, + "1452": { + "fn": "ERC721A.ownerOf", + "jump": "o", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "1453": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1454": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1056, + 1069 + ], + "op": "PUSH1", + "path": "32", + "value": "0x60" + }, + "1456": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1088, + 1098 + ], + "op": "PUSH2", + "path": "32", + "statement": 18, + "value": "0x5C4" + }, + "1459": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "statement": 19, + "value": "0x40" + }, + "1461": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "1462": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "1463": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1465": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1466": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "1467": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1468": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "1469": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1470": { + "op": "PUSH1", + "value": "0x0" + }, + "1472": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1473": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1474": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1475": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "1476": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1088, + 1098 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1477": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1081, + 1098 + ], + "op": "SWAP1", + "path": "32" + }, + "1478": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1081, + 1098 + ], + "op": "POP", + "path": "32" + }, + "1479": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "SWAP1", + "path": "32" + }, + "1480": { + "fn": "ERC721AMock.baseURI", + "jump": "o", + "offset": [ + 1016, + 1105 + ], + "op": "JUMP", + "path": "32" + }, + "1481": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1482": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3809, + 3816 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1484": { + "op": "PUSH1", + "value": "0x1" + }, + "1486": { + "op": "PUSH1", + "value": "0x1" + }, + "1488": { + "op": "PUSH1", + "value": "0xA0" + }, + "1490": { + "op": "SHL" + }, + "1491": { + "op": "SUB" + }, + "1492": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "DUP3", + "path": "17", + "statement": 20 + }, + "1493": { + "branch": 93, + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "AND", + "path": "17" + }, + "1494": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5F2" + }, + "1497": { + "branch": 93, + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPI", + "path": "17" + }, + "1498": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1500": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1501": { + "op": "PUSH4", + "value": "0x23D3AD81" + }, + "1506": { + "op": "PUSH1", + "value": "0xE2" + }, + "1508": { + "op": "SHL" + }, + "1509": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP2", + "path": "17" + }, + "1510": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MSTORE", + "path": "17" + }, + "1511": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1513": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "ADD", + "path": "17" + }, + "1514": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1516": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1517": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP1", + "path": "17" + }, + "1518": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP2", + "path": "17" + }, + "1519": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SUB", + "path": "17" + }, + "1520": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP1", + "path": "17" + }, + "1521": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "REVERT", + "path": "17" + }, + "1522": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1523": { + "op": "POP" + }, + "1524": { + "op": "PUSH1", + "value": "0x1" + }, + "1526": { + "op": "PUSH1", + "value": "0x1" + }, + "1528": { + "op": "PUSH1", + "value": "0xA0" + }, + "1530": { + "op": "SHL" + }, + "1531": { + "op": "SUB" + }, + "1532": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "AND", + "path": "17", + "statement": 21 + }, + "1533": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1535": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1536": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "DUP2", + "path": "17" + }, + "1537": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1538": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3925 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "1540": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1542": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1543": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1545": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1546": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "KECCAK256", + "path": "17" + }, + "1547": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SLOAD", + "path": "17" + }, + "1548": { + "op": "PUSH1", + "value": "0x1" + }, + "1550": { + "op": "PUSH1", + "value": "0x1" + }, + "1552": { + "op": "PUSH1", + "value": "0x40" + }, + "1554": { + "op": "SHL" + }, + "1555": { + "op": "SUB" + }, + "1556": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "AND", + "path": "17" + }, + "1557": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SWAP1", + "path": "17" + }, + "1558": { + "fn": "ERC721A.balanceOf", + "jump": "o", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "1559": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1560": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1433, + 1463 + ], + "op": "PUSH2", + "path": "32", + "statement": 22, + "value": "0x557" + }, + "1563": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1443, + 1445 + ], + "op": "DUP4", + "path": "32" + }, + "1564": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1447, + 1455 + ], + "op": "DUP4", + "path": "32" + }, + "1565": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1457, + 1462 + ], + "op": "DUP4", + "path": "32" + }, + "1566": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1433, + 1442 + ], + "op": "PUSH2", + "path": "32", + "value": "0xC9F" + }, + "1569": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1433, + 1463 + ], + "op": "JUMP", + "path": "32" + }, + "1570": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1571": { + "fn": "ERC721A.symbol", + "offset": [ + 6722, + 6735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1573": { + "fn": "ERC721A.symbol", + "offset": [ + 6754, + 6761 + ], + "op": "PUSH1", + "path": "17", + "statement": 23, + "value": "0x3" + }, + "1575": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "DUP1", + "path": "17" + }, + "1576": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SLOAD", + "path": "17" + }, + "1577": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x40F" + }, + "1580": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SWAP1", + "path": "17" + }, + "1581": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1576" + }, + "1584": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6747, + 6761 + ], + "op": "JUMP", + "path": "17" + }, + "1585": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1586": { + "fn": "ERC721AMock.burn", + "offset": [ + 1637, + 1672 + ], + "op": "PUSH2", + "path": "32", + "statement": 24, + "value": "0x571" + }, + "1589": { + "fn": "ERC721AMock.burn", + "offset": [ + 1649, + 1656 + ], + "op": "DUP3", + "path": "32" + }, + "1590": { + "fn": "ERC721AMock.burn", + "offset": [ + 1658, + 1671 + ], + "op": "DUP3", + "path": "32" + }, + "1591": { + "fn": "ERC721AMock.burn", + "offset": [ + 1637, + 1648 + ], + "op": "PUSH2", + "path": "32", + "value": "0xE34" + }, + "1594": { + "fn": "ERC721AMock.burn", + "jump": "i", + "offset": [ + 1637, + 1672 + ], + "op": "JUMP", + "path": "32" + }, + "1595": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1596": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1282, + 1305 + ], + "op": "PUSH2", + "path": "32", + "statement": 25, + "value": "0x571" + }, + "1599": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1292, + 1294 + ], + "op": "DUP3", + "path": "32" + }, + "1600": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1296, + 1304 + ], + "op": "DUP3", + "path": "32" + }, + "1601": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1282, + 1291 + ], + "op": "PUSH2", + "path": "32", + "value": "0xFE7" + }, + "1604": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1282, + 1305 + ], + "op": "JUMP", + "path": "32" + }, + "1605": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1606": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1607": { + "op": "PUSH1", + "value": "0x1" + }, + "1609": { + "op": "PUSH1", + "value": "0x1" + }, + "1611": { + "op": "PUSH1", + "value": "0xA0" + }, + "1613": { + "op": "SHL" + }, + "1614": { + "op": "SUB" + }, + "1615": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "DUP4", + "path": "17", + "statement": 26 + }, + "1616": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "AND", + "path": "17" + }, + "1617": { + "branch": 94, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "SUB", + "path": "17" + }, + "1618": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "PUSH2", + "path": "17", + "value": "0x66E" + }, + "1621": { + "branch": 94, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPI", + "path": "17" + }, + "1622": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1624": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1625": { + "op": "PUSH4", + "value": "0xB06307DB" + }, + "1630": { + "op": "PUSH1", + "value": "0xE0" + }, + "1632": { + "op": "SHL" + }, + "1633": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP2", + "path": "17" + }, + "1634": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MSTORE", + "path": "17" + }, + "1635": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1637": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "ADD", + "path": "17" + }, + "1638": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1640": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1641": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP1", + "path": "17" + }, + "1642": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP2", + "path": "17" + }, + "1643": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SUB", + "path": "17" + }, + "1644": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP1", + "path": "17" + }, + "1645": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "REVERT", + "path": "17" + }, + "1646": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1647": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1648": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "statement": 27, + "value": "0x0" + }, + "1650": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1651": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1652": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1653": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8426 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "1655": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1657": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "SWAP1", + "path": "17" + }, + "1658": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1659": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1660": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1662": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP1", + "path": "17" + }, + "1663": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP4", + "path": "17" + }, + "1664": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "KECCAK256", + "path": "17" + }, + "1665": { + "op": "PUSH1", + "value": "0x1" + }, + "1667": { + "op": "PUSH1", + "value": "0x1" + }, + "1669": { + "op": "PUSH1", + "value": "0xA0" + }, + "1671": { + "op": "SHL" + }, + "1672": { + "op": "SUB" + }, + "1673": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP8", + "path": "17" + }, + "1674": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "AND", + "path": "17" + }, + "1675": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP1", + "path": "17" + }, + "1676": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP6", + "path": "17" + }, + "1677": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1678": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1679": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP4", + "path": "17" + }, + "1680": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1681": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1682": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP2", + "path": "17" + }, + "1683": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1684": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "KECCAK256", + "path": "17" + }, + "1685": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP1", + "path": "17" + }, + "1686": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SLOAD", + "path": "17" + }, + "1687": { + "op": "PUSH1", + "value": "0xFF" + }, + "1689": { + "op": "NOT" + }, + "1690": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "AND", + "path": "17" + }, + "1691": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP7", + "path": "17" + }, + "1692": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1693": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1694": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1695": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP2", + "path": "17" + }, + "1696": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "OR", + "path": "17" + }, + "1697": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1698": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP2", + "path": "17" + }, + "1699": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SSTORE", + "path": "17" + }, + "1700": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17", + "statement": 28 + }, + "1701": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1702": { + "op": "SWAP1" + }, + "1703": { + "op": "DUP2" + }, + "1704": { + "op": "MSTORE" + }, + "1705": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP2", + "path": "17" + }, + "1706": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1707": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP2", + "path": "5" + }, + "1708": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH32", + "path": "17", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "1741": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1742": { + "op": "ADD" + }, + "1743": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1745": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1746": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "DUP1", + "path": "17" + }, + "1747": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1748": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SUB", + "path": "17" + }, + "1749": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17" + }, + "1750": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "LOG3", + "path": "17" + }, + "1751": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1752": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1753": { + "fn": "ERC721A.setApprovalForAll", + "jump": "o", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "1754": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1755": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "PUSH2", + "path": "17", + "statement": 29, + "value": "0x6E5" + }, + "1758": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9467, + 9471 + ], + "op": "DUP5", + "path": "17" + }, + "1759": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9473, + 9475 + ], + "op": "DUP5", + "path": "17" + }, + "1760": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9477, + 9484 + ], + "op": "DUP5", + "path": "17" + }, + "1761": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9466 + ], + "op": "PUSH2", + "path": "17", + "value": "0x898" + }, + "1764": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9457, + 9485 + ], + "op": "JUMP", + "path": "17" + }, + "1765": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1766": { + "op": "PUSH1", + "value": "0x1" + }, + "1768": { + "op": "PUSH1", + "value": "0x1" + }, + "1770": { + "op": "PUSH1", + "value": "0xA0" + }, + "1772": { + "op": "SHL" + }, + "1773": { + "op": "SUB" + }, + "1774": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "DUP4", + "path": "17" + }, + "1775": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "AND", + "path": "17" + }, + "1776": { + "op": "EXTCODESIZE" + }, + "1777": { + "op": "ISZERO" + }, + "1778": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x71E" + }, + "1781": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1782": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "PUSH2", + "path": "17", + "statement": 30, + "value": "0x701" + }, + "1785": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9564, + 9568 + ], + "op": "DUP5", + "path": "17" + }, + "1786": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9570, + 9572 + ], + "op": "DUP5", + "path": "17" + }, + "1787": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9574, + 9581 + ], + "op": "DUP5", + "path": "17" + }, + "1788": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9583, + 9588 + ], + "op": "DUP5", + "path": "17" + }, + "1789": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9563 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1001" + }, + "1792": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9533, + 9589 + ], + "op": "JUMP", + "path": "17" + }, + "1793": { + "branch": 95, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1794": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x71E" + }, + "1797": { + "branch": 95, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1798": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1800": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1801": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "1806": { + "op": "PUSH1", + "value": "0xE1" + }, + "1808": { + "op": "SHL" + }, + "1809": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP2", + "path": "17" + }, + "1810": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MSTORE", + "path": "17" + }, + "1811": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1813": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "ADD", + "path": "17" + }, + "1814": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1816": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1817": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP1", + "path": "17" + }, + "1818": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP2", + "path": "17" + }, + "1819": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SUB", + "path": "17" + }, + "1820": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP1", + "path": "17" + }, + "1821": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "REVERT", + "path": "17" + }, + "1822": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1823": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1824": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1825": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1826": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1827": { + "fn": "ERC721A.safeTransferFrom", + "jump": "o", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "1828": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1829": { + "op": "PUSH1", + "value": "0x1" + }, + "1831": { + "op": "PUSH1", + "value": "0x1" + }, + "1833": { + "op": "PUSH1", + "value": "0xA0" + }, + "1835": { + "op": "SHL" + }, + "1836": { + "op": "SUB" + }, + "1837": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "DUP2", + "path": "17", + "statement": 31 + }, + "1838": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "AND", + "path": "17" + }, + "1839": { + "fn": "ERC721AMock.getAux", + "offset": [ + 872, + 878 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "1841": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "SWAP1", + "path": "17" + }, + "1842": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "DUP2", + "path": "17" + }, + "1843": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "MSTORE", + "path": "17" + }, + "1844": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4593 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "1846": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1848": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "MSTORE", + "path": "17" + }, + "1849": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1851": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "DUP2", + "path": "17" + }, + "1852": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "KECCAK256", + "path": "17" + }, + "1853": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "SLOAD", + "path": "17" + }, + "1854": { + "op": "PUSH1", + "value": "0x1" + }, + "1856": { + "op": "PUSH1", + "value": "0xC0" + }, + "1858": { + "op": "SHL" + }, + "1859": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "SWAP1", + "path": "17" + }, + "1860": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "DIV", + "path": "17" + }, + "1861": { + "op": "PUSH1", + "value": "0x1" + }, + "1863": { + "op": "PUSH1", + "value": "0x1" + }, + "1865": { + "op": "PUSH1", + "value": "0x40" + }, + "1867": { + "op": "SHL" + }, + "1868": { + "op": "SUB" + }, + "1869": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "AND", + "path": "17" + }, + "1870": { + "fn": "ERC721AMock.getAux", + "offset": [ + 897, + 911 + ], + "op": "PUSH2", + "path": "32", + "statement": 32, + "value": "0x3FA" + }, + "1873": { + "fn": "ERC721A._getAux", + "offset": [ + 4501, + 4611 + ], + "op": "JUMP", + "path": "17" + }, + "1874": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1875": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6907, + 6920 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1877": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6953 + ], + "op": "PUSH2", + "path": "17", + "statement": 33, + "value": "0x75D" + }, + "1880": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6945, + 6952 + ], + "op": "DUP3", + "path": "17" + }, + "1881": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6944 + ], + "op": "PUSH2", + "path": "17", + "value": "0x811" + }, + "1884": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6937, + 6953 + ], + "op": "JUMP", + "path": "17" + }, + "1885": { + "branch": 96, + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6953 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1886": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "PUSH2", + "path": "17", + "value": "0x77A" + }, + "1889": { + "branch": 96, + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "JUMPI", + "path": "17" + }, + "1890": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1892": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MLOAD", + "path": "17" + }, + "1893": { + "op": "PUSH4", + "value": "0xA14C4B5" + }, + "1898": { + "op": "PUSH1", + "value": "0xE4" + }, + "1900": { + "op": "SHL" + }, + "1901": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "DUP2", + "path": "17" + }, + "1902": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MSTORE", + "path": "17" + }, + "1903": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1905": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "ADD", + "path": "17" + }, + "1906": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1908": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MLOAD", + "path": "17" + }, + "1909": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "DUP1", + "path": "17" + }, + "1910": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SWAP2", + "path": "17" + }, + "1911": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SUB", + "path": "17" + }, + "1912": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SWAP1", + "path": "17" + }, + "1913": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "REVERT", + "path": "17" + }, + "1914": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1915": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7023 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1917": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7026, + 7036 + ], + "op": "PUSH2", + "path": "17", + "value": "0x791" + }, + "1920": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1922": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "1923": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "1924": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1926": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1927": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "1928": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1929": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "1930": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1931": { + "op": "PUSH1", + "value": "0x0" + }, + "1933": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1934": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1935": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1936": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "1937": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7026, + 7036 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1938": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7036 + ], + "op": "SWAP1", + "path": "17" + }, + "1939": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7036 + ], + "op": "POP", + "path": "17" + }, + "1940": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7059, + 7066 + ], + "op": "DUP1", + "path": "17", + "statement": 34 + }, + "1941": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7074 + ], + "op": "MLOAD", + "path": "17" + }, + "1942": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7078, + 7079 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1944": { + "branch": 97, + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7079 + ], + "op": "SUB", + "path": "17" + }, + "1945": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7B1" + }, + "1948": { + "branch": 97, + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPI", + "path": "17" + }, + "1949": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1951": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MLOAD", + "path": "17" + }, + "1952": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP1", + "path": "17" + }, + "1953": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1955": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "ADD", + "path": "17" + }, + "1956": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1958": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MSTORE", + "path": "17" + }, + "1959": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP1", + "path": "17" + }, + "1960": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1962": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP2", + "path": "17" + }, + "1963": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MSTORE", + "path": "17" + }, + "1964": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "POP", + "path": "17" + }, + "1965": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7DC" + }, + "1968": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMP", + "path": "17" + }, + "1969": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1970": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7106, + 7113 + ], + "op": "DUP1", + "path": "17" + }, + "1971": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7BB" + }, + "1974": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7122 + ], + "op": "DUP5", + "path": "17" + }, + "1975": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7131 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10ED" + }, + "1978": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 7115, + 7133 + ], + "op": "JUMP", + "path": "17" + }, + "1979": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1980": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1982": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MLOAD", + "path": "17" + }, + "1983": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1985": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "ADD", + "path": "17" + }, + "1986": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7CC" + }, + "1989": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP3", + "path": "17" + }, + "1990": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP2", + "path": "17" + }, + "1991": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP1", + "path": "17" + }, + "1992": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15B0" + }, + "1995": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 7089, + 7134 + ], + "op": "JUMP", + "path": "17" + }, + "1996": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1997": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1999": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MLOAD", + "path": "17" + }, + "2000": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2002": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP2", + "path": "17" + }, + "2003": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP4", + "path": "17" + }, + "2004": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SUB", + "path": "17" + }, + "2005": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SUB", + "path": "17" + }, + "2006": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP2", + "path": "17" + }, + "2007": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MSTORE", + "path": "17" + }, + "2008": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP1", + "path": "17" + }, + "2009": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2011": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MSTORE", + "path": "17" + }, + "2012": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2013": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7046, + 7140 + ], + "op": "SWAP4", + "path": "17" + }, + "2014": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "SWAP3", + "path": "17" + }, + "2015": { + "op": "POP" + }, + "2016": { + "op": "POP" + }, + "2017": { + "op": "POP" + }, + "2018": { + "fn": "ERC721A.tokenURI", + "jump": "o", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "2019": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "JUMPDEST", + "path": "32" + }, + "2020": { + "op": "PUSH1", + "value": "0x1" + }, + "2022": { + "op": "PUSH1", + "value": "0x1" + }, + "2024": { + "op": "PUSH1", + "value": "0xA0" + }, + "2026": { + "op": "SHL" + }, + "2027": { + "op": "SUB" + }, + "2028": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "DUP2", + "path": "17", + "statement": 35 + }, + "2029": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "AND", + "path": "17" + }, + "2030": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 664, + 671 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "2032": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "SWAP1", + "path": "17" + }, + "2033": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "DUP2", + "path": "17" + }, + "2034": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "MSTORE", + "path": "17" + }, + "2035": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4132 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2037": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2039": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "MSTORE", + "path": "17" + }, + "2040": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2042": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "DUP2", + "path": "17" + }, + "2043": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "KECCAK256", + "path": "17" + }, + "2044": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "SLOAD", + "path": "17" + }, + "2045": { + "op": "PUSH1", + "value": "0x1" + }, + "2047": { + "op": "PUSH1", + "value": "0x40" + }, + "2049": { + "op": "SHL" + }, + "2050": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "SWAP1", + "path": "17" + }, + "2051": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "DIV", + "path": "17" + }, + "2052": { + "op": "PUSH1", + "value": "0x1" + }, + "2054": { + "op": "PUSH1", + "value": "0x1" + }, + "2056": { + "op": "PUSH1", + "value": "0x40" + }, + "2058": { + "op": "SHL" + }, + "2059": { + "op": "SUB" + }, + "2060": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "AND", + "path": "17" + }, + "2061": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 690, + 710 + ], + "op": "PUSH2", + "path": "32", + "statement": 36, + "value": "0x3FA" + }, + "2064": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4025, + 4160 + ], + "op": "JUMP", + "path": "17" + }, + "2065": { + "fn": "ERC721A._exists", + "offset": [ + 9923, + 10095 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2066": { + "fn": "ERC721A._exists", + "offset": [ + 9980, + 9984 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2068": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "DUP1", + "path": "17", + "statement": 37 + }, + "2069": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "SLOAD", + "path": "17" + }, + "2070": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10040 + ], + "op": "DUP3", + "path": "17" + }, + "2071": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10056 + ], + "op": "LT", + "path": "17" + }, + "2072": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "DUP1", + "path": "17" + }, + "2073": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2074": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3FA" + }, + "2077": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "JUMPI", + "path": "17" + }, + "2078": { + "op": "POP" + }, + "2079": { + "op": "POP" + }, + "2080": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2082": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2083": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "DUP2", + "path": "17" + }, + "2084": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2085": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10072 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2087": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2089": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2090": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2092": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2093": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "KECCAK256", + "path": "17" + }, + "2094": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SLOAD", + "path": "17" + }, + "2095": { + "op": "PUSH1", + "value": "0x1" + }, + "2097": { + "op": "PUSH1", + "value": "0xE0" + }, + "2099": { + "op": "SHL" + }, + "2100": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2101": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "DIV", + "path": "17" + }, + "2102": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "2104": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "AND", + "path": "17" + }, + "2105": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2106": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2107": { + "fn": "ERC721A._exists", + "jump": "o", + "offset": [ + 9923, + 10095 + ], + "op": "JUMP", + "path": "17" + }, + "2108": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2109": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "statement": 38, + "value": "0x0" + }, + "2111": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2112": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP2", + "path": "17" + }, + "2113": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2114": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18973 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "2116": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2118": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2119": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2121": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP1", + "path": "17" + }, + "2122": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2123": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "KECCAK256", + "path": "17" + }, + "2124": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP1", + "path": "17" + }, + "2125": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SLOAD", + "path": "17" + }, + "2126": { + "op": "PUSH1", + "value": "0x1" + }, + "2128": { + "op": "PUSH1", + "value": "0x1" + }, + "2130": { + "op": "PUSH1", + "value": "0xA0" + }, + "2132": { + "op": "SHL" + }, + "2133": { + "op": "SUB" + }, + "2134": { + "op": "NOT" + }, + "2135": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2136": { + "op": "PUSH1", + "value": "0x1" + }, + "2138": { + "op": "PUSH1", + "value": "0x1" + }, + "2140": { + "op": "PUSH1", + "value": "0xA0" + }, + "2142": { + "op": "SHL" + }, + "2143": { + "op": "SUB" + }, + "2144": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP8", + "path": "17" + }, + "2145": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP2", + "path": "17" + }, + "2146": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2147": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP2", + "path": "17" + }, + "2148": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP3", + "path": "17" + }, + "2149": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "OR", + "path": "17" + }, + "2150": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP1", + "path": "17" + }, + "2151": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP3", + "path": "17" + }, + "2152": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SSTORE", + "path": "17" + }, + "2153": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17", + "statement": 39 + }, + "2154": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "MLOAD", + "path": "17" + }, + "2155": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP6", + "path": "17" + }, + "2156": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "SWAP4", + "path": "17" + }, + "2157": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2158": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "DUP6", + "path": "17" + }, + "2159": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "AND", + "path": "17" + }, + "2160": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2161": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "PUSH32", + "path": "17", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "2194": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2195": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "LOG4", + "path": "17" + }, + "2196": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2197": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2198": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2199": { + "fn": "ERC721A._approve", + "jump": "o", + "offset": [ + 18848, + 19037 + ], + "op": "JUMP", + "path": "17" + }, + "2200": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2201": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14124 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2203": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8A3" + }, + "2206": { + "fn": "ERC721A._transfer", + "offset": [ + 14140, + 14147 + ], + "op": "DUP3", + "path": "17" + }, + "2207": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14139 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB85" + }, + "2210": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14127, + 14148 + ], + "op": "JUMP", + "path": "17" + }, + "2211": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2212": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "SWAP1", + "path": "17" + }, + "2213": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "POP", + "path": "17" + }, + "2214": { + "fn": "ERC721A._transfer", + "offset": [ + 14185, + 14189 + ], + "op": "DUP4", + "path": "17", + "statement": 40 + }, + "2215": { + "op": "PUSH1", + "value": "0x1" + }, + "2217": { + "op": "PUSH1", + "value": "0x1" + }, + "2219": { + "op": "PUSH1", + "value": "0xA0" + }, + "2221": { + "op": "SHL" + }, + "2222": { + "op": "SUB" + }, + "2223": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2224": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14176 + ], + "op": "DUP2", + "path": "17" + }, + "2225": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2227": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "ADD", + "path": "17" + }, + "2228": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "MLOAD", + "path": "17" + }, + "2229": { + "op": "PUSH1", + "value": "0x1" + }, + "2231": { + "op": "PUSH1", + "value": "0x1" + }, + "2233": { + "op": "PUSH1", + "value": "0xA0" + }, + "2235": { + "op": "SHL" + }, + "2236": { + "op": "SUB" + }, + "2237": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2238": { + "branch": 98, + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "EQ", + "path": "17" + }, + "2239": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8DA" + }, + "2242": { + "branch": 98, + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPI", + "path": "17" + }, + "2243": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2245": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2246": { + "op": "PUSH3", + "value": "0xA11481" + }, + "2250": { + "op": "PUSH1", + "value": "0xE8" + }, + "2252": { + "op": "SHL" + }, + "2253": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP2", + "path": "17" + }, + "2254": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MSTORE", + "path": "17" + }, + "2255": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2257": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "ADD", + "path": "17" + }, + "2258": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2260": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2261": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP1", + "path": "17" + }, + "2262": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP2", + "path": "17" + }, + "2263": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SUB", + "path": "17" + }, + "2264": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP1", + "path": "17" + }, + "2265": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "REVERT", + "path": "17" + }, + "2266": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2267": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14259 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2269": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2270": { + "op": "PUSH1", + "value": "0x1" + }, + "2272": { + "op": "PUSH1", + "value": "0x1" + }, + "2274": { + "op": "PUSH1", + "value": "0xA0" + }, + "2276": { + "op": "SHL" + }, + "2277": { + "op": "SUB" + }, + "2278": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP7", + "path": "17" + }, + "2279": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "AND", + "path": "17" + }, + "2280": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "EQ", + "path": "17" + }, + "2281": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP1", + "path": "17" + }, + "2282": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8F8" + }, + "2285": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "JUMPI", + "path": "17" + }, + "2286": { + "op": "POP" + }, + "2287": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8F8" + }, + "2290": { + "fn": "ERC721A._transfer", + "offset": [ + 14304, + 14308 + ], + "op": "DUP6", + "path": "17" + }, + "2291": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2292": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x380" + }, + "2295": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "2296": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2297": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "DUP1", + "path": "17" + }, + "2298": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "PUSH2", + "path": "17", + "value": "0x913" + }, + "2301": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPI", + "path": "17" + }, + "2302": { + "op": "POP" + }, + "2303": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2304": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "PUSH2", + "path": "17", + "value": "0x908" + }, + "2307": { + "fn": "ERC721A._transfer", + "offset": [ + 14339, + 14346 + ], + "op": "DUP5", + "path": "17" + }, + "2308": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14338 + ], + "op": "PUSH2", + "path": "17", + "value": "0x492" + }, + "2311": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14327, + 14347 + ], + "op": "JUMP", + "path": "17" + }, + "2312": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2313": { + "op": "PUSH1", + "value": "0x1" + }, + "2315": { + "op": "PUSH1", + "value": "0x1" + }, + "2317": { + "op": "PUSH1", + "value": "0xA0" + }, + "2319": { + "op": "SHL" + }, + "2320": { + "op": "SUB" + }, + "2321": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "AND", + "path": "17" + }, + "2322": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "EQ", + "path": "17" + }, + "2323": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2324": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "SWAP1", + "path": "17" + }, + "2325": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "POP", + "path": "17" + }, + "2326": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 14380, + 14397 + ], + "op": "DUP1", + "path": "17", + "statement": 41 + }, + "2327": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "PUSH2", + "path": "17", + "value": "0x933" + }, + "2330": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPI", + "path": "17" + }, + "2331": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2333": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2334": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "2339": { + "op": "PUSH1", + "value": "0xE1" + }, + "2341": { + "op": "SHL" + }, + "2342": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP2", + "path": "17" + }, + "2343": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MSTORE", + "path": "17" + }, + "2344": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2346": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "ADD", + "path": "17" + }, + "2347": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2349": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2350": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP1", + "path": "17" + }, + "2351": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP2", + "path": "17" + }, + "2352": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SUB", + "path": "17" + }, + "2353": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP1", + "path": "17" + }, + "2354": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "REVERT", + "path": "17" + }, + "2355": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2356": { + "op": "PUSH1", + "value": "0x1" + }, + "2358": { + "op": "PUSH1", + "value": "0x1" + }, + "2360": { + "op": "PUSH1", + "value": "0xA0" + }, + "2362": { + "op": "SHL" + }, + "2363": { + "op": "SUB" + }, + "2364": { + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "DUP5", + "path": "17", + "statement": 42 + }, + "2365": { + "branch": 100, + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "AND", + "path": "17" + }, + "2366": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "PUSH2", + "path": "17", + "value": "0x95A" + }, + "2369": { + "branch": 100, + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPI", + "path": "17" + }, + "2370": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2372": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2373": { + "op": "PUSH4", + "value": "0x3A954ECD" + }, + "2378": { + "op": "PUSH1", + "value": "0xE2" + }, + "2380": { + "op": "SHL" + }, + "2381": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP2", + "path": "17" + }, + "2382": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MSTORE", + "path": "17" + }, + "2383": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2385": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "ADD", + "path": "17" + }, + "2386": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2388": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2389": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP1", + "path": "17" + }, + "2390": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP2", + "path": "17" + }, + "2391": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SUB", + "path": "17" + }, + "2392": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP1", + "path": "17" + }, + "2393": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "REVERT", + "path": "17" + }, + "2394": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2395": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "PUSH2", + "path": "17", + "statement": 43, + "value": "0x966" + }, + "2398": { + "fn": "ERC721A._transfer", + "offset": [ + 14636, + 14637 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2400": { + "fn": "ERC721A._transfer", + "offset": [ + 14640, + 14647 + ], + "op": "DUP5", + "path": "17" + }, + "2401": { + "fn": "ERC721A._transfer", + "offset": [ + 14649, + 14653 + ], + "op": "DUP8", + "path": "17" + }, + "2402": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14627 + ], + "op": "PUSH2", + "path": "17", + "value": "0x83C" + }, + "2405": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14619, + 14654 + ], + "op": "JUMP", + "path": "17" + }, + "2406": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2407": { + "op": "PUSH1", + "value": "0x1" + }, + "2409": { + "op": "PUSH1", + "value": "0x1" + }, + "2411": { + "op": "PUSH1", + "value": "0xA0" + }, + "2413": { + "op": "SHL" + }, + "2414": { + "op": "SUB" + }, + "2415": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP6", + "path": "17", + "statement": 44 + }, + "2416": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2417": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "AND", + "path": "17" + }, + "2418": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2420": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2421": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2422": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2423": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14956 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2425": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2427": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2428": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2429": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2430": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2432": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP1", + "path": "17" + }, + "2433": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP4", + "path": "17" + }, + "2434": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "KECCAK256", + "path": "17" + }, + "2435": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2436": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SLOAD", + "path": "17" + }, + "2437": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2446": { + "op": "NOT" + }, + "2447": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2448": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP3", + "path": "17" + }, + "2449": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2450": { + "op": "PUSH1", + "value": "0x1" + }, + "2452": { + "op": "PUSH1", + "value": "0x1" + }, + "2454": { + "op": "PUSH1", + "value": "0x40" + }, + "2456": { + "op": "SHL" + }, + "2457": { + "op": "SUB" + }, + "2458": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2459": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2460": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2461": { + "op": "PUSH1", + "value": "0x0" + }, + "2463": { + "op": "NOT" + }, + "2464": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "ADD", + "path": "17" + }, + "2465": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2466": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2467": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "OR", + "path": "17" + }, + "2468": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP1", + "path": "17" + }, + "2469": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2470": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SSTORE", + "path": "17" + }, + "2471": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP10", + "path": "17", + "statement": 45 + }, + "2472": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2473": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "AND", + "path": "17" + }, + "2474": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP1", + "path": "17" + }, + "2475": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2476": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "MSTORE", + "path": "17" + }, + "2477": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP4", + "path": "17" + }, + "2478": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2479": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "KECCAK256", + "path": "17" + }, + "2480": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP1", + "path": "17" + }, + "2481": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SLOAD", + "path": "17" + }, + "2482": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2483": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2484": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2485": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2486": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP4", + "path": "17" + }, + "2487": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2488": { + "op": "PUSH1", + "value": "0x1" + }, + "2490": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2491": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP2", + "path": "17" + }, + "2492": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "ADD", + "path": "17" + }, + "2493": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2494": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2495": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2496": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2497": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2498": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "OR", + "path": "17" + }, + "2499": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2500": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SSTORE", + "path": "17" + }, + "2501": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP10", + "path": "17" + }, + "2502": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP7", + "path": "17" + }, + "2503": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2504": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15078 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2506": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP1", + "path": "17" + }, + "2507": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP5", + "path": "17" + }, + "2508": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2509": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP3", + "path": "17" + }, + "2510": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP6", + "path": "17" + }, + "2511": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "KECCAK256", + "path": "17" + }, + "2512": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "DUP1", + "path": "17", + "statement": 46 + }, + "2513": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "SLOAD", + "path": "17" + }, + "2514": { + "op": "PUSH1", + "value": "0x1" + }, + "2516": { + "op": "PUSH1", + "value": "0x1" + }, + "2518": { + "op": "PUSH1", + "value": "0xE0" + }, + "2520": { + "op": "SHL" + }, + "2521": { + "op": "SUB" + }, + "2522": { + "op": "NOT" + }, + "2523": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17", + "statement": 47 + }, + "2524": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2525": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP5", + "path": "17" + }, + "2526": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2527": { + "op": "PUSH1", + "value": "0x1" + }, + "2529": { + "op": "PUSH1", + "value": "0xA0" + }, + "2531": { + "op": "SHL" + }, + "2532": { + "fn": "ERC721A._transfer", + "offset": [ + 15166, + 15181 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2533": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2534": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP3", + "path": "17" + }, + "2535": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17" + }, + "2536": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2537": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2538": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2539": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "MUL", + "path": "17" + }, + "2540": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2541": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "DUP4", + "path": "17" + }, + "2542": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SSTORE", + "path": "17" + }, + "2543": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "DUP8", + "path": "17" + }, + "2544": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "ADD", + "path": "17" + }, + "2545": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP1", + "path": "17" + }, + "2546": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP5", + "path": "17" + }, + "2547": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "MSTORE", + "path": "17" + }, + "2548": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP3", + "path": "17" + }, + "2549": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "KECCAK256", + "path": "17" + }, + "2550": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "DUP1", + "path": "17" + }, + "2551": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "SLOAD", + "path": "17" + }, + "2552": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP2", + "path": "17" + }, + "2553": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP4", + "path": "17" + }, + "2554": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP1", + "path": "17" + }, + "2555": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP2", + "path": "17" + }, + "2556": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "AND", + "path": "17" + }, + "2557": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA3A" + }, + "2560": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "JUMPI", + "path": "17" + }, + "2561": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2563": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "SLOAD", + "path": "17" + }, + "2564": { + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15756 + ], + "op": "DUP3", + "path": "17" + }, + "2565": { + "branch": 101, + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15773 + ], + "op": "EQ", + "path": "17" + }, + "2566": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA3A" + }, + "2569": { + "branch": 101, + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPI", + "path": "17" + }, + "2570": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP1", + "path": "17", + "statement": 48 + }, + "2571": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "SLOAD", + "path": "17" + }, + "2572": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "PUSH1", + "path": "17", + "statement": 49, + "value": "0x20" + }, + "2574": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "DUP7", + "path": "17" + }, + "2575": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "ADD", + "path": "17" + }, + "2576": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "MLOAD", + "path": "17" + }, + "2577": { + "op": "PUSH1", + "value": "0x1" + }, + "2579": { + "op": "PUSH1", + "value": "0x1" + }, + "2581": { + "op": "PUSH1", + "value": "0x40" + }, + "2583": { + "op": "SHL" + }, + "2584": { + "op": "SUB" + }, + "2585": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2586": { + "op": "PUSH1", + "value": "0x1" + }, + "2588": { + "op": "PUSH1", + "value": "0xA0" + }, + "2590": { + "op": "SHL" + }, + "2591": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "MUL", + "path": "17" + }, + "2592": { + "op": "PUSH1", + "value": "0x1" + }, + "2594": { + "op": "PUSH1", + "value": "0x1" + }, + "2596": { + "op": "PUSH1", + "value": "0xE0" + }, + "2598": { + "op": "SHL" + }, + "2599": { + "op": "SUB" + }, + "2600": { + "op": "NOT" + }, + "2601": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP1", + "path": "17" + }, + "2602": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP2", + "path": "17" + }, + "2603": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2604": { + "op": "PUSH1", + "value": "0x1" + }, + "2606": { + "op": "PUSH1", + "value": "0x1" + }, + "2608": { + "op": "PUSH1", + "value": "0xA0" + }, + "2610": { + "op": "SHL" + }, + "2611": { + "op": "SUB" + }, + "2612": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP11", + "path": "17" + }, + "2613": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "AND", + "path": "17" + }, + "2614": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2615": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2616": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "DUP2", + "path": "17" + }, + "2617": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SSTORE", + "path": "17" + }, + "2618": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2619": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2620": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2621": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2622": { + "fn": "ERC721A._transfer", + "offset": [ + 15970, + 15977 + ], + "op": "DUP3", + "path": "17", + "statement": 50 + }, + "2623": { + "fn": "ERC721A._transfer", + "offset": [ + 15966, + 15968 + ], + "op": "DUP5", + "path": "17" + }, + "2624": { + "op": "PUSH1", + "value": "0x1" + }, + "2626": { + "op": "PUSH1", + "value": "0x1" + }, + "2628": { + "op": "PUSH1", + "value": "0xA0" + }, + "2630": { + "op": "SHL" + }, + "2631": { + "op": "SUB" + }, + "2632": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2633": { + "fn": "ERC721A._transfer", + "offset": [ + 15960, + 15964 + ], + "op": "DUP7", + "path": "17" + }, + "2634": { + "op": "PUSH1", + "value": "0x1" + }, + "2636": { + "op": "PUSH1", + "value": "0x1" + }, + "2638": { + "op": "PUSH1", + "value": "0xA0" + }, + "2640": { + "op": "SHL" + }, + "2641": { + "op": "SUB" + }, + "2642": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2643": { + "op": "PUSH1", + "value": "0x0" + }, + "2645": { + "op": "DUP1" + }, + "2646": { + "op": "MLOAD" + }, + "2647": { + "op": "PUSH1", + "value": "0x20" + }, + "2649": { + "op": "PUSH2", + "value": "0x16EC" + }, + "2652": { + "op": "DUP4" + }, + "2653": { + "op": "CODECOPY" + }, + "2654": { + "op": "DUP2" + }, + "2655": { + "op": "MLOAD" + }, + "2656": { + "op": "SWAP2" + }, + "2657": { + "op": "MSTORE" + }, + "2658": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2660": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2661": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2663": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2664": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "DUP1", + "path": "17" + }, + "2665": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP2", + "path": "17" + }, + "2666": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SUB", + "path": "17" + }, + "2667": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP1", + "path": "17" + }, + "2668": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "LOG4", + "path": "17" + }, + "2669": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2670": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2671": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2672": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2673": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2674": { + "fn": "ERC721A._transfer", + "jump": "o", + "offset": [ + 13979, + 16037 + ], + "op": "JUMP", + "path": "17" + }, + "2675": { + "fn": "ERC721A._mint", + "offset": [ + 12591, + 13737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2676": { + "fn": "ERC721A._mint", + "offset": [ + 12655, + 12675 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2678": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "SLOAD", + "path": "17" + }, + "2679": { + "op": "PUSH1", + "value": "0x1" + }, + "2681": { + "op": "PUSH1", + "value": "0x1" + }, + "2683": { + "op": "PUSH1", + "value": "0xA0" + }, + "2685": { + "op": "SHL" + }, + "2686": { + "op": "SUB" + }, + "2687": { + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "DUP4", + "path": "17", + "statement": 51 + }, + "2688": { + "branch": 102, + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "AND", + "path": "17" + }, + "2689": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA9C" + }, + "2692": { + "branch": 102, + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPI", + "path": "17" + }, + "2693": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2695": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "2696": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "2700": { + "op": "PUSH1", + "value": "0xE8" + }, + "2702": { + "op": "SHL" + }, + "2703": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP2", + "path": "17" + }, + "2704": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MSTORE", + "path": "17" + }, + "2705": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2707": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "ADD", + "path": "17" + }, + "2708": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2710": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "2711": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP1", + "path": "17" + }, + "2712": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP2", + "path": "17" + }, + "2713": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SUB", + "path": "17" + }, + "2714": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP1", + "path": "17" + }, + "2715": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "REVERT", + "path": "17" + }, + "2716": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2717": { + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12771 + ], + "op": "DUP2", + "path": "17", + "statement": 52 + }, + "2718": { + "fn": "ERC721A._mint", + "offset": [ + 12775, + 12776 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2720": { + "branch": 103, + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12776 + ], + "op": "SUB", + "path": "17" + }, + "2721": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "PUSH2", + "path": "17", + "value": "0xABD" + }, + "2724": { + "branch": 103, + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPI", + "path": "17" + }, + "2725": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2727": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "2728": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "2733": { + "op": "PUSH1", + "value": "0xE0" + }, + "2735": { + "op": "SHL" + }, + "2736": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP2", + "path": "17" + }, + "2737": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MSTORE", + "path": "17" + }, + "2738": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2740": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "ADD", + "path": "17" + }, + "2741": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2743": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "2744": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP1", + "path": "17" + }, + "2745": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP2", + "path": "17" + }, + "2746": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SUB", + "path": "17" + }, + "2747": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP1", + "path": "17" + }, + "2748": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "REVERT", + "path": "17" + }, + "2749": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2750": { + "op": "PUSH1", + "value": "0x1" + }, + "2752": { + "op": "PUSH1", + "value": "0x1" + }, + "2754": { + "op": "PUSH1", + "value": "0xA0" + }, + "2756": { + "op": "SHL" + }, + "2757": { + "op": "SUB" + }, + "2758": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17", + "statement": 53 + }, + "2759": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "AND", + "path": "17" + }, + "2760": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2762": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "2763": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "2764": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "2765": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13158 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2767": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2769": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "SWAP1", + "path": "17" + }, + "2770": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "2771": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "2772": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2774": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP1", + "path": "17" + }, + "2775": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17" + }, + "2776": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "KECCAK256", + "path": "17" + }, + "2777": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "2778": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SLOAD", + "path": "17" + }, + "2779": { + "op": "PUSH1", + "value": "0x1" + }, + "2781": { + "op": "PUSH1", + "value": "0x1" + }, + "2783": { + "op": "PUSH1", + "value": "0x80" + }, + "2785": { + "op": "SHL" + }, + "2786": { + "op": "SUB" + }, + "2787": { + "op": "NOT" + }, + "2788": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17", + "statement": 54 + }, + "2789": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "2790": { + "op": "PUSH1", + "value": "0x1" + }, + "2792": { + "op": "PUSH1", + "value": "0x1" + }, + "2794": { + "op": "PUSH1", + "value": "0x40" + }, + "2796": { + "op": "SHL" + }, + "2797": { + "op": "SUB" + }, + "2798": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "2799": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP4", + "path": "17" + }, + "2800": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "2801": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP11", + "path": "17" + }, + "2802": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "ADD", + "path": "17" + }, + "2803": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP2", + "path": "17" + }, + "2804": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "2805": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "2806": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP3", + "path": "17" + }, + "2807": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "2808": { + "op": "PUSH1", + "value": "0x1" + }, + "2810": { + "op": "PUSH1", + "value": "0x40" + }, + "2812": { + "op": "SHL" + }, + "2813": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2822": { + "op": "NOT" + }, + "2823": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "2824": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP5", + "path": "17" + }, + "2825": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "2826": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "2827": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP3", + "path": "17" + }, + "2828": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "OR", + "path": "17" + }, + "2829": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP4", + "path": "17" + }, + "2830": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "2831": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DIV", + "path": "17" + }, + "2832": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "2833": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "2834": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP11", + "path": "17" + }, + "2835": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "ADD", + "path": "17" + }, + "2836": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "2837": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "2838": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "2839": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP3", + "path": "17" + }, + "2840": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "MUL", + "path": "17" + }, + "2841": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "2842": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "2843": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "2844": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SSTORE", + "path": "17" + }, + "2845": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP6", + "path": "17", + "statement": 55 + }, + "2846": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP5", + "path": "17" + }, + "2847": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "2848": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13279 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2850": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "2851": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP3", + "path": "17" + }, + "2852": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "2853": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "2854": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP2", + "path": "17" + }, + "2855": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "KECCAK256", + "path": "17" + }, + "2856": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "DUP1", + "path": "17" + }, + "2857": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "SLOAD", + "path": "17" + }, + "2858": { + "op": "PUSH1", + "value": "0x1" + }, + "2860": { + "op": "PUSH1", + "value": "0x1" + }, + "2862": { + "op": "PUSH1", + "value": "0xE0" + }, + "2864": { + "op": "SHL" + }, + "2865": { + "op": "SUB" + }, + "2866": { + "op": "NOT" + }, + "2867": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17", + "statement": 56 + }, + "2868": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2869": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "2870": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "2871": { + "op": "PUSH1", + "value": "0x1" + }, + "2873": { + "op": "PUSH1", + "value": "0xA0" + }, + "2875": { + "op": "SHL" + }, + "2876": { + "fn": "ERC721A._mint", + "offset": [ + 13367, + 13382 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2877": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2878": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "2879": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17" + }, + "2880": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "2881": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2882": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "2883": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "MUL", + "path": "17" + }, + "2884": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "2885": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2886": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SSTORE", + "path": "17" + }, + "2887": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP1", + "path": "17" + }, + "2888": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP1", + "path": "17" + }, + "2889": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP4", + "path": "17" + }, + "2890": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "ADD", + "path": "17" + }, + "2891": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2892": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH1", + "path": "17", + "statement": 57, + "value": "0x40" + }, + "2894": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "MLOAD", + "path": "17" + }, + "2895": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2897": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "DUP4", + "path": "17" + }, + "2898": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "ADD", + "path": "17" + }, + "2899": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP3", + "path": "17" + }, + "2900": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP1", + "path": "17" + }, + "2901": { + "op": "PUSH1", + "value": "0x1" + }, + "2903": { + "op": "PUSH1", + "value": "0x1" + }, + "2905": { + "op": "PUSH1", + "value": "0xA0" + }, + "2907": { + "op": "SHL" + }, + "2908": { + "op": "SUB" + }, + "2909": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "DUP8", + "path": "17" + }, + "2910": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "AND", + "path": "17" + }, + "2911": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "2912": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2914": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "2915": { + "op": "PUSH1", + "value": "0x0" + }, + "2917": { + "op": "DUP1" + }, + "2918": { + "op": "MLOAD" + }, + "2919": { + "op": "PUSH1", + "value": "0x20" + }, + "2921": { + "op": "PUSH2", + "value": "0x16EC" + }, + "2924": { + "op": "DUP4" + }, + "2925": { + "op": "CODECOPY" + }, + "2926": { + "op": "DUP2" + }, + "2927": { + "op": "MLOAD" + }, + "2928": { + "op": "SWAP2" + }, + "2929": { + "op": "MSTORE" + }, + "2930": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "2931": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "DUP3", + "path": "17" + }, + "2932": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "2933": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "LOG4", + "path": "17" + }, + "2934": { + "fn": "ERC721A._mint", + "offset": [ + 13603, + 13606 + ], + "op": "DUP1", + "path": "17" + }, + "2935": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13600 + ], + "op": "DUP3", + "path": "17" + }, + "2936": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13606 + ], + "op": "LT", + "path": "17" + }, + "2937": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB4B" + }, + "2940": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPI", + "path": "17" + }, + "2941": { + "op": "POP" + }, + "2942": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13635 + ], + "op": "PUSH1", + "path": "17", + "statement": 58, + "value": "0x0" + }, + "2944": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13650 + ], + "op": "SSTORE", + "path": "17" + }, + "2945": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "2946": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "2947": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "2948": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "2949": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2950": { + "op": "PUSH1", + "value": "0x40" + }, + "2952": { + "op": "DUP1" + }, + "2953": { + "op": "MLOAD" + }, + "2954": { + "op": "PUSH1", + "value": "0x60" + }, + "2956": { + "op": "DUP2" + }, + "2957": { + "op": "ADD" + }, + "2958": { + "op": "DUP3" + }, + "2959": { + "op": "MSTORE" + }, + "2960": { + "op": "PUSH1", + "value": "0x0" + }, + "2962": { + "op": "DUP1" + }, + "2963": { + "op": "DUP3" + }, + "2964": { + "op": "MSTORE" + }, + "2965": { + "op": "PUSH1", + "value": "0x20" + }, + "2967": { + "op": "DUP3" + }, + "2968": { + "op": "ADD" + }, + "2969": { + "op": "DUP2" + }, + "2970": { + "op": "SWAP1" + }, + "2971": { + "op": "MSTORE" + }, + "2972": { + "op": "SWAP2" + }, + "2973": { + "op": "DUP2" + }, + "2974": { + "op": "ADD" + }, + "2975": { + "op": "SWAP2" + }, + "2976": { + "op": "SWAP1" + }, + "2977": { + "op": "SWAP2" + }, + "2978": { + "op": "MSTORE" + }, + "2979": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP2", + "path": "17" + }, + "2980": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2982": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "SLOAD", + "path": "17" + }, + "2983": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5293 + ], + "op": "DUP2", + "path": "17" + }, + "2984": { + "branch": 104, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5309 + ], + "op": "LT", + "path": "17" + }, + "2985": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "ISZERO", + "path": "17" + }, + "2986": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC86" + }, + "2989": { + "branch": 104, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "2990": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5364 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2992": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2993": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "2994": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "2995": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2997": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2999": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3000": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3001": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3002": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3004": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3005": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3006": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3007": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "KECCAK256", + "path": "17" + }, + "3008": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3009": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MLOAD", + "path": "17" + }, + "3010": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3012": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3013": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3014": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP5", + "path": "17" + }, + "3015": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3016": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3017": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SLOAD", + "path": "17" + }, + "3018": { + "op": "PUSH1", + "value": "0x1" + }, + "3020": { + "op": "PUSH1", + "value": "0x1" + }, + "3022": { + "op": "PUSH1", + "value": "0xA0" + }, + "3024": { + "op": "SHL" + }, + "3025": { + "op": "SUB" + }, + "3026": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3027": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3028": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3029": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3030": { + "op": "PUSH1", + "value": "0x1" + }, + "3032": { + "op": "PUSH1", + "value": "0xA0" + }, + "3034": { + "op": "SHL" + }, + "3035": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3036": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3037": { + "op": "PUSH1", + "value": "0x1" + }, + "3039": { + "op": "PUSH1", + "value": "0x1" + }, + "3041": { + "op": "PUSH1", + "value": "0x40" + }, + "3043": { + "op": "SHL" + }, + "3044": { + "op": "SUB" + }, + "3045": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3046": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3047": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3048": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3049": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3050": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3051": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3052": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3053": { + "op": "PUSH1", + "value": "0x1" + }, + "3055": { + "op": "PUSH1", + "value": "0xE0" + }, + "3057": { + "op": "SHL" + }, + "3058": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3059": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3060": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3061": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3063": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3064": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3065": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3066": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3067": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3068": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3069": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3070": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3071": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3072": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3073": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC84" + }, + "3076": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "JUMPI", + "path": "17" + }, + "3077": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "DUP1", + "path": "17" + }, + "3078": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "MLOAD", + "path": "17" + }, + "3079": { + "op": "PUSH1", + "value": "0x1" + }, + "3081": { + "op": "PUSH1", + "value": "0x1" + }, + "3083": { + "op": "PUSH1", + "value": "0xA0" + }, + "3085": { + "op": "SHL" + }, + "3086": { + "op": "SUB" + }, + "3087": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "AND", + "path": "17" + }, + "3088": { + "branch": 105, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "ISZERO", + "path": "17" + }, + "3089": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC1B" + }, + "3092": { + "branch": 105, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPI", + "path": "17" + }, + "3093": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5526, + 5535 + ], + "op": "SWAP4", + "path": "17", + "statement": 59 + }, + "3094": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3095": { + "op": "POP" + }, + "3096": { + "op": "POP" + }, + "3097": { + "op": "POP" + }, + "3098": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3099": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3100": { + "op": "POP" + }, + "3101": { + "op": "PUSH1", + "value": "0x0" + }, + "3103": { + "op": "NOT" + }, + "3104": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5922, + 5928 + ], + "op": "ADD", + "path": "17", + "statement": 60 + }, + "3105": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "statement": 61, + "value": "0x0" + }, + "3107": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3108": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3109": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3110": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5981 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3112": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3114": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3115": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3116": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3117": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3119": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP2", + "path": "17" + }, + "3120": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3121": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3122": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "KECCAK256", + "path": "17" + }, + "3123": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3124": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MLOAD", + "path": "17" + }, + "3125": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3127": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3128": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3129": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP5", + "path": "17" + }, + "3130": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3131": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3132": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SLOAD", + "path": "17" + }, + "3133": { + "op": "PUSH1", + "value": "0x1" + }, + "3135": { + "op": "PUSH1", + "value": "0x1" + }, + "3137": { + "op": "PUSH1", + "value": "0xA0" + }, + "3139": { + "op": "SHL" + }, + "3140": { + "op": "SUB" + }, + "3141": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3142": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3143": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP1", + "path": "17" + }, + "3144": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3145": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3146": { + "op": "PUSH1", + "value": "0x1" + }, + "3148": { + "op": "PUSH1", + "value": "0xA0" + }, + "3150": { + "op": "SHL" + }, + "3151": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3152": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3153": { + "op": "PUSH1", + "value": "0x1" + }, + "3155": { + "op": "PUSH1", + "value": "0x1" + }, + "3157": { + "op": "PUSH1", + "value": "0x40" + }, + "3159": { + "op": "SHL" + }, + "3160": { + "op": "SUB" + }, + "3161": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3162": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3163": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3164": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3165": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3166": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3167": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3168": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3169": { + "op": "PUSH1", + "value": "0x1" + }, + "3171": { + "op": "PUSH1", + "value": "0xE0" + }, + "3173": { + "op": "SHL" + }, + "3174": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3175": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3176": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3178": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3179": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3180": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3181": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3182": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3183": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3184": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3185": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3186": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3187": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3188": { + "branch": 106, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6021, + 6049 + ], + "op": "ISZERO", + "path": "17" + }, + "3189": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC7F" + }, + "3192": { + "branch": 106, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPI", + "path": "17" + }, + "3193": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6092, + 6101 + ], + "op": "SWAP4", + "path": "17", + "statement": 62 + }, + "3194": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3195": { + "op": "POP" + }, + "3196": { + "op": "POP" + }, + "3197": { + "op": "POP" + }, + "3198": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3199": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3200": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC1B" + }, + "3203": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMP", + "path": "17" + }, + "3204": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3205": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5311, + 6198 + ], + "op": "POP", + "path": "17" + }, + "3206": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3207": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3209": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3210": { + "op": "PUSH4", + "value": "0x6F96CDA1" + }, + "3215": { + "op": "PUSH1", + "value": "0xE1" + }, + "3217": { + "op": "SHL" + }, + "3218": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP2", + "path": "17" + }, + "3219": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MSTORE", + "path": "17" + }, + "3220": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3222": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "ADD", + "path": "17" + }, + "3223": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3225": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3226": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP1", + "path": "17" + }, + "3227": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP2", + "path": "17" + }, + "3228": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SUB", + "path": "17" + }, + "3229": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP1", + "path": "17" + }, + "3230": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "REVERT", + "path": "17" + }, + "3231": { + "fn": "ERC721A._safeMint", + "offset": [ + 10636, + 12344 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3232": { + "fn": "ERC721A._safeMint", + "offset": [ + 10754, + 10774 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3234": { + "fn": "ERC721A._safeMint", + "offset": [ + 10777, + 10790 + ], + "op": "SLOAD", + "path": "17" + }, + "3235": { + "op": "PUSH1", + "value": "0x1" + }, + "3237": { + "op": "PUSH1", + "value": "0x1" + }, + "3239": { + "op": "PUSH1", + "value": "0xA0" + }, + "3241": { + "op": "SHL" + }, + "3242": { + "op": "SUB" + }, + "3243": { + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "DUP5", + "path": "17", + "statement": 63 + }, + "3244": { + "branch": 107, + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "AND", + "path": "17" + }, + "3245": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCC8" + }, + "3248": { + "branch": 107, + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPI", + "path": "17" + }, + "3249": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3251": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "3252": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "3256": { + "op": "PUSH1", + "value": "0xE8" + }, + "3258": { + "op": "SHL" + }, + "3259": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP2", + "path": "17" + }, + "3260": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MSTORE", + "path": "17" + }, + "3261": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3263": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "ADD", + "path": "17" + }, + "3264": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3266": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "3267": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP1", + "path": "17" + }, + "3268": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP2", + "path": "17" + }, + "3269": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SUB", + "path": "17" + }, + "3270": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP1", + "path": "17" + }, + "3271": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "REVERT", + "path": "17" + }, + "3272": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3273": { + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10870 + ], + "op": "DUP3", + "path": "17", + "statement": 64 + }, + "3274": { + "fn": "ERC721A._safeMint", + "offset": [ + 10874, + 10875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3276": { + "branch": 108, + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10875 + ], + "op": "SUB", + "path": "17" + }, + "3277": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCE9" + }, + "3280": { + "branch": 108, + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPI", + "path": "17" + }, + "3281": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3283": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "3284": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "3289": { + "op": "PUSH1", + "value": "0xE0" + }, + "3291": { + "op": "SHL" + }, + "3292": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP2", + "path": "17" + }, + "3293": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MSTORE", + "path": "17" + }, + "3294": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3296": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "ADD", + "path": "17" + }, + "3297": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3299": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "3300": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP1", + "path": "17" + }, + "3301": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP2", + "path": "17" + }, + "3302": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SUB", + "path": "17" + }, + "3303": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP1", + "path": "17" + }, + "3304": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "REVERT", + "path": "17" + }, + "3305": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3306": { + "op": "PUSH1", + "value": "0x1" + }, + "3308": { + "op": "PUSH1", + "value": "0x1" + }, + "3310": { + "op": "PUSH1", + "value": "0xA0" + }, + "3312": { + "op": "SHL" + }, + "3313": { + "op": "SUB" + }, + "3314": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP5", + "path": "17", + "statement": 65 + }, + "3315": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "AND", + "path": "17" + }, + "3316": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3318": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3319": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3320": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "3321": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11257 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3323": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3325": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "SWAP1", + "path": "17" + }, + "3326": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3327": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "3328": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3330": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP1", + "path": "17" + }, + "3331": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP4", + "path": "17" + }, + "3332": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "KECCAK256", + "path": "17" + }, + "3333": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "3334": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SLOAD", + "path": "17" + }, + "3335": { + "op": "PUSH1", + "value": "0x1" + }, + "3337": { + "op": "PUSH1", + "value": "0x1" + }, + "3339": { + "op": "PUSH1", + "value": "0x80" + }, + "3341": { + "op": "SHL" + }, + "3342": { + "op": "SUB" + }, + "3343": { + "op": "NOT" + }, + "3344": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17", + "statement": 66 + }, + "3345": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3346": { + "op": "PUSH1", + "value": "0x1" + }, + "3348": { + "op": "PUSH1", + "value": "0x1" + }, + "3350": { + "op": "PUSH1", + "value": "0x40" + }, + "3352": { + "op": "SHL" + }, + "3353": { + "op": "SUB" + }, + "3354": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "3355": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP4", + "path": "17" + }, + "3356": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3357": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP12", + "path": "17" + }, + "3358": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "ADD", + "path": "17" + }, + "3359": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP2", + "path": "17" + }, + "3360": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3361": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "3362": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP3", + "path": "17" + }, + "3363": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "3364": { + "op": "PUSH1", + "value": "0x1" + }, + "3366": { + "op": "PUSH1", + "value": "0x40" + }, + "3368": { + "op": "SHL" + }, + "3369": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3378": { + "op": "NOT" + }, + "3379": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "3380": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP5", + "path": "17" + }, + "3381": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3382": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "3383": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP3", + "path": "17" + }, + "3384": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "OR", + "path": "17" + }, + "3385": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP4", + "path": "17" + }, + "3386": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3387": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DIV", + "path": "17" + }, + "3388": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "3389": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3390": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP12", + "path": "17" + }, + "3391": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "ADD", + "path": "17" + }, + "3392": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "3393": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3394": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3395": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP3", + "path": "17" + }, + "3396": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "MUL", + "path": "17" + }, + "3397": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "3398": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3399": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "3400": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SSTORE", + "path": "17" + }, + "3401": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP6", + "path": "17", + "statement": 67 + }, + "3402": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP5", + "path": "17" + }, + "3403": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "3404": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3406": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3407": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP3", + "path": "17" + }, + "3408": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "3409": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3410": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP2", + "path": "17" + }, + "3411": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "KECCAK256", + "path": "17" + }, + "3412": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "DUP1", + "path": "17" + }, + "3413": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "SLOAD", + "path": "17" + }, + "3414": { + "op": "PUSH1", + "value": "0x1" + }, + "3416": { + "op": "PUSH1", + "value": "0x1" + }, + "3418": { + "op": "PUSH1", + "value": "0xE0" + }, + "3420": { + "op": "SHL" + }, + "3421": { + "op": "SUB" + }, + "3422": { + "op": "NOT" + }, + "3423": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17", + "statement": 68 + }, + "3424": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "DUP4", + "path": "17" + }, + "3425": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "3426": { + "op": "PUSH1", + "value": "0x1" + }, + "3428": { + "op": "PUSH1", + "value": "0xA0" + }, + "3430": { + "op": "SHL" + }, + "3431": { + "fn": "ERC721A._safeMint", + "offset": [ + 11466, + 11481 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "3432": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3433": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP4", + "path": "17" + }, + "3434": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17" + }, + "3435": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "3436": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3437": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "3438": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "MUL", + "path": "17" + }, + "3439": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "3440": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3441": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "3442": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "3443": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3444": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SSTORE", + "path": "17" + }, + "3445": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP2", + "path": "17" + }, + "3446": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3447": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP2", + "path": "17" + }, + "3448": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP6", + "path": "17" + }, + "3449": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "ADD", + "path": "17" + }, + "3450": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "SWAP1", + "path": "17" + }, + "3451": { + "op": "EXTCODESIZE" + }, + "3452": { + "op": "ISZERO" + }, + "3453": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDF1" + }, + "3456": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPI", + "path": "17" + }, + "3457": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3458": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "PUSH1", + "path": "17", + "statement": 69, + "value": "0x40" + }, + "3460": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "MLOAD", + "path": "17" + }, + "3461": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "DUP3", + "path": "17" + }, + "3462": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "SWAP1", + "path": "17" + }, + "3463": { + "op": "PUSH1", + "value": "0x1" + }, + "3465": { + "op": "PUSH1", + "value": "0x1" + }, + "3467": { + "op": "PUSH1", + "value": "0xA0" + }, + "3469": { + "op": "SHL" + }, + "3470": { + "op": "SUB" + }, + "3471": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "DUP9", + "path": "17" + }, + "3472": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "AND", + "path": "17" + }, + "3473": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "3474": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3476": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "3477": { + "op": "PUSH1", + "value": "0x0" + }, + "3479": { + "op": "DUP1" + }, + "3480": { + "op": "MLOAD" + }, + "3481": { + "op": "PUSH1", + "value": "0x20" + }, + "3483": { + "op": "PUSH2", + "value": "0x16EC" + }, + "3486": { + "op": "DUP4" + }, + "3487": { + "op": "CODECOPY" + }, + "3488": { + "op": "DUP2" + }, + "3489": { + "op": "MLOAD" + }, + "3490": { + "op": "SWAP2" + }, + "3491": { + "op": "MSTORE" + }, + "3492": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "3493": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "DUP3", + "path": "17" + }, + "3494": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "3495": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "LOG4", + "path": "17" + }, + "3496": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "PUSH2", + "path": "17", + "statement": 70, + "value": "0xDBA" + }, + "3499": { + "fn": "ERC721A._safeMint", + "offset": [ + 11771, + 11772 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3501": { + "fn": "ERC721A._safeMint", + "offset": [ + 11775, + 11777 + ], + "op": "DUP8", + "path": "17" + }, + "3502": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP5", + "path": "17" + }, + "3503": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP1", + "path": "17" + }, + "3504": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3506": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "ADD", + "path": "17" + }, + "3507": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "SWAP6", + "path": "17" + }, + "3508": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "POP", + "path": "17" + }, + "3509": { + "fn": "ERC721A._safeMint", + "offset": [ + 11795, + 11800 + ], + "op": "DUP8", + "path": "17" + }, + "3510": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11762 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1001" + }, + "3513": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 11732, + 11801 + ], + "op": "JUMP", + "path": "17" + }, + "3514": { + "branch": 109, + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3515": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDD7" + }, + "3518": { + "branch": 109, + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPI", + "path": "17" + }, + "3519": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3521": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "3522": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "3527": { + "op": "PUSH1", + "value": "0xE1" + }, + "3529": { + "op": "SHL" + }, + "3530": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP2", + "path": "17" + }, + "3531": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MSTORE", + "path": "17" + }, + "3532": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3534": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "ADD", + "path": "17" + }, + "3535": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3537": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "3538": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP1", + "path": "17" + }, + "3539": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP2", + "path": "17" + }, + "3540": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SUB", + "path": "17" + }, + "3541": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP1", + "path": "17" + }, + "3542": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "REVERT", + "path": "17" + }, + "3543": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3544": { + "fn": "ERC721A._safeMint", + "offset": [ + 11940, + 11943 + ], + "op": "DUP1", + "path": "17" + }, + "3545": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11937 + ], + "op": "DUP3", + "path": "17" + }, + "3546": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11943 + ], + "op": "LT", + "path": "17" + }, + "3547": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD81" + }, + "3550": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPI", + "path": "17" + }, + "3551": { + "fn": "ERC721A._safeMint", + "offset": [ + 12024, + 12036 + ], + "op": "DUP3", + "path": "17" + }, + "3552": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3554": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "SLOAD", + "path": "17" + }, + "3555": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12036 + ], + "op": "EQ", + "path": "17" + }, + "3556": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDEC" + }, + "3559": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPI", + "path": "17" + }, + "3560": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "PUSH1", + "path": "17", + "statement": 71, + "value": "0x0" + }, + "3562": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "DUP1", + "path": "17" + }, + "3563": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "REVERT", + "path": "17" + }, + "3564": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3565": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE24" + }, + "3568": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMP", + "path": "17" + }, + "3569": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3570": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3571": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "PUSH1", + "path": "17", + "statement": 72, + "value": "0x40" + }, + "3573": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "MLOAD", + "path": "17" + }, + "3574": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3576": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "DUP4", + "path": "17" + }, + "3577": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "ADD", + "path": "17" + }, + "3578": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP3", + "path": "17" + }, + "3579": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP1", + "path": "17" + }, + "3580": { + "op": "PUSH1", + "value": "0x1" + }, + "3582": { + "op": "PUSH1", + "value": "0x1" + }, + "3584": { + "op": "PUSH1", + "value": "0xA0" + }, + "3586": { + "op": "SHL" + }, + "3587": { + "op": "SUB" + }, + "3588": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "DUP9", + "path": "17" + }, + "3589": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "AND", + "path": "17" + }, + "3590": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "3591": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3593": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "3594": { + "op": "PUSH1", + "value": "0x0" + }, + "3596": { + "op": "DUP1" + }, + "3597": { + "op": "MLOAD" + }, + "3598": { + "op": "PUSH1", + "value": "0x20" + }, + "3600": { + "op": "PUSH2", + "value": "0x16EC" + }, + "3603": { + "op": "DUP4" + }, + "3604": { + "op": "CODECOPY" + }, + "3605": { + "op": "DUP2" + }, + "3606": { + "op": "MLOAD" + }, + "3607": { + "op": "SWAP2" + }, + "3608": { + "op": "MSTORE" + }, + "3609": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "3610": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "DUP3", + "path": "17" + }, + "3611": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "3612": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "LOG4", + "path": "17" + }, + "3613": { + "fn": "ERC721A._safeMint", + "offset": [ + 12197, + 12200 + ], + "op": "DUP1", + "path": "17" + }, + "3614": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12194 + ], + "op": "DUP3", + "path": "17" + }, + "3615": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12200 + ], + "op": "LT", + "path": "17" + }, + "3616": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDF2" + }, + "3619": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPI", + "path": "17" + }, + "3620": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3621": { + "op": "POP" + }, + "3622": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12242 + ], + "op": "PUSH1", + "path": "17", + "statement": 73, + "value": "0x0" + }, + "3624": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SWAP1", + "path": "17" + }, + "3625": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "DUP2", + "path": "17" + }, + "3626": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SSTORE", + "path": "17" + }, + "3627": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "PUSH2", + "path": "17", + "statement": 74, + "value": "0x71E" + }, + "3630": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "SWAP1", + "path": "17" + }, + "3631": { + "fn": "ERC721A._safeMint", + "offset": [ + 12310, + 12312 + ], + "op": "DUP6", + "path": "17" + }, + "3632": { + "fn": "ERC721A._safeMint", + "offset": [ + 12314, + 12326 + ], + "op": "DUP4", + "path": "17" + }, + "3633": { + "fn": "ERC721A._safeMint", + "offset": [ + 12328, + 12336 + ], + "op": "DUP7", + "path": "17" + }, + "3634": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "DUP5", + "path": "17" + }, + "3635": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 12277, + 12337 + ], + "op": "JUMP", + "path": "17" + }, + "3636": { + "fn": "ERC721A._burn", + "offset": [ + 16414, + 18737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3637": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3639": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE3F" + }, + "3642": { + "fn": "ERC721A._burn", + "offset": [ + 16544, + 16551 + ], + "op": "DUP4", + "path": "17" + }, + "3643": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16543 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB85" + }, + "3646": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16531, + 16552 + ], + "op": "JUMP", + "path": "17" + }, + "3647": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3648": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "DUP1", + "path": "17" + }, + "3649": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "MLOAD", + "path": "17" + }, + "3650": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP1", + "path": "17" + }, + "3651": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP2", + "path": "17" + }, + "3652": { + "op": "POP" + }, + "3653": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "DUP3", + "path": "17" + }, + "3654": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "ISZERO", + "path": "17" + }, + "3655": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEA5" + }, + "3658": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPI", + "path": "17" + }, + "3659": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16662 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3661": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3662": { + "op": "PUSH1", + "value": "0x1" + }, + "3664": { + "op": "PUSH1", + "value": "0x1" + }, + "3666": { + "op": "PUSH1", + "value": "0xA0" + }, + "3668": { + "op": "SHL" + }, + "3669": { + "op": "SUB" + }, + "3670": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP4", + "path": "17" + }, + "3671": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "AND", + "path": "17" + }, + "3672": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "EQ", + "path": "17" + }, + "3673": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP1", + "path": "17" + }, + "3674": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE68" + }, + "3677": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "JUMPI", + "path": "17" + }, + "3678": { + "op": "POP" + }, + "3679": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE68" + }, + "3682": { + "fn": "ERC721A._burn", + "offset": [ + 16707, + 16711 + ], + "op": "DUP3", + "path": "17" + }, + "3683": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3684": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x380" + }, + "3687": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "3688": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3689": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "DUP1", + "path": "17" + }, + "3690": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE83" + }, + "3693": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPI", + "path": "17" + }, + "3694": { + "op": "POP" + }, + "3695": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3696": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE78" + }, + "3699": { + "fn": "ERC721A._burn", + "offset": [ + 16742, + 16749 + ], + "op": "DUP7", + "path": "17" + }, + "3700": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16741 + ], + "op": "PUSH2", + "path": "17", + "value": "0x492" + }, + "3703": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16730, + 16750 + ], + "op": "JUMP", + "path": "17" + }, + "3704": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3705": { + "op": "PUSH1", + "value": "0x1" + }, + "3707": { + "op": "PUSH1", + "value": "0x1" + }, + "3709": { + "op": "PUSH1", + "value": "0xA0" + }, + "3711": { + "op": "SHL" + }, + "3712": { + "op": "SUB" + }, + "3713": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "AND", + "path": "17" + }, + "3714": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "EQ", + "path": "17" + }, + "3715": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3716": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "SWAP1", + "path": "17" + }, + "3717": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "POP", + "path": "17" + }, + "3718": { + "branch": 111, + "fn": "ERC721A._burn", + "offset": [ + 16787, + 16804 + ], + "op": "DUP1", + "path": "17", + "statement": 75 + }, + "3719": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEA3" + }, + "3722": { + "branch": 111, + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPI", + "path": "17" + }, + "3723": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3725": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3726": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "3731": { + "op": "PUSH1", + "value": "0xE1" + }, + "3733": { + "op": "SHL" + }, + "3734": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP2", + "path": "17" + }, + "3735": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MSTORE", + "path": "17" + }, + "3736": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3738": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "ADD", + "path": "17" + }, + "3739": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3741": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3742": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP1", + "path": "17" + }, + "3743": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP2", + "path": "17" + }, + "3744": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SUB", + "path": "17" + }, + "3745": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP1", + "path": "17" + }, + "3746": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "REVERT", + "path": "17" + }, + "3747": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3748": { + "fn": "ERC721A._burn", + "offset": [ + 16626, + 16859 + ], + "op": "POP", + "path": "17" + }, + "3749": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3750": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "PUSH2", + "path": "17", + "statement": 76, + "value": "0xEB1" + }, + "3753": { + "fn": "ERC721A._burn", + "offset": [ + 16999, + 17000 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3755": { + "fn": "ERC721A._burn", + "offset": [ + 17003, + 17010 + ], + "op": "DUP6", + "path": "17" + }, + "3756": { + "fn": "ERC721A._burn", + "offset": [ + 17012, + 17016 + ], + "op": "DUP4", + "path": "17" + }, + "3757": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 16990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x83C" + }, + "3760": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16982, + 17017 + ], + "op": "JUMP", + "path": "17" + }, + "3761": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3762": { + "op": "PUSH1", + "value": "0x1" + }, + "3764": { + "op": "PUSH1", + "value": "0x1" + }, + "3766": { + "op": "PUSH1", + "value": "0xA0" + }, + "3768": { + "op": "SHL" + }, + "3769": { + "op": "SUB" + }, + "3770": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3771": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP3", + "path": "17" + }, + "3772": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "AND", + "path": "17" + }, + "3773": { + "fn": "ERC721A._burn", + "offset": [ + 17307, + 17338 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3775": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3776": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3777": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3778": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17353 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3780": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3782": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP1", + "path": "17" + }, + "3783": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3784": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3785": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3787": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3788": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP4", + "path": "17" + }, + "3789": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "KECCAK256", + "path": "17" + }, + "3790": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17", + "statement": 77 + }, + "3791": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SLOAD", + "path": "17" + }, + "3792": { + "op": "PUSH1", + "value": "0x1" + }, + "3794": { + "op": "PUSH1", + "value": "0x80" + }, + "3796": { + "op": "SHL" + }, + "3797": { + "op": "PUSH1", + "value": "0x0" + }, + "3799": { + "op": "NOT" + }, + "3800": { + "op": "PUSH1", + "value": "0x1" + }, + "3802": { + "op": "PUSH1", + "value": "0x1" + }, + "3804": { + "op": "PUSH1", + "value": "0x40" + }, + "3806": { + "op": "SHL" + }, + "3807": { + "op": "SUB" + }, + "3808": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17" + }, + "3809": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3810": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3811": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3812": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP1", + "path": "17" + }, + "3813": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3814": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "ADD", + "path": "17" + }, + "3815": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3816": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3817": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3826": { + "op": "NOT" + }, + "3827": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3828": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3829": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3830": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "OR", + "path": "17" + }, + "3831": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17", + "statement": 78 + }, + "3832": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3833": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DIV", + "path": "17" + }, + "3834": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP3", + "path": "17" + }, + "3835": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3836": { + "fn": "ERC721A._burn", + "offset": [ + 17396, + 17397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3838": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3839": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP2", + "path": "17" + }, + "3840": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "ADD", + "path": "17" + }, + "3841": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3842": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3843": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3844": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP4", + "path": "17" + }, + "3845": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "MUL", + "path": "17" + }, + "3846": { + "op": "PUSH24", + "value": "0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF" + }, + "3871": { + "op": "NOT" + }, + "3872": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3873": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP5", + "path": "17" + }, + "3874": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3875": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3876": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3877": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3878": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3879": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3880": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3881": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SSTORE", + "path": "17" + }, + "3882": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP12", + "path": "17" + }, + "3883": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP7", + "path": "17" + }, + "3884": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3885": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17581 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3887": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP1", + "path": "17" + }, + "3888": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP5", + "path": "17" + }, + "3889": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3890": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP3", + "path": "17" + }, + "3891": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP6", + "path": "17" + }, + "3892": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "KECCAK256", + "path": "17" + }, + "3893": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "DUP1", + "path": "17", + "statement": 79 + }, + "3894": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "SLOAD", + "path": "17" + }, + "3895": { + "op": "PUSH1", + "value": "0xFF" + }, + "3897": { + "op": "PUSH1", + "value": "0xE0" + }, + "3899": { + "op": "SHL" + }, + "3900": { + "op": "NOT" + }, + "3901": { + "fn": "ERC721A._burn", + "offset": [ + 17671, + 17686 + ], + "op": "TIMESTAMP", + "path": "17", + "statement": 80 + }, + "3902": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3903": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP4", + "path": "17" + }, + "3904": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3905": { + "op": "PUSH1", + "value": "0x1" + }, + "3907": { + "op": "PUSH1", + "value": "0xA0" + }, + "3909": { + "op": "SHL" + }, + "3910": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "MUL", + "path": "17" + }, + "3911": { + "op": "PUSH1", + "value": "0x1" + }, + "3913": { + "op": "PUSH1", + "value": "0x1" + }, + "3915": { + "op": "PUSH1", + "value": "0xE0" + }, + "3917": { + "op": "SHL" + }, + "3918": { + "op": "SUB" + }, + "3919": { + "op": "NOT" + }, + "3920": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3921": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP2", + "path": "17" + }, + "3922": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3923": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3924": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP8", + "path": "17" + }, + "3925": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3926": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3927": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3928": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3929": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3930": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "AND", + "path": "17", + "statement": 81 + }, + "3931": { + "op": "PUSH1", + "value": "0x1" + }, + "3933": { + "op": "PUSH1", + "value": "0xE0" + }, + "3935": { + "op": "SHL" + }, + "3936": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "OR", + "path": "17" + }, + "3937": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "DUP6", + "path": "17" + }, + "3938": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "SSTORE", + "path": "17" + }, + "3939": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "SWAP2", + "path": "17" + }, + "3940": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "DUP10", + "path": "17" + }, + "3941": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "ADD", + "path": "17" + }, + "3942": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP1", + "path": "17" + }, + "3943": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP5", + "path": "17" + }, + "3944": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "MSTORE", + "path": "17" + }, + "3945": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP3", + "path": "17" + }, + "3946": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "KECCAK256", + "path": "17" + }, + "3947": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "DUP1", + "path": "17" + }, + "3948": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "SLOAD", + "path": "17" + }, + "3949": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP2", + "path": "17" + }, + "3950": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP5", + "path": "17" + }, + "3951": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP1", + "path": "17" + }, + "3952": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP2", + "path": "17" + }, + "3953": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "AND", + "path": "17" + }, + "3954": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFAF" + }, + "3957": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "JUMPI", + "path": "17" + }, + "3958": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3960": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "SLOAD", + "path": "17" + }, + "3961": { + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18293 + ], + "op": "DUP3", + "path": "17" + }, + "3962": { + "branch": 112, + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18310 + ], + "op": "EQ", + "path": "17" + }, + "3963": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFAF" + }, + "3966": { + "branch": 112, + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPI", + "path": "17" + }, + "3967": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP1", + "path": "17", + "statement": 82 + }, + "3968": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "SLOAD", + "path": "17" + }, + "3969": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "PUSH1", + "path": "17", + "statement": 83, + "value": "0x20" + }, + "3971": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "DUP8", + "path": "17" + }, + "3972": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "ADD", + "path": "17" + }, + "3973": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "MLOAD", + "path": "17" + }, + "3974": { + "op": "PUSH1", + "value": "0x1" + }, + "3976": { + "op": "PUSH1", + "value": "0x1" + }, + "3978": { + "op": "PUSH1", + "value": "0x40" + }, + "3980": { + "op": "SHL" + }, + "3981": { + "op": "SUB" + }, + "3982": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "3983": { + "op": "PUSH1", + "value": "0x1" + }, + "3985": { + "op": "PUSH1", + "value": "0xA0" + }, + "3987": { + "op": "SHL" + }, + "3988": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "MUL", + "path": "17" + }, + "3989": { + "op": "PUSH1", + "value": "0x1" + }, + "3991": { + "op": "PUSH1", + "value": "0x1" + }, + "3993": { + "op": "PUSH1", + "value": "0xE0" + }, + "3995": { + "op": "SHL" + }, + "3996": { + "op": "SUB" + }, + "3997": { + "op": "NOT" + }, + "3998": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP1", + "path": "17" + }, + "3999": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP2", + "path": "17" + }, + "4000": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "4001": { + "op": "PUSH1", + "value": "0x1" + }, + "4003": { + "op": "PUSH1", + "value": "0x1" + }, + "4005": { + "op": "PUSH1", + "value": "0xA0" + }, + "4007": { + "op": "SHL" + }, + "4008": { + "op": "SUB" + }, + "4009": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP8", + "path": "17" + }, + "4010": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "AND", + "path": "17" + }, + "4011": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "4012": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "4013": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "DUP2", + "path": "17" + }, + "4014": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SSTORE", + "path": "17" + }, + "4015": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4016": { + "op": "POP" + }, + "4017": { + "op": "POP" + }, + "4018": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH1", + "path": "17", + "statement": 84, + "value": "0x40" + }, + "4020": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "MLOAD", + "path": "17" + }, + "4021": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "DUP7", + "path": "17" + }, + "4022": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "SWAP3", + "path": "17" + }, + "4023": { + "op": "POP" + }, + "4024": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4026": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP2", + "path": "17" + }, + "4027": { + "op": "POP" + }, + "4028": { + "op": "PUSH1", + "value": "0x1" + }, + "4030": { + "op": "PUSH1", + "value": "0x1" + }, + "4032": { + "op": "PUSH1", + "value": "0xA0" + }, + "4034": { + "op": "SHL" + }, + "4035": { + "op": "SUB" + }, + "4036": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "DUP5", + "path": "17" + }, + "4037": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "AND", + "path": "17" + }, + "4038": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "4039": { + "op": "PUSH1", + "value": "0x0" + }, + "4041": { + "op": "DUP1" + }, + "4042": { + "op": "MLOAD" + }, + "4043": { + "op": "PUSH1", + "value": "0x20" + }, + "4045": { + "op": "PUSH2", + "value": "0x16EC" + }, + "4048": { + "op": "DUP4" + }, + "4049": { + "op": "CODECOPY" + }, + "4050": { + "op": "DUP2" + }, + "4051": { + "op": "MLOAD" + }, + "4052": { + "op": "SWAP2" + }, + "4053": { + "op": "MSTORE" + }, + "4054": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "4055": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "DUP4", + "path": "17" + }, + "4056": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP1", + "path": "17" + }, + "4057": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "LOG4", + "path": "17" + }, + "4058": { + "op": "POP" + }, + "4059": { + "op": "POP" + }, + "4060": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18718 + ], + "op": "PUSH1", + "path": "17", + "statement": 85, + "value": "0x1" + }, + "4062": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP1", + "path": "17" + }, + "4063": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SLOAD", + "path": "17" + }, + "4064": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP2", + "path": "17" + }, + "4065": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "ADD", + "path": "17" + }, + "4066": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SWAP1", + "path": "17" + }, + "4067": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SSTORE", + "path": "17" + }, + "4068": { + "op": "POP" + }, + "4069": { + "op": "POP" + }, + "4070": { + "fn": "ERC721A._burn", + "jump": "o", + "offset": [ + 16414, + 18737 + ], + "op": "JUMP", + "path": "17" + }, + "4071": { + "fn": "ERC721A._safeMint", + "offset": [ + 10174, + 10276 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4072": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH2", + "path": "17", + "statement": 86, + "value": "0x571" + }, + "4075": { + "fn": "ERC721A._safeMint", + "offset": [ + 10252, + 10254 + ], + "op": "DUP3", + "path": "17" + }, + "4076": { + "fn": "ERC721A._safeMint", + "offset": [ + 10256, + 10264 + ], + "op": "DUP3", + "path": "17" + }, + "4077": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4079": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MLOAD", + "path": "17" + }, + "4080": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "4081": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4083": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "ADD", + "path": "17" + }, + "4084": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4086": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "4087": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "4088": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4090": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP2", + "path": "17" + }, + "4091": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "4092": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "POP", + "path": "17" + }, + "4093": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10251 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC9F" + }, + "4096": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 10242, + 10269 + ], + "op": "JUMP", + "path": "17" + }, + "4097": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4098": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4100": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "4101": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "4106": { + "op": "PUSH1", + "value": "0xE1" + }, + "4108": { + "op": "SHL" + }, + "4109": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4110": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "4111": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4113": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "SWAP1", + "path": "17" + }, + "4114": { + "op": "PUSH1", + "value": "0x1" + }, + "4116": { + "op": "PUSH1", + "value": "0x1" + }, + "4118": { + "op": "PUSH1", + "value": "0xA0" + }, + "4120": { + "op": "SHL" + }, + "4121": { + "op": "SUB" + }, + "4122": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "DUP6", + "path": "17" + }, + "4123": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "AND", + "path": "17" + }, + "4124": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "4125": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "PUSH4", + "path": "17", + "value": "0x150B7A02" + }, + "4130": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "4131": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1036" + }, + "4134": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4135": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4136": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP1", + "path": "5" + }, + "4137": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "DUP10", + "path": "17" + }, + "4138": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "SWAP1", + "path": "17" + }, + "4139": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "DUP9", + "path": "17" + }, + "4140": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "SWAP1", + "path": "17" + }, + "4141": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "DUP9", + "path": "17" + }, + "4142": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "SWAP1", + "path": "17" + }, + "4143": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4145": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4146": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15DF" + }, + "4149": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "4150": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4151": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4153": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4155": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "4156": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "4157": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP4", + "path": "17" + }, + "4158": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SUB", + "path": "17" + }, + "4159": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4160": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4162": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP8", + "path": "17" + }, + "4163": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "GAS", + "path": "17" + }, + "4164": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "CALL", + "path": "17" + }, + "4165": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "4166": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "4167": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "4168": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "4169": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "4170": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ISZERO", + "path": "17" + }, + "4171": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1071" + }, + "4174": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPI", + "path": "17" + }, + "4175": { + "op": "POP" + }, + "4176": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4178": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "4179": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "4180": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "4182": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4183": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4184": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4185": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4186": { + "op": "PUSH1", + "value": "0x1F" + }, + "4188": { + "op": "NOT" + }, + "4189": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "AND", + "path": "17" + }, + "4190": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP3", + "path": "17" + }, + "4191": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4192": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4193": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "4194": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "4195": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x106E" + }, + "4198": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP2", + "path": "17" + }, + "4199": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4200": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4201": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4202": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x161C" + }, + "4205": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "4206": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4207": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4209": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4210": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10CF" + }, + "4213": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "4214": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4215": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "4216": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "4217": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ISZERO", + "path": "17" + }, + "4218": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x109F" + }, + "4221": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "4222": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4224": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MLOAD", + "path": "17" + }, + "4225": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "4226": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4227": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "4229": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "NOT", + "path": "17" + }, + "4230": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x3F" + }, + "4232": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4233": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4234": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "AND", + "path": "17" + }, + "4235": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "4236": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4237": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4239": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "4240": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4241": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "4242": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "4243": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4244": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4246": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4248": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP5", + "path": "17" + }, + "4249": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4250": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATACOPY", + "path": "17" + }, + "4251": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10A4" + }, + "4254": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMP", + "path": "17" + }, + "4255": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4256": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "4258": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "4259": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4260": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4261": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4262": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19933 + ], + "op": "DUP1", + "path": "17", + "statement": 87 + }, + "4263": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19940 + ], + "op": "MLOAD", + "path": "17" + }, + "4264": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19944, + 19945 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4266": { + "branch": 113, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19945 + ], + "op": "SUB", + "path": "17" + }, + "4267": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10C7" + }, + "4270": { + "branch": 113, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPI", + "path": "17" + }, + "4271": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4273": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "4274": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "4279": { + "op": "PUSH1", + "value": "0xE1" + }, + "4281": { + "op": "SHL" + }, + "4282": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP2", + "path": "17" + }, + "4283": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MSTORE", + "path": "17" + }, + "4284": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4286": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "ADD", + "path": "17" + }, + "4287": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4289": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "4290": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP1", + "path": "17" + }, + "4291": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP2", + "path": "17" + }, + "4292": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SUB", + "path": "17" + }, + "4293": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP1", + "path": "17" + }, + "4294": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "REVERT", + "path": "17" + }, + "4295": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4296": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20112, + 20118 + ], + "op": "DUP1", + "path": "17" + }, + "4297": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20106, + 20119 + ], + "op": "MLOAD", + "path": "17" + }, + "4298": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20097, + 20103 + ], + "op": "DUP2", + "path": "17" + }, + "4299": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20093, + 20095 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4301": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20089, + 20104 + ], + "op": "ADD", + "path": "17" + }, + "4302": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20082, + 20120 + ], + "op": "REVERT", + "path": "17" + }, + "4303": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4304": { + "op": "PUSH1", + "value": "0x1" + }, + "4306": { + "op": "PUSH1", + "value": "0x1" + }, + "4308": { + "op": "PUSH1", + "value": "0xE0" + }, + "4310": { + "op": "SHL" + }, + "4311": { + "op": "SUB" + }, + "4312": { + "op": "NOT" + }, + "4313": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "AND", + "path": "17", + "statement": 88 + }, + "4314": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "4319": { + "op": "PUSH1", + "value": "0xE1" + }, + "4321": { + "op": "SHL" + }, + "4322": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "EQ", + "path": "17" + }, + "4323": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "SWAP1", + "path": "17" + }, + "4324": { + "op": "POP" + }, + "4325": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4326": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP5", + "path": "17" + }, + "4327": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP4", + "path": "17" + }, + "4328": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4329": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4330": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4331": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4332": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "o", + "offset": [ + 19518, + 20168 + ], + "op": "JUMP", + "path": "17" + }, + "4333": { + "op": "JUMPDEST" + }, + "4334": { + "op": "PUSH1", + "value": "0x60" + }, + "4336": { + "op": "DUP2" + }, + "4337": { + "op": "PUSH1", + "value": "0x0" + }, + "4339": { + "op": "SUB" + }, + "4340": { + "op": "PUSH2", + "value": "0x1114" + }, + "4343": { + "op": "JUMPI" + }, + "4344": { + "op": "POP" + }, + "4345": { + "op": "POP" + }, + "4346": { + "op": "PUSH1", + "value": "0x40" + }, + "4348": { + "op": "DUP1" + }, + "4349": { + "op": "MLOAD" + }, + "4350": { + "op": "DUP1" + }, + "4351": { + "op": "DUP3" + }, + "4352": { + "op": "ADD" + }, + "4353": { + "op": "SWAP1" + }, + "4354": { + "op": "SWAP2" + }, + "4355": { + "op": "MSTORE" + }, + "4356": { + "op": "PUSH1", + "value": "0x1" + }, + "4358": { + "op": "DUP2" + }, + "4359": { + "op": "MSTORE" + }, + "4360": { + "op": "PUSH1", + "value": "0x3" + }, + "4362": { + "op": "PUSH1", + "value": "0xFC" + }, + "4364": { + "op": "SHL" + }, + "4365": { + "op": "PUSH1", + "value": "0x20" + }, + "4367": { + "op": "DUP3" + }, + "4368": { + "op": "ADD" + }, + "4369": { + "op": "MSTORE" + }, + "4370": { + "op": "SWAP1" + }, + "4371": { + "jump": "o", + "op": "JUMP" + }, + "4372": { + "op": "JUMPDEST" + }, + "4373": { + "op": "DUP2" + }, + "4374": { + "op": "PUSH1", + "value": "0x0" + }, + "4376": { + "op": "JUMPDEST" + }, + "4377": { + "op": "DUP2" + }, + "4378": { + "op": "ISZERO" + }, + "4379": { + "op": "PUSH2", + "value": "0x113E" + }, + "4382": { + "op": "JUMPI" + }, + "4383": { + "op": "DUP1" + }, + "4384": { + "op": "PUSH2", + "value": "0x1128" + }, + "4387": { + "op": "DUP2" + }, + "4388": { + "op": "PUSH2", + "value": "0x164F" + }, + "4391": { + "jump": "i", + "op": "JUMP" + }, + "4392": { + "op": "JUMPDEST" + }, + "4393": { + "op": "SWAP2" + }, + "4394": { + "op": "POP" + }, + "4395": { + "op": "PUSH2", + "value": "0x1137" + }, + "4398": { + "op": "SWAP1" + }, + "4399": { + "op": "POP" + }, + "4400": { + "op": "PUSH1", + "value": "0xA" + }, + "4402": { + "op": "DUP4" + }, + "4403": { + "op": "PUSH2", + "value": "0x167E" + }, + "4406": { + "jump": "i", + "op": "JUMP" + }, + "4407": { + "op": "JUMPDEST" + }, + "4408": { + "op": "SWAP2" + }, + "4409": { + "op": "POP" + }, + "4410": { + "op": "PUSH2", + "value": "0x1118" + }, + "4413": { + "op": "JUMP" + }, + "4414": { + "op": "JUMPDEST" + }, + "4415": { + "op": "PUSH1", + "value": "0x0" + }, + "4417": { + "op": "DUP2" + }, + "4418": { + "op": "PUSH1", + "value": "0x1" + }, + "4420": { + "op": "PUSH1", + "value": "0x1" + }, + "4422": { + "op": "PUSH1", + "value": "0x40" + }, + "4424": { + "op": "SHL" + }, + "4425": { + "op": "SUB" + }, + "4426": { + "op": "DUP2" + }, + "4427": { + "op": "GT" + }, + "4428": { + "op": "ISZERO" + }, + "4429": { + "op": "PUSH2", + "value": "0x1158" + }, + "4432": { + "op": "JUMPI" + }, + "4433": { + "op": "PUSH2", + "value": "0x1158" + }, + "4436": { + "op": "PUSH2", + "value": "0x1387" + }, + "4439": { + "jump": "i", + "op": "JUMP" + }, + "4440": { + "op": "JUMPDEST" + }, + "4441": { + "op": "PUSH1", + "value": "0x40" + }, + "4443": { + "op": "MLOAD" + }, + "4444": { + "op": "SWAP1" + }, + "4445": { + "op": "DUP1" + }, + "4446": { + "op": "DUP3" + }, + "4447": { + "op": "MSTORE" + }, + "4448": { + "op": "DUP1" + }, + "4449": { + "op": "PUSH1", + "value": "0x1F" + }, + "4451": { + "op": "ADD" + }, + "4452": { + "op": "PUSH1", + "value": "0x1F" + }, + "4454": { + "op": "NOT" + }, + "4455": { + "op": "AND" + }, + "4456": { + "op": "PUSH1", + "value": "0x20" + }, + "4458": { + "op": "ADD" + }, + "4459": { + "op": "DUP3" + }, + "4460": { + "op": "ADD" + }, + "4461": { + "op": "PUSH1", + "value": "0x40" + }, + "4463": { + "op": "MSTORE" + }, + "4464": { + "op": "DUP1" + }, + "4465": { + "op": "ISZERO" + }, + "4466": { + "op": "PUSH2", + "value": "0x1182" + }, + "4469": { + "op": "JUMPI" + }, + "4470": { + "op": "PUSH1", + "value": "0x20" + }, + "4472": { + "op": "DUP3" + }, + "4473": { + "op": "ADD" + }, + "4474": { + "op": "DUP2" + }, + "4475": { + "op": "DUP1" + }, + "4476": { + "op": "CALLDATASIZE" + }, + "4477": { + "op": "DUP4" + }, + "4478": { + "op": "CALLDATACOPY" + }, + "4479": { + "op": "ADD" + }, + "4480": { + "op": "SWAP1" + }, + "4481": { + "op": "POP" + }, + "4482": { + "op": "JUMPDEST" + }, + "4483": { + "op": "POP" + }, + "4484": { + "op": "SWAP1" + }, + "4485": { + "op": "POP" + }, + "4486": { + "op": "JUMPDEST" + }, + "4487": { + "op": "DUP5" + }, + "4488": { + "op": "ISZERO" + }, + "4489": { + "op": "PUSH2", + "value": "0x10E5" + }, + "4492": { + "op": "JUMPI" + }, + "4493": { + "op": "PUSH2", + "value": "0x1197" + }, + "4496": { + "op": "PUSH1", + "value": "0x1" + }, + "4498": { + "op": "DUP4" + }, + "4499": { + "op": "PUSH2", + "value": "0x1692" + }, + "4502": { + "jump": "i", + "op": "JUMP" + }, + "4503": { + "op": "JUMPDEST" + }, + "4504": { + "op": "SWAP2" + }, + "4505": { + "op": "POP" + }, + "4506": { + "op": "PUSH2", + "value": "0x11A4" + }, + "4509": { + "op": "PUSH1", + "value": "0xA" + }, + "4511": { + "op": "DUP7" + }, + "4512": { + "op": "PUSH2", + "value": "0x16A9" + }, + "4515": { + "jump": "i", + "op": "JUMP" + }, + "4516": { + "op": "JUMPDEST" + }, + "4517": { + "op": "PUSH2", + "value": "0x11AF" + }, + "4520": { + "op": "SWAP1" + }, + "4521": { + "op": "PUSH1", + "value": "0x30" + }, + "4523": { + "op": "PUSH2", + "value": "0x16BD" + }, + "4526": { + "jump": "i", + "op": "JUMP" + }, + "4527": { + "op": "JUMPDEST" + }, + "4528": { + "op": "PUSH1", + "value": "0xF8" + }, + "4530": { + "op": "SHL" + }, + "4531": { + "op": "DUP2" + }, + "4532": { + "op": "DUP4" + }, + "4533": { + "op": "DUP2" + }, + "4534": { + "op": "MLOAD" + }, + "4535": { + "op": "DUP2" + }, + "4536": { + "op": "LT" + }, + "4537": { + "op": "PUSH2", + "value": "0x11C4" + }, + "4540": { + "op": "JUMPI" + }, + "4541": { + "op": "PUSH2", + "value": "0x11C4" + }, + "4544": { + "op": "PUSH2", + "value": "0x16D5" + }, + "4547": { + "jump": "i", + "op": "JUMP" + }, + "4548": { + "op": "JUMPDEST" + }, + "4549": { + "op": "PUSH1", + "value": "0x20" + }, + "4551": { + "op": "ADD" + }, + "4552": { + "op": "ADD" + }, + "4553": { + "op": "SWAP1" + }, + "4554": { + "op": "PUSH1", + "value": "0x1" + }, + "4556": { + "op": "PUSH1", + "value": "0x1" + }, + "4558": { + "op": "PUSH1", + "value": "0xF8" + }, + "4560": { + "op": "SHL" + }, + "4561": { + "op": "SUB" + }, + "4562": { + "op": "NOT" + }, + "4563": { + "op": "AND" + }, + "4564": { + "op": "SWAP1" + }, + "4565": { + "op": "DUP2" + }, + "4566": { + "op": "PUSH1", + "value": "0x0" + }, + "4568": { + "op": "BYTE" + }, + "4569": { + "op": "SWAP1" + }, + "4570": { + "op": "MSTORE8" + }, + "4571": { + "op": "POP" + }, + "4572": { + "op": "PUSH2", + "value": "0x11E6" + }, + "4575": { + "op": "PUSH1", + "value": "0xA" + }, + "4577": { + "op": "DUP7" + }, + "4578": { + "op": "PUSH2", + "value": "0x167E" + }, + "4581": { + "jump": "i", + "op": "JUMP" + }, + "4582": { + "op": "JUMPDEST" + }, + "4583": { + "op": "SWAP5" + }, + "4584": { + "op": "POP" + }, + "4585": { + "op": "PUSH2", + "value": "0x1186" + }, + "4588": { + "op": "JUMP" + }, + "4589": { + "op": "JUMPDEST" + }, + "4590": { + "op": "PUSH1", + "value": "0x1" + }, + "4592": { + "op": "PUSH1", + "value": "0x1" + }, + "4594": { + "op": "PUSH1", + "value": "0xE0" + }, + "4596": { + "op": "SHL" + }, + "4597": { + "op": "SUB" + }, + "4598": { + "op": "NOT" + }, + "4599": { + "op": "DUP2" + }, + "4600": { + "op": "AND" + }, + "4601": { + "op": "DUP2" + }, + "4602": { + "op": "EQ" + }, + "4603": { + "op": "PUSH2", + "value": "0x1203" + }, + "4606": { + "op": "JUMPI" + }, + "4607": { + "op": "PUSH1", + "value": "0x0" + }, + "4609": { + "op": "DUP1" + }, + "4610": { + "op": "REVERT" + }, + "4611": { + "op": "JUMPDEST" + }, + "4612": { + "op": "POP" + }, + "4613": { + "jump": "o", + "op": "JUMP" + }, + "4614": { + "op": "JUMPDEST" + }, + "4615": { + "op": "PUSH1", + "value": "0x0" + }, + "4617": { + "op": "PUSH1", + "value": "0x20" + }, + "4619": { + "op": "DUP3" + }, + "4620": { + "op": "DUP5" + }, + "4621": { + "op": "SUB" + }, + "4622": { + "op": "SLT" + }, + "4623": { + "op": "ISZERO" + }, + "4624": { + "op": "PUSH2", + "value": "0x1218" + }, + "4627": { + "op": "JUMPI" + }, + "4628": { + "op": "PUSH1", + "value": "0x0" + }, + "4630": { + "op": "DUP1" + }, + "4631": { + "op": "REVERT" + }, + "4632": { + "op": "JUMPDEST" + }, + "4633": { + "op": "DUP2" + }, + "4634": { + "op": "CALLDATALOAD" + }, + "4635": { + "op": "PUSH2", + "value": "0x7DC" + }, + "4638": { + "op": "DUP2" + }, + "4639": { + "op": "PUSH2", + "value": "0x11ED" + }, + "4642": { + "jump": "i", + "op": "JUMP" + }, + "4643": { + "op": "JUMPDEST" + }, + "4644": { + "op": "PUSH1", + "value": "0x0" + }, + "4646": { + "op": "JUMPDEST" + }, + "4647": { + "op": "DUP4" + }, + "4648": { + "op": "DUP2" + }, + "4649": { + "op": "LT" + }, + "4650": { + "op": "ISZERO" + }, + "4651": { + "op": "PUSH2", + "value": "0x123E" + }, + "4654": { + "op": "JUMPI" + }, + "4655": { + "op": "DUP2" + }, + "4656": { + "op": "DUP2" + }, + "4657": { + "op": "ADD" + }, + "4658": { + "op": "MLOAD" + }, + "4659": { + "op": "DUP4" + }, + "4660": { + "op": "DUP3" + }, + "4661": { + "op": "ADD" + }, + "4662": { + "op": "MSTORE" + }, + "4663": { + "op": "PUSH1", + "value": "0x20" + }, + "4665": { + "op": "ADD" + }, + "4666": { + "op": "PUSH2", + "value": "0x1226" + }, + "4669": { + "op": "JUMP" + }, + "4670": { + "op": "JUMPDEST" + }, + "4671": { + "op": "DUP4" + }, + "4672": { + "op": "DUP2" + }, + "4673": { + "op": "GT" + }, + "4674": { + "op": "ISZERO" + }, + "4675": { + "op": "PUSH2", + "value": "0x71E" + }, + "4678": { + "op": "JUMPI" + }, + "4679": { + "op": "POP" + }, + "4680": { + "op": "POP" + }, + "4681": { + "op": "PUSH1", + "value": "0x0" + }, + "4683": { + "op": "SWAP2" + }, + "4684": { + "op": "ADD" + }, + "4685": { + "op": "MSTORE" + }, + "4686": { + "jump": "o", + "op": "JUMP" + }, + "4687": { + "op": "JUMPDEST" + }, + "4688": { + "op": "PUSH1", + "value": "0x0" + }, + "4690": { + "op": "DUP2" + }, + "4691": { + "op": "MLOAD" + }, + "4692": { + "op": "DUP1" + }, + "4693": { + "op": "DUP5" + }, + "4694": { + "op": "MSTORE" + }, + "4695": { + "op": "PUSH2", + "value": "0x1267" + }, + "4698": { + "op": "DUP2" + }, + "4699": { + "op": "PUSH1", + "value": "0x20" + }, + "4701": { + "op": "DUP7" + }, + "4702": { + "op": "ADD" + }, + "4703": { + "op": "PUSH1", + "value": "0x20" + }, + "4705": { + "op": "DUP7" + }, + "4706": { + "op": "ADD" + }, + "4707": { + "op": "PUSH2", + "value": "0x1223" + }, + "4710": { + "jump": "i", + "op": "JUMP" + }, + "4711": { + "op": "JUMPDEST" + }, + "4712": { + "op": "PUSH1", + "value": "0x1F" + }, + "4714": { + "op": "ADD" + }, + "4715": { + "op": "PUSH1", + "value": "0x1F" + }, + "4717": { + "op": "NOT" + }, + "4718": { + "op": "AND" + }, + "4719": { + "op": "SWAP3" + }, + "4720": { + "op": "SWAP1" + }, + "4721": { + "op": "SWAP3" + }, + "4722": { + "op": "ADD" + }, + "4723": { + "op": "PUSH1", + "value": "0x20" + }, + "4725": { + "op": "ADD" + }, + "4726": { + "op": "SWAP3" + }, + "4727": { + "op": "SWAP2" + }, + "4728": { + "op": "POP" + }, + "4729": { + "op": "POP" + }, + "4730": { + "jump": "o", + "op": "JUMP" + }, + "4731": { + "op": "JUMPDEST" + }, + "4732": { + "op": "PUSH1", + "value": "0x20" + }, + "4734": { + "op": "DUP2" + }, + "4735": { + "op": "MSTORE" + }, + "4736": { + "op": "PUSH1", + "value": "0x0" + }, + "4738": { + "op": "PUSH2", + "value": "0x7DC" + }, + "4741": { + "op": "PUSH1", + "value": "0x20" + }, + "4743": { + "op": "DUP4" + }, + "4744": { + "op": "ADD" + }, + "4745": { + "op": "DUP5" + }, + "4746": { + "op": "PUSH2", + "value": "0x124F" + }, + "4749": { + "jump": "i", + "op": "JUMP" + }, + "4750": { + "op": "JUMPDEST" + }, + "4751": { + "op": "PUSH1", + "value": "0x0" + }, + "4753": { + "op": "PUSH1", + "value": "0x20" + }, + "4755": { + "op": "DUP3" + }, + "4756": { + "op": "DUP5" + }, + "4757": { + "op": "SUB" + }, + "4758": { + "op": "SLT" + }, + "4759": { + "op": "ISZERO" + }, + "4760": { + "op": "PUSH2", + "value": "0x12A0" + }, + "4763": { + "op": "JUMPI" + }, + "4764": { + "op": "PUSH1", + "value": "0x0" + }, + "4766": { + "op": "DUP1" + }, + "4767": { + "op": "REVERT" + }, + "4768": { + "op": "JUMPDEST" + }, + "4769": { + "op": "POP" + }, + "4770": { + "op": "CALLDATALOAD" + }, + "4771": { + "op": "SWAP2" + }, + "4772": { + "op": "SWAP1" + }, + "4773": { + "op": "POP" + }, + "4774": { + "jump": "o", + "op": "JUMP" + }, + "4775": { + "op": "JUMPDEST" + }, + "4776": { + "op": "DUP1" + }, + "4777": { + "op": "CALLDATALOAD" + }, + "4778": { + "op": "PUSH1", + "value": "0x1" + }, + "4780": { + "op": "PUSH1", + "value": "0x1" + }, + "4782": { + "op": "PUSH1", + "value": "0xA0" + }, + "4784": { + "op": "SHL" + }, + "4785": { + "op": "SUB" + }, + "4786": { + "op": "DUP2" + }, + "4787": { + "op": "AND" + }, + "4788": { + "op": "DUP2" + }, + "4789": { + "op": "EQ" + }, + "4790": { + "op": "PUSH2", + "value": "0x12BE" + }, + "4793": { + "op": "JUMPI" + }, + "4794": { + "op": "PUSH1", + "value": "0x0" + }, + "4796": { + "op": "DUP1" + }, + "4797": { + "op": "REVERT" + }, + "4798": { + "op": "JUMPDEST" + }, + "4799": { + "op": "SWAP2" + }, + "4800": { + "op": "SWAP1" + }, + "4801": { + "op": "POP" + }, + "4802": { + "jump": "o", + "op": "JUMP" + }, + "4803": { + "op": "JUMPDEST" + }, + "4804": { + "op": "PUSH1", + "value": "0x0" + }, + "4806": { + "op": "DUP1" + }, + "4807": { + "op": "PUSH1", + "value": "0x40" + }, + "4809": { + "op": "DUP4" + }, + "4810": { + "op": "DUP6" + }, + "4811": { + "op": "SUB" + }, + "4812": { + "op": "SLT" + }, + "4813": { + "op": "ISZERO" + }, + "4814": { + "op": "PUSH2", + "value": "0x12D6" + }, + "4817": { + "op": "JUMPI" + }, + "4818": { + "op": "PUSH1", + "value": "0x0" + }, + "4820": { + "op": "DUP1" + }, + "4821": { + "op": "REVERT" + }, + "4822": { + "op": "JUMPDEST" + }, + "4823": { + "op": "PUSH2", + "value": "0x12DF" + }, + "4826": { + "op": "DUP4" + }, + "4827": { + "op": "PUSH2", + "value": "0x12A7" + }, + "4830": { + "jump": "i", + "op": "JUMP" + }, + "4831": { + "op": "JUMPDEST" + }, + "4832": { + "op": "SWAP5" + }, + "4833": { + "op": "PUSH1", + "value": "0x20" + }, + "4835": { + "op": "SWAP4" + }, + "4836": { + "op": "SWAP1" + }, + "4837": { + "op": "SWAP4" + }, + "4838": { + "op": "ADD" + }, + "4839": { + "op": "CALLDATALOAD" + }, + "4840": { + "op": "SWAP4" + }, + "4841": { + "op": "POP" + }, + "4842": { + "op": "POP" + }, + "4843": { + "op": "POP" + }, + "4844": { + "jump": "o", + "op": "JUMP" + }, + "4845": { + "op": "JUMPDEST" + }, + "4846": { + "op": "PUSH1", + "value": "0x0" + }, + "4848": { + "op": "DUP1" + }, + "4849": { + "op": "PUSH1", + "value": "0x0" + }, + "4851": { + "op": "PUSH1", + "value": "0x60" + }, + "4853": { + "op": "DUP5" + }, + "4854": { + "op": "DUP7" + }, + "4855": { + "op": "SUB" + }, + "4856": { + "op": "SLT" + }, + "4857": { + "op": "ISZERO" + }, + "4858": { + "op": "PUSH2", + "value": "0x1302" + }, + "4861": { + "op": "JUMPI" + }, + "4862": { + "op": "PUSH1", + "value": "0x0" + }, + "4864": { + "op": "DUP1" + }, + "4865": { + "op": "REVERT" + }, + "4866": { + "op": "JUMPDEST" + }, + "4867": { + "op": "PUSH2", + "value": "0x130B" + }, + "4870": { + "op": "DUP5" + }, + "4871": { + "op": "PUSH2", + "value": "0x12A7" + }, + "4874": { + "jump": "i", + "op": "JUMP" + }, + "4875": { + "op": "JUMPDEST" + }, + "4876": { + "op": "SWAP3" + }, + "4877": { + "op": "POP" + }, + "4878": { + "op": "PUSH2", + "value": "0x1319" + }, + "4881": { + "op": "PUSH1", + "value": "0x20" + }, + "4883": { + "op": "DUP6" + }, + "4884": { + "op": "ADD" + }, + "4885": { + "op": "PUSH2", + "value": "0x12A7" + }, + "4888": { + "jump": "i", + "op": "JUMP" + }, + "4889": { + "op": "JUMPDEST" + }, + "4890": { + "op": "SWAP2" + }, + "4891": { + "op": "POP" + }, + "4892": { + "op": "PUSH1", + "value": "0x40" + }, + "4894": { + "op": "DUP5" + }, + "4895": { + "op": "ADD" + }, + "4896": { + "op": "CALLDATALOAD" + }, + "4897": { + "op": "SWAP1" + }, + "4898": { + "op": "POP" + }, + "4899": { + "op": "SWAP3" + }, + "4900": { + "op": "POP" + }, + "4901": { + "op": "SWAP3" + }, + "4902": { + "op": "POP" + }, + "4903": { + "op": "SWAP3" + }, + "4904": { + "jump": "o", + "op": "JUMP" + }, + "4905": { + "op": "JUMPDEST" + }, + "4906": { + "op": "PUSH1", + "value": "0x0" + }, + "4908": { + "op": "DUP1" + }, + "4909": { + "op": "PUSH1", + "value": "0x40" + }, + "4911": { + "op": "DUP4" + }, + "4912": { + "op": "DUP6" + }, + "4913": { + "op": "SUB" + }, + "4914": { + "op": "SLT" + }, + "4915": { + "op": "ISZERO" + }, + "4916": { + "op": "PUSH2", + "value": "0x133C" + }, + "4919": { + "op": "JUMPI" + }, + "4920": { + "op": "PUSH1", + "value": "0x0" + }, + "4922": { + "op": "DUP1" + }, + "4923": { + "op": "REVERT" + }, + "4924": { + "op": "JUMPDEST" + }, + "4925": { + "op": "PUSH2", + "value": "0x1345" + }, + "4928": { + "op": "DUP4" + }, + "4929": { + "op": "PUSH2", + "value": "0x12A7" + }, + "4932": { + "jump": "i", + "op": "JUMP" + }, + "4933": { + "op": "JUMPDEST" + }, + "4934": { + "op": "SWAP2" + }, + "4935": { + "op": "POP" + }, + "4936": { + "op": "PUSH1", + "value": "0x20" + }, + "4938": { + "op": "DUP4" + }, + "4939": { + "op": "ADD" + }, + "4940": { + "op": "CALLDATALOAD" + }, + "4941": { + "op": "PUSH1", + "value": "0x1" + }, + "4943": { + "op": "PUSH1", + "value": "0x1" + }, + "4945": { + "op": "PUSH1", + "value": "0x40" + }, + "4947": { + "op": "SHL" + }, + "4948": { + "op": "SUB" + }, + "4949": { + "op": "DUP2" + }, + "4950": { + "op": "AND" + }, + "4951": { + "op": "DUP2" + }, + "4952": { + "op": "EQ" + }, + "4953": { + "op": "PUSH2", + "value": "0x1361" + }, + "4956": { + "op": "JUMPI" + }, + "4957": { + "op": "PUSH1", + "value": "0x0" + }, + "4959": { + "op": "DUP1" + }, + "4960": { + "op": "REVERT" + }, + "4961": { + "op": "JUMPDEST" + }, + "4962": { + "op": "DUP1" + }, + "4963": { + "op": "SWAP2" + }, + "4964": { + "op": "POP" + }, + "4965": { + "op": "POP" + }, + "4966": { + "op": "SWAP3" + }, + "4967": { + "op": "POP" + }, + "4968": { + "op": "SWAP3" + }, + "4969": { + "op": "SWAP1" + }, + "4970": { + "op": "POP" + }, + "4971": { + "jump": "o", + "op": "JUMP" + }, + "4972": { + "op": "JUMPDEST" + }, + "4973": { + "op": "PUSH1", + "value": "0x0" + }, + "4975": { + "op": "PUSH1", + "value": "0x20" + }, + "4977": { + "op": "DUP3" + }, + "4978": { + "op": "DUP5" + }, + "4979": { + "op": "SUB" + }, + "4980": { + "op": "SLT" + }, + "4981": { + "op": "ISZERO" + }, + "4982": { + "op": "PUSH2", + "value": "0x137E" + }, + "4985": { + "op": "JUMPI" + }, + "4986": { + "op": "PUSH1", + "value": "0x0" + }, + "4988": { + "op": "DUP1" + }, + "4989": { + "op": "REVERT" + }, + "4990": { + "op": "JUMPDEST" + }, + "4991": { + "op": "PUSH2", + "value": "0x7DC" + }, + "4994": { + "op": "DUP3" + }, + "4995": { + "op": "PUSH2", + "value": "0x12A7" + }, + "4998": { + "jump": "i", + "op": "JUMP" + }, + "4999": { + "op": "JUMPDEST" + }, + "5000": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5005": { + "op": "PUSH1", + "value": "0xE0" + }, + "5007": { + "op": "SHL" + }, + "5008": { + "op": "PUSH1", + "value": "0x0" + }, + "5010": { + "op": "MSTORE" + }, + "5011": { + "op": "PUSH1", + "value": "0x41" + }, + "5013": { + "op": "PUSH1", + "value": "0x4" + }, + "5015": { + "op": "MSTORE" + }, + "5016": { + "op": "PUSH1", + "value": "0x24" + }, + "5018": { + "op": "PUSH1", + "value": "0x0" + }, + "5020": { + "op": "REVERT" + }, + "5021": { + "op": "JUMPDEST" + }, + "5022": { + "op": "PUSH1", + "value": "0x0" + }, + "5024": { + "op": "DUP3" + }, + "5025": { + "op": "PUSH1", + "value": "0x1F" + }, + "5027": { + "op": "DUP4" + }, + "5028": { + "op": "ADD" + }, + "5029": { + "op": "SLT" + }, + "5030": { + "op": "PUSH2", + "value": "0x13AE" + }, + "5033": { + "op": "JUMPI" + }, + "5034": { + "op": "PUSH1", + "value": "0x0" + }, + "5036": { + "op": "DUP1" + }, + "5037": { + "op": "REVERT" + }, + "5038": { + "op": "JUMPDEST" + }, + "5039": { + "op": "DUP2" + }, + "5040": { + "op": "CALLDATALOAD" + }, + "5041": { + "op": "PUSH1", + "value": "0x1" + }, + "5043": { + "op": "PUSH1", + "value": "0x1" + }, + "5045": { + "op": "PUSH1", + "value": "0x40" + }, + "5047": { + "op": "SHL" + }, + "5048": { + "op": "SUB" + }, + "5049": { + "op": "DUP1" + }, + "5050": { + "op": "DUP3" + }, + "5051": { + "op": "GT" + }, + "5052": { + "op": "ISZERO" + }, + "5053": { + "op": "PUSH2", + "value": "0x13C8" + }, + "5056": { + "op": "JUMPI" + }, + "5057": { + "op": "PUSH2", + "value": "0x13C8" + }, + "5060": { + "op": "PUSH2", + "value": "0x1387" + }, + "5063": { + "jump": "i", + "op": "JUMP" + }, + "5064": { + "op": "JUMPDEST" + }, + "5065": { + "op": "PUSH1", + "value": "0x40" + }, + "5067": { + "op": "MLOAD" + }, + "5068": { + "op": "PUSH1", + "value": "0x1F" + }, + "5070": { + "op": "DUP4" + }, + "5071": { + "op": "ADD" + }, + "5072": { + "op": "PUSH1", + "value": "0x1F" + }, + "5074": { + "op": "NOT" + }, + "5075": { + "op": "SWAP1" + }, + "5076": { + "op": "DUP2" + }, + "5077": { + "op": "AND" + }, + "5078": { + "op": "PUSH1", + "value": "0x3F" + }, + "5080": { + "op": "ADD" + }, + "5081": { + "op": "AND" + }, + "5082": { + "op": "DUP2" + }, + "5083": { + "op": "ADD" + }, + "5084": { + "op": "SWAP1" + }, + "5085": { + "op": "DUP3" + }, + "5086": { + "op": "DUP3" + }, + "5087": { + "op": "GT" + }, + "5088": { + "op": "DUP2" + }, + "5089": { + "op": "DUP4" + }, + "5090": { + "op": "LT" + }, + "5091": { + "op": "OR" + }, + "5092": { + "op": "ISZERO" + }, + "5093": { + "op": "PUSH2", + "value": "0x13F0" + }, + "5096": { + "op": "JUMPI" + }, + "5097": { + "op": "PUSH2", + "value": "0x13F0" + }, + "5100": { + "op": "PUSH2", + "value": "0x1387" + }, + "5103": { + "jump": "i", + "op": "JUMP" + }, + "5104": { + "op": "JUMPDEST" + }, + "5105": { + "op": "DUP2" + }, + "5106": { + "op": "PUSH1", + "value": "0x40" + }, + "5108": { + "op": "MSTORE" + }, + "5109": { + "op": "DUP4" + }, + "5110": { + "op": "DUP2" + }, + "5111": { + "op": "MSTORE" + }, + "5112": { + "op": "DUP7" + }, + "5113": { + "op": "PUSH1", + "value": "0x20" + }, + "5115": { + "op": "DUP6" + }, + "5116": { + "op": "DUP9" + }, + "5117": { + "op": "ADD" + }, + "5118": { + "op": "ADD" + }, + "5119": { + "op": "GT" + }, + "5120": { + "op": "ISZERO" + }, + "5121": { + "op": "PUSH2", + "value": "0x1409" + }, + "5124": { + "op": "JUMPI" + }, + "5125": { + "op": "PUSH1", + "value": "0x0" + }, + "5127": { + "op": "DUP1" + }, + "5128": { + "op": "REVERT" + }, + "5129": { + "op": "JUMPDEST" + }, + "5130": { + "op": "DUP4" + }, + "5131": { + "op": "PUSH1", + "value": "0x20" + }, + "5133": { + "op": "DUP8" + }, + "5134": { + "op": "ADD" + }, + "5135": { + "op": "PUSH1", + "value": "0x20" + }, + "5137": { + "op": "DUP4" + }, + "5138": { + "op": "ADD" + }, + "5139": { + "op": "CALLDATACOPY" + }, + "5140": { + "op": "PUSH1", + "value": "0x0" + }, + "5142": { + "op": "PUSH1", + "value": "0x20" + }, + "5144": { + "op": "DUP6" + }, + "5145": { + "op": "DUP4" + }, + "5146": { + "op": "ADD" + }, + "5147": { + "op": "ADD" + }, + "5148": { + "op": "MSTORE" + }, + "5149": { + "op": "DUP1" + }, + "5150": { + "op": "SWAP5" + }, + "5151": { + "op": "POP" + }, + "5152": { + "op": "POP" + }, + "5153": { + "op": "POP" + }, + "5154": { + "op": "POP" + }, + "5155": { + "op": "POP" + }, + "5156": { + "op": "SWAP3" + }, + "5157": { + "op": "SWAP2" + }, + "5158": { + "op": "POP" + }, + "5159": { + "op": "POP" + }, + "5160": { + "jump": "o", + "op": "JUMP" + }, + "5161": { + "op": "JUMPDEST" + }, + "5162": { + "op": "PUSH1", + "value": "0x0" + }, + "5164": { + "op": "DUP1" + }, + "5165": { + "op": "PUSH1", + "value": "0x0" + }, + "5167": { + "op": "PUSH1", + "value": "0x60" + }, + "5169": { + "op": "DUP5" + }, + "5170": { + "op": "DUP7" + }, + "5171": { + "op": "SUB" + }, + "5172": { + "op": "SLT" + }, + "5173": { + "op": "ISZERO" + }, + "5174": { + "op": "PUSH2", + "value": "0x143E" + }, + "5177": { + "op": "JUMPI" + }, + "5178": { + "op": "PUSH1", + "value": "0x0" + }, + "5180": { + "op": "DUP1" + }, + "5181": { + "op": "REVERT" + }, + "5182": { + "op": "JUMPDEST" + }, + "5183": { + "op": "PUSH2", + "value": "0x1447" + }, + "5186": { + "op": "DUP5" + }, + "5187": { + "op": "PUSH2", + "value": "0x12A7" + }, + "5190": { + "jump": "i", + "op": "JUMP" + }, + "5191": { + "op": "JUMPDEST" + }, + "5192": { + "op": "SWAP3" + }, + "5193": { + "op": "POP" + }, + "5194": { + "op": "PUSH1", + "value": "0x20" + }, + "5196": { + "op": "DUP5" + }, + "5197": { + "op": "ADD" + }, + "5198": { + "op": "CALLDATALOAD" + }, + "5199": { + "op": "SWAP2" + }, + "5200": { + "op": "POP" + }, + "5201": { + "op": "PUSH1", + "value": "0x40" + }, + "5203": { + "op": "DUP5" + }, + "5204": { + "op": "ADD" + }, + "5205": { + "op": "CALLDATALOAD" + }, + "5206": { + "op": "PUSH1", + "value": "0x1" + }, + "5208": { + "op": "PUSH1", + "value": "0x1" + }, + "5210": { + "op": "PUSH1", + "value": "0x40" + }, + "5212": { + "op": "SHL" + }, + "5213": { + "op": "SUB" + }, + "5214": { + "op": "DUP2" + }, + "5215": { + "op": "GT" + }, + "5216": { + "op": "ISZERO" + }, + "5217": { + "op": "PUSH2", + "value": "0x1469" + }, + "5220": { + "op": "JUMPI" + }, + "5221": { + "op": "PUSH1", + "value": "0x0" + }, + "5223": { + "op": "DUP1" + }, + "5224": { + "op": "REVERT" + }, + "5225": { + "op": "JUMPDEST" + }, + "5226": { + "op": "PUSH2", + "value": "0x1475" + }, + "5229": { + "op": "DUP7" + }, + "5230": { + "op": "DUP3" + }, + "5231": { + "op": "DUP8" + }, + "5232": { + "op": "ADD" + }, + "5233": { + "op": "PUSH2", + "value": "0x139D" + }, + "5236": { + "jump": "i", + "op": "JUMP" + }, + "5237": { + "op": "JUMPDEST" + }, + "5238": { + "op": "SWAP2" + }, + "5239": { + "op": "POP" + }, + "5240": { + "op": "POP" + }, + "5241": { + "op": "SWAP3" + }, + "5242": { + "op": "POP" + }, + "5243": { + "op": "SWAP3" + }, + "5244": { + "op": "POP" + }, + "5245": { + "op": "SWAP3" + }, + "5246": { + "jump": "o", + "op": "JUMP" + }, + "5247": { + "op": "JUMPDEST" + }, + "5248": { + "op": "DUP1" + }, + "5249": { + "op": "CALLDATALOAD" + }, + "5250": { + "op": "DUP1" + }, + "5251": { + "op": "ISZERO" + }, + "5252": { + "op": "ISZERO" + }, + "5253": { + "op": "DUP2" + }, + "5254": { + "op": "EQ" + }, + "5255": { + "op": "PUSH2", + "value": "0x12BE" + }, + "5258": { + "op": "JUMPI" + }, + "5259": { + "op": "PUSH1", + "value": "0x0" + }, + "5261": { + "op": "DUP1" + }, + "5262": { + "op": "REVERT" + }, + "5263": { + "op": "JUMPDEST" + }, + "5264": { + "op": "PUSH1", + "value": "0x0" + }, + "5266": { + "op": "DUP1" + }, + "5267": { + "op": "PUSH1", + "value": "0x40" + }, + "5269": { + "op": "DUP4" + }, + "5270": { + "op": "DUP6" + }, + "5271": { + "op": "SUB" + }, + "5272": { + "op": "SLT" + }, + "5273": { + "op": "ISZERO" + }, + "5274": { + "op": "PUSH2", + "value": "0x14A2" + }, + "5277": { + "op": "JUMPI" + }, + "5278": { + "op": "PUSH1", + "value": "0x0" + }, + "5280": { + "op": "DUP1" + }, + "5281": { + "op": "REVERT" + }, + "5282": { + "op": "JUMPDEST" + }, + "5283": { + "op": "DUP3" + }, + "5284": { + "op": "CALLDATALOAD" + }, + "5285": { + "op": "SWAP2" + }, + "5286": { + "op": "POP" + }, + "5287": { + "op": "PUSH2", + "value": "0x14B2" + }, + "5290": { + "op": "PUSH1", + "value": "0x20" + }, + "5292": { + "op": "DUP5" + }, + "5293": { + "op": "ADD" + }, + "5294": { + "op": "PUSH2", + "value": "0x147F" + }, + "5297": { + "jump": "i", + "op": "JUMP" + }, + "5298": { + "op": "JUMPDEST" + }, + "5299": { + "op": "SWAP1" + }, + "5300": { + "op": "POP" + }, + "5301": { + "op": "SWAP3" + }, + "5302": { + "op": "POP" + }, + "5303": { + "op": "SWAP3" + }, + "5304": { + "op": "SWAP1" + }, + "5305": { + "op": "POP" + }, + "5306": { + "jump": "o", + "op": "JUMP" + }, + "5307": { + "op": "JUMPDEST" + }, + "5308": { + "op": "PUSH1", + "value": "0x0" + }, + "5310": { + "op": "DUP1" + }, + "5311": { + "op": "PUSH1", + "value": "0x40" + }, + "5313": { + "op": "DUP4" + }, + "5314": { + "op": "DUP6" + }, + "5315": { + "op": "SUB" + }, + "5316": { + "op": "SLT" + }, + "5317": { + "op": "ISZERO" + }, + "5318": { + "op": "PUSH2", + "value": "0x14CE" + }, + "5321": { + "op": "JUMPI" + }, + "5322": { + "op": "PUSH1", + "value": "0x0" + }, + "5324": { + "op": "DUP1" + }, + "5325": { + "op": "REVERT" + }, + "5326": { + "op": "JUMPDEST" + }, + "5327": { + "op": "PUSH2", + "value": "0x14D7" + }, + "5330": { + "op": "DUP4" + }, + "5331": { + "op": "PUSH2", + "value": "0x12A7" + }, + "5334": { + "jump": "i", + "op": "JUMP" + }, + "5335": { + "op": "JUMPDEST" + }, + "5336": { + "op": "SWAP2" + }, + "5337": { + "op": "POP" + }, + "5338": { + "op": "PUSH2", + "value": "0x14B2" + }, + "5341": { + "op": "PUSH1", + "value": "0x20" + }, + "5343": { + "op": "DUP5" + }, + "5344": { + "op": "ADD" + }, + "5345": { + "op": "PUSH2", + "value": "0x147F" + }, + "5348": { + "jump": "i", + "op": "JUMP" + }, + "5349": { + "op": "JUMPDEST" + }, + "5350": { + "op": "PUSH1", + "value": "0x0" + }, + "5352": { + "op": "DUP1" + }, + "5353": { + "op": "PUSH1", + "value": "0x0" + }, + "5355": { + "op": "DUP1" + }, + "5356": { + "op": "PUSH1", + "value": "0x80" + }, + "5358": { + "op": "DUP6" + }, + "5359": { + "op": "DUP8" + }, + "5360": { + "op": "SUB" + }, + "5361": { + "op": "SLT" + }, + "5362": { + "op": "ISZERO" + }, + "5363": { + "op": "PUSH2", + "value": "0x14FB" + }, + "5366": { + "op": "JUMPI" + }, + "5367": { + "op": "PUSH1", + "value": "0x0" + }, + "5369": { + "op": "DUP1" + }, + "5370": { + "op": "REVERT" + }, + "5371": { + "op": "JUMPDEST" + }, + "5372": { + "op": "PUSH2", + "value": "0x1504" + }, + "5375": { + "op": "DUP6" + }, + "5376": { + "op": "PUSH2", + "value": "0x12A7" + }, + "5379": { + "jump": "i", + "op": "JUMP" + }, + "5380": { + "op": "JUMPDEST" + }, + "5381": { + "op": "SWAP4" + }, + "5382": { + "op": "POP" + }, + "5383": { + "op": "PUSH2", + "value": "0x1512" + }, + "5386": { + "op": "PUSH1", + "value": "0x20" + }, + "5388": { + "op": "DUP7" + }, + "5389": { + "op": "ADD" + }, + "5390": { + "op": "PUSH2", + "value": "0x12A7" + }, + "5393": { + "jump": "i", + "op": "JUMP" + }, + "5394": { + "op": "JUMPDEST" + }, + "5395": { + "op": "SWAP3" + }, + "5396": { + "op": "POP" + }, + "5397": { + "op": "PUSH1", + "value": "0x40" + }, + "5399": { + "op": "DUP6" + }, + "5400": { + "op": "ADD" + }, + "5401": { + "op": "CALLDATALOAD" + }, + "5402": { + "op": "SWAP2" + }, + "5403": { + "op": "POP" + }, + "5404": { + "op": "PUSH1", + "value": "0x60" + }, + "5406": { + "op": "DUP6" + }, + "5407": { + "op": "ADD" + }, + "5408": { + "op": "CALLDATALOAD" + }, + "5409": { + "op": "PUSH1", + "value": "0x1" + }, + "5411": { + "op": "PUSH1", + "value": "0x1" + }, + "5413": { + "op": "PUSH1", + "value": "0x40" + }, + "5415": { + "op": "SHL" + }, + "5416": { + "op": "SUB" + }, + "5417": { + "op": "DUP2" + }, + "5418": { + "op": "GT" + }, + "5419": { + "op": "ISZERO" + }, + "5420": { + "op": "PUSH2", + "value": "0x1534" + }, + "5423": { + "op": "JUMPI" + }, + "5424": { + "op": "PUSH1", + "value": "0x0" + }, + "5426": { + "op": "DUP1" + }, + "5427": { + "op": "REVERT" + }, + "5428": { + "op": "JUMPDEST" + }, + "5429": { + "op": "PUSH2", + "value": "0x1540" + }, + "5432": { + "op": "DUP8" + }, + "5433": { + "op": "DUP3" + }, + "5434": { + "op": "DUP9" + }, + "5435": { + "op": "ADD" + }, + "5436": { + "op": "PUSH2", + "value": "0x139D" + }, + "5439": { + "jump": "i", + "op": "JUMP" + }, + "5440": { + "op": "JUMPDEST" + }, + "5441": { + "op": "SWAP2" + }, + "5442": { + "op": "POP" + }, + "5443": { + "op": "POP" + }, + "5444": { + "op": "SWAP3" + }, + "5445": { + "op": "SWAP6" + }, + "5446": { + "op": "SWAP2" + }, + "5447": { + "op": "SWAP5" + }, + "5448": { + "op": "POP" + }, + "5449": { + "op": "SWAP3" + }, + "5450": { + "op": "POP" + }, + "5451": { + "jump": "o", + "op": "JUMP" + }, + "5452": { + "op": "JUMPDEST" + }, + "5453": { + "op": "PUSH1", + "value": "0x0" + }, + "5455": { + "op": "DUP1" + }, + "5456": { + "op": "PUSH1", + "value": "0x40" + }, + "5458": { + "op": "DUP4" + }, + "5459": { + "op": "DUP6" + }, + "5460": { + "op": "SUB" + }, + "5461": { + "op": "SLT" + }, + "5462": { + "op": "ISZERO" + }, + "5463": { + "op": "PUSH2", + "value": "0x155F" + }, + "5466": { + "op": "JUMPI" + }, + "5467": { + "op": "PUSH1", + "value": "0x0" + }, + "5469": { + "op": "DUP1" + }, + "5470": { + "op": "REVERT" + }, + "5471": { + "op": "JUMPDEST" + }, + "5472": { + "op": "PUSH2", + "value": "0x1568" + }, + "5475": { + "op": "DUP4" + }, + "5476": { + "op": "PUSH2", + "value": "0x12A7" + }, + "5479": { + "jump": "i", + "op": "JUMP" + }, + "5480": { + "op": "JUMPDEST" + }, + "5481": { + "op": "SWAP2" + }, + "5482": { + "op": "POP" + }, + "5483": { + "op": "PUSH2", + "value": "0x14B2" + }, + "5486": { + "op": "PUSH1", + "value": "0x20" + }, + "5488": { + "op": "DUP5" + }, + "5489": { + "op": "ADD" + }, + "5490": { + "op": "PUSH2", + "value": "0x12A7" + }, + "5493": { + "jump": "i", + "op": "JUMP" + }, + "5494": { + "op": "JUMPDEST" + }, + "5495": { + "op": "PUSH1", + "value": "0x1" + }, + "5497": { + "op": "DUP2" + }, + "5498": { + "op": "DUP2" + }, + "5499": { + "op": "SHR" + }, + "5500": { + "op": "SWAP1" + }, + "5501": { + "op": "DUP3" + }, + "5502": { + "op": "AND" + }, + "5503": { + "op": "DUP1" + }, + "5504": { + "op": "PUSH2", + "value": "0x158A" + }, + "5507": { + "op": "JUMPI" + }, + "5508": { + "op": "PUSH1", + "value": "0x7F" + }, + "5510": { + "op": "DUP3" + }, + "5511": { + "op": "AND" + }, + "5512": { + "op": "SWAP2" + }, + "5513": { + "op": "POP" + }, + "5514": { + "op": "JUMPDEST" + }, + "5515": { + "op": "PUSH1", + "value": "0x20" + }, + "5517": { + "op": "DUP3" + }, + "5518": { + "op": "LT" + }, + "5519": { + "op": "DUP2" + }, + "5520": { + "op": "SUB" + }, + "5521": { + "op": "PUSH2", + "value": "0x15AA" + }, + "5524": { + "op": "JUMPI" + }, + "5525": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5530": { + "op": "PUSH1", + "value": "0xE0" + }, + "5532": { + "op": "SHL" + }, + "5533": { + "op": "PUSH1", + "value": "0x0" + }, + "5535": { + "op": "MSTORE" + }, + "5536": { + "op": "PUSH1", + "value": "0x22" + }, + "5538": { + "op": "PUSH1", + "value": "0x4" + }, + "5540": { + "op": "MSTORE" + }, + "5541": { + "op": "PUSH1", + "value": "0x24" + }, + "5543": { + "op": "PUSH1", + "value": "0x0" + }, + "5545": { + "op": "REVERT" + }, + "5546": { + "op": "JUMPDEST" + }, + "5547": { + "op": "POP" + }, + "5548": { + "op": "SWAP2" + }, + "5549": { + "op": "SWAP1" + }, + "5550": { + "op": "POP" + }, + "5551": { + "jump": "o", + "op": "JUMP" + }, + "5552": { + "op": "JUMPDEST" + }, + "5553": { + "op": "PUSH1", + "value": "0x0" + }, + "5555": { + "op": "DUP4" + }, + "5556": { + "op": "MLOAD" + }, + "5557": { + "op": "PUSH2", + "value": "0x15C2" + }, + "5560": { + "op": "DUP2" + }, + "5561": { + "op": "DUP5" + }, + "5562": { + "op": "PUSH1", + "value": "0x20" + }, + "5564": { + "op": "DUP9" + }, + "5565": { + "op": "ADD" + }, + "5566": { + "op": "PUSH2", + "value": "0x1223" + }, + "5569": { + "jump": "i", + "op": "JUMP" + }, + "5570": { + "op": "JUMPDEST" + }, + "5571": { + "op": "DUP4" + }, + "5572": { + "op": "MLOAD" + }, + "5573": { + "op": "SWAP1" + }, + "5574": { + "op": "DUP4" + }, + "5575": { + "op": "ADD" + }, + "5576": { + "op": "SWAP1" + }, + "5577": { + "op": "PUSH2", + "value": "0x15D6" + }, + "5580": { + "op": "DUP2" + }, + "5581": { + "op": "DUP4" + }, + "5582": { + "op": "PUSH1", + "value": "0x20" + }, + "5584": { + "op": "DUP9" + }, + "5585": { + "op": "ADD" + }, + "5586": { + "op": "PUSH2", + "value": "0x1223" + }, + "5589": { + "jump": "i", + "op": "JUMP" + }, + "5590": { + "op": "JUMPDEST" + }, + "5591": { + "op": "ADD" + }, + "5592": { + "op": "SWAP5" + }, + "5593": { + "op": "SWAP4" + }, + "5594": { + "op": "POP" + }, + "5595": { + "op": "POP" + }, + "5596": { + "op": "POP" + }, + "5597": { + "op": "POP" + }, + "5598": { + "jump": "o", + "op": "JUMP" + }, + "5599": { + "op": "JUMPDEST" + }, + "5600": { + "op": "PUSH1", + "value": "0x1" + }, + "5602": { + "op": "PUSH1", + "value": "0x1" + }, + "5604": { + "op": "PUSH1", + "value": "0xA0" + }, + "5606": { + "op": "SHL" + }, + "5607": { + "op": "SUB" + }, + "5608": { + "op": "DUP6" + }, + "5609": { + "op": "DUP2" + }, + "5610": { + "op": "AND" + }, + "5611": { + "op": "DUP3" + }, + "5612": { + "op": "MSTORE" + }, + "5613": { + "op": "DUP5" + }, + "5614": { + "op": "AND" + }, + "5615": { + "op": "PUSH1", + "value": "0x20" + }, + "5617": { + "op": "DUP3" + }, + "5618": { + "op": "ADD" + }, + "5619": { + "op": "MSTORE" + }, + "5620": { + "op": "PUSH1", + "value": "0x40" + }, + "5622": { + "op": "DUP2" + }, + "5623": { + "op": "ADD" + }, + "5624": { + "op": "DUP4" + }, + "5625": { + "op": "SWAP1" + }, + "5626": { + "op": "MSTORE" + }, + "5627": { + "op": "PUSH1", + "value": "0x80" + }, + "5629": { + "op": "PUSH1", + "value": "0x60" + }, + "5631": { + "op": "DUP3" + }, + "5632": { + "op": "ADD" + }, + "5633": { + "op": "DUP2" + }, + "5634": { + "op": "SWAP1" + }, + "5635": { + "op": "MSTORE" + }, + "5636": { + "op": "PUSH1", + "value": "0x0" + }, + "5638": { + "op": "SWAP1" + }, + "5639": { + "op": "PUSH2", + "value": "0x1612" + }, + "5642": { + "op": "SWAP1" + }, + "5643": { + "op": "DUP4" + }, + "5644": { + "op": "ADD" + }, + "5645": { + "op": "DUP5" + }, + "5646": { + "op": "PUSH2", + "value": "0x124F" + }, + "5649": { + "jump": "i", + "op": "JUMP" + }, + "5650": { + "op": "JUMPDEST" + }, + "5651": { + "op": "SWAP7" + }, + "5652": { + "op": "SWAP6" + }, + "5653": { + "op": "POP" + }, + "5654": { + "op": "POP" + }, + "5655": { + "op": "POP" + }, + "5656": { + "op": "POP" + }, + "5657": { + "op": "POP" + }, + "5658": { + "op": "POP" + }, + "5659": { + "jump": "o", + "op": "JUMP" + }, + "5660": { + "op": "JUMPDEST" + }, + "5661": { + "op": "PUSH1", + "value": "0x0" + }, + "5663": { + "op": "PUSH1", + "value": "0x20" + }, + "5665": { + "op": "DUP3" + }, + "5666": { + "op": "DUP5" + }, + "5667": { + "op": "SUB" + }, + "5668": { + "op": "SLT" + }, + "5669": { + "op": "ISZERO" + }, + "5670": { + "op": "PUSH2", + "value": "0x162E" + }, + "5673": { + "op": "JUMPI" + }, + "5674": { + "op": "PUSH1", + "value": "0x0" + }, + "5676": { + "op": "DUP1" + }, + "5677": { + "op": "REVERT" + }, + "5678": { + "op": "JUMPDEST" + }, + "5679": { + "op": "DUP2" + }, + "5680": { + "op": "MLOAD" + }, + "5681": { + "op": "PUSH2", + "value": "0x7DC" + }, + "5684": { + "op": "DUP2" + }, + "5685": { + "op": "PUSH2", + "value": "0x11ED" + }, + "5688": { + "jump": "i", + "op": "JUMP" + }, + "5689": { + "op": "JUMPDEST" + }, + "5690": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5695": { + "op": "PUSH1", + "value": "0xE0" + }, + "5697": { + "op": "SHL" + }, + "5698": { + "op": "PUSH1", + "value": "0x0" + }, + "5700": { + "op": "MSTORE" + }, + "5701": { + "op": "PUSH1", + "value": "0x11" + }, + "5703": { + "op": "PUSH1", + "value": "0x4" + }, + "5705": { + "op": "MSTORE" + }, + "5706": { + "op": "PUSH1", + "value": "0x24" + }, + "5708": { + "op": "PUSH1", + "value": "0x0" + }, + "5710": { + "op": "REVERT" + }, + "5711": { + "op": "JUMPDEST" + }, + "5712": { + "op": "PUSH1", + "value": "0x0" + }, + "5714": { + "op": "PUSH1", + "value": "0x1" + }, + "5716": { + "op": "DUP3" + }, + "5717": { + "op": "ADD" + }, + "5718": { + "op": "PUSH2", + "value": "0x1661" + }, + "5721": { + "op": "JUMPI" + }, + "5722": { + "op": "PUSH2", + "value": "0x1661" + }, + "5725": { + "op": "PUSH2", + "value": "0x1639" + }, + "5728": { + "jump": "i", + "op": "JUMP" + }, + "5729": { + "op": "JUMPDEST" + }, + "5730": { + "op": "POP" + }, + "5731": { + "op": "PUSH1", + "value": "0x1" + }, + "5733": { + "op": "ADD" + }, + "5734": { + "op": "SWAP1" + }, + "5735": { + "jump": "o", + "op": "JUMP" + }, + "5736": { + "op": "JUMPDEST" + }, + "5737": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5742": { + "op": "PUSH1", + "value": "0xE0" + }, + "5744": { + "op": "SHL" + }, + "5745": { + "op": "PUSH1", + "value": "0x0" + }, + "5747": { + "op": "MSTORE" + }, + "5748": { + "op": "PUSH1", + "value": "0x12" + }, + "5750": { + "op": "PUSH1", + "value": "0x4" + }, + "5752": { + "op": "MSTORE" + }, + "5753": { + "op": "PUSH1", + "value": "0x24" + }, + "5755": { + "op": "PUSH1", + "value": "0x0" + }, + "5757": { + "op": "REVERT" + }, + "5758": { + "op": "JUMPDEST" + }, + "5759": { + "op": "PUSH1", + "value": "0x0" + }, + "5761": { + "op": "DUP3" + }, + "5762": { + "op": "PUSH2", + "value": "0x168D" + }, + "5765": { + "op": "JUMPI" + }, + "5766": { + "op": "PUSH2", + "value": "0x168D" + }, + "5769": { + "op": "PUSH2", + "value": "0x1668" + }, + "5772": { + "jump": "i", + "op": "JUMP" + }, + "5773": { + "op": "JUMPDEST" + }, + "5774": { + "op": "POP" + }, + "5775": { + "op": "DIV" + }, + "5776": { + "op": "SWAP1" + }, + "5777": { + "jump": "o", + "op": "JUMP" + }, + "5778": { + "op": "JUMPDEST" + }, + "5779": { + "op": "PUSH1", + "value": "0x0" + }, + "5781": { + "op": "DUP3" + }, + "5782": { + "op": "DUP3" + }, + "5783": { + "op": "LT" + }, + "5784": { + "op": "ISZERO" + }, + "5785": { + "op": "PUSH2", + "value": "0x16A4" + }, + "5788": { + "op": "JUMPI" + }, + "5789": { + "op": "PUSH2", + "value": "0x16A4" + }, + "5792": { + "op": "PUSH2", + "value": "0x1639" + }, + "5795": { + "jump": "i", + "op": "JUMP" + }, + "5796": { + "op": "JUMPDEST" + }, + "5797": { + "op": "POP" + }, + "5798": { + "op": "SUB" + }, + "5799": { + "op": "SWAP1" + }, + "5800": { + "jump": "o", + "op": "JUMP" + }, + "5801": { + "op": "JUMPDEST" + }, + "5802": { + "op": "PUSH1", + "value": "0x0" + }, + "5804": { + "op": "DUP3" + }, + "5805": { + "op": "PUSH2", + "value": "0x16B8" + }, + "5808": { + "op": "JUMPI" + }, + "5809": { + "op": "PUSH2", + "value": "0x16B8" + }, + "5812": { + "op": "PUSH2", + "value": "0x1668" + }, + "5815": { + "jump": "i", + "op": "JUMP" + }, + "5816": { + "op": "JUMPDEST" + }, + "5817": { + "op": "POP" + }, + "5818": { + "op": "MOD" + }, + "5819": { + "op": "SWAP1" + }, + "5820": { + "jump": "o", + "op": "JUMP" + }, + "5821": { + "op": "JUMPDEST" + }, + "5822": { + "op": "PUSH1", + "value": "0x0" + }, + "5824": { + "op": "DUP3" + }, + "5825": { + "op": "NOT" + }, + "5826": { + "op": "DUP3" + }, + "5827": { + "op": "GT" + }, + "5828": { + "op": "ISZERO" + }, + "5829": { + "op": "PUSH2", + "value": "0x16D0" + }, + "5832": { + "op": "JUMPI" + }, + "5833": { + "op": "PUSH2", + "value": "0x16D0" + }, + "5836": { + "op": "PUSH2", + "value": "0x1639" + }, + "5839": { + "jump": "i", + "op": "JUMP" + }, + "5840": { + "op": "JUMPDEST" + }, + "5841": { + "op": "POP" + }, + "5842": { + "op": "ADD" + }, + "5843": { + "op": "SWAP1" + }, + "5844": { + "jump": "o", + "op": "JUMP" + }, + "5845": { + "op": "JUMPDEST" + }, + "5846": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5851": { + "op": "PUSH1", + "value": "0xE0" + }, + "5853": { + "op": "SHL" + }, + "5854": { + "op": "PUSH1", + "value": "0x0" + }, + "5856": { + "op": "MSTORE" + }, + "5857": { + "op": "PUSH1", + "value": "0x32" + }, + "5859": { + "op": "PUSH1", + "value": "0x4" + }, + "5861": { + "op": "MSTORE" + }, + "5862": { + "op": "PUSH1", + "value": "0x24" + }, + "5864": { + "op": "PUSH1", + "value": "0x0" + }, + "5866": { + "op": "REVERT" + } + }, + "sha1": "22565b0fcb69b8742191edb364df0e568de33141", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"../ERC721A.sol\";\n\ncontract ERC721AMock is ERC721A {\n constructor(string memory name_, string memory symbol_) ERC721A(name_, symbol_) {}\n\n function numberMinted(address owner) public view returns (uint256) {\n return _numberMinted(owner);\n }\n\n function totalMinted() public view returns (uint256) {\n return _totalMinted();\n }\n\n function getAux(address owner) public view returns (uint64) {\n return _getAux(owner);\n }\n\n function setAux(address owner, uint64 aux) public {\n _setAux(owner, aux);\n }\n\n function baseURI() public view returns (string memory) {\n return _baseURI();\n }\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function safeMint(address to, uint256 quantity) public {\n _safeMint(to, quantity);\n }\n\n function safeMint(\n address to,\n uint256 quantity,\n bytes memory _data\n ) public {\n _safeMint(to, quantity, _data);\n }\n\n function mint(address to, uint256 quantity) public {\n _mint(to, quantity);\n }\n\n function burn(uint256 tokenId, bool approvalCheck) public {\n super._burn(tokenId, approvalCheck);\n }\n}\n", + "sourceMap": "480:1201:32:-:0;;;518:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;582:5;589:7;2285:5:17;:13;582:5:32;2285::17;:13;:::i;:::-;-1:-1:-1;2308:7:17;:17;2318:7;2308;:17;:::i;:::-;-1:-1:-1;2521:7:17;2335:13;:31;-1:-1:-1;480:1201:32;;-1:-1:-1;;;480:1201:32;14:127:43;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:43;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;2114:545::-;2216:2;2211:3;2208:11;2205:448;;;2252:1;2277:5;2273:2;2266:17;2322:4;2318:2;2308:19;2392:2;2380:10;2376:19;2373:1;2369:27;2363:4;2359:38;2428:4;2416:10;2413:20;2410:47;;;-1:-1:-1;2451:4:43;2410:47;2506:2;2501:3;2497:12;2494:1;2490:20;2484:4;2480:31;2470:41;;2561:82;2579:2;2572:5;2569:13;2561:82;;;2624:17;;;2605:1;2594:13;2561:82;;;2565:3;;;2205:448;2114:545;;;:::o;2835:1352::-;2955:10;;-1:-1:-1;;;;;2977:30:43;;2974:56;;;3010:18;;:::i;:::-;3039:97;3129:6;3089:38;3121:4;3115:11;3089:38;:::i;:::-;3083:4;3039:97;:::i;:::-;3191:4;;3255:2;3244:14;;3272:1;3267:663;;;;3974:1;3991:6;3988:89;;;-1:-1:-1;4043:19:43;;;4037:26;3988:89;-1:-1:-1;;2792:1:43;2788:11;;;2784:24;2780:29;2770:40;2816:1;2812:11;;;2767:57;4090:81;;3237:944;;3267:663;2061:1;2054:14;;;2098:4;2085:18;;-1:-1:-1;;3303:20:43;;;3421:236;3435:7;3432:1;3429:14;3421:236;;;3524:19;;;3518:26;3503:42;;3616:27;;;;3584:1;3572:14;;;;3451:19;;3421:236;;;3425:3;3685:6;3676:7;3673:19;3670:201;;;3746:19;;;3740:26;-1:-1:-1;;3829:1:43;3825:14;;;3841:3;3821:24;3817:37;3813:42;3798:58;3783:74;;3670:201;-1:-1:-1;;;;;3917:1:43;3901:14;;;3897:22;3884:36;;-1:-1:-1;2835:1352:43:o;:::-;480:1201:32;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721AStartTokenIdMock.json b/tests/build/contracts/ERC721AStartTokenIdMock.json new file mode 100644 index 0000000..738eb60 --- /dev/null +++ b/tests/build/contracts/ERC721AStartTokenIdMock.json @@ -0,0 +1,29894 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "internalType": "uint256", + "name": "startTokenId_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "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": "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": "baseURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "approvalCheck", + "type": "bool" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "exists", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "getAux", + "outputs": [ + { + "internalType": "uint64", + "name": "", + "type": "uint64" + } + ], + "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": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "safeMint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "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": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint64", + "name": "aux", + "type": "uint64" + } + ], + "name": "setAux", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "startTokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalMinted", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "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" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "32": "contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol", + "33": "contracts/contracts/packages/nft/contracts/mocks/ERC721AStartTokenIdMock.sol", + "35": "contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721AStartTokenIdMock.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "ERC721AMock": [ + 3910 + ], + "ERC721AStartTokenIdMock": [ + 3945 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "StartTokenIdHelper": [ + 4021 + ], + "Strings": [ + 6613 + ] + }, + "id": 3946, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3912, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:33" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol", + "file": "./ERC721AMock.sol", + "id": 3913, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3946, + "sourceUnit": 3911, + "src": "454:27:33", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol", + "file": "./StartTokenIdHelper.sol", + "id": 3914, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3946, + "sourceUnit": 4022, + "src": "482:34:33", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3915, + "name": "StartTokenIdHelper", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4021, + "src": "554:18:33" + }, + "id": 3916, + "nodeType": "InheritanceSpecifier", + "src": "554:18:33" + }, + { + "baseName": { + "id": 3917, + "name": "ERC721AMock", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3910, + "src": "574:11:33" + }, + "id": 3918, + "nodeType": "InheritanceSpecifier", + "src": "574:11:33" + } + ], + "canonicalName": "ERC721AStartTokenIdMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3945, + "linearizedBaseContracts": [ + 3945, + 3910, + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410, + 4021 + ], + "name": "ERC721AStartTokenIdMock", + "nameLocation": "527:23:33", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3934, + "nodeType": "Block", + "src": "763:2:33", + "statements": [] + }, + "id": 3935, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 3927, + "name": "startTokenId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3924, + "src": "720:13:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3928, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3926, + "name": "StartTokenIdHelper", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4021, + "src": "701:18:33" + }, + "nodeType": "ModifierInvocation", + "src": "701:33:33" + }, + { + "arguments": [ + { + "id": 3930, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3920, + "src": "747:5:33", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3931, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3922, + "src": "754:7:33", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 3932, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 3929, + "name": "ERC721AMock", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3910, + "src": "735:11:33" + }, + "nodeType": "ModifierInvocation", + "src": "735:27:33" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3925, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3920, + "mutability": "mutable", + "name": "name_", + "nameLocation": "627:5:33", + "nodeType": "VariableDeclaration", + "scope": 3935, + "src": "613:19:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3919, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "613:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3922, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "656:7:33", + "nodeType": "VariableDeclaration", + "scope": 3935, + "src": "642:21:33", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3921, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "642:6:33", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3924, + "mutability": "mutable", + "name": "startTokenId_", + "nameLocation": "681:13:33", + "nodeType": "VariableDeclaration", + "scope": 3935, + "src": "673:21:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3923, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "673:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "603:97:33" + }, + "returnParameters": { + "id": 3933, + "nodeType": "ParameterList", + "parameters": [], + "src": "763:0:33" + }, + "scope": 3945, + "src": "592:173:33", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1412 + ], + "body": { + "id": 3943, + "nodeType": "Block", + "src": "837:36:33", + "statements": [ + { + "expression": { + "id": 3941, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4010, + "src": "854:12:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3940, + "id": 3942, + "nodeType": "Return", + "src": "847:19:33" + } + ] + }, + "id": 3944, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_startTokenId", + "nameLocation": "780:13:33", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3937, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "810:8:33" + }, + "parameters": { + "id": 3936, + "nodeType": "ParameterList", + "parameters": [], + "src": "793:2:33" + }, + "returnParameters": { + "id": 3940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3939, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3944, + "src": "828:7:33", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3938, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "828:7:33", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "827:9:33" + }, + "scope": 3945, + "src": "771:102:33", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3946, + "src": "518:357:33", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367 + ] + } + ], + "src": "429:447:33" + }, + "bytecode": "60806040523480156200001157600080fd5b5060405162001aab38038062001aab83398101604081905262000034916200013c565b60008190558282818160036200004b83826200023e565b5060046200005a82826200023e565b50600054600155506200030a95505050505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009757600080fd5b81516001600160401b0380821115620000b457620000b46200006f565b604051601f8301601f19908116603f01168101908282118183101715620000df57620000df6200006f565b81604052838152602092508683858801011115620000fc57600080fd5b600091505b8382101562000120578582018301518183018401529082019062000101565b83821115620001325760008385830101525b9695505050505050565b6000806000606084860312156200015257600080fd5b83516001600160401b03808211156200016a57600080fd5b620001788783880162000085565b945060208601519150808211156200018f57600080fd5b506200019e8682870162000085565b925050604084015190509250925092565b600181811c90821680620001c457607f821691505b602082108103620001e557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200023957600081815260208120601f850160051c81016020861015620002145750805b601f850160051c820191505b81811015620002355782815560010162000220565b5050505b505050565b81516001600160401b038111156200025a576200025a6200006f565b62000272816200026b8454620001af565b84620001eb565b602080601f831160018114620002aa5760008415620002915750858301515b600019600386901b1c1916600185901b17855562000235565b600085815260208120601f198616915b82811015620002db57888601518255948401946001909101908401620002ba565b5085821015620002fa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611791806200031a6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a2309ff811610097578063c87b56dd11610071578063c87b56dd1461036f578063dc33e68114610382578063e6798baa14610395578063e985e9c51461039e57600080fd5b8063a2309ff814610325578063b88d4fde14610331578063bf0b175e1461034457600080fd5b806370a08231146102be5780638832e6e3146102d157806395d89b41146102e45780639fac68cb146102ec578063a1448194146102ff578063a22cb4651461031257600080fd5b806340c10f191161013057806340c10f191461022257806342842e0e14610235578063453ab141146102485780634f558e79146102905780636352211e146102a35780636c0360eb146102b657600080fd5b806301ffc9a71461017857806306fdde03146101a0578063081812fc146101b5578063095ea7b3146101e057806318160ddd146101f557806323b872dd1461020f575b600080fd5b61018b610186366004611256565b6103da565b60405190151581526020015b60405180910390f35b6101a861042c565b60405161019791906112cb565b6101c86101c33660046112de565b6104be565b6040516001600160a01b039091168152602001610197565b6101f36101ee366004611313565b610502565b005b60005460025460015403035b604051908152602001610197565b6101f361021d36600461133d565b610588565b6101f3610230366004611313565b610593565b6101f361024336600461133d565b6105a1565b6101f3610256366004611379565b6001600160a01b038216600090815260066020526040902080546001600160c01b0316600160c01b6001600160401b038416021790555050565b61018b61029e3660046112de565b6105bc565b6101c86102b13660046112de565b6105c7565b6101a86105d9565b6102016102cc3660046113bc565b6105f5565b6101f36102df366004611479565b610643565b6101a861064e565b6101f36102fa3660046114df565b61065d565b6101f361030d366004611313565b610667565b6101f361032036600461150b565b610671565b60005460015403610201565b6101f361033f366004611535565b610706565b6103576103523660046113bc565b610750565b6040516001600160401b039091168152602001610197565b6101a861037d3660046112de565b61077e565b6102016103903660046113bc565b61080f565b61020160005481565b61018b6103ac36600461159c565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061040b57506001600160e01b03198216635b5e139f60e01b145b8061042657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461043b906115c6565b80601f0160208091040260200160405190810160405280929190818152602001828054610467906115c6565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b5050505050905090565b60006104c98261083d565b6104e6576040516333d1c03960e21b815260040160405180910390fd5b506000908152600760205260409020546001600160a01b031690565b600061050d826105c7565b9050806001600160a01b0316836001600160a01b0316036105415760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b038216146105785761055b81336103ac565b610578576040516367d9dca160e11b815260040160405180910390fd5b61058383838361087d565b505050565b6105838383836108d9565b61059d8282610ab4565b5050565b61058383838360405180602001604052806000815250610706565b60006104268261083d565b60006105d282610bc6565b5192915050565b60606105f060408051602081019091526000815290565b905090565b60006001600160a01b03821661061e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600660205260409020546001600160401b031690565b610583838383610cef565b60606004805461043b906115c6565b61059d8282610e83565b61059d8282611037565b336001600160a01b0383160361069a5760405163b06307db60e01b815260040160405180910390fd5b3360008181526008602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6107118484846108d9565b6001600160a01b0383163b1561074a5761072d84848484611051565b61074a576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6001600160a01b038116600090815260066020526040812054600160c01b90046001600160401b0316610426565b60606107898261083d565b6107a657604051630a14c4b560e41b815260040160405180910390fd5b60006107bd60408051602081019091526000815290565b905080516000036107dd5760405180602001604052806000815250610808565b806107e78461113d565b6040516020016107f8929190611600565b6040516020818303038152906040525b9392505050565b6001600160a01b038116600090815260066020526040812054600160401b90046001600160401b0316610426565b60008161084960005490565b11158015610858575060015482105b8015610426575050600090815260056020526040902054600160e01b900460ff161590565b60008281526007602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108e482610bc6565b9050836001600160a01b031681600001516001600160a01b03161461091b5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610939575061093985336103ac565b80610954575033610949846104be565b6001600160a01b0316145b90508061097457604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661099b57604051633a954ecd60e21b815260040160405180910390fd5b6109a76000848761087d565b6001600160a01b038581166000908152600660209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600590945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a7b576001548214610a7b57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b031660008051602061173c83398151915260405160405180910390a45050505050565b6001546001600160a01b038316610add57604051622e076360e81b815260040160405180910390fd5b81600003610afe5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600590925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b0387169060009060008051602061173c833981519152908290a4808210610b8c5750600155505050565b60408051606081018252600080825260208201819052918101919091528180610bee60005490565b11610cd657600154811015610cd657600081815260056020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610cd45780516001600160a01b031615610c6b579392505050565b5060001901600081815260056020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610ccf579392505050565b610c6b565b505b604051636f96cda160e11b815260040160405180910390fd5b6001546001600160a01b038416610d1857604051622e076360e81b815260040160405180910390fd5b82600003610d395760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260066020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600590925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15610e41575b60405182906001600160a01b0388169060009060008051602061173c833981519152908290a4610e0a6000878480600101955087611051565b610e27576040516368d2bf6b60e11b815260040160405180910390fd5b808210610dd1578260015414610e3c57600080fd5b610e74565b5b6040516001830192906001600160a01b0388169060009060008051602061173c833981519152908290a4808210610e42575b5060015561074a600085838684565b6000610e8e83610bc6565b80519091508215610ef4576000336001600160a01b0383161480610eb75750610eb782336103ac565b80610ed2575033610ec7866104be565b6001600160a01b0316145b905080610ef257604051632ce44b5f60e11b815260040160405180910390fd5b505b610f006000858361087d565b6001600160a01b0380821660008181526006602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526005909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610ffe576001548214610ffe57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b0384169060008051602061173c833981519152908390a450506002805460010190555050565b61059d828260405180602001604052806000815250610cef565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061108690339089908890889060040161162f565b6020604051808303816000875af19250505080156110c1575060408051601f3d908101601f191682019092526110be9181019061166c565b60015b61111f573d8080156110ef576040519150601f19603f3d011682016040523d82523d6000602084013e6110f4565b606091505b508051600003611117576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060816000036111645750506040805180820190915260018152600360fc1b602082015290565b8160005b811561118e57806111788161169f565b91506111879050600a836116ce565b9150611168565b6000816001600160401b038111156111a8576111a86113d7565b6040519080825280601f01601f1916602001820160405280156111d2576020820181803683370190505b5090505b8415611135576111e76001836116e2565b91506111f4600a866116f9565b6111ff90603061170d565b60f81b81838151811061121457611214611725565b60200101906001600160f81b031916908160001a905350611236600a866116ce565b94506111d6565b6001600160e01b03198116811461125357600080fd5b50565b60006020828403121561126857600080fd5b81356108088161123d565b60005b8381101561128e578181015183820152602001611276565b8381111561074a5750506000910152565b600081518084526112b7816020860160208601611273565b601f01601f19169290920160200192915050565b602081526000610808602083018461129f565b6000602082840312156112f057600080fd5b5035919050565b80356001600160a01b038116811461130e57600080fd5b919050565b6000806040838503121561132657600080fd5b61132f836112f7565b946020939093013593505050565b60008060006060848603121561135257600080fd5b61135b846112f7565b9250611369602085016112f7565b9150604084013590509250925092565b6000806040838503121561138c57600080fd5b611395836112f7565b915060208301356001600160401b03811681146113b157600080fd5b809150509250929050565b6000602082840312156113ce57600080fd5b610808826112f7565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126113fe57600080fd5b81356001600160401b0380821115611418576114186113d7565b604051601f8301601f19908116603f01168101908282118183101715611440576114406113d7565b8160405283815286602085880101111561145957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561148e57600080fd5b611497846112f7565b92506020840135915060408401356001600160401b038111156114b957600080fd5b6114c5868287016113ed565b9150509250925092565b8035801515811461130e57600080fd5b600080604083850312156114f257600080fd5b82359150611502602084016114cf565b90509250929050565b6000806040838503121561151e57600080fd5b611527836112f7565b9150611502602084016114cf565b6000806000806080858703121561154b57600080fd5b611554856112f7565b9350611562602086016112f7565b92506040850135915060608501356001600160401b0381111561158457600080fd5b611590878288016113ed565b91505092959194509250565b600080604083850312156115af57600080fd5b6115b8836112f7565b9150611502602084016112f7565b600181811c908216806115da57607f821691505b6020821081036115fa57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351611612818460208801611273565b835190830190611626818360208801611273565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116629083018461129f565b9695505050505050565b60006020828403121561167e57600080fd5b81516108088161123d565b634e487b7160e01b600052601160045260246000fd5b6000600182016116b1576116b1611689565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826116dd576116dd6116b8565b500490565b6000828210156116f4576116f4611689565b500390565b600082611708576117086116b8565b500690565b6000821982111561172057611720611689565b500190565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220187cec18474ce634e97a50295466e983fe9090cca007ad16c1fed726c28e100a64736f6c634300080f0033", + "bytecodeSha1": "e5dd6e1947f96fa261f45ab72fcb1ef01d94131e", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721AStartTokenIdMock", + "coverageMap": { + "branches": { + "1": {}, + "17": { + "ERC721A._burn": { + "113": [ + 16787, + 16804, + false + ], + "114": [ + 18282, + 18310, + false + ] + }, + "ERC721A._checkContractOnERC721Received": { + "115": [ + 19927, + 19945, + false + ] + }, + "ERC721A._mint": { + "103": [ + 12705, + 12721, + false + ], + "104": [ + 12763, + 12776, + false + ] + }, + "ERC721A._ownershipOf": { + "105": [ + 5244, + 5267, + false + ], + "106": [ + 5289, + 5309, + false + ], + "107": [ + 5459, + 5487, + false + ], + "108": [ + 6021, + 6049, + false + ] + }, + "ERC721A._safeMint": { + "109": [ + 10804, + 10820, + false + ], + "110": [ + 10862, + 10875, + false + ], + "111": [ + 11732, + 11801, + false + ], + "112": [ + 12007, + 12036, + false + ] + }, + "ERC721A._transfer": { + "99": [ + 14163, + 14189, + false + ], + "100": [ + 14380, + 14397, + false + ], + "101": [ + 14455, + 14471, + false + ], + "102": [ + 15745, + 15773, + false + ] + }, + "ERC721A.approve": { + "91": [ + 7663, + 7674, + false + ], + "92": [ + 7722, + 7743, + false + ], + "93": [ + 7762, + 7799, + false + ] + }, + "ERC721A.balanceOf": { + "94": [ + 3832, + 3851, + false + ] + }, + "ERC721A.getApproved": { + "90": [ + 8074, + 8090, + false + ] + }, + "ERC721A.safeTransferFrom": { + "96": [ + 9533, + 9589, + false + ] + }, + "ERC721A.setApprovalForAll": { + "95": [ + 8347, + 8371, + false + ] + }, + "ERC721A.tokenURI": { + "97": [ + 6937, + 6953, + false + ], + "98": [ + 7053, + 7079, + true + ] + } + }, + "22": {}, + "3": {}, + "32": {}, + "33": {}, + "35": {}, + "5": {}, + "7": {}, + "8": {} + }, + "statements": { + "1": {}, + "17": { + "ERC721A._approve": { + "39": [ + 18958, + 18987 + ], + "40": [ + 18997, + 19030 + ] + }, + "ERC721A._baseURI": { + "20": [ + 7464, + 7473 + ] + }, + "ERC721A._burn": { + "76": [ + 16782, + 16848 + ], + "77": [ + 16982, + 17017 + ], + "78": [ + 17373, + 17397 + ], + "79": [ + 17411, + 17440 + ], + "80": [ + 17604, + 17624 + ], + "81": [ + 17638, + 17687 + ], + "82": [ + 17701, + 17723 + ], + "83": [ + 18334, + 18354 + ], + "84": [ + 18376, + 18430 + ], + "85": [ + 18483, + 18523 + ], + "86": [ + 18706, + 18720 + ] + }, + "ERC721A._checkContractOnERC721Received": { + "88": [ + 19923, + 20152 + ], + "89": [ + 19807, + 19869 + ] + }, + "ERC721A._exists": { + "38": [ + 9996, + 10088 + ] + }, + "ERC721A._getAux": { + "32": [ + 4574, + 4604 + ] + }, + "ERC721A._mint": { + "52": [ + 12701, + 12749 + ], + "53": [ + 12759, + 12803 + ], + "54": [ + 13146, + 13190 + ], + "55": [ + 13204, + 13253 + ], + "56": [ + 13268, + 13303 + ], + "57": [ + 13317, + 13383 + ], + "58": [ + 13520, + 13565 + ], + "59": [ + 13622, + 13650 + ] + }, + "ERC721A._numberMinted": { + "36": [ + 4105, + 4153 + ] + }, + "ERC721A._ownershipOf": { + "60": [ + 5519, + 5535 + ], + "61": [ + 5922, + 5928 + ], + "62": [ + 5958, + 5987 + ], + "63": [ + 6085, + 6101 + ] + }, + "ERC721A._safeMint": { + "64": [ + 10800, + 10848 + ], + "65": [ + 10858, + 10902 + ], + "66": [ + 11245, + 11289 + ], + "67": [ + 11303, + 11352 + ], + "68": [ + 11367, + 11402 + ], + "69": [ + 11416, + 11482 + ], + "70": [ + 11662, + 11705 + ], + "71": [ + 11727, + 11899 + ], + "72": [ + 12038, + 12046 + ], + "73": [ + 12110, + 12155 + ], + "74": [ + 12229, + 12257 + ], + "75": [ + 12277, + 12337 + ], + "87": [ + 10242, + 10269 + ] + }, + "ERC721A._setAux": { + "2": [ + 4856, + 4885 + ] + }, + "ERC721A._totalMinted": { + "3": [ + 3300, + 3338 + ] + }, + "ERC721A._transfer": { + "41": [ + 14159, + 14226 + ], + "42": [ + 14375, + 14441 + ], + "43": [ + 14451, + 14503 + ], + "44": [ + 14619, + 14654 + ], + "45": [ + 14944, + 14975 + ], + "46": [ + 14989, + 15018 + ], + "47": [ + 15101, + 15119 + ], + "48": [ + 15133, + 15182 + ], + "49": [ + 15797, + 15817 + ], + "50": [ + 15839, + 15893 + ], + "51": [ + 15946, + 15978 + ] + }, + "ERC721A.approve": { + "10": [ + 7659, + 7707 + ], + "12": [ + 7757, + 7876 + ], + "13": [ + 7886, + 7914 + ] + }, + "ERC721A.balanceOf": { + "21": [ + 3828, + 3888 + ], + "22": [ + 3898, + 3941 + ] + }, + "ERC721A.getApproved": { + "8": [ + 8069, + 8133 + ], + "9": [ + 8144, + 8175 + ] + }, + "ERC721A.isApprovedForAll": { + "4": [ + 8710, + 8752 + ] + }, + "ERC721A.name": { + "7": [ + 6583, + 6595 + ] + }, + "ERC721A.ownerOf": { + "18": [ + 6402, + 6435 + ] + }, + "ERC721A.safeTransferFrom": { + "16": [ + 9184, + 9223 + ], + "30": [ + 9457, + 9485 + ], + "31": [ + 9528, + 9671 + ] + }, + "ERC721A.setApprovalForAll": { + "27": [ + 8343, + 8397 + ], + "28": [ + 8408, + 8461 + ], + "29": [ + 8471, + 8524 + ] + }, + "ERC721A.supportsInterface": { + "5": [ + 3540, + 3679 + ] + }, + "ERC721A.symbol": { + "24": [ + 6747, + 6761 + ] + }, + "ERC721A.tokenURI": { + "34": [ + 6932, + 6991 + ], + "35": [ + 7046, + 7140 + ] + }, + "ERC721A.totalSupply": { + "1": [ + 2920, + 2973 + ] + }, + "ERC721A.transferFrom": { + "14": [ + 8950, + 8978 + ] + } + }, + "22": {}, + "3": {}, + "32": { + "ERC721AMock.baseURI": { + "19": [ + 1081, + 1098 + ] + }, + "ERC721AMock.burn": { + "25": [ + 1637, + 1672 + ] + }, + "ERC721AMock.exists": { + "17": [ + 1181, + 1204 + ] + }, + "ERC721AMock.getAux": { + "33": [ + 890, + 911 + ] + }, + "ERC721AMock.mint": { + "15": [ + 1537, + 1556 + ] + }, + "ERC721AMock.numberMinted": { + "37": [ + 683, + 710 + ] + }, + "ERC721AMock.safeMint": { + "23": [ + 1433, + 1463 + ], + "26": [ + 1282, + 1305 + ] + } + }, + "33": { + "ERC721AStartTokenIdMock._startTokenId": { + "0": [ + 847, + 866 + ] + } + }, + "35": {}, + "5": { + "Context._msgSender": { + "11": [ + 712, + 729 + ] + } + }, + "7": { + "ERC165.supportsInterface": { + "6": [ + 930, + 977 + ] + } + }, + "8": {} + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "ERC721A", + "ERC721AMock", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata", + "StartTokenIdHelper" + ], + "deployedBytecode": "608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a2309ff811610097578063c87b56dd11610071578063c87b56dd1461036f578063dc33e68114610382578063e6798baa14610395578063e985e9c51461039e57600080fd5b8063a2309ff814610325578063b88d4fde14610331578063bf0b175e1461034457600080fd5b806370a08231146102be5780638832e6e3146102d157806395d89b41146102e45780639fac68cb146102ec578063a1448194146102ff578063a22cb4651461031257600080fd5b806340c10f191161013057806340c10f191461022257806342842e0e14610235578063453ab141146102485780634f558e79146102905780636352211e146102a35780636c0360eb146102b657600080fd5b806301ffc9a71461017857806306fdde03146101a0578063081812fc146101b5578063095ea7b3146101e057806318160ddd146101f557806323b872dd1461020f575b600080fd5b61018b610186366004611256565b6103da565b60405190151581526020015b60405180910390f35b6101a861042c565b60405161019791906112cb565b6101c86101c33660046112de565b6104be565b6040516001600160a01b039091168152602001610197565b6101f36101ee366004611313565b610502565b005b60005460025460015403035b604051908152602001610197565b6101f361021d36600461133d565b610588565b6101f3610230366004611313565b610593565b6101f361024336600461133d565b6105a1565b6101f3610256366004611379565b6001600160a01b038216600090815260066020526040902080546001600160c01b0316600160c01b6001600160401b038416021790555050565b61018b61029e3660046112de565b6105bc565b6101c86102b13660046112de565b6105c7565b6101a86105d9565b6102016102cc3660046113bc565b6105f5565b6101f36102df366004611479565b610643565b6101a861064e565b6101f36102fa3660046114df565b61065d565b6101f361030d366004611313565b610667565b6101f361032036600461150b565b610671565b60005460015403610201565b6101f361033f366004611535565b610706565b6103576103523660046113bc565b610750565b6040516001600160401b039091168152602001610197565b6101a861037d3660046112de565b61077e565b6102016103903660046113bc565b61080f565b61020160005481565b61018b6103ac36600461159c565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061040b57506001600160e01b03198216635b5e139f60e01b145b8061042657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461043b906115c6565b80601f0160208091040260200160405190810160405280929190818152602001828054610467906115c6565b80156104b45780601f10610489576101008083540402835291602001916104b4565b820191906000526020600020905b81548152906001019060200180831161049757829003601f168201915b5050505050905090565b60006104c98261083d565b6104e6576040516333d1c03960e21b815260040160405180910390fd5b506000908152600760205260409020546001600160a01b031690565b600061050d826105c7565b9050806001600160a01b0316836001600160a01b0316036105415760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b038216146105785761055b81336103ac565b610578576040516367d9dca160e11b815260040160405180910390fd5b61058383838361087d565b505050565b6105838383836108d9565b61059d8282610ab4565b5050565b61058383838360405180602001604052806000815250610706565b60006104268261083d565b60006105d282610bc6565b5192915050565b60606105f060408051602081019091526000815290565b905090565b60006001600160a01b03821661061e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600660205260409020546001600160401b031690565b610583838383610cef565b60606004805461043b906115c6565b61059d8282610e83565b61059d8282611037565b336001600160a01b0383160361069a5760405163b06307db60e01b815260040160405180910390fd5b3360008181526008602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6107118484846108d9565b6001600160a01b0383163b1561074a5761072d84848484611051565b61074a576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6001600160a01b038116600090815260066020526040812054600160c01b90046001600160401b0316610426565b60606107898261083d565b6107a657604051630a14c4b560e41b815260040160405180910390fd5b60006107bd60408051602081019091526000815290565b905080516000036107dd5760405180602001604052806000815250610808565b806107e78461113d565b6040516020016107f8929190611600565b6040516020818303038152906040525b9392505050565b6001600160a01b038116600090815260066020526040812054600160401b90046001600160401b0316610426565b60008161084960005490565b11158015610858575060015482105b8015610426575050600090815260056020526040902054600160e01b900460ff161590565b60008281526007602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108e482610bc6565b9050836001600160a01b031681600001516001600160a01b03161461091b5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610939575061093985336103ac565b80610954575033610949846104be565b6001600160a01b0316145b90508061097457604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661099b57604051633a954ecd60e21b815260040160405180910390fd5b6109a76000848761087d565b6001600160a01b038581166000908152600660209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600590945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a7b576001548214610a7b57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b031660008051602061173c83398151915260405160405180910390a45050505050565b6001546001600160a01b038316610add57604051622e076360e81b815260040160405180910390fd5b81600003610afe5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260066020908152604080832080546001600160801b031981166001600160401b038083168a018116918217600160401b67ffffffffffffffff1990941690921783900481168a01811690920217909155858452600590925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b0387169060009060008051602061173c833981519152908290a4808210610b8c5750600155505050565b60408051606081018252600080825260208201819052918101919091528180610bee60005490565b11610cd657600154811015610cd657600081815260056020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff16151591810182905290610cd45780516001600160a01b031615610c6b579392505050565b5060001901600081815260056020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215610ccf579392505050565b610c6b565b505b604051636f96cda160e11b815260040160405180910390fd5b6001546001600160a01b038416610d1857604051622e076360e81b815260040160405180910390fd5b82600003610d395760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038416600081815260066020908152604080832080546001600160801b031981166001600160401b038083168b018116918217600160401b67ffffffffffffffff1990941690921783900481168b01811690920217909155858452600590925290912080546001600160e01b0319168317600160a01b42909316929092029190911790558190818501903b15610e41575b60405182906001600160a01b0388169060009060008051602061173c833981519152908290a4610e0a6000878480600101955087611051565b610e27576040516368d2bf6b60e11b815260040160405180910390fd5b808210610dd1578260015414610e3c57600080fd5b610e74565b5b6040516001830192906001600160a01b0388169060009060008051602061173c833981519152908290a4808210610e42575b5060015561074a600085838684565b6000610e8e83610bc6565b80519091508215610ef4576000336001600160a01b0383161480610eb75750610eb782336103ac565b80610ed2575033610ec7866104be565b6001600160a01b0316145b905080610ef257604051632ce44b5f60e11b815260040160405180910390fd5b505b610f006000858361087d565b6001600160a01b0380821660008181526006602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526005909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610ffe576001548214610ffe57805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b0384169060008051602061173c833981519152908390a450506002805460010190555050565b61059d828260405180602001604052806000815250610cef565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061108690339089908890889060040161162f565b6020604051808303816000875af19250505080156110c1575060408051601f3d908101601f191682019092526110be9181019061166c565b60015b61111f573d8080156110ef576040519150601f19603f3d011682016040523d82523d6000602084013e6110f4565b606091505b508051600003611117576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060816000036111645750506040805180820190915260018152600360fc1b602082015290565b8160005b811561118e57806111788161169f565b91506111879050600a836116ce565b9150611168565b6000816001600160401b038111156111a8576111a86113d7565b6040519080825280601f01601f1916602001820160405280156111d2576020820181803683370190505b5090505b8415611135576111e76001836116e2565b91506111f4600a866116f9565b6111ff90603061170d565b60f81b81838151811061121457611214611725565b60200101906001600160f81b031916908160001a905350611236600a866116ce565b94506111d6565b6001600160e01b03198116811461125357600080fd5b50565b60006020828403121561126857600080fd5b81356108088161123d565b60005b8381101561128e578181015183820152602001611276565b8381111561074a5750506000910152565b600081518084526112b7816020860160208601611273565b601f01601f19169290920160200192915050565b602081526000610808602083018461129f565b6000602082840312156112f057600080fd5b5035919050565b80356001600160a01b038116811461130e57600080fd5b919050565b6000806040838503121561132657600080fd5b61132f836112f7565b946020939093013593505050565b60008060006060848603121561135257600080fd5b61135b846112f7565b9250611369602085016112f7565b9150604084013590509250925092565b6000806040838503121561138c57600080fd5b611395836112f7565b915060208301356001600160401b03811681146113b157600080fd5b809150509250929050565b6000602082840312156113ce57600080fd5b610808826112f7565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126113fe57600080fd5b81356001600160401b0380821115611418576114186113d7565b604051601f8301601f19908116603f01168101908282118183101715611440576114406113d7565b8160405283815286602085880101111561145957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561148e57600080fd5b611497846112f7565b92506020840135915060408401356001600160401b038111156114b957600080fd5b6114c5868287016113ed565b9150509250925092565b8035801515811461130e57600080fd5b600080604083850312156114f257600080fd5b82359150611502602084016114cf565b90509250929050565b6000806040838503121561151e57600080fd5b611527836112f7565b9150611502602084016114cf565b6000806000806080858703121561154b57600080fd5b611554856112f7565b9350611562602086016112f7565b92506040850135915060608501356001600160401b0381111561158457600080fd5b611590878288016113ed565b91505092959194509250565b600080604083850312156115af57600080fd5b6115b8836112f7565b9150611502602084016112f7565b600181811c908216806115da57607f821691505b6020821081036115fa57634e487b7160e01b600052602260045260246000fd5b50919050565b60008351611612818460208801611273565b835190830190611626818360208801611273565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116629083018461129f565b9695505050505050565b60006020828403121561167e57600080fd5b81516108088161123d565b634e487b7160e01b600052601160045260246000fd5b6000600182016116b1576116b1611689565b5060010190565b634e487b7160e01b600052601260045260246000fd5b6000826116dd576116dd6116b8565b500490565b6000828210156116f4576116f4611689565b500390565b600082611708576117086116b8565b500690565b6000821982111561172057611720611689565b500190565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220187cec18474ce634e97a50295466e983fe9090cca007ad16c1fed726c28e100a64736f6c634300080f0033", + "deployedSourceMap": "518:357:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3422:264:17;;;;;;:::i;:::-;;:::i;:::-;;;565:14:43;;558:22;540:41;;528:2;513:18;3422:264:17;;;;;;;;6504:98;;;:::i;:::-;;;;;;;:::i;7982:200::-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:43;;;1674:51;;1662:2;1647:18;7982:200:17;1528:203:43;7537:384:17;;;;;;:::i;:::-;;:::i;:::-;;2684:306;2737:7;854:12:33;2943::17;;2927:13;;:28;:46;2684:306;;;2319:25:43;;;2307:2;2292:18;2684:306:17;2173:177:43;8821:164:17;;;;;;:::i;:::-;;:::i;1476:87:32:-;;;;;;:::i;:::-;;:::i;9051:179:17:-;;;;;;:::i;:::-;;:::i;924:86:32:-;;;;;;:::i;:::-;-1:-1:-1;;;;;4856:19:17;;;;;;:12;:19;;;;;:29;;-1:-1:-1;;;;;4856:29:17;-1:-1:-1;;;;;;;;4856:29:17;;;;;;1476:87:32;;;1111:100;;;;;;:::i;:::-;;:::i;6319:123:17:-;;;;;;:::i;:::-;;:::i;1016:89:32:-;;;:::i;3745:203:17:-;;;;;;:::i;:::-;;:::i;1318:152:32:-;;;;;;:::i;:::-;;:::i;6666:102:17:-;;;:::i;1569:110:32:-;;;;;;:::i;:::-;;:::i;1217:95::-;;;;;;:::i;:::-;;:::i;8249:282:17:-;;;;;;:::i;:::-;;:::i;723:91:32:-;767:7;854:12:33;3307:13:17;;:31;723:91:32;1016:89;9296:381:17;;;;;;:::i;:::-;;:::i;820:98:32:-;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;5945:31:43;;;5927:50;;5915:2;5900:18;820:98:32;5783:200:43;6834:313:17;;;;;;:::i;:::-;;:::i;606:111:32:-;;;;;;:::i;:::-;;:::i;797:27:35:-;;;;;;8597:162:17;;;;;;:::i;:::-;-1:-1:-1;;;;;8717:25:17;;;8694:4;8717:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8597:162;3422:264;3524:4;-1:-1:-1;;;;;;3547:40:17;;-1:-1:-1;;;3547:40:17;;:92;;-1:-1:-1;;;;;;;3591:48:17;;-1:-1:-1;;;3591:48:17;3547:92;:132;;;-1:-1:-1;;;;;;;;;;937:40:7;;;3643:36:17;3540:139;3422:264;-1:-1:-1;;3422:264:17:o;6504:98::-;6558:13;6590:5;6583:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:98;:::o;7982:200::-;8050:7;8074:16;8082:7;8074;:16::i;:::-;8069:64;;8099:34;;-1:-1:-1;;;8099:34:17;;;;;;;;;;;8069:64;-1:-1:-1;8151:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;8151:24:17;;7982:200::o;7537:384::-;7609:13;7625:24;7641:7;7625:15;:24::i;:::-;7609:40;;7669:5;-1:-1:-1;;;;;7663:11:17;:2;-1:-1:-1;;;;;7663:11:17;;7659:48;;7683:24;;-1:-1:-1;;;7683:24:17;;;;;;;;;;;7659:48;719:10:5;-1:-1:-1;;;;;7722:21:17;;;7718:158;;7762:37;7779:5;719:10:5;8597:162:17;:::i;7762:37::-;7757:119;;7826:35;;-1:-1:-1;;;7826:35:17;;;;;;;;;;;7757:119;7886:28;7895:2;7899:7;7908:5;7886:8;:28::i;:::-;7599:322;7537:384;;:::o;8821:164::-;8950:28;8960:4;8966:2;8970:7;8950:9;:28::i;1476:87:32:-;1537:19;1543:2;1547:8;1537:5;:19::i;:::-;1476:87;;:::o;9051:179:17:-;9184:39;9201:4;9207:2;9211:7;9184:39;;;;;;;;;;;;:16;:39::i;1111:100:32:-;1165:4;1188:16;1196:7;1188;:16::i;6319:123:17:-;6383:7;6409:21;6422:7;6409:12;:21::i;:::-;:26;;6319:123;-1:-1:-1;;6319:123:17:o;1016:89:32:-;1056:13;1088:10;7464:9:17;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;1088:10:32;1081:17;;1016:89;:::o;3745:203:17:-;3809:7;-1:-1:-1;;;;;3832:19:17;;3828:60;;3860:28;;-1:-1:-1;;;3860:28:17;;;;;;;;;;;3828:60;-1:-1:-1;;;;;;3913:19:17;;;;;:12;:19;;;;;:27;-1:-1:-1;;;;;3913:27:17;;3745:203::o;1318:152:32:-;1433:30;1443:2;1447:8;1457:5;1433:9;:30::i;6666:102:17:-;6722:13;6754:7;6747:14;;;;;:::i;1569:110:32:-;1637:35;1649:7;1658:13;1637:11;:35::i;1217:95::-;1282:23;1292:2;1296:8;1282:9;:23::i;8249:282:17:-;719:10:5;-1:-1:-1;;;;;8347:24:17;;;8343:54;;8380:17;;-1:-1:-1;;;8380:17:17;;;;;;;;;;;8343:54;719:10:5;8408:32:17;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8408:42:17;;;;;;;;;;;;:53;;-1:-1:-1;;8408:53:17;;;;;;;;;;8476:48;;540:41:43;;;8408:42:17;;719:10:5;8476:48:17;;513:18:43;8476:48:17;;;;;;;8249:282;;:::o;9296:381::-;9457:28;9467:4;9473:2;9477:7;9457:9;:28::i;:::-;-1:-1:-1;;;;;9499:13:17;;1465:19:4;:23;9495:176:17;;9533:56;9564:4;9570:2;9574:7;9583:5;9533:30;:56::i;:::-;9528:143;;9616:40;;-1:-1:-1;;;9616:40:17;;;;;;;;;;;9528:143;9296:381;;;;:::o;820:98:32:-;-1:-1:-1;;;;;4581:19:17;;872:6:32;4581:19:17;;;:12;:19;;;;;:23;-1:-1:-1;;;4581:23:17;;-1:-1:-1;;;;;4581:23:17;897:14:32;4501:110:17;6834:313;6907:13;6937:16;6945:7;6937;:16::i;:::-;6932:59;;6962:29;;-1:-1:-1;;;6962:29:17;;;;;;;;;;;6932:59;7002:21;7026:10;7464:9;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;7026:10;7002:34;;7059:7;7053:21;7078:1;7053:26;:87;;;;;;;;;;;;;;;;;7106:7;7115:18;:7;:16;:18::i;:::-;7089:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7053:87;7046:94;6834:313;-1:-1:-1;;;6834:313:17:o;606:111:32:-;-1:-1:-1;;;;;4120:19:17;;664:7:32;4120:19:17;;;:12;:19;;;;;:32;-1:-1:-1;;;4120:32:17;;-1:-1:-1;;;;;4120:32:17;690:20:32;4025:135:17;9923:172;9980:4;10022:7;10003:15;828:7:33;854:12;;771:102;10003:15:17;:26;;:53;;;;;10043:13;;10033:7;:23;10003:53;:85;;;;-1:-1:-1;;10061:20:17;;;;:11;:20;;;;;:27;-1:-1:-1;;;10061:27:17;;;;10060:28;;9923:172::o;18848:189::-;18958:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;18958:29:17;-1:-1:-1;;;;;18958:29:17;;;;;;;;;19002:28;;18958:24;;19002:28;;;;;;;18848:189;;;:::o;13979:2058::-;14089:35;14127:21;14140:7;14127:12;:21::i;:::-;14089:59;;14185:4;-1:-1:-1;;;;;14163:26:17;:13;:18;;;-1:-1:-1;;;;;14163:26:17;;14159:67;;14198:28;;-1:-1:-1;;;14198:28:17;;;;;;;;;;;14159:67;14237:22;719:10:5;-1:-1:-1;;;;;14263:20:17;;;;:60;;-1:-1:-1;14287:36:17;14304:4;719:10:5;8597:162:17;:::i;14287:36::-;14263:100;;;-1:-1:-1;719:10:5;14327:20:17;14339:7;14327:11;:20::i;:::-;-1:-1:-1;;;;;14327:36:17;;14263:100;14237:127;;14380:17;14375:66;;14406:35;;-1:-1:-1;;;14406:35:17;;;;;;;;;;;14375:66;-1:-1:-1;;;;;14455:16:17;;14451:52;;14480:23;;-1:-1:-1;;;14480:23:17;;;;;;;;;;;14451:52;14619:35;14636:1;14640:7;14649:4;14619:8;:35::i;:::-;-1:-1:-1;;;;;14944:18:17;;;;;;;:12;:18;;;;;;;;:31;;-1:-1:-1;;14944:31:17;;;-1:-1:-1;;;;;14944:31:17;;;-1:-1:-1;;14944:31:17;;;;;;;14989:16;;;;;;;;;:29;;;;;;;;-1:-1:-1;14989:29:17;;;;;;;;;;;15067:20;;;:11;:20;;;;;;15101:18;;-1:-1:-1;;;;;;15133:49:17;;;;-1:-1:-1;;;15166:15:17;15133:49;;;;;;;;;;15452:11;;15511:24;;;;;15553:13;;15067:20;;15511:24;;15553:13;15549:377;;15760:13;;15745:11;:28;15741:171;;15797:20;;15865:28;;;;-1:-1:-1;;;;;15839:54:17;-1:-1:-1;;;15839:54:17;-1:-1:-1;;;;;;15839:54:17;;;-1:-1:-1;;;;;15797:20:17;;15839:54;;;;15741:171;14920:1016;;;15970:7;15966:2;-1:-1:-1;;;;;15951:27:17;15960:4;-1:-1:-1;;;;;15951:27:17;-1:-1:-1;;;;;;;;;;;15951:27:17;;;;;;;;;14079:1958;;13979:2058;;;:::o;12591:1146::-;12678:13;;-1:-1:-1;;;;;12705:16:17;;12701:48;;12730:19;;-1:-1:-1;;;12730:19:17;;;;;;;;;;;12701:48;12763:8;12775:1;12763:13;12759:44;;12785:18;;-1:-1:-1;;;12785:18:17;;;;;;;;;;;12759:44;-1:-1:-1;;;;;13146:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;13204:49:17;;-1:-1:-1;;;;;13146:44:17;;;;;;;13204:49;;;-1:-1:-1;;;;;13146:44:17;;;;;;13204:49;;;;;;;;;;;;;;;;13268:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;13317:66:17;;;;-1:-1:-1;;;13367:15:17;13317:66;;;;;;;;;;13268:25;13461:23;;;13499:109;13525:40;;13550:14;;;;;-1:-1:-1;;;;;13525:40:17;;;13542:1;;-1:-1:-1;;;;;;;;;;;13525:40:17;13542:1;;13525:40;13603:3;13588:12;:18;13499:109;;-1:-1:-1;13622:13:17;:28;7599:322;7537:384;;:::o;5088:1174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;5198:7:17;;5244:15;828:7:33;854:12;;771:102;5244:15:17;:23;5240:958;;5296:13;;5289:4;:20;5285:913;;;5333:31;5367:17;;;:11;:17;;;;;;;;;5333:51;;;;;;;;;-1:-1:-1;;;;;5333:51:17;;;;-1:-1:-1;;;5333:51:17;;-1:-1:-1;;;;;5333:51:17;;;;;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;;;;5406:774;;5459:14;;-1:-1:-1;;;;;5459:28:17;;5455:107;;5526:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;5455:107::-;-1:-1:-1;;;5922:6:17;5970:17;;;;:11;:17;;;;;;;;;5958:29;;;;;;;;;-1:-1:-1;;;;;5958:29:17;;;;;-1:-1:-1;;;5958:29:17;;-1:-1:-1;;;;;5958:29:17;;;;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;;;6021:28;6017:115;;6092:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;6017:115::-;5879:279;;;5311:887;5285:913;6224:31;;-1:-1:-1;;;6224:31:17;;;;;;;;;;;10636:1708;10777:13;;-1:-1:-1;;;;;10804:16:17;;10800:48;;10829:19;;-1:-1:-1;;;10829:19:17;;;;;;;;;;;10800:48;10862:8;10874:1;10862:13;10858:44;;10884:18;;-1:-1:-1;;;10884:18:17;;;;;;;;;;;10858:44;-1:-1:-1;;;;;11245:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;;;;;11303:49:17;;-1:-1:-1;;;;;11245:44:17;;;;;;;11303:49;;;-1:-1:-1;;;;;11245:44:17;;;;;;11303:49;;;;;;;;;;;;;;;;11367:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;11416:66:17;;;-1:-1:-1;;;11466:15:17;11416:66;;;;;;;;;;;;;11367:25;;11560:23;;;;1465:19:4;:23;11598:618:17;;11637:308;11667:38;;11692:12;;-1:-1:-1;;;;;11667:38:17;;;11684:1;;-1:-1:-1;;;;;;;;;;;11667:38:17;11684:1;;11667:38;11732:69;11771:1;11775:2;11779:14;;;;;;11795:5;11732:30;:69::i;:::-;11727:172;;11836:40;;-1:-1:-1;;;11836:40:17;;;;;;;;;;;11727:172;11940:3;11925:12;:18;11637:308;;12024:12;12007:13;;:29;12003:43;;12038:8;;;12003:43;11598:618;;;12085:117;12115:40;;12140:14;;;;;-1:-1:-1;;;;;12115:40:17;;;12132:1;;-1:-1:-1;;;;;;;;;;;12115:40:17;12132:1;;12115:40;12197:3;12182:12;:18;12085:117;;11598:618;-1:-1:-1;12229:13:17;:28;12277:60;12306:1;12310:2;12314:12;12328:8;12277:60;:::i;16414:2323::-;16493:35;16531:21;16544:7;16531:12;:21::i;:::-;16578:18;;16493:59;;-1:-1:-1;16607:252:17;;;;16640:22;719:10:5;-1:-1:-1;;;;;16666:20:17;;;;:60;;-1:-1:-1;16690:36:17;16707:4;719:10:5;8597:162:17;:::i;16690:36::-;16666:100;;;-1:-1:-1;719:10:5;16730:20:17;16742:7;16730:11;:20::i;:::-;-1:-1:-1;;;;;16730:36:17;;16666:100;16640:127;;16787:17;16782:66;;16813:35;;-1:-1:-1;;;16813:35:17;;;;;;;;;;;16782:66;16626:233;16607:252;16982:35;16999:1;17003:7;17012:4;16982:8;:35::i;:::-;-1:-1:-1;;;;;17341:18:17;;;17307:31;17341:18;;;:12;:18;;;;;;;;17373:24;;-1:-1:-1;;;;;;;;;;17373:24:17;;;;;;;;;-1:-1:-1;;17373:24:17;;;;17411:29;;;;;17396:1;17411:29;;;;;;;;-1:-1:-1;;17411:29:17;;;;;;;;;;17570:20;;;:11;:20;;;;;;17604;;-1:-1:-1;;;;17671:15:17;17638:49;;;-1:-1:-1;;;17638:49:17;-1:-1:-1;;;;;;17638:49:17;;;;;;;;;;17701:22;-1:-1:-1;;;17701:22:17;;;17989:11;;;18048:24;;;;;18090:13;;17341:18;;18048:24;;18090:13;18086:377;;18297:13;;18282:11;:28;18278:171;;18334:20;;18402:28;;;;-1:-1:-1;;;;;18376:54:17;-1:-1:-1;;;18376:54:17;-1:-1:-1;;;;;;18376:54:17;;;-1:-1:-1;;;;;18334:20:17;;18376:54;;;;18278:171;-1:-1:-1;;18488:35:17;;18515:7;;-1:-1:-1;18511:1:17;;-1:-1:-1;;;;;;18488:35:17;;;-1:-1:-1;;;;;;;;;;;18488:35:17;18511:1;;18488:35;-1:-1:-1;;18706:12:17;:14;;;;;;-1:-1:-1;;16414:2323:17:o;10174:102::-;10242:27;10252:2;10256:8;10242:27;;;;;;;;;;;;:9;:27::i;19518:650::-;19696:72;;-1:-1:-1;;;19696:72:17;;19676:4;;-1:-1:-1;;;;;19696:36:17;;;;;:72;;719:10:5;;19747:4:17;;19753:7;;19762:5;;19696:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19696:72:17;;;;;;;;-1:-1:-1;;19696:72:17;;;;;;;;;;;;:::i;:::-;;;19692:470;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:6;:13;19944:1;19927:18;19923:229;;19972:40;;-1:-1:-1;;;19972:40:17;;;;;;;;;;;19923:229;20112:6;20106:13;20097:6;20093:2;20089:15;20082:38;19692:470;-1:-1:-1;;;;;;19814:55:17;-1:-1:-1;;;19814:55:17;;-1:-1:-1;19692:470:17;19518:650;;;;;;:::o;328:703:6:-;384:13;601:5;610:1;601:10;597:51;;-1:-1:-1;;627:10:6;;;;;;;;;;;;-1:-1:-1;;;627:10:6;;;;;328:703::o;597:51::-;672:5;657:12;711:75;718:9;;711:75;;743:8;;;;:::i;:::-;;-1:-1:-1;765:10:6;;-1:-1:-1;773:2:6;765:10;;:::i;:::-;;;711:75;;;795:19;827:6;-1:-1:-1;;;;;817:17:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;817:17:6;;795:39;;844:150;851:10;;844:150;;877:11;887:1;877:11;;:::i;:::-;;-1:-1:-1;945:10:6;953:2;945:5;:10;:::i;:::-;932:24;;:2;:24;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;902:56:6;;;;;;;;-1:-1:-1;972:11:6;981:2;972:11;;:::i;:::-;;;844:150;;14:131:43;-1:-1:-1;;;;;;88:32:43;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:43;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:43;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:43:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:43;;1343:180;-1:-1:-1;1343:180:43:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:43;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:43:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:358::-;2755:6;2763;2816:2;2804:9;2795:7;2791:23;2787:32;2784:52;;;2832:1;2829;2822:12;2784:52;2855:29;2874:9;2855:29;:::i;:::-;2845:39;;2934:2;2923:9;2919:18;2906:32;-1:-1:-1;;;;;2971:5:43;2967:30;2960:5;2957:41;2947:69;;3012:1;3009;3002:12;2947:69;3035:5;3025:15;;;2688:358;;;;;:::o;3051:186::-;3110:6;3163:2;3151:9;3142:7;3138:23;3134:32;3131:52;;;3179:1;3176;3169:12;3131:52;3202:29;3221:9;3202:29;:::i;3242:127::-;3303:10;3298:3;3294:20;3291:1;3284:31;3334:4;3331:1;3324:15;3358:4;3355:1;3348:15;3374:718;3416:5;3469:3;3462:4;3454:6;3450:17;3446:27;3436:55;;3487:1;3484;3477:12;3436:55;3523:6;3510:20;-1:-1:-1;;;;;3586:2:43;3582;3579:10;3576:36;;;3592:18;;:::i;:::-;3667:2;3661:9;3635:2;3721:13;;-1:-1:-1;;3717:22:43;;;3741:2;3713:31;3709:40;3697:53;;;3765:18;;;3785:22;;;3762:46;3759:72;;;3811:18;;:::i;:::-;3851:10;3847:2;3840:22;3886:2;3878:6;3871:18;3932:3;3925:4;3920:2;3912:6;3908:15;3904:26;3901:35;3898:55;;;3949:1;3946;3939:12;3898:55;4013:2;4006:4;3998:6;3994:17;3987:4;3979:6;3975:17;3962:54;4060:1;4053:4;4048:2;4040:6;4036:15;4032:26;4025:37;4080:6;4071:15;;;;;;3374:718;;;;:::o;4097:462::-;4183:6;4191;4199;4252:2;4240:9;4231:7;4227:23;4223:32;4220:52;;;4268:1;4265;4258:12;4220:52;4291:29;4310:9;4291:29;:::i;:::-;4281:39;;4367:2;4356:9;4352:18;4339:32;4329:42;;4422:2;4411:9;4407:18;4394:32;-1:-1:-1;;;;;4441:6:43;4438:30;4435:50;;;4481:1;4478;4471:12;4435:50;4504:49;4545:7;4536:6;4525:9;4521:22;4504:49;:::i;:::-;4494:59;;;4097:462;;;;;:::o;4564:160::-;4629:20;;4685:13;;4678:21;4668:32;;4658:60;;4714:1;4711;4704:12;4729:248;4794:6;4802;4855:2;4843:9;4834:7;4830:23;4826:32;4823:52;;;4871:1;4868;4861:12;4823:52;4907:9;4894:23;4884:33;;4936:35;4967:2;4956:9;4952:18;4936:35;:::i;:::-;4926:45;;4729:248;;;;;:::o;4982:254::-;5047:6;5055;5108:2;5096:9;5087:7;5083:23;5079:32;5076:52;;;5124:1;5121;5114:12;5076:52;5147:29;5166:9;5147:29;:::i;:::-;5137:39;;5195:35;5226:2;5215:9;5211:18;5195:35;:::i;5241:537::-;5336:6;5344;5352;5360;5413:3;5401:9;5392:7;5388:23;5384:33;5381:53;;;5430:1;5427;5420:12;5381:53;5453:29;5472:9;5453:29;:::i;:::-;5443:39;;5501:38;5535:2;5524:9;5520:18;5501:38;:::i;:::-;5491:48;;5586:2;5575:9;5571:18;5558:32;5548:42;;5641:2;5630:9;5626:18;5613:32;-1:-1:-1;;;;;5660:6:43;5657:30;5654:50;;;5700:1;5697;5690:12;5654:50;5723:49;5764:7;5755:6;5744:9;5740:22;5723:49;:::i;:::-;5713:59;;;5241:537;;;;;;;:::o;5988:260::-;6056:6;6064;6117:2;6105:9;6096:7;6092:23;6088:32;6085:52;;;6133:1;6130;6123:12;6085:52;6156:29;6175:9;6156:29;:::i;:::-;6146:39;;6204:38;6238:2;6227:9;6223:18;6204:38;:::i;6253:380::-;6332:1;6328:12;;;;6375;;;6396:61;;6450:4;6442:6;6438:17;6428:27;;6396:61;6503:2;6495:6;6492:14;6472:18;6469:38;6466:161;;6549:10;6544:3;6540:20;6537:1;6530:31;6584:4;6581:1;6574:15;6612:4;6609:1;6602:15;6466:161;;6253:380;;;:::o;6638:470::-;6817:3;6855:6;6849:13;6871:53;6917:6;6912:3;6905:4;6897:6;6893:17;6871:53;:::i;:::-;6987:13;;6946:16;;;;7009:57;6987:13;6946:16;7043:4;7031:17;;7009:57;:::i;:::-;7082:20;;6638:470;-1:-1:-1;;;;6638:470:43:o;7113:489::-;-1:-1:-1;;;;;7382:15:43;;;7364:34;;7434:15;;7429:2;7414:18;;7407:43;7481:2;7466:18;;7459:34;;;7529:3;7524:2;7509:18;;7502:31;;;7307:4;;7550:46;;7576:19;;7568:6;7550:46;:::i;:::-;7542:54;7113:489;-1:-1:-1;;;;;;7113:489:43:o;7607:249::-;7676:6;7729:2;7717:9;7708:7;7704:23;7700:32;7697:52;;;7745:1;7742;7735:12;7697:52;7777:9;7771:16;7796:30;7820:5;7796:30;:::i;7861:127::-;7922:10;7917:3;7913:20;7910:1;7903:31;7953:4;7950:1;7943:15;7977:4;7974:1;7967:15;7993:135;8032:3;8053:17;;;8050:43;;8073:18;;:::i;:::-;-1:-1:-1;8120:1:43;8109:13;;7993:135::o;8133:127::-;8194:10;8189:3;8185:20;8182:1;8175:31;8225:4;8222:1;8215:15;8249:4;8246:1;8239:15;8265:120;8305:1;8331;8321:35;;8336:18;;:::i;:::-;-1:-1:-1;8370:9:43;;8265:120::o;8390:125::-;8430:4;8458:1;8455;8452:8;8449:34;;;8463:18;;:::i;:::-;-1:-1:-1;8500:9:43;;8390:125::o;8520:112::-;8552:1;8578;8568:35;;8583:18;;:::i;:::-;-1:-1:-1;8617:9:43;;8520:112::o;8637:128::-;8677:3;8708:1;8704:6;8701:1;8698:13;8695:39;;;8714:18;;:::i;:::-;-1:-1:-1;8750:9:43;;8637:128::o;8770:127::-;8831:10;8826:3;8822:20;8819:1;8812:31;8862:4;8859:1;8852:15;8886:4;8883:1;8876:15", + "language": "Solidity", + "natspec": { + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "offset": [ + 518, + 875 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x173 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xA2309FF8 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xC87B56DD GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x36F JUMPI DUP1 PUSH4 0xDC33E681 EQ PUSH2 0x382 JUMPI DUP1 PUSH4 0xE6798BAA EQ PUSH2 0x395 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x39E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA2309FF8 EQ PUSH2 0x325 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x331 JUMPI DUP1 PUSH4 0xBF0B175E EQ PUSH2 0x344 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x2BE JUMPI DUP1 PUSH4 0x8832E6E3 EQ PUSH2 0x2D1 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2E4 JUMPI DUP1 PUSH4 0x9FAC68CB EQ PUSH2 0x2EC JUMPI DUP1 PUSH4 0xA1448194 EQ PUSH2 0x2FF JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x312 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x40C10F19 GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x222 JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x235 JUMPI DUP1 PUSH4 0x453AB141 EQ PUSH2 0x248 JUMPI DUP1 PUSH4 0x4F558E79 EQ PUSH2 0x290 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x2A3 JUMPI DUP1 PUSH4 0x6C0360EB EQ PUSH2 0x2B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1E0 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x20F JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B PUSH2 0x186 CALLDATASIZE PUSH1 0x4 PUSH2 0x1256 JUMP JUMPDEST PUSH2 0x3DA JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x42C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0x12CB JUMP JUMPDEST PUSH2 0x1C8 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x4BE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x1EE CALLDATASIZE PUSH1 0x4 PUSH2 0x1313 JUMP JUMPDEST PUSH2 0x502 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x2 SLOAD PUSH1 0x1 SLOAD SUB SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x21D CALLDATASIZE PUSH1 0x4 PUSH2 0x133D JUMP JUMPDEST PUSH2 0x588 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x230 CALLDATASIZE PUSH1 0x4 PUSH2 0x1313 JUMP JUMPDEST PUSH2 0x593 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x243 CALLDATASIZE PUSH1 0x4 PUSH2 0x133D JUMP JUMPDEST PUSH2 0x5A1 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x256 CALLDATASIZE PUSH1 0x4 PUSH2 0x1379 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xC0 SHL SUB AND PUSH1 0x1 PUSH1 0xC0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP5 AND MUL OR SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x18B PUSH2 0x29E CALLDATASIZE PUSH1 0x4 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x5BC JUMP JUMPDEST PUSH2 0x1C8 PUSH2 0x2B1 CALLDATASIZE PUSH1 0x4 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x5C7 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x5D9 JUMP JUMPDEST PUSH2 0x201 PUSH2 0x2CC CALLDATASIZE PUSH1 0x4 PUSH2 0x13BC JUMP JUMPDEST PUSH2 0x5F5 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x1479 JUMP JUMPDEST PUSH2 0x643 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x64E JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x2FA CALLDATASIZE PUSH1 0x4 PUSH2 0x14DF JUMP JUMPDEST PUSH2 0x65D JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x30D CALLDATASIZE PUSH1 0x4 PUSH2 0x1313 JUMP JUMPDEST PUSH2 0x667 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x320 CALLDATASIZE PUSH1 0x4 PUSH2 0x150B JUMP JUMPDEST PUSH2 0x671 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 SLOAD SUB PUSH2 0x201 JUMP JUMPDEST PUSH2 0x1F3 PUSH2 0x33F CALLDATASIZE PUSH1 0x4 PUSH2 0x1535 JUMP JUMPDEST PUSH2 0x706 JUMP JUMPDEST PUSH2 0x357 PUSH2 0x352 CALLDATASIZE PUSH1 0x4 PUSH2 0x13BC JUMP JUMPDEST PUSH2 0x750 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x37D CALLDATASIZE PUSH1 0x4 PUSH2 0x12DE JUMP JUMPDEST PUSH2 0x77E JUMP JUMPDEST PUSH2 0x201 PUSH2 0x390 CALLDATASIZE PUSH1 0x4 PUSH2 0x13BC JUMP JUMPDEST PUSH2 0x80F JUMP JUMPDEST PUSH2 0x201 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x3AC CALLDATASIZE PUSH1 0x4 PUSH2 0x159C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x40B JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x426 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x43B SWAP1 PUSH2 0x15C6 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x467 SWAP1 PUSH2 0x15C6 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x489 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x497 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4C9 DUP3 PUSH2 0x83D JUMP JUMPDEST PUSH2 0x4E6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x50D DUP3 PUSH2 0x5C7 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x541 JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x578 JUMPI PUSH2 0x55B DUP2 CALLER PUSH2 0x3AC JUMP JUMPDEST PUSH2 0x578 JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x583 DUP4 DUP4 DUP4 PUSH2 0x87D JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x583 DUP4 DUP4 DUP4 PUSH2 0x8D9 JUMP JUMPDEST PUSH2 0x59D DUP3 DUP3 PUSH2 0xAB4 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x583 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x706 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x426 DUP3 PUSH2 0x83D JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5D2 DUP3 PUSH2 0xBC6 JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5F0 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x61E JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH2 0x583 DUP4 DUP4 DUP4 PUSH2 0xCEF JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x43B SWAP1 PUSH2 0x15C6 JUMP JUMPDEST PUSH2 0x59D DUP3 DUP3 PUSH2 0xE83 JUMP JUMPDEST PUSH2 0x59D DUP3 DUP3 PUSH2 0x1037 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x69A JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x711 DUP5 DUP5 DUP5 PUSH2 0x8D9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x74A JUMPI PUSH2 0x72D DUP5 DUP5 DUP5 DUP5 PUSH2 0x1051 JUMP JUMPDEST PUSH2 0x74A JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xC0 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH2 0x426 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x789 DUP3 PUSH2 0x83D JUMP JUMPDEST PUSH2 0x7A6 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7BD PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x7DD JUMPI PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x808 JUMP JUMPDEST DUP1 PUSH2 0x7E7 DUP5 PUSH2 0x113D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x7F8 SWAP3 SWAP2 SWAP1 PUSH2 0x1600 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH2 0x426 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x849 PUSH1 0x0 SLOAD SWAP1 JUMP JUMPDEST GT ISZERO DUP1 ISZERO PUSH2 0x858 JUMPI POP PUSH1 0x1 SLOAD DUP3 LT JUMPDEST DUP1 ISZERO PUSH2 0x426 JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8E4 DUP3 PUSH2 0xBC6 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x91B JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0x939 JUMPI POP PUSH2 0x939 DUP6 CALLER PUSH2 0x3AC JUMP JUMPDEST DUP1 PUSH2 0x954 JUMPI POP CALLER PUSH2 0x949 DUP5 PUSH2 0x4BE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0x974 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x99B JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9A7 PUSH1 0x0 DUP5 DUP8 PUSH2 0x87D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0xA7B JUMPI PUSH1 0x1 SLOAD DUP3 EQ PUSH2 0xA7B JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x173C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xADD JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0xAFE JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x173C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xB8C JUMPI POP PUSH1 0x1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 DUP1 PUSH2 0xBEE PUSH1 0x0 SLOAD SWAP1 JUMP JUMPDEST GT PUSH2 0xCD6 JUMPI PUSH1 0x1 SLOAD DUP2 LT ISZERO PUSH2 0xCD6 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xCD4 JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xC6B JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0xCCF JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xC6B JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP3 PUSH1 0x0 SUB PUSH2 0xD39 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x80 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP12 ADD DUP2 AND SWAP2 DUP3 OR PUSH1 0x1 PUSH1 0x40 SHL PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP12 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x5 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND DUP4 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 MUL SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP2 SWAP1 DUP2 DUP6 ADD SWAP1 EXTCODESIZE ISZERO PUSH2 0xE41 JUMPI JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x173C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 PUSH2 0xE0A PUSH1 0x0 DUP8 DUP5 DUP1 PUSH1 0x1 ADD SWAP6 POP DUP8 PUSH2 0x1051 JUMP JUMPDEST PUSH2 0xE27 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 DUP3 LT PUSH2 0xDD1 JUMPI DUP3 PUSH1 0x1 SLOAD EQ PUSH2 0xE3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE74 JUMP JUMPDEST JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x173C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xE42 JUMPI JUMPDEST POP PUSH1 0x1 SSTORE PUSH2 0x74A PUSH1 0x0 DUP6 DUP4 DUP7 DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE8E DUP4 PUSH2 0xBC6 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0xEF4 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0xEB7 JUMPI POP PUSH2 0xEB7 DUP3 CALLER PUSH2 0x3AC JUMP JUMPDEST DUP1 PUSH2 0xED2 JUMPI POP CALLER PUSH2 0xEC7 DUP7 PUSH2 0x4BE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xEF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0xF00 PUSH1 0x0 DUP6 DUP4 PUSH2 0x87D JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x5 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0xFFE JUMPI PUSH1 0x1 SLOAD DUP3 EQ PUSH2 0xFFE JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x173C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH2 0x59D DUP3 DUP3 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0xCEF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x1086 SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x162F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x10C1 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x10BE SWAP2 DUP2 ADD SWAP1 PUSH2 0x166C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x111F JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x10EF JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x10F4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x1117 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x1164 JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x118E JUMPI DUP1 PUSH2 0x1178 DUP2 PUSH2 0x169F JUMP JUMPDEST SWAP2 POP PUSH2 0x1187 SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x16CE JUMP JUMPDEST SWAP2 POP PUSH2 0x1168 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x11A8 JUMPI PUSH2 0x11A8 PUSH2 0x13D7 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x11D2 JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x1135 JUMPI PUSH2 0x11E7 PUSH1 0x1 DUP4 PUSH2 0x16E2 JUMP JUMPDEST SWAP2 POP PUSH2 0x11F4 PUSH1 0xA DUP7 PUSH2 0x16F9 JUMP JUMPDEST PUSH2 0x11FF SWAP1 PUSH1 0x30 PUSH2 0x170D JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x1214 JUMPI PUSH2 0x1214 PUSH2 0x1725 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x1236 PUSH1 0xA DUP7 PUSH2 0x16CE JUMP JUMPDEST SWAP5 POP PUSH2 0x11D6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1268 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x808 DUP2 PUSH2 0x123D JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x128E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1276 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x74A JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x12B7 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1273 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x808 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x129F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x130E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x132F DUP4 PUSH2 0x12F7 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1352 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x135B DUP5 PUSH2 0x12F7 JUMP JUMPDEST SWAP3 POP PUSH2 0x1369 PUSH1 0x20 DUP6 ADD PUSH2 0x12F7 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x138C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1395 DUP4 PUSH2 0x12F7 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x13B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x808 DUP3 PUSH2 0x12F7 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x13FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1418 JUMPI PUSH2 0x1418 PUSH2 0x13D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1440 JUMPI PUSH2 0x1440 PUSH2 0x13D7 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1459 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x148E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1497 DUP5 PUSH2 0x12F7 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x14B9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14C5 DUP7 DUP3 DUP8 ADD PUSH2 0x13ED JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST DUP1 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x130E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x14F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0x1502 PUSH1 0x20 DUP5 ADD PUSH2 0x14CF JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x151E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1527 DUP4 PUSH2 0x12F7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1502 PUSH1 0x20 DUP5 ADD PUSH2 0x14CF JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x154B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1554 DUP6 PUSH2 0x12F7 JUMP JUMPDEST SWAP4 POP PUSH2 0x1562 PUSH1 0x20 DUP7 ADD PUSH2 0x12F7 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1584 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1590 DUP8 DUP3 DUP9 ADD PUSH2 0x13ED JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x15AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15B8 DUP4 PUSH2 0x12F7 JUMP JUMPDEST SWAP2 POP PUSH2 0x1502 PUSH1 0x20 DUP5 ADD PUSH2 0x12F7 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x15DA JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x15FA JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1612 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1273 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1626 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x1273 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1662 SWAP1 DUP4 ADD DUP5 PUSH2 0x129F JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x167E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x808 DUP2 PUSH2 0x123D JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x16B1 JUMPI PUSH2 0x16B1 PUSH2 0x1689 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x16DD JUMPI PUSH2 0x16DD PUSH2 0x16B8 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x16F4 JUMPI PUSH2 0x16F4 PUSH2 0x1689 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1708 JUMPI PUSH2 0x1708 PUSH2 0x16B8 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1720 JUMPI PUSH2 0x1720 PUSH2 0x1689 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID 0xDD CALLCODE MSTORE 0xAD SHL 0xE2 0xC8 SWAP12 PUSH10 0xC2B068FC378DAA952BA7 CALL PUSH4 0xC4A11628 CREATE2 GAS 0x4D CREATE2 0x23 0xB3 0xEF LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR PUSH29 0xEC18474CE634E97A50295466E983FE9090CCA007AD16C1FED726C28E10 EXP PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "MSTORE", + "path": "33" + }, + "5": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "CALLVALUE", + "path": "33" + }, + "6": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "7": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "ISZERO", + "path": "33" + }, + "8": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "12": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "REVERT", + "path": "33" + }, + "16": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPDEST", + "path": "33" + }, + "17": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "POP", + "path": "33" + }, + "18": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "CALLDATASIZE", + "path": "33" + }, + "21": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "LT", + "path": "33" + }, + "22": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x173" + }, + "25": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "26": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "CALLDATALOAD", + "path": "33" + }, + "29": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "SHR", + "path": "33" + }, + "32": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "33": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x70A08231" + }, + "38": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "GT", + "path": "33" + }, + "39": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0xDE" + }, + "42": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "43": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "44": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xA2309FF8" + }, + "49": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "GT", + "path": "33" + }, + "50": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x97" + }, + "53": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "54": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "55": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xC87B56DD" + }, + "60": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "GT", + "path": "33" + }, + "61": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x71" + }, + "64": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "65": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "66": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xC87B56DD" + }, + "71": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "72": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x36F" + }, + "75": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "76": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "77": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xDC33E681" + }, + "82": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "83": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x382" + }, + "86": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "87": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "88": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xE6798BAA" + }, + "93": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "94": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x395" + }, + "97": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "98": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "99": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xE985E9C5" + }, + "104": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "105": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x39E" + }, + "108": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "109": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "111": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "112": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "REVERT", + "path": "33" + }, + "113": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPDEST", + "path": "33" + }, + "114": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "115": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xA2309FF8" + }, + "120": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "121": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x325" + }, + "124": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "125": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "126": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xB88D4FDE" + }, + "131": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "132": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x331" + }, + "135": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "136": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "137": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xBF0B175E" + }, + "142": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "143": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x344" + }, + "146": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "147": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "149": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "150": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "REVERT", + "path": "33" + }, + "151": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPDEST", + "path": "33" + }, + "152": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "153": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x70A08231" + }, + "158": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "159": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x2BE" + }, + "162": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "163": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "164": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x8832E6E3" + }, + "169": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "170": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x2D1" + }, + "173": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "174": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "175": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x95D89B41" + }, + "180": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "181": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x2E4" + }, + "184": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "185": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "186": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x9FAC68CB" + }, + "191": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "192": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x2EC" + }, + "195": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "196": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "197": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xA1448194" + }, + "202": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "203": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x2FF" + }, + "206": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "207": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "208": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0xA22CB465" + }, + "213": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "214": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x312" + }, + "217": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "218": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "220": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "221": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "REVERT", + "path": "33" + }, + "222": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPDEST", + "path": "33" + }, + "223": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "224": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x40C10F19" + }, + "229": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "GT", + "path": "33" + }, + "230": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x130" + }, + "233": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "234": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "235": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x40C10F19" + }, + "240": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "241": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x222" + }, + "244": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "245": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "246": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x42842E0E" + }, + "251": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "252": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x235" + }, + "255": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "256": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "257": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x453AB141" + }, + "262": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "263": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x248" + }, + "266": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "267": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "268": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x4F558E79" + }, + "273": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "274": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x290" + }, + "277": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "278": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "279": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x6352211E" + }, + "284": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "285": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x2A3" + }, + "288": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "289": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "290": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x6C0360EB" + }, + "295": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "296": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x2B6" + }, + "299": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "300": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "302": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "303": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "REVERT", + "path": "33" + }, + "304": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPDEST", + "path": "33" + }, + "305": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "306": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x1FFC9A7" + }, + "311": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "312": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x178" + }, + "315": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "316": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "317": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x6FDDE03" + }, + "322": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "323": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x1A0" + }, + "326": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "327": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "328": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x81812FC" + }, + "333": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "334": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x1B5" + }, + "337": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "338": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "339": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x95EA7B3" + }, + "344": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "345": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x1E0" + }, + "348": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "349": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "350": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x18160DDD" + }, + "355": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "356": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x1F5" + }, + "359": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "360": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "361": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH4", + "path": "33", + "value": "0x23B872DD" + }, + "366": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "EQ", + "path": "33" + }, + "367": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH2", + "path": "33", + "value": "0x20F" + }, + "370": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPI", + "path": "33" + }, + "371": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "JUMPDEST", + "path": "33" + }, + "372": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "374": { + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "DUP1", + "path": "33" + }, + "375": { + "first_revert": true, + "fn": null, + "offset": [ + 518, + 875 + ], + "op": "REVERT", + "path": "33" + }, + "376": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "377": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18B" + }, + "380": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x186" + }, + "383": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "384": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "386": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1256" + }, + "389": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "390": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "391": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3DA" + }, + "394": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "395": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "396": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "398": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "399": { + "op": "SWAP1" + }, + "400": { + "op": "ISZERO" + }, + "401": { + "op": "ISZERO" + }, + "402": { + "op": "DUP2" + }, + "403": { + "op": "MSTORE" + }, + "404": { + "op": "PUSH1", + "value": "0x20" + }, + "406": { + "op": "ADD" + }, + "407": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "408": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "410": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "411": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "412": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "413": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SUB", + "path": "17" + }, + "414": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP1", + "path": "17" + }, + "415": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "RETURN", + "path": "17" + }, + "416": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "417": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A8" + }, + "420": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x42C" + }, + "423": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "424": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "425": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "427": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "MLOAD", + "path": "17" + }, + "428": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x197" + }, + "431": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP2", + "path": "17" + }, + "432": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "433": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12CB" + }, + "436": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "437": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "438": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1C8" + }, + "441": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1C3" + }, + "444": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "445": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "447": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12DE" + }, + "450": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "451": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "452": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4BE" + }, + "455": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "456": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "457": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "459": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "MLOAD", + "path": "17" + }, + "460": { + "op": "PUSH1", + "value": "0x1" + }, + "462": { + "op": "PUSH1", + "value": "0x1" + }, + "464": { + "op": "PUSH1", + "value": "0xA0" + }, + "466": { + "op": "SHL" + }, + "467": { + "op": "SUB" + }, + "468": { + "op": "SWAP1" + }, + "469": { + "op": "SWAP2" + }, + "470": { + "op": "AND" + }, + "471": { + "op": "DUP2" + }, + "472": { + "op": "MSTORE" + }, + "473": { + "op": "PUSH1", + "value": "0x20" + }, + "475": { + "op": "ADD" + }, + "476": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x197" + }, + "479": { + "op": "JUMP" + }, + "480": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "481": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F3" + }, + "484": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1EE" + }, + "487": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "488": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "490": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1313" + }, + "493": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "494": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "495": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x502" + }, + "498": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "499": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "500": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "STOP", + "path": "17" + }, + "501": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "502": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "504": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 854, + 866 + ], + "op": "SLOAD", + "path": "33", + "statement": 0 + }, + "505": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "statement": 1, + "value": "0x2" + }, + "507": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "508": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "510": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "511": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "512": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2973 + ], + "op": "SUB", + "path": "17" + }, + "513": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "514": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "516": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "MLOAD", + "path": "17" + }, + "517": { + "op": "SWAP1" + }, + "518": { + "op": "DUP2" + }, + "519": { + "op": "MSTORE" + }, + "520": { + "op": "PUSH1", + "value": "0x20" + }, + "522": { + "op": "ADD" + }, + "523": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x197" + }, + "526": { + "op": "JUMP" + }, + "527": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "528": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F3" + }, + "531": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x21D" + }, + "534": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "535": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "537": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x133D" + }, + "540": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "541": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "542": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x588" + }, + "545": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "546": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMPDEST", + "path": "32" + }, + "547": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1F3" + }, + "550": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x230" + }, + "553": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "554": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "556": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1313" + }, + "559": { + "fn": "ERC721AMock.mint", + "jump": "i", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "560": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMPDEST", + "path": "32" + }, + "561": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "PUSH2", + "path": "32", + "value": "0x593" + }, + "564": { + "fn": "ERC721AMock.mint", + "jump": "i", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "565": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "566": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F3" + }, + "569": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x243" + }, + "572": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "573": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "575": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x133D" + }, + "578": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "579": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "580": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5A1" + }, + "583": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "584": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "JUMPDEST", + "path": "32" + }, + "585": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1F3" + }, + "588": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH2", + "path": "32", + "value": "0x256" + }, + "591": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "592": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "594": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1379" + }, + "597": { + "fn": "ERC721AMock.setAux", + "jump": "i", + "offset": [ + 924, + 1010 + ], + "op": "JUMP", + "path": "32" + }, + "598": { + "fn": "ERC721AMock.setAux", + "offset": [ + 924, + 1010 + ], + "op": "JUMPDEST", + "path": "32" + }, + "599": { + "op": "PUSH1", + "value": "0x1" + }, + "601": { + "op": "PUSH1", + "value": "0x1" + }, + "603": { + "op": "PUSH1", + "value": "0xA0" + }, + "605": { + "op": "SHL" + }, + "606": { + "op": "SUB" + }, + "607": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "DUP3", + "path": "17", + "statement": 2 + }, + "608": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "AND", + "path": "17" + }, + "609": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "611": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "SWAP1", + "path": "17" + }, + "612": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "DUP2", + "path": "17" + }, + "613": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "MSTORE", + "path": "17" + }, + "614": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4868 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "616": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "618": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "MSTORE", + "path": "17" + }, + "619": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "621": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "SWAP1", + "path": "17" + }, + "622": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4875 + ], + "op": "KECCAK256", + "path": "17" + }, + "623": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "DUP1", + "path": "17" + }, + "624": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "SLOAD", + "path": "17" + }, + "625": { + "op": "PUSH1", + "value": "0x1" + }, + "627": { + "op": "PUSH1", + "value": "0x1" + }, + "629": { + "op": "PUSH1", + "value": "0xC0" + }, + "631": { + "op": "SHL" + }, + "632": { + "op": "SUB" + }, + "633": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "AND", + "path": "17" + }, + "634": { + "op": "PUSH1", + "value": "0x1" + }, + "636": { + "op": "PUSH1", + "value": "0xC0" + }, + "638": { + "op": "SHL" + }, + "639": { + "op": "PUSH1", + "value": "0x1" + }, + "641": { + "op": "PUSH1", + "value": "0x1" + }, + "643": { + "op": "PUSH1", + "value": "0x40" + }, + "645": { + "op": "SHL" + }, + "646": { + "op": "SUB" + }, + "647": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "DUP5", + "path": "17" + }, + "648": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "AND", + "path": "17" + }, + "649": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "MUL", + "path": "17" + }, + "650": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "OR", + "path": "17" + }, + "651": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "SWAP1", + "path": "17" + }, + "652": { + "fn": "ERC721A._setAux", + "offset": [ + 4856, + 4885 + ], + "op": "SSTORE", + "path": "17" + }, + "653": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "654": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "655": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "656": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "JUMPDEST", + "path": "32" + }, + "657": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x18B" + }, + "660": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x29E" + }, + "663": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "664": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "666": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x12DE" + }, + "669": { + "fn": "ERC721AMock.exists", + "jump": "i", + "offset": [ + 1111, + 1211 + ], + "op": "JUMP", + "path": "32" + }, + "670": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "JUMPDEST", + "path": "32" + }, + "671": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "PUSH2", + "path": "32", + "value": "0x5BC" + }, + "674": { + "fn": "ERC721AMock.exists", + "jump": "i", + "offset": [ + 1111, + 1211 + ], + "op": "JUMP", + "path": "32" + }, + "675": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "676": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1C8" + }, + "679": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2B1" + }, + "682": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "683": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "685": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12DE" + }, + "688": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "689": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "690": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5C7" + }, + "693": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "694": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "JUMPDEST", + "path": "32" + }, + "695": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1A8" + }, + "698": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "PUSH2", + "path": "32", + "value": "0x5D9" + }, + "701": { + "fn": "ERC721AMock.baseURI", + "jump": "i", + "offset": [ + 1016, + 1105 + ], + "op": "JUMP", + "path": "32" + }, + "702": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "703": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x201" + }, + "706": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2CC" + }, + "709": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "710": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "712": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13BC" + }, + "715": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "716": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "717": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5F5" + }, + "720": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "721": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "JUMPDEST", + "path": "32" + }, + "722": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1F3" + }, + "725": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2DF" + }, + "728": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "729": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "731": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1479" + }, + "734": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1318, + 1470 + ], + "op": "JUMP", + "path": "32" + }, + "735": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "JUMPDEST", + "path": "32" + }, + "736": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "PUSH2", + "path": "32", + "value": "0x643" + }, + "739": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1318, + 1470 + ], + "op": "JUMP", + "path": "32" + }, + "740": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "741": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A8" + }, + "744": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x64E" + }, + "747": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6666, + 6768 + ], + "op": "JUMP", + "path": "17" + }, + "748": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "JUMPDEST", + "path": "32" + }, + "749": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1F3" + }, + "752": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x2FA" + }, + "755": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "756": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "758": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x14DF" + }, + "761": { + "fn": "ERC721AMock.burn", + "jump": "i", + "offset": [ + 1569, + 1679 + ], + "op": "JUMP", + "path": "32" + }, + "762": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "JUMPDEST", + "path": "32" + }, + "763": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "PUSH2", + "path": "32", + "value": "0x65D" + }, + "766": { + "fn": "ERC721AMock.burn", + "jump": "i", + "offset": [ + 1569, + 1679 + ], + "op": "JUMP", + "path": "32" + }, + "767": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "JUMPDEST", + "path": "32" + }, + "768": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1F3" + }, + "771": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x30D" + }, + "774": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "775": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "777": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1313" + }, + "780": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1217, + 1312 + ], + "op": "JUMP", + "path": "32" + }, + "781": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "JUMPDEST", + "path": "32" + }, + "782": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "PUSH2", + "path": "32", + "value": "0x667" + }, + "785": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1217, + 1312 + ], + "op": "JUMP", + "path": "32" + }, + "786": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "787": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F3" + }, + "790": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x320" + }, + "793": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "794": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "796": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x150B" + }, + "799": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "800": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "801": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x671" + }, + "804": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "805": { + "fn": "ERC721AMock.totalMinted", + "offset": [ + 723, + 814 + ], + "op": "JUMPDEST", + "path": "32" + }, + "806": { + "fn": "ERC721AMock.totalMinted", + "offset": [ + 767, + 774 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "808": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 854, + 866 + ], + "op": "SLOAD", + "path": "33" + }, + "809": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3320 + ], + "op": "PUSH1", + "path": "17", + "statement": 3, + "value": "0x1" + }, + "811": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3320 + ], + "op": "SLOAD", + "path": "17" + }, + "812": { + "fn": "ERC721A._totalMinted", + "offset": [ + 3307, + 3338 + ], + "op": "SUB", + "path": "17" + }, + "813": { + "fn": "ERC721AMock.totalMinted", + "offset": [ + 723, + 814 + ], + "op": "PUSH2", + "path": "32", + "value": "0x201" + }, + "816": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "JUMP", + "path": "32" + }, + "817": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "818": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F3" + }, + "821": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x33F" + }, + "824": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "825": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "827": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1535" + }, + "830": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "831": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "832": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x706" + }, + "835": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "836": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "837": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x357" + }, + "840": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x352" + }, + "843": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "844": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "846": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x13BC" + }, + "849": { + "fn": "ERC721AMock.getAux", + "jump": "i", + "offset": [ + 820, + 918 + ], + "op": "JUMP", + "path": "32" + }, + "850": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "851": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x750" + }, + "854": { + "fn": "ERC721AMock.getAux", + "jump": "i", + "offset": [ + 820, + 918 + ], + "op": "JUMP", + "path": "32" + }, + "855": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "856": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH1", + "path": "32", + "value": "0x40" + }, + "858": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "MLOAD", + "path": "32" + }, + "859": { + "op": "PUSH1", + "value": "0x1" + }, + "861": { + "op": "PUSH1", + "value": "0x1" + }, + "863": { + "op": "PUSH1", + "value": "0x40" + }, + "865": { + "op": "SHL" + }, + "866": { + "op": "SUB" + }, + "867": { + "op": "SWAP1" + }, + "868": { + "op": "SWAP2" + }, + "869": { + "op": "AND" + }, + "870": { + "op": "DUP2" + }, + "871": { + "op": "MSTORE" + }, + "872": { + "op": "PUSH1", + "value": "0x20" + }, + "874": { + "op": "ADD" + }, + "875": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "PUSH2", + "path": "32", + "value": "0x197" + }, + "878": { + "op": "JUMP" + }, + "879": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "880": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A8" + }, + "883": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x37D" + }, + "886": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "887": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "889": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x12DE" + }, + "892": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "893": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "894": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "PUSH2", + "path": "17", + "value": "0x77E" + }, + "897": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "898": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "JUMPDEST", + "path": "32" + }, + "899": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x201" + }, + "902": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x390" + }, + "905": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "CALLDATASIZE", + "path": "32" + }, + "906": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH1", + "path": "32", + "value": "0x4" + }, + "908": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x13BC" + }, + "911": { + "fn": "ERC721AMock.numberMinted", + "jump": "i", + "offset": [ + 606, + 717 + ], + "op": "JUMP", + "path": "32" + }, + "912": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "JUMPDEST", + "path": "32" + }, + "913": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "PUSH2", + "path": "32", + "value": "0x80F" + }, + "916": { + "fn": "ERC721AMock.numberMinted", + "jump": "i", + "offset": [ + 606, + 717 + ], + "op": "JUMP", + "path": "32" + }, + "917": { + "offset": [ + 797, + 824 + ], + "op": "JUMPDEST", + "path": "35" + }, + "918": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 797, + 824 + ], + "op": "PUSH2", + "path": "35", + "value": "0x201" + }, + "921": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 797, + 824 + ], + "op": "PUSH1", + "path": "35", + "value": "0x0" + }, + "923": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 797, + 824 + ], + "op": "SLOAD", + "path": "35" + }, + "924": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 797, + 824 + ], + "op": "DUP2", + "path": "35" + }, + "925": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 797, + 824 + ], + "op": "JUMP", + "path": "35" + }, + "926": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "927": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18B" + }, + "930": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3AC" + }, + "933": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "934": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "936": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x159C" + }, + "939": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "940": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "941": { + "op": "PUSH1", + "value": "0x1" + }, + "943": { + "op": "PUSH1", + "value": "0x1" + }, + "945": { + "op": "PUSH1", + "value": "0xA0" + }, + "947": { + "op": "SHL" + }, + "948": { + "op": "SUB" + }, + "949": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP2", + "path": "17", + "statement": 4 + }, + "950": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP3", + "path": "17" + }, + "951": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "AND", + "path": "17" + }, + "952": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8694, + 8698 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "954": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "955": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "956": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "957": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x8" + }, + "959": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "961": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "962": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "963": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "964": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "966": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP1", + "path": "17" + }, + "967": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP4", + "path": "17" + }, + "968": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "KECCAK256", + "path": "17" + }, + "969": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP4", + "path": "17" + }, + "970": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "971": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP5", + "path": "17" + }, + "972": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "973": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "DUP3", + "path": "17" + }, + "974": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "975": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "976": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "977": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "978": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "979": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "KECCAK256", + "path": "17" + }, + "980": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SLOAD", + "path": "17" + }, + "981": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "983": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "984": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "985": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "986": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "987": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3524, + 3528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "989": { + "op": "PUSH1", + "value": "0x1" + }, + "991": { + "op": "PUSH1", + "value": "0x1" + }, + "993": { + "op": "PUSH1", + "value": "0xE0" + }, + "995": { + "op": "SHL" + }, + "996": { + "op": "SUB" + }, + "997": { + "op": "NOT" + }, + "998": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP3", + "path": "17", + "statement": 5 + }, + "999": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "AND", + "path": "17" + }, + "1000": { + "op": "PUSH4", + "value": "0x80AC58CD" + }, + "1005": { + "op": "PUSH1", + "value": "0xE0" + }, + "1007": { + "op": "SHL" + }, + "1008": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "EQ", + "path": "17" + }, + "1009": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP1", + "path": "17" + }, + "1010": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "PUSH2", + "path": "17", + "value": "0x40B" + }, + "1013": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPI", + "path": "17" + }, + "1014": { + "op": "POP" + }, + "1015": { + "op": "PUSH1", + "value": "0x1" + }, + "1017": { + "op": "PUSH1", + "value": "0x1" + }, + "1019": { + "op": "PUSH1", + "value": "0xE0" + }, + "1021": { + "op": "SHL" + }, + "1022": { + "op": "SUB" + }, + "1023": { + "op": "NOT" + }, + "1024": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "DUP3", + "path": "17" + }, + "1025": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "AND", + "path": "17" + }, + "1026": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "1031": { + "op": "PUSH1", + "value": "0xE0" + }, + "1033": { + "op": "SHL" + }, + "1034": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "EQ", + "path": "17" + }, + "1035": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1036": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "DUP1", + "path": "17" + }, + "1037": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "PUSH2", + "path": "17", + "value": "0x426" + }, + "1040": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "JUMPI", + "path": "17" + }, + "1041": { + "op": "POP" + }, + "1042": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "1047": { + "op": "PUSH1", + "value": "0xE0" + }, + "1049": { + "op": "SHL" + }, + "1050": { + "op": "PUSH1", + "value": "0x1" + }, + "1052": { + "op": "PUSH1", + "value": "0x1" + }, + "1054": { + "op": "PUSH1", + "value": "0xE0" + }, + "1056": { + "op": "SHL" + }, + "1057": { + "op": "SUB" + }, + "1058": { + "op": "NOT" + }, + "1059": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "DUP4", + "path": "7", + "statement": 6 + }, + "1060": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "AND", + "path": "7" + }, + "1061": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "EQ", + "path": "7" + }, + "1062": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3643, + 3679 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1063": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3540, + 3679 + ], + "op": "SWAP3", + "path": "17" + }, + "1064": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "1065": { + "op": "POP" + }, + "1066": { + "op": "POP" + }, + "1067": { + "fn": "ERC721A.supportsInterface", + "jump": "o", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "1068": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1069": { + "fn": "ERC721A.name", + "offset": [ + 6558, + 6571 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1071": { + "fn": "ERC721A.name", + "offset": [ + 6590, + 6595 + ], + "op": "PUSH1", + "path": "17", + "statement": 7, + "value": "0x3" + }, + "1073": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1074": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1075": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x43B" + }, + "1078": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1079": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15C6" + }, + "1082": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1083": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1084": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1085": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1087": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1088": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1090": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1091": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1092": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1093": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1094": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1096": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1097": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1099": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MLOAD", + "path": "17" + }, + "1100": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1101": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1102": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1103": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1105": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1106": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1107": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP3", + "path": "17" + }, + "1108": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1109": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1110": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1111": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1112": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1113": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1115": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1116": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1117": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1118": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1119": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x467" + }, + "1122": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1123": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15C6" + }, + "1126": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1127": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1128": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1129": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ISZERO", + "path": "17" + }, + "1130": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4B4" + }, + "1133": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1134": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1135": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1137": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "LT", + "path": "17" + }, + "1138": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x489" + }, + "1141": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1142": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100" + }, + "1145": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1146": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1147": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1148": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1149": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1150": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1151": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1152": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1153": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1155": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1156": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1157": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4B4" + }, + "1160": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1161": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1162": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1163": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1164": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1165": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1166": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1168": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1169": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1171": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1173": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "KECCAK256", + "path": "17" + }, + "1174": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1175": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1176": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1177": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1178": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1179": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1180": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1181": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "1183": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1184": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1185": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1187": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1188": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1189": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1190": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "GT", + "path": "17" + }, + "1191": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x497" + }, + "1194": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1195": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1196": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1197": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SUB", + "path": "17" + }, + "1198": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1200": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "AND", + "path": "17" + }, + "1201": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1202": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1203": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1204": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1205": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1206": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1207": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1208": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1209": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1210": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1211": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1212": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "1213": { + "fn": "ERC721A.name", + "jump": "o", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "1214": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1215": { + "fn": "ERC721A.getApproved", + "offset": [ + 8050, + 8057 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1217": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "PUSH2", + "path": "17", + "statement": 8, + "value": "0x4C9" + }, + "1220": { + "fn": "ERC721A.getApproved", + "offset": [ + 8082, + 8089 + ], + "op": "DUP3", + "path": "17" + }, + "1221": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8081 + ], + "op": "PUSH2", + "path": "17", + "value": "0x83D" + }, + "1224": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 8074, + 8090 + ], + "op": "JUMP", + "path": "17" + }, + "1225": { + "branch": 90, + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1226": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4E6" + }, + "1229": { + "branch": 90, + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPI", + "path": "17" + }, + "1230": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1232": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1233": { + "op": "PUSH4", + "value": "0x33D1C039" + }, + "1238": { + "op": "PUSH1", + "value": "0xE2" + }, + "1240": { + "op": "SHL" + }, + "1241": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP2", + "path": "17" + }, + "1242": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MSTORE", + "path": "17" + }, + "1243": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1245": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "ADD", + "path": "17" + }, + "1246": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1248": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1249": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP1", + "path": "17" + }, + "1250": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP2", + "path": "17" + }, + "1251": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SUB", + "path": "17" + }, + "1252": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP1", + "path": "17" + }, + "1253": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "REVERT", + "path": "17" + }, + "1254": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1255": { + "op": "POP" + }, + "1256": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "statement": 9, + "value": "0x0" + }, + "1258": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1259": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "DUP2", + "path": "17" + }, + "1260": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1261": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8166 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "1263": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1265": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1266": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1268": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1269": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "KECCAK256", + "path": "17" + }, + "1270": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SLOAD", + "path": "17" + }, + "1271": { + "op": "PUSH1", + "value": "0x1" + }, + "1273": { + "op": "PUSH1", + "value": "0x1" + }, + "1275": { + "op": "PUSH1", + "value": "0xA0" + }, + "1277": { + "op": "SHL" + }, + "1278": { + "op": "SUB" + }, + "1279": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "AND", + "path": "17" + }, + "1280": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1281": { + "fn": "ERC721A.getApproved", + "jump": "o", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "1282": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1283": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7622 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1285": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "PUSH2", + "path": "17", + "value": "0x50D" + }, + "1288": { + "fn": "ERC721A.approve", + "offset": [ + 7641, + 7648 + ], + "op": "DUP3", + "path": "17" + }, + "1289": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7640 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5C7" + }, + "1292": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7625, + 7649 + ], + "op": "JUMP", + "path": "17" + }, + "1293": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1294": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "SWAP1", + "path": "17" + }, + "1295": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "POP", + "path": "17" + }, + "1296": { + "fn": "ERC721A.approve", + "offset": [ + 7669, + 7674 + ], + "op": "DUP1", + "path": "17", + "statement": 10 + }, + "1297": { + "op": "PUSH1", + "value": "0x1" + }, + "1299": { + "op": "PUSH1", + "value": "0x1" + }, + "1301": { + "op": "PUSH1", + "value": "0xA0" + }, + "1303": { + "op": "SHL" + }, + "1304": { + "op": "SUB" + }, + "1305": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1306": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7665 + ], + "op": "DUP4", + "path": "17" + }, + "1307": { + "op": "PUSH1", + "value": "0x1" + }, + "1309": { + "op": "PUSH1", + "value": "0x1" + }, + "1311": { + "op": "PUSH1", + "value": "0xA0" + }, + "1313": { + "op": "SHL" + }, + "1314": { + "op": "SUB" + }, + "1315": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1316": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "SUB", + "path": "17" + }, + "1317": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "PUSH2", + "path": "17", + "value": "0x541" + }, + "1320": { + "branch": 91, + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPI", + "path": "17" + }, + "1321": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1323": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1324": { + "op": "PUSH4", + "value": "0x250FDEE3" + }, + "1329": { + "op": "PUSH1", + "value": "0xE2" + }, + "1331": { + "op": "SHL" + }, + "1332": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP2", + "path": "17" + }, + "1333": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MSTORE", + "path": "17" + }, + "1334": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1336": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "ADD", + "path": "17" + }, + "1337": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1339": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1340": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP1", + "path": "17" + }, + "1341": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP2", + "path": "17" + }, + "1342": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SUB", + "path": "17" + }, + "1343": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP1", + "path": "17" + }, + "1344": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "REVERT", + "path": "17" + }, + "1345": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1346": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 11 + }, + "1347": { + "op": "PUSH1", + "value": "0x1" + }, + "1349": { + "op": "PUSH1", + "value": "0x1" + }, + "1351": { + "op": "PUSH1", + "value": "0xA0" + }, + "1353": { + "op": "SHL" + }, + "1354": { + "op": "SUB" + }, + "1355": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "DUP3", + "path": "17" + }, + "1356": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "AND", + "path": "17" + }, + "1357": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "EQ", + "path": "17" + }, + "1358": { + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x578" + }, + "1361": { + "branch": 92, + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1362": { + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "PUSH2", + "path": "17", + "statement": 12, + "value": "0x55B" + }, + "1365": { + "fn": "ERC721A.approve", + "offset": [ + 7779, + 7784 + ], + "op": "DUP2", + "path": "17" + }, + "1366": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1367": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3AC" + }, + "1370": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1371": { + "branch": 93, + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1372": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x578" + }, + "1375": { + "branch": 93, + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1376": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1378": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1379": { + "op": "PUSH4", + "value": "0x67D9DCA1" + }, + "1384": { + "op": "PUSH1", + "value": "0xE1" + }, + "1386": { + "op": "SHL" + }, + "1387": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP2", + "path": "17" + }, + "1388": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MSTORE", + "path": "17" + }, + "1389": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1391": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "ADD", + "path": "17" + }, + "1392": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1394": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1395": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP1", + "path": "17" + }, + "1396": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP2", + "path": "17" + }, + "1397": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SUB", + "path": "17" + }, + "1398": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP1", + "path": "17" + }, + "1399": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "REVERT", + "path": "17" + }, + "1400": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1401": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "PUSH2", + "path": "17", + "statement": 13, + "value": "0x583" + }, + "1404": { + "fn": "ERC721A.approve", + "offset": [ + 7895, + 7897 + ], + "op": "DUP4", + "path": "17" + }, + "1405": { + "fn": "ERC721A.approve", + "offset": [ + 7899, + 7906 + ], + "op": "DUP4", + "path": "17" + }, + "1406": { + "fn": "ERC721A.approve", + "offset": [ + 7908, + 7913 + ], + "op": "DUP4", + "path": "17" + }, + "1407": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7894 + ], + "op": "PUSH2", + "path": "17", + "value": "0x87D" + }, + "1410": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7886, + 7914 + ], + "op": "JUMP", + "path": "17" + }, + "1411": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1412": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1413": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1414": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1415": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "1416": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1417": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8978 + ], + "op": "PUSH2", + "path": "17", + "statement": 14, + "value": "0x583" + }, + "1420": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8960, + 8964 + ], + "op": "DUP4", + "path": "17" + }, + "1421": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8966, + 8968 + ], + "op": "DUP4", + "path": "17" + }, + "1422": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8970, + 8977 + ], + "op": "DUP4", + "path": "17" + }, + "1423": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8959 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8D9" + }, + "1426": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8950, + 8978 + ], + "op": "JUMP", + "path": "17" + }, + "1427": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1428": { + "fn": "ERC721AMock.mint", + "offset": [ + 1537, + 1556 + ], + "op": "PUSH2", + "path": "32", + "statement": 15, + "value": "0x59D" + }, + "1431": { + "fn": "ERC721AMock.mint", + "offset": [ + 1543, + 1545 + ], + "op": "DUP3", + "path": "32" + }, + "1432": { + "fn": "ERC721AMock.mint", + "offset": [ + 1547, + 1555 + ], + "op": "DUP3", + "path": "32" + }, + "1433": { + "fn": "ERC721AMock.mint", + "offset": [ + 1537, + 1542 + ], + "op": "PUSH2", + "path": "32", + "value": "0xAB4" + }, + "1436": { + "fn": "ERC721AMock.mint", + "jump": "i", + "offset": [ + 1537, + 1556 + ], + "op": "JUMP", + "path": "32" + }, + "1437": { + "fn": "ERC721AMock.mint", + "offset": [ + 1537, + 1556 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1438": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "1439": { + "fn": "ERC721AMock.mint", + "offset": [ + 1476, + 1563 + ], + "op": "POP", + "path": "32" + }, + "1440": { + "fn": "ERC721AMock.mint", + "jump": "o", + "offset": [ + 1476, + 1563 + ], + "op": "JUMP", + "path": "32" + }, + "1441": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1442": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH2", + "path": "17", + "statement": 16, + "value": "0x583" + }, + "1445": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9201, + 9205 + ], + "op": "DUP4", + "path": "17" + }, + "1446": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9207, + 9209 + ], + "op": "DUP4", + "path": "17" + }, + "1447": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9211, + 9218 + ], + "op": "DUP4", + "path": "17" + }, + "1448": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1450": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MLOAD", + "path": "17" + }, + "1451": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1452": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1454": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "ADD", + "path": "17" + }, + "1455": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1457": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1458": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1459": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1461": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP2", + "path": "17" + }, + "1462": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1463": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "POP", + "path": "17" + }, + "1464": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9200 + ], + "op": "PUSH2", + "path": "17", + "value": "0x706" + }, + "1467": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9184, + 9223 + ], + "op": "JUMP", + "path": "17" + }, + "1468": { + "fn": "ERC721AMock.exists", + "offset": [ + 1111, + 1211 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1469": { + "fn": "ERC721AMock.exists", + "offset": [ + 1165, + 1169 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "1471": { + "fn": "ERC721AMock.exists", + "offset": [ + 1188, + 1204 + ], + "op": "PUSH2", + "path": "32", + "statement": 17, + "value": "0x426" + }, + "1474": { + "fn": "ERC721AMock.exists", + "offset": [ + 1196, + 1203 + ], + "op": "DUP3", + "path": "32" + }, + "1475": { + "fn": "ERC721AMock.exists", + "offset": [ + 1188, + 1195 + ], + "op": "PUSH2", + "path": "32", + "value": "0x83D" + }, + "1478": { + "fn": "ERC721AMock.exists", + "jump": "i", + "offset": [ + 1188, + 1204 + ], + "op": "JUMP", + "path": "32" + }, + "1479": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1480": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6383, + 6390 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1482": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "PUSH2", + "path": "17", + "statement": 18, + "value": "0x5D2" + }, + "1485": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6422, + 6429 + ], + "op": "DUP3", + "path": "17" + }, + "1486": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6421 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBC6" + }, + "1489": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6409, + 6430 + ], + "op": "JUMP", + "path": "17" + }, + "1490": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1491": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "MLOAD", + "path": "17" + }, + "1492": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "SWAP3", + "path": "17" + }, + "1493": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "SWAP2", + "path": "17" + }, + "1494": { + "op": "POP" + }, + "1495": { + "op": "POP" + }, + "1496": { + "fn": "ERC721A.ownerOf", + "jump": "o", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "1497": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1498": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1056, + 1069 + ], + "op": "PUSH1", + "path": "32", + "value": "0x60" + }, + "1500": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1088, + 1098 + ], + "op": "PUSH2", + "path": "32", + "statement": 19, + "value": "0x5F0" + }, + "1503": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "statement": 20, + "value": "0x40" + }, + "1505": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "1506": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "1507": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1509": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1510": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "1511": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1512": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "1513": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1514": { + "op": "PUSH1", + "value": "0x0" + }, + "1516": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1517": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1518": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1519": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "1520": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1088, + 1098 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1521": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1081, + 1098 + ], + "op": "SWAP1", + "path": "32" + }, + "1522": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1081, + 1098 + ], + "op": "POP", + "path": "32" + }, + "1523": { + "fn": "ERC721AMock.baseURI", + "offset": [ + 1016, + 1105 + ], + "op": "SWAP1", + "path": "32" + }, + "1524": { + "fn": "ERC721AMock.baseURI", + "jump": "o", + "offset": [ + 1016, + 1105 + ], + "op": "JUMP", + "path": "32" + }, + "1525": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1526": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3809, + 3816 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1528": { + "op": "PUSH1", + "value": "0x1" + }, + "1530": { + "op": "PUSH1", + "value": "0x1" + }, + "1532": { + "op": "PUSH1", + "value": "0xA0" + }, + "1534": { + "op": "SHL" + }, + "1535": { + "op": "SUB" + }, + "1536": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "DUP3", + "path": "17", + "statement": 21 + }, + "1537": { + "branch": 94, + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "AND", + "path": "17" + }, + "1538": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "PUSH2", + "path": "17", + "value": "0x61E" + }, + "1541": { + "branch": 94, + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPI", + "path": "17" + }, + "1542": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1544": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1545": { + "op": "PUSH4", + "value": "0x23D3AD81" + }, + "1550": { + "op": "PUSH1", + "value": "0xE2" + }, + "1552": { + "op": "SHL" + }, + "1553": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP2", + "path": "17" + }, + "1554": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MSTORE", + "path": "17" + }, + "1555": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1557": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "ADD", + "path": "17" + }, + "1558": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1560": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1561": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP1", + "path": "17" + }, + "1562": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP2", + "path": "17" + }, + "1563": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SUB", + "path": "17" + }, + "1564": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP1", + "path": "17" + }, + "1565": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "REVERT", + "path": "17" + }, + "1566": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1567": { + "op": "POP" + }, + "1568": { + "op": "PUSH1", + "value": "0x1" + }, + "1570": { + "op": "PUSH1", + "value": "0x1" + }, + "1572": { + "op": "PUSH1", + "value": "0xA0" + }, + "1574": { + "op": "SHL" + }, + "1575": { + "op": "SUB" + }, + "1576": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "AND", + "path": "17", + "statement": 22 + }, + "1577": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1579": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1580": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "DUP2", + "path": "17" + }, + "1581": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1582": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3925 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1584": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1586": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1587": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1589": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1590": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "KECCAK256", + "path": "17" + }, + "1591": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SLOAD", + "path": "17" + }, + "1592": { + "op": "PUSH1", + "value": "0x1" + }, + "1594": { + "op": "PUSH1", + "value": "0x1" + }, + "1596": { + "op": "PUSH1", + "value": "0x40" + }, + "1598": { + "op": "SHL" + }, + "1599": { + "op": "SUB" + }, + "1600": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "AND", + "path": "17" + }, + "1601": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SWAP1", + "path": "17" + }, + "1602": { + "fn": "ERC721A.balanceOf", + "jump": "o", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "1603": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1318, + 1470 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1604": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1433, + 1463 + ], + "op": "PUSH2", + "path": "32", + "statement": 23, + "value": "0x583" + }, + "1607": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1443, + 1445 + ], + "op": "DUP4", + "path": "32" + }, + "1608": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1447, + 1455 + ], + "op": "DUP4", + "path": "32" + }, + "1609": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1457, + 1462 + ], + "op": "DUP4", + "path": "32" + }, + "1610": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1433, + 1442 + ], + "op": "PUSH2", + "path": "32", + "value": "0xCEF" + }, + "1613": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1433, + 1463 + ], + "op": "JUMP", + "path": "32" + }, + "1614": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1615": { + "fn": "ERC721A.symbol", + "offset": [ + 6722, + 6735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1617": { + "fn": "ERC721A.symbol", + "offset": [ + 6754, + 6761 + ], + "op": "PUSH1", + "path": "17", + "statement": 24, + "value": "0x4" + }, + "1619": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "DUP1", + "path": "17" + }, + "1620": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SLOAD", + "path": "17" + }, + "1621": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x43B" + }, + "1624": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SWAP1", + "path": "17" + }, + "1625": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15C6" + }, + "1628": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6747, + 6761 + ], + "op": "JUMP", + "path": "17" + }, + "1629": { + "fn": "ERC721AMock.burn", + "offset": [ + 1569, + 1679 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1630": { + "fn": "ERC721AMock.burn", + "offset": [ + 1637, + 1672 + ], + "op": "PUSH2", + "path": "32", + "statement": 25, + "value": "0x59D" + }, + "1633": { + "fn": "ERC721AMock.burn", + "offset": [ + 1649, + 1656 + ], + "op": "DUP3", + "path": "32" + }, + "1634": { + "fn": "ERC721AMock.burn", + "offset": [ + 1658, + 1671 + ], + "op": "DUP3", + "path": "32" + }, + "1635": { + "fn": "ERC721AMock.burn", + "offset": [ + 1637, + 1648 + ], + "op": "PUSH2", + "path": "32", + "value": "0xE83" + }, + "1638": { + "fn": "ERC721AMock.burn", + "jump": "i", + "offset": [ + 1637, + 1672 + ], + "op": "JUMP", + "path": "32" + }, + "1639": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1217, + 1312 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1640": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1282, + 1305 + ], + "op": "PUSH2", + "path": "32", + "statement": 26, + "value": "0x59D" + }, + "1643": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1292, + 1294 + ], + "op": "DUP3", + "path": "32" + }, + "1644": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1296, + 1304 + ], + "op": "DUP3", + "path": "32" + }, + "1645": { + "fn": "ERC721AMock.safeMint", + "offset": [ + 1282, + 1291 + ], + "op": "PUSH2", + "path": "32", + "value": "0x1037" + }, + "1648": { + "fn": "ERC721AMock.safeMint", + "jump": "i", + "offset": [ + 1282, + 1305 + ], + "op": "JUMP", + "path": "32" + }, + "1649": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1650": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1651": { + "op": "PUSH1", + "value": "0x1" + }, + "1653": { + "op": "PUSH1", + "value": "0x1" + }, + "1655": { + "op": "PUSH1", + "value": "0xA0" + }, + "1657": { + "op": "SHL" + }, + "1658": { + "op": "SUB" + }, + "1659": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "DUP4", + "path": "17", + "statement": 27 + }, + "1660": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "AND", + "path": "17" + }, + "1661": { + "branch": 95, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "SUB", + "path": "17" + }, + "1662": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "PUSH2", + "path": "17", + "value": "0x69A" + }, + "1665": { + "branch": 95, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPI", + "path": "17" + }, + "1666": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1668": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1669": { + "op": "PUSH4", + "value": "0xB06307DB" + }, + "1674": { + "op": "PUSH1", + "value": "0xE0" + }, + "1676": { + "op": "SHL" + }, + "1677": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP2", + "path": "17" + }, + "1678": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MSTORE", + "path": "17" + }, + "1679": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1681": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "ADD", + "path": "17" + }, + "1682": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1684": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1685": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP1", + "path": "17" + }, + "1686": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP2", + "path": "17" + }, + "1687": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SUB", + "path": "17" + }, + "1688": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP1", + "path": "17" + }, + "1689": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "REVERT", + "path": "17" + }, + "1690": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1691": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1692": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "statement": 28, + "value": "0x0" + }, + "1694": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1695": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1696": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1697": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8426 + ], + "op": "PUSH1", + "path": "17", + "value": "0x8" + }, + "1699": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1701": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "SWAP1", + "path": "17" + }, + "1702": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1703": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1704": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1706": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP1", + "path": "17" + }, + "1707": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP4", + "path": "17" + }, + "1708": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "KECCAK256", + "path": "17" + }, + "1709": { + "op": "PUSH1", + "value": "0x1" + }, + "1711": { + "op": "PUSH1", + "value": "0x1" + }, + "1713": { + "op": "PUSH1", + "value": "0xA0" + }, + "1715": { + "op": "SHL" + }, + "1716": { + "op": "SUB" + }, + "1717": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP8", + "path": "17" + }, + "1718": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "AND", + "path": "17" + }, + "1719": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP1", + "path": "17" + }, + "1720": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP6", + "path": "17" + }, + "1721": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1722": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1723": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP4", + "path": "17" + }, + "1724": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1725": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1726": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP2", + "path": "17" + }, + "1727": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1728": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "KECCAK256", + "path": "17" + }, + "1729": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP1", + "path": "17" + }, + "1730": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SLOAD", + "path": "17" + }, + "1731": { + "op": "PUSH1", + "value": "0xFF" + }, + "1733": { + "op": "NOT" + }, + "1734": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "AND", + "path": "17" + }, + "1735": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP7", + "path": "17" + }, + "1736": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1737": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1738": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1739": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP2", + "path": "17" + }, + "1740": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "OR", + "path": "17" + }, + "1741": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1742": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP2", + "path": "17" + }, + "1743": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SSTORE", + "path": "17" + }, + "1744": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17", + "statement": 29 + }, + "1745": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1746": { + "op": "SWAP1" + }, + "1747": { + "op": "DUP2" + }, + "1748": { + "op": "MSTORE" + }, + "1749": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP2", + "path": "17" + }, + "1750": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1751": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP2", + "path": "5" + }, + "1752": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH32", + "path": "17", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "1785": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1786": { + "op": "ADD" + }, + "1787": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1789": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1790": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "DUP1", + "path": "17" + }, + "1791": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1792": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SUB", + "path": "17" + }, + "1793": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17" + }, + "1794": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "LOG3", + "path": "17" + }, + "1795": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1796": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1797": { + "fn": "ERC721A.setApprovalForAll", + "jump": "o", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "1798": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1799": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "PUSH2", + "path": "17", + "statement": 30, + "value": "0x711" + }, + "1802": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9467, + 9471 + ], + "op": "DUP5", + "path": "17" + }, + "1803": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9473, + 9475 + ], + "op": "DUP5", + "path": "17" + }, + "1804": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9477, + 9484 + ], + "op": "DUP5", + "path": "17" + }, + "1805": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9466 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8D9" + }, + "1808": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9457, + 9485 + ], + "op": "JUMP", + "path": "17" + }, + "1809": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1810": { + "op": "PUSH1", + "value": "0x1" + }, + "1812": { + "op": "PUSH1", + "value": "0x1" + }, + "1814": { + "op": "PUSH1", + "value": "0xA0" + }, + "1816": { + "op": "SHL" + }, + "1817": { + "op": "SUB" + }, + "1818": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "DUP4", + "path": "17" + }, + "1819": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "AND", + "path": "17" + }, + "1820": { + "op": "EXTCODESIZE" + }, + "1821": { + "op": "ISZERO" + }, + "1822": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x74A" + }, + "1825": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1826": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "PUSH2", + "path": "17", + "statement": 31, + "value": "0x72D" + }, + "1829": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9564, + 9568 + ], + "op": "DUP5", + "path": "17" + }, + "1830": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9570, + 9572 + ], + "op": "DUP5", + "path": "17" + }, + "1831": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9574, + 9581 + ], + "op": "DUP5", + "path": "17" + }, + "1832": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9583, + 9588 + ], + "op": "DUP5", + "path": "17" + }, + "1833": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9563 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1051" + }, + "1836": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9533, + 9589 + ], + "op": "JUMP", + "path": "17" + }, + "1837": { + "branch": 96, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1838": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x74A" + }, + "1841": { + "branch": 96, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1842": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1844": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1845": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "1850": { + "op": "PUSH1", + "value": "0xE1" + }, + "1852": { + "op": "SHL" + }, + "1853": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP2", + "path": "17" + }, + "1854": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MSTORE", + "path": "17" + }, + "1855": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1857": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "ADD", + "path": "17" + }, + "1858": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1860": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1861": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP1", + "path": "17" + }, + "1862": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP2", + "path": "17" + }, + "1863": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SUB", + "path": "17" + }, + "1864": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP1", + "path": "17" + }, + "1865": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "REVERT", + "path": "17" + }, + "1866": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1867": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1868": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1869": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1870": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1871": { + "fn": "ERC721A.safeTransferFrom", + "jump": "o", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "1872": { + "fn": "ERC721AMock.getAux", + "offset": [ + 820, + 918 + ], + "op": "JUMPDEST", + "path": "32" + }, + "1873": { + "op": "PUSH1", + "value": "0x1" + }, + "1875": { + "op": "PUSH1", + "value": "0x1" + }, + "1877": { + "op": "PUSH1", + "value": "0xA0" + }, + "1879": { + "op": "SHL" + }, + "1880": { + "op": "SUB" + }, + "1881": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "DUP2", + "path": "17", + "statement": 32 + }, + "1882": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "AND", + "path": "17" + }, + "1883": { + "fn": "ERC721AMock.getAux", + "offset": [ + 872, + 878 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "1885": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "SWAP1", + "path": "17" + }, + "1886": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "DUP2", + "path": "17" + }, + "1887": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "MSTORE", + "path": "17" + }, + "1888": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4593 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1890": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1892": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "MSTORE", + "path": "17" + }, + "1893": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1895": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "DUP2", + "path": "17" + }, + "1896": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4600 + ], + "op": "KECCAK256", + "path": "17" + }, + "1897": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "SLOAD", + "path": "17" + }, + "1898": { + "op": "PUSH1", + "value": "0x1" + }, + "1900": { + "op": "PUSH1", + "value": "0xC0" + }, + "1902": { + "op": "SHL" + }, + "1903": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "SWAP1", + "path": "17" + }, + "1904": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "DIV", + "path": "17" + }, + "1905": { + "op": "PUSH1", + "value": "0x1" + }, + "1907": { + "op": "PUSH1", + "value": "0x1" + }, + "1909": { + "op": "PUSH1", + "value": "0x40" + }, + "1911": { + "op": "SHL" + }, + "1912": { + "op": "SUB" + }, + "1913": { + "fn": "ERC721A._getAux", + "offset": [ + 4581, + 4604 + ], + "op": "AND", + "path": "17" + }, + "1914": { + "fn": "ERC721AMock.getAux", + "offset": [ + 897, + 911 + ], + "op": "PUSH2", + "path": "32", + "statement": 33, + "value": "0x426" + }, + "1917": { + "fn": "ERC721A._getAux", + "offset": [ + 4501, + 4611 + ], + "op": "JUMP", + "path": "17" + }, + "1918": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1919": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6907, + 6920 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1921": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6953 + ], + "op": "PUSH2", + "path": "17", + "statement": 34, + "value": "0x789" + }, + "1924": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6945, + 6952 + ], + "op": "DUP3", + "path": "17" + }, + "1925": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6944 + ], + "op": "PUSH2", + "path": "17", + "value": "0x83D" + }, + "1928": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 6937, + 6953 + ], + "op": "JUMP", + "path": "17" + }, + "1929": { + "branch": 97, + "fn": "ERC721A.tokenURI", + "offset": [ + 6937, + 6953 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1930": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7A6" + }, + "1933": { + "branch": 97, + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "JUMPI", + "path": "17" + }, + "1934": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1936": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MLOAD", + "path": "17" + }, + "1937": { + "op": "PUSH4", + "value": "0xA14C4B5" + }, + "1942": { + "op": "PUSH1", + "value": "0xE4" + }, + "1944": { + "op": "SHL" + }, + "1945": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "DUP2", + "path": "17" + }, + "1946": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MSTORE", + "path": "17" + }, + "1947": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1949": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "ADD", + "path": "17" + }, + "1950": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1952": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "MLOAD", + "path": "17" + }, + "1953": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "DUP1", + "path": "17" + }, + "1954": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SWAP2", + "path": "17" + }, + "1955": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SUB", + "path": "17" + }, + "1956": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "SWAP1", + "path": "17" + }, + "1957": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6962, + 6991 + ], + "op": "REVERT", + "path": "17" + }, + "1958": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6932, + 6991 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1959": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7023 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1961": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7026, + 7036 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7BD" + }, + "1964": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1966": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "1967": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "1968": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1970": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1971": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "1972": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1973": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "1974": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1975": { + "op": "PUSH1", + "value": "0x0" + }, + "1977": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1978": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1979": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1980": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "1981": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7026, + 7036 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1982": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7036 + ], + "op": "SWAP1", + "path": "17" + }, + "1983": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7002, + 7036 + ], + "op": "POP", + "path": "17" + }, + "1984": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7059, + 7066 + ], + "op": "DUP1", + "path": "17", + "statement": 35 + }, + "1985": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7074 + ], + "op": "MLOAD", + "path": "17" + }, + "1986": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7078, + 7079 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1988": { + "branch": 98, + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7079 + ], + "op": "SUB", + "path": "17" + }, + "1989": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7DD" + }, + "1992": { + "branch": 98, + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPI", + "path": "17" + }, + "1993": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1995": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MLOAD", + "path": "17" + }, + "1996": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP1", + "path": "17" + }, + "1997": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1999": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "ADD", + "path": "17" + }, + "2000": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2002": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MSTORE", + "path": "17" + }, + "2003": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP1", + "path": "17" + }, + "2004": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2006": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "DUP2", + "path": "17" + }, + "2007": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "MSTORE", + "path": "17" + }, + "2008": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "POP", + "path": "17" + }, + "2009": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "PUSH2", + "path": "17", + "value": "0x808" + }, + "2012": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMP", + "path": "17" + }, + "2013": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2014": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7106, + 7113 + ], + "op": "DUP1", + "path": "17" + }, + "2015": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7E7" + }, + "2018": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7122 + ], + "op": "DUP5", + "path": "17" + }, + "2019": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7131 + ], + "op": "PUSH2", + "path": "17", + "value": "0x113D" + }, + "2022": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 7115, + 7133 + ], + "op": "JUMP", + "path": "17" + }, + "2023": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7115, + 7133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2024": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2026": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MLOAD", + "path": "17" + }, + "2027": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2029": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "ADD", + "path": "17" + }, + "2030": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7F8" + }, + "2033": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP3", + "path": "17" + }, + "2034": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP2", + "path": "17" + }, + "2035": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP1", + "path": "17" + }, + "2036": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1600" + }, + "2039": { + "fn": "ERC721A.tokenURI", + "jump": "i", + "offset": [ + 7089, + 7134 + ], + "op": "JUMP", + "path": "17" + }, + "2040": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2041": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2043": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MLOAD", + "path": "17" + }, + "2044": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2046": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP2", + "path": "17" + }, + "2047": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP4", + "path": "17" + }, + "2048": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SUB", + "path": "17" + }, + "2049": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SUB", + "path": "17" + }, + "2050": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "DUP2", + "path": "17" + }, + "2051": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MSTORE", + "path": "17" + }, + "2052": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "SWAP1", + "path": "17" + }, + "2053": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2055": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7089, + 7134 + ], + "op": "MSTORE", + "path": "17" + }, + "2056": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7053, + 7140 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2057": { + "fn": "ERC721A.tokenURI", + "offset": [ + 7046, + 7140 + ], + "op": "SWAP4", + "path": "17" + }, + "2058": { + "fn": "ERC721A.tokenURI", + "offset": [ + 6834, + 7147 + ], + "op": "SWAP3", + "path": "17" + }, + "2059": { + "op": "POP" + }, + "2060": { + "op": "POP" + }, + "2061": { + "op": "POP" + }, + "2062": { + "fn": "ERC721A.tokenURI", + "jump": "o", + "offset": [ + 6834, + 7147 + ], + "op": "JUMP", + "path": "17" + }, + "2063": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 606, + 717 + ], + "op": "JUMPDEST", + "path": "32" + }, + "2064": { + "op": "PUSH1", + "value": "0x1" + }, + "2066": { + "op": "PUSH1", + "value": "0x1" + }, + "2068": { + "op": "PUSH1", + "value": "0xA0" + }, + "2070": { + "op": "SHL" + }, + "2071": { + "op": "SUB" + }, + "2072": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "DUP2", + "path": "17", + "statement": 36 + }, + "2073": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "AND", + "path": "17" + }, + "2074": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 664, + 671 + ], + "op": "PUSH1", + "path": "32", + "value": "0x0" + }, + "2076": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "SWAP1", + "path": "17" + }, + "2077": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "DUP2", + "path": "17" + }, + "2078": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "MSTORE", + "path": "17" + }, + "2079": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4132 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "2081": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2083": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "MSTORE", + "path": "17" + }, + "2084": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2086": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "DUP2", + "path": "17" + }, + "2087": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4139 + ], + "op": "KECCAK256", + "path": "17" + }, + "2088": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "SLOAD", + "path": "17" + }, + "2089": { + "op": "PUSH1", + "value": "0x1" + }, + "2091": { + "op": "PUSH1", + "value": "0x40" + }, + "2093": { + "op": "SHL" + }, + "2094": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "SWAP1", + "path": "17" + }, + "2095": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "DIV", + "path": "17" + }, + "2096": { + "op": "PUSH1", + "value": "0x1" + }, + "2098": { + "op": "PUSH1", + "value": "0x1" + }, + "2100": { + "op": "PUSH1", + "value": "0x40" + }, + "2102": { + "op": "SHL" + }, + "2103": { + "op": "SUB" + }, + "2104": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4120, + 4152 + ], + "op": "AND", + "path": "17" + }, + "2105": { + "fn": "ERC721AMock.numberMinted", + "offset": [ + 690, + 710 + ], + "op": "PUSH2", + "path": "32", + "statement": 37, + "value": "0x426" + }, + "2108": { + "fn": "ERC721A._numberMinted", + "offset": [ + 4025, + 4160 + ], + "op": "JUMP", + "path": "17" + }, + "2109": { + "fn": "ERC721A._exists", + "offset": [ + 9923, + 10095 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2110": { + "fn": "ERC721A._exists", + "offset": [ + 9980, + 9984 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2112": { + "fn": "ERC721A._exists", + "offset": [ + 10022, + 10029 + ], + "op": "DUP2", + "path": "17", + "statement": 38 + }, + "2113": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10018 + ], + "op": "PUSH2", + "path": "17", + "value": "0x849" + }, + "2116": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 828, + 835 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "2118": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 854, + 866 + ], + "op": "SLOAD", + "path": "33" + }, + "2119": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 854, + 866 + ], + "op": "SWAP1", + "path": "33" + }, + "2120": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 771, + 873 + ], + "op": "JUMP", + "path": "33" + }, + "2121": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10018 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2122": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10029 + ], + "op": "GT", + "path": "17" + }, + "2123": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10029 + ], + "op": "ISZERO", + "path": "17" + }, + "2124": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "DUP1", + "path": "17" + }, + "2125": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "ISZERO", + "path": "17" + }, + "2126": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "PUSH2", + "path": "17", + "value": "0x858" + }, + "2129": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "JUMPI", + "path": "17" + }, + "2130": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "POP", + "path": "17" + }, + "2131": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2133": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "SLOAD", + "path": "17" + }, + "2134": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10040 + ], + "op": "DUP3", + "path": "17" + }, + "2135": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10056 + ], + "op": "LT", + "path": "17" + }, + "2136": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10056 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2137": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "DUP1", + "path": "17" + }, + "2138": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2139": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "PUSH2", + "path": "17", + "value": "0x426" + }, + "2142": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "JUMPI", + "path": "17" + }, + "2143": { + "op": "POP" + }, + "2144": { + "op": "POP" + }, + "2145": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2147": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2148": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "DUP2", + "path": "17" + }, + "2149": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2150": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10072 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2152": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2154": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2155": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2157": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2158": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "KECCAK256", + "path": "17" + }, + "2159": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SLOAD", + "path": "17" + }, + "2160": { + "op": "PUSH1", + "value": "0x1" + }, + "2162": { + "op": "PUSH1", + "value": "0xE0" + }, + "2164": { + "op": "SHL" + }, + "2165": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2166": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "DIV", + "path": "17" + }, + "2167": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "2169": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "AND", + "path": "17" + }, + "2170": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2171": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2172": { + "fn": "ERC721A._exists", + "jump": "o", + "offset": [ + 9923, + 10095 + ], + "op": "JUMP", + "path": "17" + }, + "2173": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2174": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "statement": 39, + "value": "0x0" + }, + "2176": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2177": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP2", + "path": "17" + }, + "2178": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2179": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18973 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "2181": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2183": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2184": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2186": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP1", + "path": "17" + }, + "2187": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2188": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "KECCAK256", + "path": "17" + }, + "2189": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP1", + "path": "17" + }, + "2190": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SLOAD", + "path": "17" + }, + "2191": { + "op": "PUSH1", + "value": "0x1" + }, + "2193": { + "op": "PUSH1", + "value": "0x1" + }, + "2195": { + "op": "PUSH1", + "value": "0xA0" + }, + "2197": { + "op": "SHL" + }, + "2198": { + "op": "SUB" + }, + "2199": { + "op": "NOT" + }, + "2200": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2201": { + "op": "PUSH1", + "value": "0x1" + }, + "2203": { + "op": "PUSH1", + "value": "0x1" + }, + "2205": { + "op": "PUSH1", + "value": "0xA0" + }, + "2207": { + "op": "SHL" + }, + "2208": { + "op": "SUB" + }, + "2209": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP8", + "path": "17" + }, + "2210": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP2", + "path": "17" + }, + "2211": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2212": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP2", + "path": "17" + }, + "2213": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP3", + "path": "17" + }, + "2214": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "OR", + "path": "17" + }, + "2215": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP1", + "path": "17" + }, + "2216": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP3", + "path": "17" + }, + "2217": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SSTORE", + "path": "17" + }, + "2218": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17", + "statement": 40 + }, + "2219": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "MLOAD", + "path": "17" + }, + "2220": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP6", + "path": "17" + }, + "2221": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "SWAP4", + "path": "17" + }, + "2222": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2223": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "DUP6", + "path": "17" + }, + "2224": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "AND", + "path": "17" + }, + "2225": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2226": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "PUSH32", + "path": "17", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "2259": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2260": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "LOG4", + "path": "17" + }, + "2261": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2262": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2263": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2264": { + "fn": "ERC721A._approve", + "jump": "o", + "offset": [ + 18848, + 19037 + ], + "op": "JUMP", + "path": "17" + }, + "2265": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2266": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14124 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2268": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8E4" + }, + "2271": { + "fn": "ERC721A._transfer", + "offset": [ + 14140, + 14147 + ], + "op": "DUP3", + "path": "17" + }, + "2272": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14139 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBC6" + }, + "2275": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14127, + 14148 + ], + "op": "JUMP", + "path": "17" + }, + "2276": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2277": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "SWAP1", + "path": "17" + }, + "2278": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "POP", + "path": "17" + }, + "2279": { + "fn": "ERC721A._transfer", + "offset": [ + 14185, + 14189 + ], + "op": "DUP4", + "path": "17", + "statement": 41 + }, + "2280": { + "op": "PUSH1", + "value": "0x1" + }, + "2282": { + "op": "PUSH1", + "value": "0x1" + }, + "2284": { + "op": "PUSH1", + "value": "0xA0" + }, + "2286": { + "op": "SHL" + }, + "2287": { + "op": "SUB" + }, + "2288": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2289": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14176 + ], + "op": "DUP2", + "path": "17" + }, + "2290": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2292": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "ADD", + "path": "17" + }, + "2293": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "MLOAD", + "path": "17" + }, + "2294": { + "op": "PUSH1", + "value": "0x1" + }, + "2296": { + "op": "PUSH1", + "value": "0x1" + }, + "2298": { + "op": "PUSH1", + "value": "0xA0" + }, + "2300": { + "op": "SHL" + }, + "2301": { + "op": "SUB" + }, + "2302": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2303": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "EQ", + "path": "17" + }, + "2304": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "PUSH2", + "path": "17", + "value": "0x91B" + }, + "2307": { + "branch": 99, + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPI", + "path": "17" + }, + "2308": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2310": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2311": { + "op": "PUSH3", + "value": "0xA11481" + }, + "2315": { + "op": "PUSH1", + "value": "0xE8" + }, + "2317": { + "op": "SHL" + }, + "2318": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP2", + "path": "17" + }, + "2319": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MSTORE", + "path": "17" + }, + "2320": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2322": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "ADD", + "path": "17" + }, + "2323": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2325": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2326": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP1", + "path": "17" + }, + "2327": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP2", + "path": "17" + }, + "2328": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SUB", + "path": "17" + }, + "2329": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP1", + "path": "17" + }, + "2330": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "REVERT", + "path": "17" + }, + "2331": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2332": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14259 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2334": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2335": { + "op": "PUSH1", + "value": "0x1" + }, + "2337": { + "op": "PUSH1", + "value": "0x1" + }, + "2339": { + "op": "PUSH1", + "value": "0xA0" + }, + "2341": { + "op": "SHL" + }, + "2342": { + "op": "SUB" + }, + "2343": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP7", + "path": "17" + }, + "2344": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "AND", + "path": "17" + }, + "2345": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "EQ", + "path": "17" + }, + "2346": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP1", + "path": "17" + }, + "2347": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x939" + }, + "2350": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "JUMPI", + "path": "17" + }, + "2351": { + "op": "POP" + }, + "2352": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x939" + }, + "2355": { + "fn": "ERC721A._transfer", + "offset": [ + 14304, + 14308 + ], + "op": "DUP6", + "path": "17" + }, + "2356": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2357": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3AC" + }, + "2360": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "2361": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2362": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "DUP1", + "path": "17" + }, + "2363": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "PUSH2", + "path": "17", + "value": "0x954" + }, + "2366": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPI", + "path": "17" + }, + "2367": { + "op": "POP" + }, + "2368": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2369": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "PUSH2", + "path": "17", + "value": "0x949" + }, + "2372": { + "fn": "ERC721A._transfer", + "offset": [ + 14339, + 14346 + ], + "op": "DUP5", + "path": "17" + }, + "2373": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14338 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4BE" + }, + "2376": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14327, + 14347 + ], + "op": "JUMP", + "path": "17" + }, + "2377": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2378": { + "op": "PUSH1", + "value": "0x1" + }, + "2380": { + "op": "PUSH1", + "value": "0x1" + }, + "2382": { + "op": "PUSH1", + "value": "0xA0" + }, + "2384": { + "op": "SHL" + }, + "2385": { + "op": "SUB" + }, + "2386": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "AND", + "path": "17" + }, + "2387": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "EQ", + "path": "17" + }, + "2388": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2389": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "SWAP1", + "path": "17" + }, + "2390": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "POP", + "path": "17" + }, + "2391": { + "branch": 100, + "fn": "ERC721A._transfer", + "offset": [ + 14380, + 14397 + ], + "op": "DUP1", + "path": "17", + "statement": 42 + }, + "2392": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "PUSH2", + "path": "17", + "value": "0x974" + }, + "2395": { + "branch": 100, + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPI", + "path": "17" + }, + "2396": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2398": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2399": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "2404": { + "op": "PUSH1", + "value": "0xE1" + }, + "2406": { + "op": "SHL" + }, + "2407": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP2", + "path": "17" + }, + "2408": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MSTORE", + "path": "17" + }, + "2409": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2411": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "ADD", + "path": "17" + }, + "2412": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2414": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2415": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP1", + "path": "17" + }, + "2416": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP2", + "path": "17" + }, + "2417": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SUB", + "path": "17" + }, + "2418": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP1", + "path": "17" + }, + "2419": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "REVERT", + "path": "17" + }, + "2420": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2421": { + "op": "PUSH1", + "value": "0x1" + }, + "2423": { + "op": "PUSH1", + "value": "0x1" + }, + "2425": { + "op": "PUSH1", + "value": "0xA0" + }, + "2427": { + "op": "SHL" + }, + "2428": { + "op": "SUB" + }, + "2429": { + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "DUP5", + "path": "17", + "statement": 43 + }, + "2430": { + "branch": 101, + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "AND", + "path": "17" + }, + "2431": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "PUSH2", + "path": "17", + "value": "0x99B" + }, + "2434": { + "branch": 101, + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPI", + "path": "17" + }, + "2435": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2437": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2438": { + "op": "PUSH4", + "value": "0x3A954ECD" + }, + "2443": { + "op": "PUSH1", + "value": "0xE2" + }, + "2445": { + "op": "SHL" + }, + "2446": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP2", + "path": "17" + }, + "2447": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MSTORE", + "path": "17" + }, + "2448": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2450": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "ADD", + "path": "17" + }, + "2451": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2453": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2454": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP1", + "path": "17" + }, + "2455": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP2", + "path": "17" + }, + "2456": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SUB", + "path": "17" + }, + "2457": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP1", + "path": "17" + }, + "2458": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "REVERT", + "path": "17" + }, + "2459": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2460": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "PUSH2", + "path": "17", + "statement": 44, + "value": "0x9A7" + }, + "2463": { + "fn": "ERC721A._transfer", + "offset": [ + 14636, + 14637 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2465": { + "fn": "ERC721A._transfer", + "offset": [ + 14640, + 14647 + ], + "op": "DUP5", + "path": "17" + }, + "2466": { + "fn": "ERC721A._transfer", + "offset": [ + 14649, + 14653 + ], + "op": "DUP8", + "path": "17" + }, + "2467": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14627 + ], + "op": "PUSH2", + "path": "17", + "value": "0x87D" + }, + "2470": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14619, + 14654 + ], + "op": "JUMP", + "path": "17" + }, + "2471": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2472": { + "op": "PUSH1", + "value": "0x1" + }, + "2474": { + "op": "PUSH1", + "value": "0x1" + }, + "2476": { + "op": "PUSH1", + "value": "0xA0" + }, + "2478": { + "op": "SHL" + }, + "2479": { + "op": "SUB" + }, + "2480": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP6", + "path": "17", + "statement": 45 + }, + "2481": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2482": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "AND", + "path": "17" + }, + "2483": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2485": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2486": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2487": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2488": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14956 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "2490": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2492": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2493": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2494": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2495": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2497": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP1", + "path": "17" + }, + "2498": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP4", + "path": "17" + }, + "2499": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "KECCAK256", + "path": "17" + }, + "2500": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2501": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SLOAD", + "path": "17" + }, + "2502": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2511": { + "op": "NOT" + }, + "2512": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2513": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP3", + "path": "17" + }, + "2514": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2515": { + "op": "PUSH1", + "value": "0x1" + }, + "2517": { + "op": "PUSH1", + "value": "0x1" + }, + "2519": { + "op": "PUSH1", + "value": "0x40" + }, + "2521": { + "op": "SHL" + }, + "2522": { + "op": "SUB" + }, + "2523": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2524": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2525": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2526": { + "op": "PUSH1", + "value": "0x0" + }, + "2528": { + "op": "NOT" + }, + "2529": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "ADD", + "path": "17" + }, + "2530": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2531": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2532": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "OR", + "path": "17" + }, + "2533": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP1", + "path": "17" + }, + "2534": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2535": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SSTORE", + "path": "17" + }, + "2536": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP10", + "path": "17", + "statement": 46 + }, + "2537": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2538": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "AND", + "path": "17" + }, + "2539": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP1", + "path": "17" + }, + "2540": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2541": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "MSTORE", + "path": "17" + }, + "2542": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP4", + "path": "17" + }, + "2543": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2544": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "KECCAK256", + "path": "17" + }, + "2545": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP1", + "path": "17" + }, + "2546": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SLOAD", + "path": "17" + }, + "2547": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2548": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2549": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2550": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2551": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP4", + "path": "17" + }, + "2552": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2553": { + "op": "PUSH1", + "value": "0x1" + }, + "2555": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2556": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP2", + "path": "17" + }, + "2557": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "ADD", + "path": "17" + }, + "2558": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2559": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2560": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2561": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2562": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2563": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "OR", + "path": "17" + }, + "2564": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2565": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SSTORE", + "path": "17" + }, + "2566": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP10", + "path": "17" + }, + "2567": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP7", + "path": "17" + }, + "2568": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2569": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15078 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2571": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP1", + "path": "17" + }, + "2572": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP5", + "path": "17" + }, + "2573": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2574": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP3", + "path": "17" + }, + "2575": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP6", + "path": "17" + }, + "2576": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "KECCAK256", + "path": "17" + }, + "2577": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "DUP1", + "path": "17", + "statement": 47 + }, + "2578": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "SLOAD", + "path": "17" + }, + "2579": { + "op": "PUSH1", + "value": "0x1" + }, + "2581": { + "op": "PUSH1", + "value": "0x1" + }, + "2583": { + "op": "PUSH1", + "value": "0xE0" + }, + "2585": { + "op": "SHL" + }, + "2586": { + "op": "SUB" + }, + "2587": { + "op": "NOT" + }, + "2588": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17", + "statement": 48 + }, + "2589": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2590": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP5", + "path": "17" + }, + "2591": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2592": { + "op": "PUSH1", + "value": "0x1" + }, + "2594": { + "op": "PUSH1", + "value": "0xA0" + }, + "2596": { + "op": "SHL" + }, + "2597": { + "fn": "ERC721A._transfer", + "offset": [ + 15166, + 15181 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2598": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2599": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP3", + "path": "17" + }, + "2600": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17" + }, + "2601": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2602": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2603": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2604": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "MUL", + "path": "17" + }, + "2605": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2606": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "DUP4", + "path": "17" + }, + "2607": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SSTORE", + "path": "17" + }, + "2608": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "DUP8", + "path": "17" + }, + "2609": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "ADD", + "path": "17" + }, + "2610": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP1", + "path": "17" + }, + "2611": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP5", + "path": "17" + }, + "2612": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "MSTORE", + "path": "17" + }, + "2613": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP3", + "path": "17" + }, + "2614": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "KECCAK256", + "path": "17" + }, + "2615": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "DUP1", + "path": "17" + }, + "2616": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "SLOAD", + "path": "17" + }, + "2617": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP2", + "path": "17" + }, + "2618": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP4", + "path": "17" + }, + "2619": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP1", + "path": "17" + }, + "2620": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP2", + "path": "17" + }, + "2621": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "AND", + "path": "17" + }, + "2622": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA7B" + }, + "2625": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "JUMPI", + "path": "17" + }, + "2626": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2628": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "SLOAD", + "path": "17" + }, + "2629": { + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15756 + ], + "op": "DUP3", + "path": "17" + }, + "2630": { + "branch": 102, + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15773 + ], + "op": "EQ", + "path": "17" + }, + "2631": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA7B" + }, + "2634": { + "branch": 102, + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPI", + "path": "17" + }, + "2635": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP1", + "path": "17", + "statement": 49 + }, + "2636": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "SLOAD", + "path": "17" + }, + "2637": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "PUSH1", + "path": "17", + "statement": 50, + "value": "0x20" + }, + "2639": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "DUP7", + "path": "17" + }, + "2640": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "ADD", + "path": "17" + }, + "2641": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "MLOAD", + "path": "17" + }, + "2642": { + "op": "PUSH1", + "value": "0x1" + }, + "2644": { + "op": "PUSH1", + "value": "0x1" + }, + "2646": { + "op": "PUSH1", + "value": "0x40" + }, + "2648": { + "op": "SHL" + }, + "2649": { + "op": "SUB" + }, + "2650": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2651": { + "op": "PUSH1", + "value": "0x1" + }, + "2653": { + "op": "PUSH1", + "value": "0xA0" + }, + "2655": { + "op": "SHL" + }, + "2656": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "MUL", + "path": "17" + }, + "2657": { + "op": "PUSH1", + "value": "0x1" + }, + "2659": { + "op": "PUSH1", + "value": "0x1" + }, + "2661": { + "op": "PUSH1", + "value": "0xE0" + }, + "2663": { + "op": "SHL" + }, + "2664": { + "op": "SUB" + }, + "2665": { + "op": "NOT" + }, + "2666": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP1", + "path": "17" + }, + "2667": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP2", + "path": "17" + }, + "2668": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2669": { + "op": "PUSH1", + "value": "0x1" + }, + "2671": { + "op": "PUSH1", + "value": "0x1" + }, + "2673": { + "op": "PUSH1", + "value": "0xA0" + }, + "2675": { + "op": "SHL" + }, + "2676": { + "op": "SUB" + }, + "2677": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP11", + "path": "17" + }, + "2678": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "AND", + "path": "17" + }, + "2679": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2680": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2681": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "DUP2", + "path": "17" + }, + "2682": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SSTORE", + "path": "17" + }, + "2683": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2684": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2685": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2686": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2687": { + "fn": "ERC721A._transfer", + "offset": [ + 15970, + 15977 + ], + "op": "DUP3", + "path": "17", + "statement": 51 + }, + "2688": { + "fn": "ERC721A._transfer", + "offset": [ + 15966, + 15968 + ], + "op": "DUP5", + "path": "17" + }, + "2689": { + "op": "PUSH1", + "value": "0x1" + }, + "2691": { + "op": "PUSH1", + "value": "0x1" + }, + "2693": { + "op": "PUSH1", + "value": "0xA0" + }, + "2695": { + "op": "SHL" + }, + "2696": { + "op": "SUB" + }, + "2697": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2698": { + "fn": "ERC721A._transfer", + "offset": [ + 15960, + 15964 + ], + "op": "DUP7", + "path": "17" + }, + "2699": { + "op": "PUSH1", + "value": "0x1" + }, + "2701": { + "op": "PUSH1", + "value": "0x1" + }, + "2703": { + "op": "PUSH1", + "value": "0xA0" + }, + "2705": { + "op": "SHL" + }, + "2706": { + "op": "SUB" + }, + "2707": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2708": { + "op": "PUSH1", + "value": "0x0" + }, + "2710": { + "op": "DUP1" + }, + "2711": { + "op": "MLOAD" + }, + "2712": { + "op": "PUSH1", + "value": "0x20" + }, + "2714": { + "op": "PUSH2", + "value": "0x173C" + }, + "2717": { + "op": "DUP4" + }, + "2718": { + "op": "CODECOPY" + }, + "2719": { + "op": "DUP2" + }, + "2720": { + "op": "MLOAD" + }, + "2721": { + "op": "SWAP2" + }, + "2722": { + "op": "MSTORE" + }, + "2723": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2725": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2726": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2728": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2729": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "DUP1", + "path": "17" + }, + "2730": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP2", + "path": "17" + }, + "2731": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SUB", + "path": "17" + }, + "2732": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP1", + "path": "17" + }, + "2733": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "LOG4", + "path": "17" + }, + "2734": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2735": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2736": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2737": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2738": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2739": { + "fn": "ERC721A._transfer", + "jump": "o", + "offset": [ + 13979, + 16037 + ], + "op": "JUMP", + "path": "17" + }, + "2740": { + "fn": "ERC721A._mint", + "offset": [ + 12591, + 13737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2741": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2743": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "SLOAD", + "path": "17" + }, + "2744": { + "op": "PUSH1", + "value": "0x1" + }, + "2746": { + "op": "PUSH1", + "value": "0x1" + }, + "2748": { + "op": "PUSH1", + "value": "0xA0" + }, + "2750": { + "op": "SHL" + }, + "2751": { + "op": "SUB" + }, + "2752": { + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "DUP4", + "path": "17", + "statement": 52 + }, + "2753": { + "branch": 103, + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "AND", + "path": "17" + }, + "2754": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "PUSH2", + "path": "17", + "value": "0xADD" + }, + "2757": { + "branch": 103, + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPI", + "path": "17" + }, + "2758": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2760": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "2761": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "2765": { + "op": "PUSH1", + "value": "0xE8" + }, + "2767": { + "op": "SHL" + }, + "2768": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP2", + "path": "17" + }, + "2769": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MSTORE", + "path": "17" + }, + "2770": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2772": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "ADD", + "path": "17" + }, + "2773": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2775": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "2776": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP1", + "path": "17" + }, + "2777": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP2", + "path": "17" + }, + "2778": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SUB", + "path": "17" + }, + "2779": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP1", + "path": "17" + }, + "2780": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "REVERT", + "path": "17" + }, + "2781": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2782": { + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12771 + ], + "op": "DUP2", + "path": "17", + "statement": 53 + }, + "2783": { + "fn": "ERC721A._mint", + "offset": [ + 12775, + 12776 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2785": { + "branch": 104, + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12776 + ], + "op": "SUB", + "path": "17" + }, + "2786": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAFE" + }, + "2789": { + "branch": 104, + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPI", + "path": "17" + }, + "2790": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2792": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "2793": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "2798": { + "op": "PUSH1", + "value": "0xE0" + }, + "2800": { + "op": "SHL" + }, + "2801": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP2", + "path": "17" + }, + "2802": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MSTORE", + "path": "17" + }, + "2803": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2805": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "ADD", + "path": "17" + }, + "2806": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2808": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "2809": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP1", + "path": "17" + }, + "2810": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP2", + "path": "17" + }, + "2811": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SUB", + "path": "17" + }, + "2812": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP1", + "path": "17" + }, + "2813": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "REVERT", + "path": "17" + }, + "2814": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2815": { + "op": "PUSH1", + "value": "0x1" + }, + "2817": { + "op": "PUSH1", + "value": "0x1" + }, + "2819": { + "op": "PUSH1", + "value": "0xA0" + }, + "2821": { + "op": "SHL" + }, + "2822": { + "op": "SUB" + }, + "2823": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17", + "statement": 54 + }, + "2824": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "AND", + "path": "17" + }, + "2825": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2827": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "2828": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "2829": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "2830": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13158 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "2832": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2834": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "SWAP1", + "path": "17" + }, + "2835": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "2836": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "2837": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2839": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP1", + "path": "17" + }, + "2840": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17" + }, + "2841": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "KECCAK256", + "path": "17" + }, + "2842": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "2843": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SLOAD", + "path": "17" + }, + "2844": { + "op": "PUSH1", + "value": "0x1" + }, + "2846": { + "op": "PUSH1", + "value": "0x1" + }, + "2848": { + "op": "PUSH1", + "value": "0x80" + }, + "2850": { + "op": "SHL" + }, + "2851": { + "op": "SUB" + }, + "2852": { + "op": "NOT" + }, + "2853": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17", + "statement": 55 + }, + "2854": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "2855": { + "op": "PUSH1", + "value": "0x1" + }, + "2857": { + "op": "PUSH1", + "value": "0x1" + }, + "2859": { + "op": "PUSH1", + "value": "0x40" + }, + "2861": { + "op": "SHL" + }, + "2862": { + "op": "SUB" + }, + "2863": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "2864": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP4", + "path": "17" + }, + "2865": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "2866": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP11", + "path": "17" + }, + "2867": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "ADD", + "path": "17" + }, + "2868": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP2", + "path": "17" + }, + "2869": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "2870": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "2871": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP3", + "path": "17" + }, + "2872": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "2873": { + "op": "PUSH1", + "value": "0x1" + }, + "2875": { + "op": "PUSH1", + "value": "0x40" + }, + "2877": { + "op": "SHL" + }, + "2878": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2887": { + "op": "NOT" + }, + "2888": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "2889": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP5", + "path": "17" + }, + "2890": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "2891": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "2892": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP3", + "path": "17" + }, + "2893": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "OR", + "path": "17" + }, + "2894": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP4", + "path": "17" + }, + "2895": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "2896": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DIV", + "path": "17" + }, + "2897": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "2898": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "2899": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP11", + "path": "17" + }, + "2900": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "ADD", + "path": "17" + }, + "2901": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "2902": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "2903": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "2904": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP3", + "path": "17" + }, + "2905": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "MUL", + "path": "17" + }, + "2906": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "2907": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "2908": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "2909": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SSTORE", + "path": "17" + }, + "2910": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP6", + "path": "17", + "statement": 56 + }, + "2911": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP5", + "path": "17" + }, + "2912": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "2913": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13279 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2915": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "2916": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP3", + "path": "17" + }, + "2917": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "2918": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "2919": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP2", + "path": "17" + }, + "2920": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "KECCAK256", + "path": "17" + }, + "2921": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "DUP1", + "path": "17" + }, + "2922": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "SLOAD", + "path": "17" + }, + "2923": { + "op": "PUSH1", + "value": "0x1" + }, + "2925": { + "op": "PUSH1", + "value": "0x1" + }, + "2927": { + "op": "PUSH1", + "value": "0xE0" + }, + "2929": { + "op": "SHL" + }, + "2930": { + "op": "SUB" + }, + "2931": { + "op": "NOT" + }, + "2932": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17", + "statement": 57 + }, + "2933": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2934": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "2935": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "2936": { + "op": "PUSH1", + "value": "0x1" + }, + "2938": { + "op": "PUSH1", + "value": "0xA0" + }, + "2940": { + "op": "SHL" + }, + "2941": { + "fn": "ERC721A._mint", + "offset": [ + 13367, + 13382 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2942": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2943": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "2944": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17" + }, + "2945": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "2946": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2947": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "2948": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "MUL", + "path": "17" + }, + "2949": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "2950": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "2951": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SSTORE", + "path": "17" + }, + "2952": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP1", + "path": "17" + }, + "2953": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP1", + "path": "17" + }, + "2954": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP4", + "path": "17" + }, + "2955": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "ADD", + "path": "17" + }, + "2956": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2957": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH1", + "path": "17", + "statement": 58, + "value": "0x40" + }, + "2959": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "MLOAD", + "path": "17" + }, + "2960": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2962": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "DUP4", + "path": "17" + }, + "2963": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "ADD", + "path": "17" + }, + "2964": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP3", + "path": "17" + }, + "2965": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP1", + "path": "17" + }, + "2966": { + "op": "PUSH1", + "value": "0x1" + }, + "2968": { + "op": "PUSH1", + "value": "0x1" + }, + "2970": { + "op": "PUSH1", + "value": "0xA0" + }, + "2972": { + "op": "SHL" + }, + "2973": { + "op": "SUB" + }, + "2974": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "DUP8", + "path": "17" + }, + "2975": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "AND", + "path": "17" + }, + "2976": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "2977": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2979": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "2980": { + "op": "PUSH1", + "value": "0x0" + }, + "2982": { + "op": "DUP1" + }, + "2983": { + "op": "MLOAD" + }, + "2984": { + "op": "PUSH1", + "value": "0x20" + }, + "2986": { + "op": "PUSH2", + "value": "0x173C" + }, + "2989": { + "op": "DUP4" + }, + "2990": { + "op": "CODECOPY" + }, + "2991": { + "op": "DUP2" + }, + "2992": { + "op": "MLOAD" + }, + "2993": { + "op": "SWAP2" + }, + "2994": { + "op": "MSTORE" + }, + "2995": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "2996": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "DUP3", + "path": "17" + }, + "2997": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "2998": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "LOG4", + "path": "17" + }, + "2999": { + "fn": "ERC721A._mint", + "offset": [ + 13603, + 13606 + ], + "op": "DUP1", + "path": "17" + }, + "3000": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13600 + ], + "op": "DUP3", + "path": "17" + }, + "3001": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13606 + ], + "op": "LT", + "path": "17" + }, + "3002": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB8C" + }, + "3005": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPI", + "path": "17" + }, + "3006": { + "op": "POP" + }, + "3007": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13635 + ], + "op": "PUSH1", + "path": "17", + "statement": 59, + "value": "0x1" + }, + "3009": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13650 + ], + "op": "SSTORE", + "path": "17" + }, + "3010": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "3011": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "3012": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "3013": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "3014": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3015": { + "op": "PUSH1", + "value": "0x40" + }, + "3017": { + "op": "DUP1" + }, + "3018": { + "op": "MLOAD" + }, + "3019": { + "op": "PUSH1", + "value": "0x60" + }, + "3021": { + "op": "DUP2" + }, + "3022": { + "op": "ADD" + }, + "3023": { + "op": "DUP3" + }, + "3024": { + "op": "MSTORE" + }, + "3025": { + "op": "PUSH1", + "value": "0x0" + }, + "3027": { + "op": "DUP1" + }, + "3028": { + "op": "DUP3" + }, + "3029": { + "op": "MSTORE" + }, + "3030": { + "op": "PUSH1", + "value": "0x20" + }, + "3032": { + "op": "DUP3" + }, + "3033": { + "op": "ADD" + }, + "3034": { + "op": "DUP2" + }, + "3035": { + "op": "SWAP1" + }, + "3036": { + "op": "MSTORE" + }, + "3037": { + "op": "SWAP2" + }, + "3038": { + "op": "DUP2" + }, + "3039": { + "op": "ADD" + }, + "3040": { + "op": "SWAP2" + }, + "3041": { + "op": "SWAP1" + }, + "3042": { + "op": "SWAP2" + }, + "3043": { + "op": "MSTORE" + }, + "3044": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP2", + "path": "17" + }, + "3045": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP1", + "path": "17" + }, + "3046": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5244, + 5259 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBEE" + }, + "3049": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 828, + 835 + ], + "op": "PUSH1", + "path": "33", + "value": "0x0" + }, + "3051": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 854, + 866 + ], + "op": "SLOAD", + "path": "33" + }, + "3052": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 854, + 866 + ], + "op": "SWAP1", + "path": "33" + }, + "3053": { + "fn": "ERC721AStartTokenIdMock._startTokenId", + "offset": [ + 771, + 873 + ], + "op": "JUMP", + "path": "33" + }, + "3054": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5244, + 5259 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3055": { + "branch": 105, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5244, + 5267 + ], + "op": "GT", + "path": "17" + }, + "3056": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5240, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCD6" + }, + "3059": { + "branch": 105, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5240, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "3060": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3062": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "SLOAD", + "path": "17" + }, + "3063": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5293 + ], + "op": "DUP2", + "path": "17" + }, + "3064": { + "branch": 106, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5309 + ], + "op": "LT", + "path": "17" + }, + "3065": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "ISZERO", + "path": "17" + }, + "3066": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCD6" + }, + "3069": { + "branch": 106, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "3070": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5364 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3072": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3073": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3074": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3075": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3077": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3079": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3080": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3081": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3082": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3084": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3085": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3086": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3087": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "KECCAK256", + "path": "17" + }, + "3088": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3089": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MLOAD", + "path": "17" + }, + "3090": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3092": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3093": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3094": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP5", + "path": "17" + }, + "3095": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3096": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3097": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SLOAD", + "path": "17" + }, + "3098": { + "op": "PUSH1", + "value": "0x1" + }, + "3100": { + "op": "PUSH1", + "value": "0x1" + }, + "3102": { + "op": "PUSH1", + "value": "0xA0" + }, + "3104": { + "op": "SHL" + }, + "3105": { + "op": "SUB" + }, + "3106": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3107": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3108": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3109": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3110": { + "op": "PUSH1", + "value": "0x1" + }, + "3112": { + "op": "PUSH1", + "value": "0xA0" + }, + "3114": { + "op": "SHL" + }, + "3115": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3116": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3117": { + "op": "PUSH1", + "value": "0x1" + }, + "3119": { + "op": "PUSH1", + "value": "0x1" + }, + "3121": { + "op": "PUSH1", + "value": "0x40" + }, + "3123": { + "op": "SHL" + }, + "3124": { + "op": "SUB" + }, + "3125": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3126": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3127": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3128": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3129": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3130": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3131": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3132": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3133": { + "op": "PUSH1", + "value": "0x1" + }, + "3135": { + "op": "PUSH1", + "value": "0xE0" + }, + "3137": { + "op": "SHL" + }, + "3138": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3139": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3140": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3141": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3143": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3144": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3145": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3146": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3147": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3148": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3149": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3150": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3151": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3152": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3153": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCD4" + }, + "3156": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "JUMPI", + "path": "17" + }, + "3157": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "DUP1", + "path": "17" + }, + "3158": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "MLOAD", + "path": "17" + }, + "3159": { + "op": "PUSH1", + "value": "0x1" + }, + "3161": { + "op": "PUSH1", + "value": "0x1" + }, + "3163": { + "op": "PUSH1", + "value": "0xA0" + }, + "3165": { + "op": "SHL" + }, + "3166": { + "op": "SUB" + }, + "3167": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "AND", + "path": "17" + }, + "3168": { + "branch": 107, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "ISZERO", + "path": "17" + }, + "3169": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC6B" + }, + "3172": { + "branch": 107, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPI", + "path": "17" + }, + "3173": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5526, + 5535 + ], + "op": "SWAP4", + "path": "17", + "statement": 60 + }, + "3174": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3175": { + "op": "POP" + }, + "3176": { + "op": "POP" + }, + "3177": { + "op": "POP" + }, + "3178": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3179": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3180": { + "op": "POP" + }, + "3181": { + "op": "PUSH1", + "value": "0x0" + }, + "3183": { + "op": "NOT" + }, + "3184": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5922, + 5928 + ], + "op": "ADD", + "path": "17", + "statement": 61 + }, + "3185": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "statement": 62, + "value": "0x0" + }, + "3187": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3188": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3189": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3190": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5981 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3192": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3194": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3195": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3196": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3197": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3199": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP2", + "path": "17" + }, + "3200": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3201": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3202": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "KECCAK256", + "path": "17" + }, + "3203": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3204": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MLOAD", + "path": "17" + }, + "3205": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3207": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3208": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3209": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP5", + "path": "17" + }, + "3210": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3211": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3212": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SLOAD", + "path": "17" + }, + "3213": { + "op": "PUSH1", + "value": "0x1" + }, + "3215": { + "op": "PUSH1", + "value": "0x1" + }, + "3217": { + "op": "PUSH1", + "value": "0xA0" + }, + "3219": { + "op": "SHL" + }, + "3220": { + "op": "SUB" + }, + "3221": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3222": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3223": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP1", + "path": "17" + }, + "3224": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3225": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3226": { + "op": "PUSH1", + "value": "0x1" + }, + "3228": { + "op": "PUSH1", + "value": "0xA0" + }, + "3230": { + "op": "SHL" + }, + "3231": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3232": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3233": { + "op": "PUSH1", + "value": "0x1" + }, + "3235": { + "op": "PUSH1", + "value": "0x1" + }, + "3237": { + "op": "PUSH1", + "value": "0x40" + }, + "3239": { + "op": "SHL" + }, + "3240": { + "op": "SUB" + }, + "3241": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3242": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3243": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3244": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3245": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3246": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3247": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3248": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3249": { + "op": "PUSH1", + "value": "0x1" + }, + "3251": { + "op": "PUSH1", + "value": "0xE0" + }, + "3253": { + "op": "SHL" + }, + "3254": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3255": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3256": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3258": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3259": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3260": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3261": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3262": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3263": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3264": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3265": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3266": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3267": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3268": { + "branch": 108, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6021, + 6049 + ], + "op": "ISZERO", + "path": "17" + }, + "3269": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCCF" + }, + "3272": { + "branch": 108, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPI", + "path": "17" + }, + "3273": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6092, + 6101 + ], + "op": "SWAP4", + "path": "17", + "statement": 63 + }, + "3274": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3275": { + "op": "POP" + }, + "3276": { + "op": "POP" + }, + "3277": { + "op": "POP" + }, + "3278": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3279": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3280": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC6B" + }, + "3283": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMP", + "path": "17" + }, + "3284": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3285": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5311, + 6198 + ], + "op": "POP", + "path": "17" + }, + "3286": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3287": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3289": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3290": { + "op": "PUSH4", + "value": "0x6F96CDA1" + }, + "3295": { + "op": "PUSH1", + "value": "0xE1" + }, + "3297": { + "op": "SHL" + }, + "3298": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP2", + "path": "17" + }, + "3299": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MSTORE", + "path": "17" + }, + "3300": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3302": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "ADD", + "path": "17" + }, + "3303": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3305": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3306": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP1", + "path": "17" + }, + "3307": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP2", + "path": "17" + }, + "3308": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SUB", + "path": "17" + }, + "3309": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP1", + "path": "17" + }, + "3310": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "REVERT", + "path": "17" + }, + "3311": { + "fn": "ERC721A._safeMint", + "offset": [ + 10636, + 12344 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3312": { + "fn": "ERC721A._safeMint", + "offset": [ + 10777, + 10790 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3314": { + "fn": "ERC721A._safeMint", + "offset": [ + 10777, + 10790 + ], + "op": "SLOAD", + "path": "17" + }, + "3315": { + "op": "PUSH1", + "value": "0x1" + }, + "3317": { + "op": "PUSH1", + "value": "0x1" + }, + "3319": { + "op": "PUSH1", + "value": "0xA0" + }, + "3321": { + "op": "SHL" + }, + "3322": { + "op": "SUB" + }, + "3323": { + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "DUP5", + "path": "17", + "statement": 64 + }, + "3324": { + "branch": 109, + "fn": "ERC721A._safeMint", + "offset": [ + 10804, + 10820 + ], + "op": "AND", + "path": "17" + }, + "3325": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD18" + }, + "3328": { + "branch": 109, + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPI", + "path": "17" + }, + "3329": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3331": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "3332": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "3336": { + "op": "PUSH1", + "value": "0xE8" + }, + "3338": { + "op": "SHL" + }, + "3339": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP2", + "path": "17" + }, + "3340": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MSTORE", + "path": "17" + }, + "3341": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3343": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "ADD", + "path": "17" + }, + "3344": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3346": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "MLOAD", + "path": "17" + }, + "3347": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "DUP1", + "path": "17" + }, + "3348": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP2", + "path": "17" + }, + "3349": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SUB", + "path": "17" + }, + "3350": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "SWAP1", + "path": "17" + }, + "3351": { + "fn": "ERC721A._safeMint", + "offset": [ + 10829, + 10848 + ], + "op": "REVERT", + "path": "17" + }, + "3352": { + "fn": "ERC721A._safeMint", + "offset": [ + 10800, + 10848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3353": { + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10870 + ], + "op": "DUP3", + "path": "17", + "statement": 65 + }, + "3354": { + "fn": "ERC721A._safeMint", + "offset": [ + 10874, + 10875 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3356": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 10862, + 10875 + ], + "op": "SUB", + "path": "17" + }, + "3357": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD39" + }, + "3360": { + "branch": 110, + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPI", + "path": "17" + }, + "3361": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3363": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "3364": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "3369": { + "op": "PUSH1", + "value": "0xE0" + }, + "3371": { + "op": "SHL" + }, + "3372": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP2", + "path": "17" + }, + "3373": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MSTORE", + "path": "17" + }, + "3374": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3376": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "ADD", + "path": "17" + }, + "3377": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3379": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "MLOAD", + "path": "17" + }, + "3380": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "DUP1", + "path": "17" + }, + "3381": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP2", + "path": "17" + }, + "3382": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SUB", + "path": "17" + }, + "3383": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "SWAP1", + "path": "17" + }, + "3384": { + "fn": "ERC721A._safeMint", + "offset": [ + 10884, + 10902 + ], + "op": "REVERT", + "path": "17" + }, + "3385": { + "fn": "ERC721A._safeMint", + "offset": [ + 10858, + 10902 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3386": { + "op": "PUSH1", + "value": "0x1" + }, + "3388": { + "op": "PUSH1", + "value": "0x1" + }, + "3390": { + "op": "PUSH1", + "value": "0xA0" + }, + "3392": { + "op": "SHL" + }, + "3393": { + "op": "SUB" + }, + "3394": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP5", + "path": "17", + "statement": 66 + }, + "3395": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "AND", + "path": "17" + }, + "3396": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3398": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3399": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3400": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "3401": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11257 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "3403": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3405": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "SWAP1", + "path": "17" + }, + "3406": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP2", + "path": "17" + }, + "3407": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "MSTORE", + "path": "17" + }, + "3408": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3410": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP1", + "path": "17" + }, + "3411": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "DUP4", + "path": "17" + }, + "3412": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11261 + ], + "op": "KECCAK256", + "path": "17" + }, + "3413": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "3414": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SLOAD", + "path": "17" + }, + "3415": { + "op": "PUSH1", + "value": "0x1" + }, + "3417": { + "op": "PUSH1", + "value": "0x1" + }, + "3419": { + "op": "PUSH1", + "value": "0x80" + }, + "3421": { + "op": "SHL" + }, + "3422": { + "op": "SUB" + }, + "3423": { + "op": "NOT" + }, + "3424": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17", + "statement": 67 + }, + "3425": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3426": { + "op": "PUSH1", + "value": "0x1" + }, + "3428": { + "op": "PUSH1", + "value": "0x1" + }, + "3430": { + "op": "PUSH1", + "value": "0x40" + }, + "3432": { + "op": "SHL" + }, + "3433": { + "op": "SUB" + }, + "3434": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP1", + "path": "17" + }, + "3435": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP4", + "path": "17" + }, + "3436": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3437": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP12", + "path": "17" + }, + "3438": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "ADD", + "path": "17" + }, + "3439": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "DUP2", + "path": "17" + }, + "3440": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3441": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "3442": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP3", + "path": "17" + }, + "3443": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "3444": { + "op": "PUSH1", + "value": "0x1" + }, + "3446": { + "op": "PUSH1", + "value": "0x40" + }, + "3448": { + "op": "SHL" + }, + "3449": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3458": { + "op": "NOT" + }, + "3459": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "3460": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP5", + "path": "17" + }, + "3461": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "AND", + "path": "17" + }, + "3462": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP1", + "path": "17" + }, + "3463": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "SWAP3", + "path": "17" + }, + "3464": { + "fn": "ERC721A._safeMint", + "offset": [ + 11245, + 11289 + ], + "op": "OR", + "path": "17" + }, + "3465": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP4", + "path": "17" + }, + "3466": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3467": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DIV", + "path": "17" + }, + "3468": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "3469": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3470": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP12", + "path": "17" + }, + "3471": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "ADD", + "path": "17" + }, + "3472": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "DUP2", + "path": "17" + }, + "3473": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "AND", + "path": "17" + }, + "3474": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3475": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP3", + "path": "17" + }, + "3476": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "MUL", + "path": "17" + }, + "3477": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "OR", + "path": "17" + }, + "3478": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP1", + "path": "17" + }, + "3479": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SWAP2", + "path": "17" + }, + "3480": { + "fn": "ERC721A._safeMint", + "offset": [ + 11303, + 11352 + ], + "op": "SSTORE", + "path": "17" + }, + "3481": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP6", + "path": "17", + "statement": 68 + }, + "3482": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP5", + "path": "17" + }, + "3483": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "3484": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3486": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3487": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP3", + "path": "17" + }, + "3488": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "MSTORE", + "path": "17" + }, + "3489": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3490": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP2", + "path": "17" + }, + "3491": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "KECCAK256", + "path": "17" + }, + "3492": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "DUP1", + "path": "17" + }, + "3493": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11402 + ], + "op": "SLOAD", + "path": "17" + }, + "3494": { + "op": "PUSH1", + "value": "0x1" + }, + "3496": { + "op": "PUSH1", + "value": "0x1" + }, + "3498": { + "op": "PUSH1", + "value": "0xE0" + }, + "3500": { + "op": "SHL" + }, + "3501": { + "op": "SUB" + }, + "3502": { + "op": "NOT" + }, + "3503": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17", + "statement": 69 + }, + "3504": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "DUP4", + "path": "17" + }, + "3505": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "3506": { + "op": "PUSH1", + "value": "0x1" + }, + "3508": { + "op": "PUSH1", + "value": "0xA0" + }, + "3510": { + "op": "SHL" + }, + "3511": { + "fn": "ERC721A._safeMint", + "offset": [ + 11466, + 11481 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "3512": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3513": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP4", + "path": "17" + }, + "3514": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "AND", + "path": "17" + }, + "3515": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "3516": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3517": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP3", + "path": "17" + }, + "3518": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "MUL", + "path": "17" + }, + "3519": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "3520": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3521": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP2", + "path": "17" + }, + "3522": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "OR", + "path": "17" + }, + "3523": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SWAP1", + "path": "17" + }, + "3524": { + "fn": "ERC721A._safeMint", + "offset": [ + 11416, + 11482 + ], + "op": "SSTORE", + "path": "17" + }, + "3525": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "DUP2", + "path": "17" + }, + "3526": { + "fn": "ERC721A._safeMint", + "offset": [ + 11367, + 11392 + ], + "op": "SWAP1", + "path": "17" + }, + "3527": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP2", + "path": "17" + }, + "3528": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "DUP6", + "path": "17" + }, + "3529": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "ADD", + "path": "17" + }, + "3530": { + "fn": "ERC721A._safeMint", + "offset": [ + 11560, + 11583 + ], + "op": "SWAP1", + "path": "17" + }, + "3531": { + "op": "EXTCODESIZE" + }, + "3532": { + "op": "ISZERO" + }, + "3533": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE41" + }, + "3536": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPI", + "path": "17" + }, + "3537": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3538": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "PUSH1", + "path": "17", + "statement": 70, + "value": "0x40" + }, + "3540": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "MLOAD", + "path": "17" + }, + "3541": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "DUP3", + "path": "17" + }, + "3542": { + "fn": "ERC721A._safeMint", + "offset": [ + 11692, + 11704 + ], + "op": "SWAP1", + "path": "17" + }, + "3543": { + "op": "PUSH1", + "value": "0x1" + }, + "3545": { + "op": "PUSH1", + "value": "0x1" + }, + "3547": { + "op": "PUSH1", + "value": "0xA0" + }, + "3549": { + "op": "SHL" + }, + "3550": { + "op": "SUB" + }, + "3551": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "DUP9", + "path": "17" + }, + "3552": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "AND", + "path": "17" + }, + "3553": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "3554": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3556": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "3557": { + "op": "PUSH1", + "value": "0x0" + }, + "3559": { + "op": "DUP1" + }, + "3560": { + "op": "MLOAD" + }, + "3561": { + "op": "PUSH1", + "value": "0x20" + }, + "3563": { + "op": "PUSH2", + "value": "0x173C" + }, + "3566": { + "op": "DUP4" + }, + "3567": { + "op": "CODECOPY" + }, + "3568": { + "op": "DUP2" + }, + "3569": { + "op": "MLOAD" + }, + "3570": { + "op": "SWAP2" + }, + "3571": { + "op": "MSTORE" + }, + "3572": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "SWAP1", + "path": "17" + }, + "3573": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "DUP3", + "path": "17" + }, + "3574": { + "fn": "ERC721A._safeMint", + "offset": [ + 11684, + 11685 + ], + "op": "SWAP1", + "path": "17" + }, + "3575": { + "fn": "ERC721A._safeMint", + "offset": [ + 11667, + 11705 + ], + "op": "LOG4", + "path": "17" + }, + "3576": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "PUSH2", + "path": "17", + "statement": 71, + "value": "0xE0A" + }, + "3579": { + "fn": "ERC721A._safeMint", + "offset": [ + 11771, + 11772 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3581": { + "fn": "ERC721A._safeMint", + "offset": [ + 11775, + 11777 + ], + "op": "DUP8", + "path": "17" + }, + "3582": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP5", + "path": "17" + }, + "3583": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "DUP1", + "path": "17" + }, + "3584": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3586": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "ADD", + "path": "17" + }, + "3587": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "SWAP6", + "path": "17" + }, + "3588": { + "fn": "ERC721A._safeMint", + "offset": [ + 11779, + 11793 + ], + "op": "POP", + "path": "17" + }, + "3589": { + "fn": "ERC721A._safeMint", + "offset": [ + 11795, + 11800 + ], + "op": "DUP8", + "path": "17" + }, + "3590": { + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11762 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1051" + }, + "3593": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 11732, + 11801 + ], + "op": "JUMP", + "path": "17" + }, + "3594": { + "branch": 111, + "fn": "ERC721A._safeMint", + "offset": [ + 11732, + 11801 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3595": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE27" + }, + "3598": { + "branch": 111, + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPI", + "path": "17" + }, + "3599": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3601": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "3602": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "3607": { + "op": "PUSH1", + "value": "0xE1" + }, + "3609": { + "op": "SHL" + }, + "3610": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP2", + "path": "17" + }, + "3611": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MSTORE", + "path": "17" + }, + "3612": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3614": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "ADD", + "path": "17" + }, + "3615": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3617": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "MLOAD", + "path": "17" + }, + "3618": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "DUP1", + "path": "17" + }, + "3619": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP2", + "path": "17" + }, + "3620": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SUB", + "path": "17" + }, + "3621": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "SWAP1", + "path": "17" + }, + "3622": { + "fn": "ERC721A._safeMint", + "offset": [ + 11836, + 11876 + ], + "op": "REVERT", + "path": "17" + }, + "3623": { + "fn": "ERC721A._safeMint", + "offset": [ + 11727, + 11899 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3624": { + "fn": "ERC721A._safeMint", + "offset": [ + 11940, + 11943 + ], + "op": "DUP1", + "path": "17" + }, + "3625": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11937 + ], + "op": "DUP3", + "path": "17" + }, + "3626": { + "fn": "ERC721A._safeMint", + "offset": [ + 11925, + 11943 + ], + "op": "LT", + "path": "17" + }, + "3627": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDD1" + }, + "3630": { + "fn": "ERC721A._safeMint", + "offset": [ + 11637, + 11945 + ], + "op": "JUMPI", + "path": "17" + }, + "3631": { + "fn": "ERC721A._safeMint", + "offset": [ + 12024, + 12036 + ], + "op": "DUP3", + "path": "17" + }, + "3632": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3634": { + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12020 + ], + "op": "SLOAD", + "path": "17" + }, + "3635": { + "branch": 112, + "fn": "ERC721A._safeMint", + "offset": [ + 12007, + 12036 + ], + "op": "EQ", + "path": "17" + }, + "3636": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE3C" + }, + "3639": { + "branch": 112, + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPI", + "path": "17" + }, + "3640": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "PUSH1", + "path": "17", + "statement": 72, + "value": "0x0" + }, + "3642": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "DUP1", + "path": "17" + }, + "3643": { + "fn": "ERC721A._safeMint", + "offset": [ + 12038, + 12046 + ], + "op": "REVERT", + "path": "17" + }, + "3644": { + "fn": "ERC721A._safeMint", + "offset": [ + 12003, + 12046 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3645": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE74" + }, + "3648": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMP", + "path": "17" + }, + "3649": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3650": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3651": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "PUSH1", + "path": "17", + "statement": 73, + "value": "0x40" + }, + "3653": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "MLOAD", + "path": "17" + }, + "3654": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3656": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "DUP4", + "path": "17" + }, + "3657": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "ADD", + "path": "17" + }, + "3658": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP3", + "path": "17" + }, + "3659": { + "fn": "ERC721A._safeMint", + "offset": [ + 12140, + 12154 + ], + "op": "SWAP1", + "path": "17" + }, + "3660": { + "op": "PUSH1", + "value": "0x1" + }, + "3662": { + "op": "PUSH1", + "value": "0x1" + }, + "3664": { + "op": "PUSH1", + "value": "0xA0" + }, + "3666": { + "op": "SHL" + }, + "3667": { + "op": "SUB" + }, + "3668": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "DUP9", + "path": "17" + }, + "3669": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "AND", + "path": "17" + }, + "3670": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "3671": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3673": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "3674": { + "op": "PUSH1", + "value": "0x0" + }, + "3676": { + "op": "DUP1" + }, + "3677": { + "op": "MLOAD" + }, + "3678": { + "op": "PUSH1", + "value": "0x20" + }, + "3680": { + "op": "PUSH2", + "value": "0x173C" + }, + "3683": { + "op": "DUP4" + }, + "3684": { + "op": "CODECOPY" + }, + "3685": { + "op": "DUP2" + }, + "3686": { + "op": "MLOAD" + }, + "3687": { + "op": "SWAP2" + }, + "3688": { + "op": "MSTORE" + }, + "3689": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "SWAP1", + "path": "17" + }, + "3690": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "DUP3", + "path": "17" + }, + "3691": { + "fn": "ERC721A._safeMint", + "offset": [ + 12132, + 12133 + ], + "op": "SWAP1", + "path": "17" + }, + "3692": { + "fn": "ERC721A._safeMint", + "offset": [ + 12115, + 12155 + ], + "op": "LOG4", + "path": "17" + }, + "3693": { + "fn": "ERC721A._safeMint", + "offset": [ + 12197, + 12200 + ], + "op": "DUP1", + "path": "17" + }, + "3694": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12194 + ], + "op": "DUP3", + "path": "17" + }, + "3695": { + "fn": "ERC721A._safeMint", + "offset": [ + 12182, + 12200 + ], + "op": "LT", + "path": "17" + }, + "3696": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE42" + }, + "3699": { + "fn": "ERC721A._safeMint", + "offset": [ + 12085, + 12202 + ], + "op": "JUMPI", + "path": "17" + }, + "3700": { + "fn": "ERC721A._safeMint", + "offset": [ + 11598, + 12216 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3701": { + "op": "POP" + }, + "3702": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12242 + ], + "op": "PUSH1", + "path": "17", + "statement": 74, + "value": "0x1" + }, + "3704": { + "fn": "ERC721A._safeMint", + "offset": [ + 12229, + 12257 + ], + "op": "SSTORE", + "path": "17" + }, + "3705": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "PUSH2", + "path": "17", + "statement": 75, + "value": "0x74A" + }, + "3708": { + "fn": "ERC721A._safeMint", + "offset": [ + 12306, + 12307 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3710": { + "fn": "ERC721A._safeMint", + "offset": [ + 12310, + 12312 + ], + "op": "DUP6", + "path": "17" + }, + "3711": { + "fn": "ERC721A._safeMint", + "offset": [ + 12314, + 12326 + ], + "op": "DUP4", + "path": "17" + }, + "3712": { + "fn": "ERC721A._safeMint", + "offset": [ + 12328, + 12336 + ], + "op": "DUP7", + "path": "17" + }, + "3713": { + "fn": "ERC721A._safeMint", + "offset": [ + 12277, + 12337 + ], + "op": "DUP5", + "path": "17" + }, + "3714": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 12277, + 12337 + ], + "op": "JUMP", + "path": "17" + }, + "3715": { + "fn": "ERC721A._burn", + "offset": [ + 16414, + 18737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3716": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3718": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE8E" + }, + "3721": { + "fn": "ERC721A._burn", + "offset": [ + 16544, + 16551 + ], + "op": "DUP4", + "path": "17" + }, + "3722": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16543 + ], + "op": "PUSH2", + "path": "17", + "value": "0xBC6" + }, + "3725": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16531, + 16552 + ], + "op": "JUMP", + "path": "17" + }, + "3726": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3727": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "DUP1", + "path": "17" + }, + "3728": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "MLOAD", + "path": "17" + }, + "3729": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP1", + "path": "17" + }, + "3730": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP2", + "path": "17" + }, + "3731": { + "op": "POP" + }, + "3732": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "DUP3", + "path": "17" + }, + "3733": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "ISZERO", + "path": "17" + }, + "3734": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEF4" + }, + "3737": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPI", + "path": "17" + }, + "3738": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16662 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3740": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3741": { + "op": "PUSH1", + "value": "0x1" + }, + "3743": { + "op": "PUSH1", + "value": "0x1" + }, + "3745": { + "op": "PUSH1", + "value": "0xA0" + }, + "3747": { + "op": "SHL" + }, + "3748": { + "op": "SUB" + }, + "3749": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP4", + "path": "17" + }, + "3750": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "AND", + "path": "17" + }, + "3751": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "EQ", + "path": "17" + }, + "3752": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP1", + "path": "17" + }, + "3753": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEB7" + }, + "3756": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "JUMPI", + "path": "17" + }, + "3757": { + "op": "POP" + }, + "3758": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEB7" + }, + "3761": { + "fn": "ERC721A._burn", + "offset": [ + 16707, + 16711 + ], + "op": "DUP3", + "path": "17" + }, + "3762": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3763": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3AC" + }, + "3766": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "3767": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3768": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "DUP1", + "path": "17" + }, + "3769": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "PUSH2", + "path": "17", + "value": "0xED2" + }, + "3772": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPI", + "path": "17" + }, + "3773": { + "op": "POP" + }, + "3774": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3775": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEC7" + }, + "3778": { + "fn": "ERC721A._burn", + "offset": [ + 16742, + 16749 + ], + "op": "DUP7", + "path": "17" + }, + "3779": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16741 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4BE" + }, + "3782": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16730, + 16750 + ], + "op": "JUMP", + "path": "17" + }, + "3783": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3784": { + "op": "PUSH1", + "value": "0x1" + }, + "3786": { + "op": "PUSH1", + "value": "0x1" + }, + "3788": { + "op": "PUSH1", + "value": "0xA0" + }, + "3790": { + "op": "SHL" + }, + "3791": { + "op": "SUB" + }, + "3792": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "AND", + "path": "17" + }, + "3793": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "EQ", + "path": "17" + }, + "3794": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3795": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "SWAP1", + "path": "17" + }, + "3796": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "POP", + "path": "17" + }, + "3797": { + "branch": 113, + "fn": "ERC721A._burn", + "offset": [ + 16787, + 16804 + ], + "op": "DUP1", + "path": "17", + "statement": 76 + }, + "3798": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEF2" + }, + "3801": { + "branch": 113, + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPI", + "path": "17" + }, + "3802": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3804": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3805": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "3810": { + "op": "PUSH1", + "value": "0xE1" + }, + "3812": { + "op": "SHL" + }, + "3813": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP2", + "path": "17" + }, + "3814": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MSTORE", + "path": "17" + }, + "3815": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3817": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "ADD", + "path": "17" + }, + "3818": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3820": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "3821": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP1", + "path": "17" + }, + "3822": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP2", + "path": "17" + }, + "3823": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SUB", + "path": "17" + }, + "3824": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP1", + "path": "17" + }, + "3825": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "REVERT", + "path": "17" + }, + "3826": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3827": { + "fn": "ERC721A._burn", + "offset": [ + 16626, + 16859 + ], + "op": "POP", + "path": "17" + }, + "3828": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3829": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "PUSH2", + "path": "17", + "statement": 77, + "value": "0xF00" + }, + "3832": { + "fn": "ERC721A._burn", + "offset": [ + 16999, + 17000 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3834": { + "fn": "ERC721A._burn", + "offset": [ + 17003, + 17010 + ], + "op": "DUP6", + "path": "17" + }, + "3835": { + "fn": "ERC721A._burn", + "offset": [ + 17012, + 17016 + ], + "op": "DUP4", + "path": "17" + }, + "3836": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 16990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x87D" + }, + "3839": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16982, + 17017 + ], + "op": "JUMP", + "path": "17" + }, + "3840": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3841": { + "op": "PUSH1", + "value": "0x1" + }, + "3843": { + "op": "PUSH1", + "value": "0x1" + }, + "3845": { + "op": "PUSH1", + "value": "0xA0" + }, + "3847": { + "op": "SHL" + }, + "3848": { + "op": "SUB" + }, + "3849": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3850": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP3", + "path": "17" + }, + "3851": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "AND", + "path": "17" + }, + "3852": { + "fn": "ERC721A._burn", + "offset": [ + 17307, + 17338 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3854": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3855": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3856": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3857": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17353 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "3859": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3861": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP1", + "path": "17" + }, + "3862": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "3863": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "3864": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3866": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "3867": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP4", + "path": "17" + }, + "3868": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "KECCAK256", + "path": "17" + }, + "3869": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17", + "statement": 78 + }, + "3870": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SLOAD", + "path": "17" + }, + "3871": { + "op": "PUSH1", + "value": "0x1" + }, + "3873": { + "op": "PUSH1", + "value": "0x80" + }, + "3875": { + "op": "SHL" + }, + "3876": { + "op": "PUSH1", + "value": "0x0" + }, + "3878": { + "op": "NOT" + }, + "3879": { + "op": "PUSH1", + "value": "0x1" + }, + "3881": { + "op": "PUSH1", + "value": "0x1" + }, + "3883": { + "op": "PUSH1", + "value": "0x40" + }, + "3885": { + "op": "SHL" + }, + "3886": { + "op": "SUB" + }, + "3887": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17" + }, + "3888": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3889": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3890": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3891": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP1", + "path": "17" + }, + "3892": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "3893": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "ADD", + "path": "17" + }, + "3894": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3895": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3896": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3905": { + "op": "NOT" + }, + "3906": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "3907": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "3908": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "3909": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "OR", + "path": "17" + }, + "3910": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17", + "statement": 79 + }, + "3911": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3912": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DIV", + "path": "17" + }, + "3913": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP3", + "path": "17" + }, + "3914": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3915": { + "fn": "ERC721A._burn", + "offset": [ + 17396, + 17397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3917": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3918": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP2", + "path": "17" + }, + "3919": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "ADD", + "path": "17" + }, + "3920": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3921": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3922": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3923": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP4", + "path": "17" + }, + "3924": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "MUL", + "path": "17" + }, + "3925": { + "op": "PUSH24", + "value": "0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF" + }, + "3950": { + "op": "NOT" + }, + "3951": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3952": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP5", + "path": "17" + }, + "3953": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "3954": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3955": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3956": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "3957": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "3958": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "3959": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "3960": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SSTORE", + "path": "17" + }, + "3961": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP12", + "path": "17" + }, + "3962": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP7", + "path": "17" + }, + "3963": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3964": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17581 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3966": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP1", + "path": "17" + }, + "3967": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP5", + "path": "17" + }, + "3968": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "3969": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP3", + "path": "17" + }, + "3970": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP6", + "path": "17" + }, + "3971": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "KECCAK256", + "path": "17" + }, + "3972": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "DUP1", + "path": "17", + "statement": 80 + }, + "3973": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "SLOAD", + "path": "17" + }, + "3974": { + "op": "PUSH1", + "value": "0xFF" + }, + "3976": { + "op": "PUSH1", + "value": "0xE0" + }, + "3978": { + "op": "SHL" + }, + "3979": { + "op": "NOT" + }, + "3980": { + "fn": "ERC721A._burn", + "offset": [ + 17671, + 17686 + ], + "op": "TIMESTAMP", + "path": "17", + "statement": 81 + }, + "3981": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3982": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP4", + "path": "17" + }, + "3983": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3984": { + "op": "PUSH1", + "value": "0x1" + }, + "3986": { + "op": "PUSH1", + "value": "0xA0" + }, + "3988": { + "op": "SHL" + }, + "3989": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "MUL", + "path": "17" + }, + "3990": { + "op": "PUSH1", + "value": "0x1" + }, + "3992": { + "op": "PUSH1", + "value": "0x1" + }, + "3994": { + "op": "PUSH1", + "value": "0xE0" + }, + "3996": { + "op": "SHL" + }, + "3997": { + "op": "SUB" + }, + "3998": { + "op": "NOT" + }, + "3999": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "4000": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP2", + "path": "17" + }, + "4001": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "4002": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "4003": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP8", + "path": "17" + }, + "4004": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "4005": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "4006": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "4007": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "4008": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "4009": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "AND", + "path": "17", + "statement": 82 + }, + "4010": { + "op": "PUSH1", + "value": "0x1" + }, + "4012": { + "op": "PUSH1", + "value": "0xE0" + }, + "4014": { + "op": "SHL" + }, + "4015": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "OR", + "path": "17" + }, + "4016": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "DUP6", + "path": "17" + }, + "4017": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "SSTORE", + "path": "17" + }, + "4018": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "SWAP2", + "path": "17" + }, + "4019": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "DUP10", + "path": "17" + }, + "4020": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "ADD", + "path": "17" + }, + "4021": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP1", + "path": "17" + }, + "4022": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP5", + "path": "17" + }, + "4023": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "MSTORE", + "path": "17" + }, + "4024": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP3", + "path": "17" + }, + "4025": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "KECCAK256", + "path": "17" + }, + "4026": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "DUP1", + "path": "17" + }, + "4027": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "SLOAD", + "path": "17" + }, + "4028": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP2", + "path": "17" + }, + "4029": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP5", + "path": "17" + }, + "4030": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP1", + "path": "17" + }, + "4031": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP2", + "path": "17" + }, + "4032": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "AND", + "path": "17" + }, + "4033": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFFE" + }, + "4036": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "JUMPI", + "path": "17" + }, + "4037": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4039": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "SLOAD", + "path": "17" + }, + "4040": { + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18293 + ], + "op": "DUP3", + "path": "17" + }, + "4041": { + "branch": 114, + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18310 + ], + "op": "EQ", + "path": "17" + }, + "4042": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFFE" + }, + "4045": { + "branch": 114, + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPI", + "path": "17" + }, + "4046": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP1", + "path": "17", + "statement": 83 + }, + "4047": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "SLOAD", + "path": "17" + }, + "4048": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "PUSH1", + "path": "17", + "statement": 84, + "value": "0x20" + }, + "4050": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "DUP8", + "path": "17" + }, + "4051": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "ADD", + "path": "17" + }, + "4052": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "MLOAD", + "path": "17" + }, + "4053": { + "op": "PUSH1", + "value": "0x1" + }, + "4055": { + "op": "PUSH1", + "value": "0x1" + }, + "4057": { + "op": "PUSH1", + "value": "0x40" + }, + "4059": { + "op": "SHL" + }, + "4060": { + "op": "SUB" + }, + "4061": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "4062": { + "op": "PUSH1", + "value": "0x1" + }, + "4064": { + "op": "PUSH1", + "value": "0xA0" + }, + "4066": { + "op": "SHL" + }, + "4067": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "MUL", + "path": "17" + }, + "4068": { + "op": "PUSH1", + "value": "0x1" + }, + "4070": { + "op": "PUSH1", + "value": "0x1" + }, + "4072": { + "op": "PUSH1", + "value": "0xE0" + }, + "4074": { + "op": "SHL" + }, + "4075": { + "op": "SUB" + }, + "4076": { + "op": "NOT" + }, + "4077": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP1", + "path": "17" + }, + "4078": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP2", + "path": "17" + }, + "4079": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "4080": { + "op": "PUSH1", + "value": "0x1" + }, + "4082": { + "op": "PUSH1", + "value": "0x1" + }, + "4084": { + "op": "PUSH1", + "value": "0xA0" + }, + "4086": { + "op": "SHL" + }, + "4087": { + "op": "SUB" + }, + "4088": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP8", + "path": "17" + }, + "4089": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "AND", + "path": "17" + }, + "4090": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "4091": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "4092": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "DUP2", + "path": "17" + }, + "4093": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SSTORE", + "path": "17" + }, + "4094": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4095": { + "op": "POP" + }, + "4096": { + "op": "POP" + }, + "4097": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH1", + "path": "17", + "statement": 85, + "value": "0x40" + }, + "4099": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "MLOAD", + "path": "17" + }, + "4100": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "DUP7", + "path": "17" + }, + "4101": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "SWAP3", + "path": "17" + }, + "4102": { + "op": "POP" + }, + "4103": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4105": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP2", + "path": "17" + }, + "4106": { + "op": "POP" + }, + "4107": { + "op": "PUSH1", + "value": "0x1" + }, + "4109": { + "op": "PUSH1", + "value": "0x1" + }, + "4111": { + "op": "PUSH1", + "value": "0xA0" + }, + "4113": { + "op": "SHL" + }, + "4114": { + "op": "SUB" + }, + "4115": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "DUP5", + "path": "17" + }, + "4116": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "AND", + "path": "17" + }, + "4117": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "4118": { + "op": "PUSH1", + "value": "0x0" + }, + "4120": { + "op": "DUP1" + }, + "4121": { + "op": "MLOAD" + }, + "4122": { + "op": "PUSH1", + "value": "0x20" + }, + "4124": { + "op": "PUSH2", + "value": "0x173C" + }, + "4127": { + "op": "DUP4" + }, + "4128": { + "op": "CODECOPY" + }, + "4129": { + "op": "DUP2" + }, + "4130": { + "op": "MLOAD" + }, + "4131": { + "op": "SWAP2" + }, + "4132": { + "op": "MSTORE" + }, + "4133": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "4134": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "DUP4", + "path": "17" + }, + "4135": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP1", + "path": "17" + }, + "4136": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "LOG4", + "path": "17" + }, + "4137": { + "op": "POP" + }, + "4138": { + "op": "POP" + }, + "4139": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18718 + ], + "op": "PUSH1", + "path": "17", + "statement": 86, + "value": "0x2" + }, + "4141": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP1", + "path": "17" + }, + "4142": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SLOAD", + "path": "17" + }, + "4143": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4145": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "ADD", + "path": "17" + }, + "4146": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SWAP1", + "path": "17" + }, + "4147": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SSTORE", + "path": "17" + }, + "4148": { + "op": "POP" + }, + "4149": { + "op": "POP" + }, + "4150": { + "fn": "ERC721A._burn", + "jump": "o", + "offset": [ + 16414, + 18737 + ], + "op": "JUMP", + "path": "17" + }, + "4151": { + "fn": "ERC721A._safeMint", + "offset": [ + 10174, + 10276 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4152": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH2", + "path": "17", + "statement": 87, + "value": "0x59D" + }, + "4155": { + "fn": "ERC721A._safeMint", + "offset": [ + 10252, + 10254 + ], + "op": "DUP3", + "path": "17" + }, + "4156": { + "fn": "ERC721A._safeMint", + "offset": [ + 10256, + 10264 + ], + "op": "DUP3", + "path": "17" + }, + "4157": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4159": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MLOAD", + "path": "17" + }, + "4160": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "4161": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4163": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "ADD", + "path": "17" + }, + "4164": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4166": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "4167": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP1", + "path": "17" + }, + "4168": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4170": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "DUP2", + "path": "17" + }, + "4171": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "MSTORE", + "path": "17" + }, + "4172": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10269 + ], + "op": "POP", + "path": "17" + }, + "4173": { + "fn": "ERC721A._safeMint", + "offset": [ + 10242, + 10251 + ], + "op": "PUSH2", + "path": "17", + "value": "0xCEF" + }, + "4176": { + "fn": "ERC721A._safeMint", + "jump": "i", + "offset": [ + 10242, + 10269 + ], + "op": "JUMP", + "path": "17" + }, + "4177": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4178": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4180": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "4181": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "4186": { + "op": "PUSH1", + "value": "0xE1" + }, + "4188": { + "op": "SHL" + }, + "4189": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4190": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "4191": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4193": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "SWAP1", + "path": "17" + }, + "4194": { + "op": "PUSH1", + "value": "0x1" + }, + "4196": { + "op": "PUSH1", + "value": "0x1" + }, + "4198": { + "op": "PUSH1", + "value": "0xA0" + }, + "4200": { + "op": "SHL" + }, + "4201": { + "op": "SUB" + }, + "4202": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "DUP6", + "path": "17" + }, + "4203": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "AND", + "path": "17" + }, + "4204": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "4205": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "PUSH4", + "path": "17", + "value": "0x150B7A02" + }, + "4210": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "4211": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1086" + }, + "4214": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4215": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4216": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP1", + "path": "5" + }, + "4217": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "DUP10", + "path": "17" + }, + "4218": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "SWAP1", + "path": "17" + }, + "4219": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "DUP9", + "path": "17" + }, + "4220": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "SWAP1", + "path": "17" + }, + "4221": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "DUP9", + "path": "17" + }, + "4222": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "SWAP1", + "path": "17" + }, + "4223": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4225": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4226": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x162F" + }, + "4229": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "4230": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4231": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4233": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4235": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "4236": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "4237": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP4", + "path": "17" + }, + "4238": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SUB", + "path": "17" + }, + "4239": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4240": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4242": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP8", + "path": "17" + }, + "4243": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "GAS", + "path": "17" + }, + "4244": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "CALL", + "path": "17" + }, + "4245": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "4246": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "4247": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "4248": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "4249": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "4250": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ISZERO", + "path": "17" + }, + "4251": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10C1" + }, + "4254": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPI", + "path": "17" + }, + "4255": { + "op": "POP" + }, + "4256": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4258": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "4259": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "4260": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "4262": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4263": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4264": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4265": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4266": { + "op": "PUSH1", + "value": "0x1F" + }, + "4268": { + "op": "NOT" + }, + "4269": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "AND", + "path": "17" + }, + "4270": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP3", + "path": "17" + }, + "4271": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4272": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4273": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "4274": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "4275": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10BE" + }, + "4278": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP2", + "path": "17" + }, + "4279": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "4280": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "4281": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "4282": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x166C" + }, + "4285": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "4286": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4287": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4289": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4290": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x111F" + }, + "4293": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "4294": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4295": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "4296": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "4297": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ISZERO", + "path": "17" + }, + "4298": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10EF" + }, + "4301": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "4302": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4304": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MLOAD", + "path": "17" + }, + "4305": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "4306": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4307": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "4309": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "NOT", + "path": "17" + }, + "4310": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x3F" + }, + "4312": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4313": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4314": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "AND", + "path": "17" + }, + "4315": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "4316": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4317": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4319": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "4320": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4321": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "4322": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "4323": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "4324": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4326": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4328": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP5", + "path": "17" + }, + "4329": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "4330": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATACOPY", + "path": "17" + }, + "4331": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10F4" + }, + "4334": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMP", + "path": "17" + }, + "4335": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4336": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "4338": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "4339": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4340": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4341": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "4342": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19933 + ], + "op": "DUP1", + "path": "17", + "statement": 88 + }, + "4343": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19940 + ], + "op": "MLOAD", + "path": "17" + }, + "4344": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19944, + 19945 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4346": { + "branch": 115, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19945 + ], + "op": "SUB", + "path": "17" + }, + "4347": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1117" + }, + "4350": { + "branch": 115, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPI", + "path": "17" + }, + "4351": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4353": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "4354": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "4359": { + "op": "PUSH1", + "value": "0xE1" + }, + "4361": { + "op": "SHL" + }, + "4362": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP2", + "path": "17" + }, + "4363": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MSTORE", + "path": "17" + }, + "4364": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4366": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "ADD", + "path": "17" + }, + "4367": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4369": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "4370": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP1", + "path": "17" + }, + "4371": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP2", + "path": "17" + }, + "4372": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SUB", + "path": "17" + }, + "4373": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP1", + "path": "17" + }, + "4374": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "REVERT", + "path": "17" + }, + "4375": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4376": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20112, + 20118 + ], + "op": "DUP1", + "path": "17" + }, + "4377": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20106, + 20119 + ], + "op": "MLOAD", + "path": "17" + }, + "4378": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20097, + 20103 + ], + "op": "DUP2", + "path": "17" + }, + "4379": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20093, + 20095 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4381": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20089, + 20104 + ], + "op": "ADD", + "path": "17" + }, + "4382": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20082, + 20120 + ], + "op": "REVERT", + "path": "17" + }, + "4383": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4384": { + "op": "PUSH1", + "value": "0x1" + }, + "4386": { + "op": "PUSH1", + "value": "0x1" + }, + "4388": { + "op": "PUSH1", + "value": "0xE0" + }, + "4390": { + "op": "SHL" + }, + "4391": { + "op": "SUB" + }, + "4392": { + "op": "NOT" + }, + "4393": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "AND", + "path": "17", + "statement": 89 + }, + "4394": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "4399": { + "op": "PUSH1", + "value": "0xE1" + }, + "4401": { + "op": "SHL" + }, + "4402": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "EQ", + "path": "17" + }, + "4403": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "SWAP1", + "path": "17" + }, + "4404": { + "op": "POP" + }, + "4405": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4406": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP5", + "path": "17" + }, + "4407": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP4", + "path": "17" + }, + "4408": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4409": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4410": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4411": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "4412": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "o", + "offset": [ + 19518, + 20168 + ], + "op": "JUMP", + "path": "17" + }, + "4413": { + "op": "JUMPDEST" + }, + "4414": { + "op": "PUSH1", + "value": "0x60" + }, + "4416": { + "op": "DUP2" + }, + "4417": { + "op": "PUSH1", + "value": "0x0" + }, + "4419": { + "op": "SUB" + }, + "4420": { + "op": "PUSH2", + "value": "0x1164" + }, + "4423": { + "op": "JUMPI" + }, + "4424": { + "op": "POP" + }, + "4425": { + "op": "POP" + }, + "4426": { + "op": "PUSH1", + "value": "0x40" + }, + "4428": { + "op": "DUP1" + }, + "4429": { + "op": "MLOAD" + }, + "4430": { + "op": "DUP1" + }, + "4431": { + "op": "DUP3" + }, + "4432": { + "op": "ADD" + }, + "4433": { + "op": "SWAP1" + }, + "4434": { + "op": "SWAP2" + }, + "4435": { + "op": "MSTORE" + }, + "4436": { + "op": "PUSH1", + "value": "0x1" + }, + "4438": { + "op": "DUP2" + }, + "4439": { + "op": "MSTORE" + }, + "4440": { + "op": "PUSH1", + "value": "0x3" + }, + "4442": { + "op": "PUSH1", + "value": "0xFC" + }, + "4444": { + "op": "SHL" + }, + "4445": { + "op": "PUSH1", + "value": "0x20" + }, + "4447": { + "op": "DUP3" + }, + "4448": { + "op": "ADD" + }, + "4449": { + "op": "MSTORE" + }, + "4450": { + "op": "SWAP1" + }, + "4451": { + "jump": "o", + "op": "JUMP" + }, + "4452": { + "op": "JUMPDEST" + }, + "4453": { + "op": "DUP2" + }, + "4454": { + "op": "PUSH1", + "value": "0x0" + }, + "4456": { + "op": "JUMPDEST" + }, + "4457": { + "op": "DUP2" + }, + "4458": { + "op": "ISZERO" + }, + "4459": { + "op": "PUSH2", + "value": "0x118E" + }, + "4462": { + "op": "JUMPI" + }, + "4463": { + "op": "DUP1" + }, + "4464": { + "op": "PUSH2", + "value": "0x1178" + }, + "4467": { + "op": "DUP2" + }, + "4468": { + "op": "PUSH2", + "value": "0x169F" + }, + "4471": { + "jump": "i", + "op": "JUMP" + }, + "4472": { + "op": "JUMPDEST" + }, + "4473": { + "op": "SWAP2" + }, + "4474": { + "op": "POP" + }, + "4475": { + "op": "PUSH2", + "value": "0x1187" + }, + "4478": { + "op": "SWAP1" + }, + "4479": { + "op": "POP" + }, + "4480": { + "op": "PUSH1", + "value": "0xA" + }, + "4482": { + "op": "DUP4" + }, + "4483": { + "op": "PUSH2", + "value": "0x16CE" + }, + "4486": { + "jump": "i", + "op": "JUMP" + }, + "4487": { + "op": "JUMPDEST" + }, + "4488": { + "op": "SWAP2" + }, + "4489": { + "op": "POP" + }, + "4490": { + "op": "PUSH2", + "value": "0x1168" + }, + "4493": { + "op": "JUMP" + }, + "4494": { + "op": "JUMPDEST" + }, + "4495": { + "op": "PUSH1", + "value": "0x0" + }, + "4497": { + "op": "DUP2" + }, + "4498": { + "op": "PUSH1", + "value": "0x1" + }, + "4500": { + "op": "PUSH1", + "value": "0x1" + }, + "4502": { + "op": "PUSH1", + "value": "0x40" + }, + "4504": { + "op": "SHL" + }, + "4505": { + "op": "SUB" + }, + "4506": { + "op": "DUP2" + }, + "4507": { + "op": "GT" + }, + "4508": { + "op": "ISZERO" + }, + "4509": { + "op": "PUSH2", + "value": "0x11A8" + }, + "4512": { + "op": "JUMPI" + }, + "4513": { + "op": "PUSH2", + "value": "0x11A8" + }, + "4516": { + "op": "PUSH2", + "value": "0x13D7" + }, + "4519": { + "jump": "i", + "op": "JUMP" + }, + "4520": { + "op": "JUMPDEST" + }, + "4521": { + "op": "PUSH1", + "value": "0x40" + }, + "4523": { + "op": "MLOAD" + }, + "4524": { + "op": "SWAP1" + }, + "4525": { + "op": "DUP1" + }, + "4526": { + "op": "DUP3" + }, + "4527": { + "op": "MSTORE" + }, + "4528": { + "op": "DUP1" + }, + "4529": { + "op": "PUSH1", + "value": "0x1F" + }, + "4531": { + "op": "ADD" + }, + "4532": { + "op": "PUSH1", + "value": "0x1F" + }, + "4534": { + "op": "NOT" + }, + "4535": { + "op": "AND" + }, + "4536": { + "op": "PUSH1", + "value": "0x20" + }, + "4538": { + "op": "ADD" + }, + "4539": { + "op": "DUP3" + }, + "4540": { + "op": "ADD" + }, + "4541": { + "op": "PUSH1", + "value": "0x40" + }, + "4543": { + "op": "MSTORE" + }, + "4544": { + "op": "DUP1" + }, + "4545": { + "op": "ISZERO" + }, + "4546": { + "op": "PUSH2", + "value": "0x11D2" + }, + "4549": { + "op": "JUMPI" + }, + "4550": { + "op": "PUSH1", + "value": "0x20" + }, + "4552": { + "op": "DUP3" + }, + "4553": { + "op": "ADD" + }, + "4554": { + "op": "DUP2" + }, + "4555": { + "op": "DUP1" + }, + "4556": { + "op": "CALLDATASIZE" + }, + "4557": { + "op": "DUP4" + }, + "4558": { + "op": "CALLDATACOPY" + }, + "4559": { + "op": "ADD" + }, + "4560": { + "op": "SWAP1" + }, + "4561": { + "op": "POP" + }, + "4562": { + "op": "JUMPDEST" + }, + "4563": { + "op": "POP" + }, + "4564": { + "op": "SWAP1" + }, + "4565": { + "op": "POP" + }, + "4566": { + "op": "JUMPDEST" + }, + "4567": { + "op": "DUP5" + }, + "4568": { + "op": "ISZERO" + }, + "4569": { + "op": "PUSH2", + "value": "0x1135" + }, + "4572": { + "op": "JUMPI" + }, + "4573": { + "op": "PUSH2", + "value": "0x11E7" + }, + "4576": { + "op": "PUSH1", + "value": "0x1" + }, + "4578": { + "op": "DUP4" + }, + "4579": { + "op": "PUSH2", + "value": "0x16E2" + }, + "4582": { + "jump": "i", + "op": "JUMP" + }, + "4583": { + "op": "JUMPDEST" + }, + "4584": { + "op": "SWAP2" + }, + "4585": { + "op": "POP" + }, + "4586": { + "op": "PUSH2", + "value": "0x11F4" + }, + "4589": { + "op": "PUSH1", + "value": "0xA" + }, + "4591": { + "op": "DUP7" + }, + "4592": { + "op": "PUSH2", + "value": "0x16F9" + }, + "4595": { + "jump": "i", + "op": "JUMP" + }, + "4596": { + "op": "JUMPDEST" + }, + "4597": { + "op": "PUSH2", + "value": "0x11FF" + }, + "4600": { + "op": "SWAP1" + }, + "4601": { + "op": "PUSH1", + "value": "0x30" + }, + "4603": { + "op": "PUSH2", + "value": "0x170D" + }, + "4606": { + "jump": "i", + "op": "JUMP" + }, + "4607": { + "op": "JUMPDEST" + }, + "4608": { + "op": "PUSH1", + "value": "0xF8" + }, + "4610": { + "op": "SHL" + }, + "4611": { + "op": "DUP2" + }, + "4612": { + "op": "DUP4" + }, + "4613": { + "op": "DUP2" + }, + "4614": { + "op": "MLOAD" + }, + "4615": { + "op": "DUP2" + }, + "4616": { + "op": "LT" + }, + "4617": { + "op": "PUSH2", + "value": "0x1214" + }, + "4620": { + "op": "JUMPI" + }, + "4621": { + "op": "PUSH2", + "value": "0x1214" + }, + "4624": { + "op": "PUSH2", + "value": "0x1725" + }, + "4627": { + "jump": "i", + "op": "JUMP" + }, + "4628": { + "op": "JUMPDEST" + }, + "4629": { + "op": "PUSH1", + "value": "0x20" + }, + "4631": { + "op": "ADD" + }, + "4632": { + "op": "ADD" + }, + "4633": { + "op": "SWAP1" + }, + "4634": { + "op": "PUSH1", + "value": "0x1" + }, + "4636": { + "op": "PUSH1", + "value": "0x1" + }, + "4638": { + "op": "PUSH1", + "value": "0xF8" + }, + "4640": { + "op": "SHL" + }, + "4641": { + "op": "SUB" + }, + "4642": { + "op": "NOT" + }, + "4643": { + "op": "AND" + }, + "4644": { + "op": "SWAP1" + }, + "4645": { + "op": "DUP2" + }, + "4646": { + "op": "PUSH1", + "value": "0x0" + }, + "4648": { + "op": "BYTE" + }, + "4649": { + "op": "SWAP1" + }, + "4650": { + "op": "MSTORE8" + }, + "4651": { + "op": "POP" + }, + "4652": { + "op": "PUSH2", + "value": "0x1236" + }, + "4655": { + "op": "PUSH1", + "value": "0xA" + }, + "4657": { + "op": "DUP7" + }, + "4658": { + "op": "PUSH2", + "value": "0x16CE" + }, + "4661": { + "jump": "i", + "op": "JUMP" + }, + "4662": { + "op": "JUMPDEST" + }, + "4663": { + "op": "SWAP5" + }, + "4664": { + "op": "POP" + }, + "4665": { + "op": "PUSH2", + "value": "0x11D6" + }, + "4668": { + "op": "JUMP" + }, + "4669": { + "op": "JUMPDEST" + }, + "4670": { + "op": "PUSH1", + "value": "0x1" + }, + "4672": { + "op": "PUSH1", + "value": "0x1" + }, + "4674": { + "op": "PUSH1", + "value": "0xE0" + }, + "4676": { + "op": "SHL" + }, + "4677": { + "op": "SUB" + }, + "4678": { + "op": "NOT" + }, + "4679": { + "op": "DUP2" + }, + "4680": { + "op": "AND" + }, + "4681": { + "op": "DUP2" + }, + "4682": { + "op": "EQ" + }, + "4683": { + "op": "PUSH2", + "value": "0x1253" + }, + "4686": { + "op": "JUMPI" + }, + "4687": { + "op": "PUSH1", + "value": "0x0" + }, + "4689": { + "op": "DUP1" + }, + "4690": { + "op": "REVERT" + }, + "4691": { + "op": "JUMPDEST" + }, + "4692": { + "op": "POP" + }, + "4693": { + "jump": "o", + "op": "JUMP" + }, + "4694": { + "op": "JUMPDEST" + }, + "4695": { + "op": "PUSH1", + "value": "0x0" + }, + "4697": { + "op": "PUSH1", + "value": "0x20" + }, + "4699": { + "op": "DUP3" + }, + "4700": { + "op": "DUP5" + }, + "4701": { + "op": "SUB" + }, + "4702": { + "op": "SLT" + }, + "4703": { + "op": "ISZERO" + }, + "4704": { + "op": "PUSH2", + "value": "0x1268" + }, + "4707": { + "op": "JUMPI" + }, + "4708": { + "op": "PUSH1", + "value": "0x0" + }, + "4710": { + "op": "DUP1" + }, + "4711": { + "op": "REVERT" + }, + "4712": { + "op": "JUMPDEST" + }, + "4713": { + "op": "DUP2" + }, + "4714": { + "op": "CALLDATALOAD" + }, + "4715": { + "op": "PUSH2", + "value": "0x808" + }, + "4718": { + "op": "DUP2" + }, + "4719": { + "op": "PUSH2", + "value": "0x123D" + }, + "4722": { + "jump": "i", + "op": "JUMP" + }, + "4723": { + "op": "JUMPDEST" + }, + "4724": { + "op": "PUSH1", + "value": "0x0" + }, + "4726": { + "op": "JUMPDEST" + }, + "4727": { + "op": "DUP4" + }, + "4728": { + "op": "DUP2" + }, + "4729": { + "op": "LT" + }, + "4730": { + "op": "ISZERO" + }, + "4731": { + "op": "PUSH2", + "value": "0x128E" + }, + "4734": { + "op": "JUMPI" + }, + "4735": { + "op": "DUP2" + }, + "4736": { + "op": "DUP2" + }, + "4737": { + "op": "ADD" + }, + "4738": { + "op": "MLOAD" + }, + "4739": { + "op": "DUP4" + }, + "4740": { + "op": "DUP3" + }, + "4741": { + "op": "ADD" + }, + "4742": { + "op": "MSTORE" + }, + "4743": { + "op": "PUSH1", + "value": "0x20" + }, + "4745": { + "op": "ADD" + }, + "4746": { + "op": "PUSH2", + "value": "0x1276" + }, + "4749": { + "op": "JUMP" + }, + "4750": { + "op": "JUMPDEST" + }, + "4751": { + "op": "DUP4" + }, + "4752": { + "op": "DUP2" + }, + "4753": { + "op": "GT" + }, + "4754": { + "op": "ISZERO" + }, + "4755": { + "op": "PUSH2", + "value": "0x74A" + }, + "4758": { + "op": "JUMPI" + }, + "4759": { + "op": "POP" + }, + "4760": { + "op": "POP" + }, + "4761": { + "op": "PUSH1", + "value": "0x0" + }, + "4763": { + "op": "SWAP2" + }, + "4764": { + "op": "ADD" + }, + "4765": { + "op": "MSTORE" + }, + "4766": { + "jump": "o", + "op": "JUMP" + }, + "4767": { + "op": "JUMPDEST" + }, + "4768": { + "op": "PUSH1", + "value": "0x0" + }, + "4770": { + "op": "DUP2" + }, + "4771": { + "op": "MLOAD" + }, + "4772": { + "op": "DUP1" + }, + "4773": { + "op": "DUP5" + }, + "4774": { + "op": "MSTORE" + }, + "4775": { + "op": "PUSH2", + "value": "0x12B7" + }, + "4778": { + "op": "DUP2" + }, + "4779": { + "op": "PUSH1", + "value": "0x20" + }, + "4781": { + "op": "DUP7" + }, + "4782": { + "op": "ADD" + }, + "4783": { + "op": "PUSH1", + "value": "0x20" + }, + "4785": { + "op": "DUP7" + }, + "4786": { + "op": "ADD" + }, + "4787": { + "op": "PUSH2", + "value": "0x1273" + }, + "4790": { + "jump": "i", + "op": "JUMP" + }, + "4791": { + "op": "JUMPDEST" + }, + "4792": { + "op": "PUSH1", + "value": "0x1F" + }, + "4794": { + "op": "ADD" + }, + "4795": { + "op": "PUSH1", + "value": "0x1F" + }, + "4797": { + "op": "NOT" + }, + "4798": { + "op": "AND" + }, + "4799": { + "op": "SWAP3" + }, + "4800": { + "op": "SWAP1" + }, + "4801": { + "op": "SWAP3" + }, + "4802": { + "op": "ADD" + }, + "4803": { + "op": "PUSH1", + "value": "0x20" + }, + "4805": { + "op": "ADD" + }, + "4806": { + "op": "SWAP3" + }, + "4807": { + "op": "SWAP2" + }, + "4808": { + "op": "POP" + }, + "4809": { + "op": "POP" + }, + "4810": { + "jump": "o", + "op": "JUMP" + }, + "4811": { + "op": "JUMPDEST" + }, + "4812": { + "op": "PUSH1", + "value": "0x20" + }, + "4814": { + "op": "DUP2" + }, + "4815": { + "op": "MSTORE" + }, + "4816": { + "op": "PUSH1", + "value": "0x0" + }, + "4818": { + "op": "PUSH2", + "value": "0x808" + }, + "4821": { + "op": "PUSH1", + "value": "0x20" + }, + "4823": { + "op": "DUP4" + }, + "4824": { + "op": "ADD" + }, + "4825": { + "op": "DUP5" + }, + "4826": { + "op": "PUSH2", + "value": "0x129F" + }, + "4829": { + "jump": "i", + "op": "JUMP" + }, + "4830": { + "op": "JUMPDEST" + }, + "4831": { + "op": "PUSH1", + "value": "0x0" + }, + "4833": { + "op": "PUSH1", + "value": "0x20" + }, + "4835": { + "op": "DUP3" + }, + "4836": { + "op": "DUP5" + }, + "4837": { + "op": "SUB" + }, + "4838": { + "op": "SLT" + }, + "4839": { + "op": "ISZERO" + }, + "4840": { + "op": "PUSH2", + "value": "0x12F0" + }, + "4843": { + "op": "JUMPI" + }, + "4844": { + "op": "PUSH1", + "value": "0x0" + }, + "4846": { + "op": "DUP1" + }, + "4847": { + "op": "REVERT" + }, + "4848": { + "op": "JUMPDEST" + }, + "4849": { + "op": "POP" + }, + "4850": { + "op": "CALLDATALOAD" + }, + "4851": { + "op": "SWAP2" + }, + "4852": { + "op": "SWAP1" + }, + "4853": { + "op": "POP" + }, + "4854": { + "jump": "o", + "op": "JUMP" + }, + "4855": { + "op": "JUMPDEST" + }, + "4856": { + "op": "DUP1" + }, + "4857": { + "op": "CALLDATALOAD" + }, + "4858": { + "op": "PUSH1", + "value": "0x1" + }, + "4860": { + "op": "PUSH1", + "value": "0x1" + }, + "4862": { + "op": "PUSH1", + "value": "0xA0" + }, + "4864": { + "op": "SHL" + }, + "4865": { + "op": "SUB" + }, + "4866": { + "op": "DUP2" + }, + "4867": { + "op": "AND" + }, + "4868": { + "op": "DUP2" + }, + "4869": { + "op": "EQ" + }, + "4870": { + "op": "PUSH2", + "value": "0x130E" + }, + "4873": { + "op": "JUMPI" + }, + "4874": { + "op": "PUSH1", + "value": "0x0" + }, + "4876": { + "op": "DUP1" + }, + "4877": { + "op": "REVERT" + }, + "4878": { + "op": "JUMPDEST" + }, + "4879": { + "op": "SWAP2" + }, + "4880": { + "op": "SWAP1" + }, + "4881": { + "op": "POP" + }, + "4882": { + "jump": "o", + "op": "JUMP" + }, + "4883": { + "op": "JUMPDEST" + }, + "4884": { + "op": "PUSH1", + "value": "0x0" + }, + "4886": { + "op": "DUP1" + }, + "4887": { + "op": "PUSH1", + "value": "0x40" + }, + "4889": { + "op": "DUP4" + }, + "4890": { + "op": "DUP6" + }, + "4891": { + "op": "SUB" + }, + "4892": { + "op": "SLT" + }, + "4893": { + "op": "ISZERO" + }, + "4894": { + "op": "PUSH2", + "value": "0x1326" + }, + "4897": { + "op": "JUMPI" + }, + "4898": { + "op": "PUSH1", + "value": "0x0" + }, + "4900": { + "op": "DUP1" + }, + "4901": { + "op": "REVERT" + }, + "4902": { + "op": "JUMPDEST" + }, + "4903": { + "op": "PUSH2", + "value": "0x132F" + }, + "4906": { + "op": "DUP4" + }, + "4907": { + "op": "PUSH2", + "value": "0x12F7" + }, + "4910": { + "jump": "i", + "op": "JUMP" + }, + "4911": { + "op": "JUMPDEST" + }, + "4912": { + "op": "SWAP5" + }, + "4913": { + "op": "PUSH1", + "value": "0x20" + }, + "4915": { + "op": "SWAP4" + }, + "4916": { + "op": "SWAP1" + }, + "4917": { + "op": "SWAP4" + }, + "4918": { + "op": "ADD" + }, + "4919": { + "op": "CALLDATALOAD" + }, + "4920": { + "op": "SWAP4" + }, + "4921": { + "op": "POP" + }, + "4922": { + "op": "POP" + }, + "4923": { + "op": "POP" + }, + "4924": { + "jump": "o", + "op": "JUMP" + }, + "4925": { + "op": "JUMPDEST" + }, + "4926": { + "op": "PUSH1", + "value": "0x0" + }, + "4928": { + "op": "DUP1" + }, + "4929": { + "op": "PUSH1", + "value": "0x0" + }, + "4931": { + "op": "PUSH1", + "value": "0x60" + }, + "4933": { + "op": "DUP5" + }, + "4934": { + "op": "DUP7" + }, + "4935": { + "op": "SUB" + }, + "4936": { + "op": "SLT" + }, + "4937": { + "op": "ISZERO" + }, + "4938": { + "op": "PUSH2", + "value": "0x1352" + }, + "4941": { + "op": "JUMPI" + }, + "4942": { + "op": "PUSH1", + "value": "0x0" + }, + "4944": { + "op": "DUP1" + }, + "4945": { + "op": "REVERT" + }, + "4946": { + "op": "JUMPDEST" + }, + "4947": { + "op": "PUSH2", + "value": "0x135B" + }, + "4950": { + "op": "DUP5" + }, + "4951": { + "op": "PUSH2", + "value": "0x12F7" + }, + "4954": { + "jump": "i", + "op": "JUMP" + }, + "4955": { + "op": "JUMPDEST" + }, + "4956": { + "op": "SWAP3" + }, + "4957": { + "op": "POP" + }, + "4958": { + "op": "PUSH2", + "value": "0x1369" + }, + "4961": { + "op": "PUSH1", + "value": "0x20" + }, + "4963": { + "op": "DUP6" + }, + "4964": { + "op": "ADD" + }, + "4965": { + "op": "PUSH2", + "value": "0x12F7" + }, + "4968": { + "jump": "i", + "op": "JUMP" + }, + "4969": { + "op": "JUMPDEST" + }, + "4970": { + "op": "SWAP2" + }, + "4971": { + "op": "POP" + }, + "4972": { + "op": "PUSH1", + "value": "0x40" + }, + "4974": { + "op": "DUP5" + }, + "4975": { + "op": "ADD" + }, + "4976": { + "op": "CALLDATALOAD" + }, + "4977": { + "op": "SWAP1" + }, + "4978": { + "op": "POP" + }, + "4979": { + "op": "SWAP3" + }, + "4980": { + "op": "POP" + }, + "4981": { + "op": "SWAP3" + }, + "4982": { + "op": "POP" + }, + "4983": { + "op": "SWAP3" + }, + "4984": { + "jump": "o", + "op": "JUMP" + }, + "4985": { + "op": "JUMPDEST" + }, + "4986": { + "op": "PUSH1", + "value": "0x0" + }, + "4988": { + "op": "DUP1" + }, + "4989": { + "op": "PUSH1", + "value": "0x40" + }, + "4991": { + "op": "DUP4" + }, + "4992": { + "op": "DUP6" + }, + "4993": { + "op": "SUB" + }, + "4994": { + "op": "SLT" + }, + "4995": { + "op": "ISZERO" + }, + "4996": { + "op": "PUSH2", + "value": "0x138C" + }, + "4999": { + "op": "JUMPI" + }, + "5000": { + "op": "PUSH1", + "value": "0x0" + }, + "5002": { + "op": "DUP1" + }, + "5003": { + "op": "REVERT" + }, + "5004": { + "op": "JUMPDEST" + }, + "5005": { + "op": "PUSH2", + "value": "0x1395" + }, + "5008": { + "op": "DUP4" + }, + "5009": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5012": { + "jump": "i", + "op": "JUMP" + }, + "5013": { + "op": "JUMPDEST" + }, + "5014": { + "op": "SWAP2" + }, + "5015": { + "op": "POP" + }, + "5016": { + "op": "PUSH1", + "value": "0x20" + }, + "5018": { + "op": "DUP4" + }, + "5019": { + "op": "ADD" + }, + "5020": { + "op": "CALLDATALOAD" + }, + "5021": { + "op": "PUSH1", + "value": "0x1" + }, + "5023": { + "op": "PUSH1", + "value": "0x1" + }, + "5025": { + "op": "PUSH1", + "value": "0x40" + }, + "5027": { + "op": "SHL" + }, + "5028": { + "op": "SUB" + }, + "5029": { + "op": "DUP2" + }, + "5030": { + "op": "AND" + }, + "5031": { + "op": "DUP2" + }, + "5032": { + "op": "EQ" + }, + "5033": { + "op": "PUSH2", + "value": "0x13B1" + }, + "5036": { + "op": "JUMPI" + }, + "5037": { + "op": "PUSH1", + "value": "0x0" + }, + "5039": { + "op": "DUP1" + }, + "5040": { + "op": "REVERT" + }, + "5041": { + "op": "JUMPDEST" + }, + "5042": { + "op": "DUP1" + }, + "5043": { + "op": "SWAP2" + }, + "5044": { + "op": "POP" + }, + "5045": { + "op": "POP" + }, + "5046": { + "op": "SWAP3" + }, + "5047": { + "op": "POP" + }, + "5048": { + "op": "SWAP3" + }, + "5049": { + "op": "SWAP1" + }, + "5050": { + "op": "POP" + }, + "5051": { + "jump": "o", + "op": "JUMP" + }, + "5052": { + "op": "JUMPDEST" + }, + "5053": { + "op": "PUSH1", + "value": "0x0" + }, + "5055": { + "op": "PUSH1", + "value": "0x20" + }, + "5057": { + "op": "DUP3" + }, + "5058": { + "op": "DUP5" + }, + "5059": { + "op": "SUB" + }, + "5060": { + "op": "SLT" + }, + "5061": { + "op": "ISZERO" + }, + "5062": { + "op": "PUSH2", + "value": "0x13CE" + }, + "5065": { + "op": "JUMPI" + }, + "5066": { + "op": "PUSH1", + "value": "0x0" + }, + "5068": { + "op": "DUP1" + }, + "5069": { + "op": "REVERT" + }, + "5070": { + "op": "JUMPDEST" + }, + "5071": { + "op": "PUSH2", + "value": "0x808" + }, + "5074": { + "op": "DUP3" + }, + "5075": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5078": { + "jump": "i", + "op": "JUMP" + }, + "5079": { + "op": "JUMPDEST" + }, + "5080": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5085": { + "op": "PUSH1", + "value": "0xE0" + }, + "5087": { + "op": "SHL" + }, + "5088": { + "op": "PUSH1", + "value": "0x0" + }, + "5090": { + "op": "MSTORE" + }, + "5091": { + "op": "PUSH1", + "value": "0x41" + }, + "5093": { + "op": "PUSH1", + "value": "0x4" + }, + "5095": { + "op": "MSTORE" + }, + "5096": { + "op": "PUSH1", + "value": "0x24" + }, + "5098": { + "op": "PUSH1", + "value": "0x0" + }, + "5100": { + "op": "REVERT" + }, + "5101": { + "op": "JUMPDEST" + }, + "5102": { + "op": "PUSH1", + "value": "0x0" + }, + "5104": { + "op": "DUP3" + }, + "5105": { + "op": "PUSH1", + "value": "0x1F" + }, + "5107": { + "op": "DUP4" + }, + "5108": { + "op": "ADD" + }, + "5109": { + "op": "SLT" + }, + "5110": { + "op": "PUSH2", + "value": "0x13FE" + }, + "5113": { + "op": "JUMPI" + }, + "5114": { + "op": "PUSH1", + "value": "0x0" + }, + "5116": { + "op": "DUP1" + }, + "5117": { + "op": "REVERT" + }, + "5118": { + "op": "JUMPDEST" + }, + "5119": { + "op": "DUP2" + }, + "5120": { + "op": "CALLDATALOAD" + }, + "5121": { + "op": "PUSH1", + "value": "0x1" + }, + "5123": { + "op": "PUSH1", + "value": "0x1" + }, + "5125": { + "op": "PUSH1", + "value": "0x40" + }, + "5127": { + "op": "SHL" + }, + "5128": { + "op": "SUB" + }, + "5129": { + "op": "DUP1" + }, + "5130": { + "op": "DUP3" + }, + "5131": { + "op": "GT" + }, + "5132": { + "op": "ISZERO" + }, + "5133": { + "op": "PUSH2", + "value": "0x1418" + }, + "5136": { + "op": "JUMPI" + }, + "5137": { + "op": "PUSH2", + "value": "0x1418" + }, + "5140": { + "op": "PUSH2", + "value": "0x13D7" + }, + "5143": { + "jump": "i", + "op": "JUMP" + }, + "5144": { + "op": "JUMPDEST" + }, + "5145": { + "op": "PUSH1", + "value": "0x40" + }, + "5147": { + "op": "MLOAD" + }, + "5148": { + "op": "PUSH1", + "value": "0x1F" + }, + "5150": { + "op": "DUP4" + }, + "5151": { + "op": "ADD" + }, + "5152": { + "op": "PUSH1", + "value": "0x1F" + }, + "5154": { + "op": "NOT" + }, + "5155": { + "op": "SWAP1" + }, + "5156": { + "op": "DUP2" + }, + "5157": { + "op": "AND" + }, + "5158": { + "op": "PUSH1", + "value": "0x3F" + }, + "5160": { + "op": "ADD" + }, + "5161": { + "op": "AND" + }, + "5162": { + "op": "DUP2" + }, + "5163": { + "op": "ADD" + }, + "5164": { + "op": "SWAP1" + }, + "5165": { + "op": "DUP3" + }, + "5166": { + "op": "DUP3" + }, + "5167": { + "op": "GT" + }, + "5168": { + "op": "DUP2" + }, + "5169": { + "op": "DUP4" + }, + "5170": { + "op": "LT" + }, + "5171": { + "op": "OR" + }, + "5172": { + "op": "ISZERO" + }, + "5173": { + "op": "PUSH2", + "value": "0x1440" + }, + "5176": { + "op": "JUMPI" + }, + "5177": { + "op": "PUSH2", + "value": "0x1440" + }, + "5180": { + "op": "PUSH2", + "value": "0x13D7" + }, + "5183": { + "jump": "i", + "op": "JUMP" + }, + "5184": { + "op": "JUMPDEST" + }, + "5185": { + "op": "DUP2" + }, + "5186": { + "op": "PUSH1", + "value": "0x40" + }, + "5188": { + "op": "MSTORE" + }, + "5189": { + "op": "DUP4" + }, + "5190": { + "op": "DUP2" + }, + "5191": { + "op": "MSTORE" + }, + "5192": { + "op": "DUP7" + }, + "5193": { + "op": "PUSH1", + "value": "0x20" + }, + "5195": { + "op": "DUP6" + }, + "5196": { + "op": "DUP9" + }, + "5197": { + "op": "ADD" + }, + "5198": { + "op": "ADD" + }, + "5199": { + "op": "GT" + }, + "5200": { + "op": "ISZERO" + }, + "5201": { + "op": "PUSH2", + "value": "0x1459" + }, + "5204": { + "op": "JUMPI" + }, + "5205": { + "op": "PUSH1", + "value": "0x0" + }, + "5207": { + "op": "DUP1" + }, + "5208": { + "op": "REVERT" + }, + "5209": { + "op": "JUMPDEST" + }, + "5210": { + "op": "DUP4" + }, + "5211": { + "op": "PUSH1", + "value": "0x20" + }, + "5213": { + "op": "DUP8" + }, + "5214": { + "op": "ADD" + }, + "5215": { + "op": "PUSH1", + "value": "0x20" + }, + "5217": { + "op": "DUP4" + }, + "5218": { + "op": "ADD" + }, + "5219": { + "op": "CALLDATACOPY" + }, + "5220": { + "op": "PUSH1", + "value": "0x0" + }, + "5222": { + "op": "PUSH1", + "value": "0x20" + }, + "5224": { + "op": "DUP6" + }, + "5225": { + "op": "DUP4" + }, + "5226": { + "op": "ADD" + }, + "5227": { + "op": "ADD" + }, + "5228": { + "op": "MSTORE" + }, + "5229": { + "op": "DUP1" + }, + "5230": { + "op": "SWAP5" + }, + "5231": { + "op": "POP" + }, + "5232": { + "op": "POP" + }, + "5233": { + "op": "POP" + }, + "5234": { + "op": "POP" + }, + "5235": { + "op": "POP" + }, + "5236": { + "op": "SWAP3" + }, + "5237": { + "op": "SWAP2" + }, + "5238": { + "op": "POP" + }, + "5239": { + "op": "POP" + }, + "5240": { + "jump": "o", + "op": "JUMP" + }, + "5241": { + "op": "JUMPDEST" + }, + "5242": { + "op": "PUSH1", + "value": "0x0" + }, + "5244": { + "op": "DUP1" + }, + "5245": { + "op": "PUSH1", + "value": "0x0" + }, + "5247": { + "op": "PUSH1", + "value": "0x60" + }, + "5249": { + "op": "DUP5" + }, + "5250": { + "op": "DUP7" + }, + "5251": { + "op": "SUB" + }, + "5252": { + "op": "SLT" + }, + "5253": { + "op": "ISZERO" + }, + "5254": { + "op": "PUSH2", + "value": "0x148E" + }, + "5257": { + "op": "JUMPI" + }, + "5258": { + "op": "PUSH1", + "value": "0x0" + }, + "5260": { + "op": "DUP1" + }, + "5261": { + "op": "REVERT" + }, + "5262": { + "op": "JUMPDEST" + }, + "5263": { + "op": "PUSH2", + "value": "0x1497" + }, + "5266": { + "op": "DUP5" + }, + "5267": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5270": { + "jump": "i", + "op": "JUMP" + }, + "5271": { + "op": "JUMPDEST" + }, + "5272": { + "op": "SWAP3" + }, + "5273": { + "op": "POP" + }, + "5274": { + "op": "PUSH1", + "value": "0x20" + }, + "5276": { + "op": "DUP5" + }, + "5277": { + "op": "ADD" + }, + "5278": { + "op": "CALLDATALOAD" + }, + "5279": { + "op": "SWAP2" + }, + "5280": { + "op": "POP" + }, + "5281": { + "op": "PUSH1", + "value": "0x40" + }, + "5283": { + "op": "DUP5" + }, + "5284": { + "op": "ADD" + }, + "5285": { + "op": "CALLDATALOAD" + }, + "5286": { + "op": "PUSH1", + "value": "0x1" + }, + "5288": { + "op": "PUSH1", + "value": "0x1" + }, + "5290": { + "op": "PUSH1", + "value": "0x40" + }, + "5292": { + "op": "SHL" + }, + "5293": { + "op": "SUB" + }, + "5294": { + "op": "DUP2" + }, + "5295": { + "op": "GT" + }, + "5296": { + "op": "ISZERO" + }, + "5297": { + "op": "PUSH2", + "value": "0x14B9" + }, + "5300": { + "op": "JUMPI" + }, + "5301": { + "op": "PUSH1", + "value": "0x0" + }, + "5303": { + "op": "DUP1" + }, + "5304": { + "op": "REVERT" + }, + "5305": { + "op": "JUMPDEST" + }, + "5306": { + "op": "PUSH2", + "value": "0x14C5" + }, + "5309": { + "op": "DUP7" + }, + "5310": { + "op": "DUP3" + }, + "5311": { + "op": "DUP8" + }, + "5312": { + "op": "ADD" + }, + "5313": { + "op": "PUSH2", + "value": "0x13ED" + }, + "5316": { + "jump": "i", + "op": "JUMP" + }, + "5317": { + "op": "JUMPDEST" + }, + "5318": { + "op": "SWAP2" + }, + "5319": { + "op": "POP" + }, + "5320": { + "op": "POP" + }, + "5321": { + "op": "SWAP3" + }, + "5322": { + "op": "POP" + }, + "5323": { + "op": "SWAP3" + }, + "5324": { + "op": "POP" + }, + "5325": { + "op": "SWAP3" + }, + "5326": { + "jump": "o", + "op": "JUMP" + }, + "5327": { + "op": "JUMPDEST" + }, + "5328": { + "op": "DUP1" + }, + "5329": { + "op": "CALLDATALOAD" + }, + "5330": { + "op": "DUP1" + }, + "5331": { + "op": "ISZERO" + }, + "5332": { + "op": "ISZERO" + }, + "5333": { + "op": "DUP2" + }, + "5334": { + "op": "EQ" + }, + "5335": { + "op": "PUSH2", + "value": "0x130E" + }, + "5338": { + "op": "JUMPI" + }, + "5339": { + "op": "PUSH1", + "value": "0x0" + }, + "5341": { + "op": "DUP1" + }, + "5342": { + "op": "REVERT" + }, + "5343": { + "op": "JUMPDEST" + }, + "5344": { + "op": "PUSH1", + "value": "0x0" + }, + "5346": { + "op": "DUP1" + }, + "5347": { + "op": "PUSH1", + "value": "0x40" + }, + "5349": { + "op": "DUP4" + }, + "5350": { + "op": "DUP6" + }, + "5351": { + "op": "SUB" + }, + "5352": { + "op": "SLT" + }, + "5353": { + "op": "ISZERO" + }, + "5354": { + "op": "PUSH2", + "value": "0x14F2" + }, + "5357": { + "op": "JUMPI" + }, + "5358": { + "op": "PUSH1", + "value": "0x0" + }, + "5360": { + "op": "DUP1" + }, + "5361": { + "op": "REVERT" + }, + "5362": { + "op": "JUMPDEST" + }, + "5363": { + "op": "DUP3" + }, + "5364": { + "op": "CALLDATALOAD" + }, + "5365": { + "op": "SWAP2" + }, + "5366": { + "op": "POP" + }, + "5367": { + "op": "PUSH2", + "value": "0x1502" + }, + "5370": { + "op": "PUSH1", + "value": "0x20" + }, + "5372": { + "op": "DUP5" + }, + "5373": { + "op": "ADD" + }, + "5374": { + "op": "PUSH2", + "value": "0x14CF" + }, + "5377": { + "jump": "i", + "op": "JUMP" + }, + "5378": { + "op": "JUMPDEST" + }, + "5379": { + "op": "SWAP1" + }, + "5380": { + "op": "POP" + }, + "5381": { + "op": "SWAP3" + }, + "5382": { + "op": "POP" + }, + "5383": { + "op": "SWAP3" + }, + "5384": { + "op": "SWAP1" + }, + "5385": { + "op": "POP" + }, + "5386": { + "jump": "o", + "op": "JUMP" + }, + "5387": { + "op": "JUMPDEST" + }, + "5388": { + "op": "PUSH1", + "value": "0x0" + }, + "5390": { + "op": "DUP1" + }, + "5391": { + "op": "PUSH1", + "value": "0x40" + }, + "5393": { + "op": "DUP4" + }, + "5394": { + "op": "DUP6" + }, + "5395": { + "op": "SUB" + }, + "5396": { + "op": "SLT" + }, + "5397": { + "op": "ISZERO" + }, + "5398": { + "op": "PUSH2", + "value": "0x151E" + }, + "5401": { + "op": "JUMPI" + }, + "5402": { + "op": "PUSH1", + "value": "0x0" + }, + "5404": { + "op": "DUP1" + }, + "5405": { + "op": "REVERT" + }, + "5406": { + "op": "JUMPDEST" + }, + "5407": { + "op": "PUSH2", + "value": "0x1527" + }, + "5410": { + "op": "DUP4" + }, + "5411": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5414": { + "jump": "i", + "op": "JUMP" + }, + "5415": { + "op": "JUMPDEST" + }, + "5416": { + "op": "SWAP2" + }, + "5417": { + "op": "POP" + }, + "5418": { + "op": "PUSH2", + "value": "0x1502" + }, + "5421": { + "op": "PUSH1", + "value": "0x20" + }, + "5423": { + "op": "DUP5" + }, + "5424": { + "op": "ADD" + }, + "5425": { + "op": "PUSH2", + "value": "0x14CF" + }, + "5428": { + "jump": "i", + "op": "JUMP" + }, + "5429": { + "op": "JUMPDEST" + }, + "5430": { + "op": "PUSH1", + "value": "0x0" + }, + "5432": { + "op": "DUP1" + }, + "5433": { + "op": "PUSH1", + "value": "0x0" + }, + "5435": { + "op": "DUP1" + }, + "5436": { + "op": "PUSH1", + "value": "0x80" + }, + "5438": { + "op": "DUP6" + }, + "5439": { + "op": "DUP8" + }, + "5440": { + "op": "SUB" + }, + "5441": { + "op": "SLT" + }, + "5442": { + "op": "ISZERO" + }, + "5443": { + "op": "PUSH2", + "value": "0x154B" + }, + "5446": { + "op": "JUMPI" + }, + "5447": { + "op": "PUSH1", + "value": "0x0" + }, + "5449": { + "op": "DUP1" + }, + "5450": { + "op": "REVERT" + }, + "5451": { + "op": "JUMPDEST" + }, + "5452": { + "op": "PUSH2", + "value": "0x1554" + }, + "5455": { + "op": "DUP6" + }, + "5456": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5459": { + "jump": "i", + "op": "JUMP" + }, + "5460": { + "op": "JUMPDEST" + }, + "5461": { + "op": "SWAP4" + }, + "5462": { + "op": "POP" + }, + "5463": { + "op": "PUSH2", + "value": "0x1562" + }, + "5466": { + "op": "PUSH1", + "value": "0x20" + }, + "5468": { + "op": "DUP7" + }, + "5469": { + "op": "ADD" + }, + "5470": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5473": { + "jump": "i", + "op": "JUMP" + }, + "5474": { + "op": "JUMPDEST" + }, + "5475": { + "op": "SWAP3" + }, + "5476": { + "op": "POP" + }, + "5477": { + "op": "PUSH1", + "value": "0x40" + }, + "5479": { + "op": "DUP6" + }, + "5480": { + "op": "ADD" + }, + "5481": { + "op": "CALLDATALOAD" + }, + "5482": { + "op": "SWAP2" + }, + "5483": { + "op": "POP" + }, + "5484": { + "op": "PUSH1", + "value": "0x60" + }, + "5486": { + "op": "DUP6" + }, + "5487": { + "op": "ADD" + }, + "5488": { + "op": "CALLDATALOAD" + }, + "5489": { + "op": "PUSH1", + "value": "0x1" + }, + "5491": { + "op": "PUSH1", + "value": "0x1" + }, + "5493": { + "op": "PUSH1", + "value": "0x40" + }, + "5495": { + "op": "SHL" + }, + "5496": { + "op": "SUB" + }, + "5497": { + "op": "DUP2" + }, + "5498": { + "op": "GT" + }, + "5499": { + "op": "ISZERO" + }, + "5500": { + "op": "PUSH2", + "value": "0x1584" + }, + "5503": { + "op": "JUMPI" + }, + "5504": { + "op": "PUSH1", + "value": "0x0" + }, + "5506": { + "op": "DUP1" + }, + "5507": { + "op": "REVERT" + }, + "5508": { + "op": "JUMPDEST" + }, + "5509": { + "op": "PUSH2", + "value": "0x1590" + }, + "5512": { + "op": "DUP8" + }, + "5513": { + "op": "DUP3" + }, + "5514": { + "op": "DUP9" + }, + "5515": { + "op": "ADD" + }, + "5516": { + "op": "PUSH2", + "value": "0x13ED" + }, + "5519": { + "jump": "i", + "op": "JUMP" + }, + "5520": { + "op": "JUMPDEST" + }, + "5521": { + "op": "SWAP2" + }, + "5522": { + "op": "POP" + }, + "5523": { + "op": "POP" + }, + "5524": { + "op": "SWAP3" + }, + "5525": { + "op": "SWAP6" + }, + "5526": { + "op": "SWAP2" + }, + "5527": { + "op": "SWAP5" + }, + "5528": { + "op": "POP" + }, + "5529": { + "op": "SWAP3" + }, + "5530": { + "op": "POP" + }, + "5531": { + "jump": "o", + "op": "JUMP" + }, + "5532": { + "op": "JUMPDEST" + }, + "5533": { + "op": "PUSH1", + "value": "0x0" + }, + "5535": { + "op": "DUP1" + }, + "5536": { + "op": "PUSH1", + "value": "0x40" + }, + "5538": { + "op": "DUP4" + }, + "5539": { + "op": "DUP6" + }, + "5540": { + "op": "SUB" + }, + "5541": { + "op": "SLT" + }, + "5542": { + "op": "ISZERO" + }, + "5543": { + "op": "PUSH2", + "value": "0x15AF" + }, + "5546": { + "op": "JUMPI" + }, + "5547": { + "op": "PUSH1", + "value": "0x0" + }, + "5549": { + "op": "DUP1" + }, + "5550": { + "op": "REVERT" + }, + "5551": { + "op": "JUMPDEST" + }, + "5552": { + "op": "PUSH2", + "value": "0x15B8" + }, + "5555": { + "op": "DUP4" + }, + "5556": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5559": { + "jump": "i", + "op": "JUMP" + }, + "5560": { + "op": "JUMPDEST" + }, + "5561": { + "op": "SWAP2" + }, + "5562": { + "op": "POP" + }, + "5563": { + "op": "PUSH2", + "value": "0x1502" + }, + "5566": { + "op": "PUSH1", + "value": "0x20" + }, + "5568": { + "op": "DUP5" + }, + "5569": { + "op": "ADD" + }, + "5570": { + "op": "PUSH2", + "value": "0x12F7" + }, + "5573": { + "jump": "i", + "op": "JUMP" + }, + "5574": { + "op": "JUMPDEST" + }, + "5575": { + "op": "PUSH1", + "value": "0x1" + }, + "5577": { + "op": "DUP2" + }, + "5578": { + "op": "DUP2" + }, + "5579": { + "op": "SHR" + }, + "5580": { + "op": "SWAP1" + }, + "5581": { + "op": "DUP3" + }, + "5582": { + "op": "AND" + }, + "5583": { + "op": "DUP1" + }, + "5584": { + "op": "PUSH2", + "value": "0x15DA" + }, + "5587": { + "op": "JUMPI" + }, + "5588": { + "op": "PUSH1", + "value": "0x7F" + }, + "5590": { + "op": "DUP3" + }, + "5591": { + "op": "AND" + }, + "5592": { + "op": "SWAP2" + }, + "5593": { + "op": "POP" + }, + "5594": { + "op": "JUMPDEST" + }, + "5595": { + "op": "PUSH1", + "value": "0x20" + }, + "5597": { + "op": "DUP3" + }, + "5598": { + "op": "LT" + }, + "5599": { + "op": "DUP2" + }, + "5600": { + "op": "SUB" + }, + "5601": { + "op": "PUSH2", + "value": "0x15FA" + }, + "5604": { + "op": "JUMPI" + }, + "5605": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5610": { + "op": "PUSH1", + "value": "0xE0" + }, + "5612": { + "op": "SHL" + }, + "5613": { + "op": "PUSH1", + "value": "0x0" + }, + "5615": { + "op": "MSTORE" + }, + "5616": { + "op": "PUSH1", + "value": "0x22" + }, + "5618": { + "op": "PUSH1", + "value": "0x4" + }, + "5620": { + "op": "MSTORE" + }, + "5621": { + "op": "PUSH1", + "value": "0x24" + }, + "5623": { + "op": "PUSH1", + "value": "0x0" + }, + "5625": { + "op": "REVERT" + }, + "5626": { + "op": "JUMPDEST" + }, + "5627": { + "op": "POP" + }, + "5628": { + "op": "SWAP2" + }, + "5629": { + "op": "SWAP1" + }, + "5630": { + "op": "POP" + }, + "5631": { + "jump": "o", + "op": "JUMP" + }, + "5632": { + "op": "JUMPDEST" + }, + "5633": { + "op": "PUSH1", + "value": "0x0" + }, + "5635": { + "op": "DUP4" + }, + "5636": { + "op": "MLOAD" + }, + "5637": { + "op": "PUSH2", + "value": "0x1612" + }, + "5640": { + "op": "DUP2" + }, + "5641": { + "op": "DUP5" + }, + "5642": { + "op": "PUSH1", + "value": "0x20" + }, + "5644": { + "op": "DUP9" + }, + "5645": { + "op": "ADD" + }, + "5646": { + "op": "PUSH2", + "value": "0x1273" + }, + "5649": { + "jump": "i", + "op": "JUMP" + }, + "5650": { + "op": "JUMPDEST" + }, + "5651": { + "op": "DUP4" + }, + "5652": { + "op": "MLOAD" + }, + "5653": { + "op": "SWAP1" + }, + "5654": { + "op": "DUP4" + }, + "5655": { + "op": "ADD" + }, + "5656": { + "op": "SWAP1" + }, + "5657": { + "op": "PUSH2", + "value": "0x1626" + }, + "5660": { + "op": "DUP2" + }, + "5661": { + "op": "DUP4" + }, + "5662": { + "op": "PUSH1", + "value": "0x20" + }, + "5664": { + "op": "DUP9" + }, + "5665": { + "op": "ADD" + }, + "5666": { + "op": "PUSH2", + "value": "0x1273" + }, + "5669": { + "jump": "i", + "op": "JUMP" + }, + "5670": { + "op": "JUMPDEST" + }, + "5671": { + "op": "ADD" + }, + "5672": { + "op": "SWAP5" + }, + "5673": { + "op": "SWAP4" + }, + "5674": { + "op": "POP" + }, + "5675": { + "op": "POP" + }, + "5676": { + "op": "POP" + }, + "5677": { + "op": "POP" + }, + "5678": { + "jump": "o", + "op": "JUMP" + }, + "5679": { + "op": "JUMPDEST" + }, + "5680": { + "op": "PUSH1", + "value": "0x1" + }, + "5682": { + "op": "PUSH1", + "value": "0x1" + }, + "5684": { + "op": "PUSH1", + "value": "0xA0" + }, + "5686": { + "op": "SHL" + }, + "5687": { + "op": "SUB" + }, + "5688": { + "op": "DUP6" + }, + "5689": { + "op": "DUP2" + }, + "5690": { + "op": "AND" + }, + "5691": { + "op": "DUP3" + }, + "5692": { + "op": "MSTORE" + }, + "5693": { + "op": "DUP5" + }, + "5694": { + "op": "AND" + }, + "5695": { + "op": "PUSH1", + "value": "0x20" + }, + "5697": { + "op": "DUP3" + }, + "5698": { + "op": "ADD" + }, + "5699": { + "op": "MSTORE" + }, + "5700": { + "op": "PUSH1", + "value": "0x40" + }, + "5702": { + "op": "DUP2" + }, + "5703": { + "op": "ADD" + }, + "5704": { + "op": "DUP4" + }, + "5705": { + "op": "SWAP1" + }, + "5706": { + "op": "MSTORE" + }, + "5707": { + "op": "PUSH1", + "value": "0x80" + }, + "5709": { + "op": "PUSH1", + "value": "0x60" + }, + "5711": { + "op": "DUP3" + }, + "5712": { + "op": "ADD" + }, + "5713": { + "op": "DUP2" + }, + "5714": { + "op": "SWAP1" + }, + "5715": { + "op": "MSTORE" + }, + "5716": { + "op": "PUSH1", + "value": "0x0" + }, + "5718": { + "op": "SWAP1" + }, + "5719": { + "op": "PUSH2", + "value": "0x1662" + }, + "5722": { + "op": "SWAP1" + }, + "5723": { + "op": "DUP4" + }, + "5724": { + "op": "ADD" + }, + "5725": { + "op": "DUP5" + }, + "5726": { + "op": "PUSH2", + "value": "0x129F" + }, + "5729": { + "jump": "i", + "op": "JUMP" + }, + "5730": { + "op": "JUMPDEST" + }, + "5731": { + "op": "SWAP7" + }, + "5732": { + "op": "SWAP6" + }, + "5733": { + "op": "POP" + }, + "5734": { + "op": "POP" + }, + "5735": { + "op": "POP" + }, + "5736": { + "op": "POP" + }, + "5737": { + "op": "POP" + }, + "5738": { + "op": "POP" + }, + "5739": { + "jump": "o", + "op": "JUMP" + }, + "5740": { + "op": "JUMPDEST" + }, + "5741": { + "op": "PUSH1", + "value": "0x0" + }, + "5743": { + "op": "PUSH1", + "value": "0x20" + }, + "5745": { + "op": "DUP3" + }, + "5746": { + "op": "DUP5" + }, + "5747": { + "op": "SUB" + }, + "5748": { + "op": "SLT" + }, + "5749": { + "op": "ISZERO" + }, + "5750": { + "op": "PUSH2", + "value": "0x167E" + }, + "5753": { + "op": "JUMPI" + }, + "5754": { + "op": "PUSH1", + "value": "0x0" + }, + "5756": { + "op": "DUP1" + }, + "5757": { + "op": "REVERT" + }, + "5758": { + "op": "JUMPDEST" + }, + "5759": { + "op": "DUP2" + }, + "5760": { + "op": "MLOAD" + }, + "5761": { + "op": "PUSH2", + "value": "0x808" + }, + "5764": { + "op": "DUP2" + }, + "5765": { + "op": "PUSH2", + "value": "0x123D" + }, + "5768": { + "jump": "i", + "op": "JUMP" + }, + "5769": { + "op": "JUMPDEST" + }, + "5770": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5775": { + "op": "PUSH1", + "value": "0xE0" + }, + "5777": { + "op": "SHL" + }, + "5778": { + "op": "PUSH1", + "value": "0x0" + }, + "5780": { + "op": "MSTORE" + }, + "5781": { + "op": "PUSH1", + "value": "0x11" + }, + "5783": { + "op": "PUSH1", + "value": "0x4" + }, + "5785": { + "op": "MSTORE" + }, + "5786": { + "op": "PUSH1", + "value": "0x24" + }, + "5788": { + "op": "PUSH1", + "value": "0x0" + }, + "5790": { + "op": "REVERT" + }, + "5791": { + "op": "JUMPDEST" + }, + "5792": { + "op": "PUSH1", + "value": "0x0" + }, + "5794": { + "op": "PUSH1", + "value": "0x1" + }, + "5796": { + "op": "DUP3" + }, + "5797": { + "op": "ADD" + }, + "5798": { + "op": "PUSH2", + "value": "0x16B1" + }, + "5801": { + "op": "JUMPI" + }, + "5802": { + "op": "PUSH2", + "value": "0x16B1" + }, + "5805": { + "op": "PUSH2", + "value": "0x1689" + }, + "5808": { + "jump": "i", + "op": "JUMP" + }, + "5809": { + "op": "JUMPDEST" + }, + "5810": { + "op": "POP" + }, + "5811": { + "op": "PUSH1", + "value": "0x1" + }, + "5813": { + "op": "ADD" + }, + "5814": { + "op": "SWAP1" + }, + "5815": { + "jump": "o", + "op": "JUMP" + }, + "5816": { + "op": "JUMPDEST" + }, + "5817": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5822": { + "op": "PUSH1", + "value": "0xE0" + }, + "5824": { + "op": "SHL" + }, + "5825": { + "op": "PUSH1", + "value": "0x0" + }, + "5827": { + "op": "MSTORE" + }, + "5828": { + "op": "PUSH1", + "value": "0x12" + }, + "5830": { + "op": "PUSH1", + "value": "0x4" + }, + "5832": { + "op": "MSTORE" + }, + "5833": { + "op": "PUSH1", + "value": "0x24" + }, + "5835": { + "op": "PUSH1", + "value": "0x0" + }, + "5837": { + "op": "REVERT" + }, + "5838": { + "op": "JUMPDEST" + }, + "5839": { + "op": "PUSH1", + "value": "0x0" + }, + "5841": { + "op": "DUP3" + }, + "5842": { + "op": "PUSH2", + "value": "0x16DD" + }, + "5845": { + "op": "JUMPI" + }, + "5846": { + "op": "PUSH2", + "value": "0x16DD" + }, + "5849": { + "op": "PUSH2", + "value": "0x16B8" + }, + "5852": { + "jump": "i", + "op": "JUMP" + }, + "5853": { + "op": "JUMPDEST" + }, + "5854": { + "op": "POP" + }, + "5855": { + "op": "DIV" + }, + "5856": { + "op": "SWAP1" + }, + "5857": { + "jump": "o", + "op": "JUMP" + }, + "5858": { + "op": "JUMPDEST" + }, + "5859": { + "op": "PUSH1", + "value": "0x0" + }, + "5861": { + "op": "DUP3" + }, + "5862": { + "op": "DUP3" + }, + "5863": { + "op": "LT" + }, + "5864": { + "op": "ISZERO" + }, + "5865": { + "op": "PUSH2", + "value": "0x16F4" + }, + "5868": { + "op": "JUMPI" + }, + "5869": { + "op": "PUSH2", + "value": "0x16F4" + }, + "5872": { + "op": "PUSH2", + "value": "0x1689" + }, + "5875": { + "jump": "i", + "op": "JUMP" + }, + "5876": { + "op": "JUMPDEST" + }, + "5877": { + "op": "POP" + }, + "5878": { + "op": "SUB" + }, + "5879": { + "op": "SWAP1" + }, + "5880": { + "jump": "o", + "op": "JUMP" + }, + "5881": { + "op": "JUMPDEST" + }, + "5882": { + "op": "PUSH1", + "value": "0x0" + }, + "5884": { + "op": "DUP3" + }, + "5885": { + "op": "PUSH2", + "value": "0x1708" + }, + "5888": { + "op": "JUMPI" + }, + "5889": { + "op": "PUSH2", + "value": "0x1708" + }, + "5892": { + "op": "PUSH2", + "value": "0x16B8" + }, + "5895": { + "jump": "i", + "op": "JUMP" + }, + "5896": { + "op": "JUMPDEST" + }, + "5897": { + "op": "POP" + }, + "5898": { + "op": "MOD" + }, + "5899": { + "op": "SWAP1" + }, + "5900": { + "jump": "o", + "op": "JUMP" + }, + "5901": { + "op": "JUMPDEST" + }, + "5902": { + "op": "PUSH1", + "value": "0x0" + }, + "5904": { + "op": "DUP3" + }, + "5905": { + "op": "NOT" + }, + "5906": { + "op": "DUP3" + }, + "5907": { + "op": "GT" + }, + "5908": { + "op": "ISZERO" + }, + "5909": { + "op": "PUSH2", + "value": "0x1720" + }, + "5912": { + "op": "JUMPI" + }, + "5913": { + "op": "PUSH2", + "value": "0x1720" + }, + "5916": { + "op": "PUSH2", + "value": "0x1689" + }, + "5919": { + "jump": "i", + "op": "JUMP" + }, + "5920": { + "op": "JUMPDEST" + }, + "5921": { + "op": "POP" + }, + "5922": { + "op": "ADD" + }, + "5923": { + "op": "SWAP1" + }, + "5924": { + "jump": "o", + "op": "JUMP" + }, + "5925": { + "op": "JUMPDEST" + }, + "5926": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5931": { + "op": "PUSH1", + "value": "0xE0" + }, + "5933": { + "op": "SHL" + }, + "5934": { + "op": "PUSH1", + "value": "0x0" + }, + "5936": { + "op": "MSTORE" + }, + "5937": { + "op": "PUSH1", + "value": "0x32" + }, + "5939": { + "op": "PUSH1", + "value": "0x4" + }, + "5941": { + "op": "MSTORE" + }, + "5942": { + "op": "PUSH1", + "value": "0x24" + }, + "5944": { + "op": "PUSH1", + "value": "0x0" + }, + "5946": { + "op": "REVERT" + } + }, + "sha1": "2470bb430e54232d6b49190b094227343861f1d2", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"./ERC721AMock.sol\";\nimport \"./StartTokenIdHelper.sol\";\n\ncontract ERC721AStartTokenIdMock is StartTokenIdHelper, ERC721AMock {\n constructor(\n string memory name_,\n string memory symbol_,\n uint256 startTokenId_\n ) StartTokenIdHelper(startTokenId_) ERC721AMock(name_, symbol_) {}\n\n function _startTokenId() internal view override returns (uint256) {\n return startTokenId;\n }\n}\n", + "sourceMap": "518:357:33:-:0;;;592:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;876:12:35;:28;;;747:5:33;754:7;747:5;754:7;2285:5:17;:13;747:5:33;2285::17;:13;:::i;:::-;-1:-1:-1;2308:7:17;:17;2318:7;2308;:17;:::i;:::-;-1:-1:-1;828:7:33;854:12;2335:13:17;:31;-1:-1:-1;518:357:33;;-1:-1:-1;;;;;;518:357:33;14:127:43;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:623::-;1144:6;1152;1160;1213:2;1201:9;1192:7;1188:23;1184:32;1181:52;;;1229:1;1226;1219:12;1181:52;1256:16;;-1:-1:-1;;;;;1321:14:43;;;1318:34;;;1348:1;1345;1338:12;1318:34;1371:61;1424:7;1415:6;1404:9;1400:22;1371:61;:::i;:::-;1361:71;;1478:2;1467:9;1463:18;1457:25;1441:41;;1507:2;1497:8;1494:16;1491:36;;;1523:1;1520;1513:12;1491:36;;1546:63;1601:7;1590:8;1579:9;1575:24;1546:63;:::i;:::-;1536:73;;;1649:2;1638:9;1634:18;1628:25;1618:35;;1036:623;;;;;:::o;1664:380::-;1743:1;1739:12;;;;1786;;;1807:61;;1861:4;1853:6;1849:17;1839:27;;1807:61;1914:2;1906:6;1903:14;1883:18;1880:38;1877:161;;1960:10;1955:3;1951:20;1948:1;1941:31;1995:4;1992:1;1985:15;2023:4;2020:1;2013:15;1877:161;;1664:380;;;:::o;2175:545::-;2277:2;2272:3;2269:11;2266:448;;;2313:1;2338:5;2334:2;2327:17;2383:4;2379:2;2369:19;2453:2;2441:10;2437:19;2434:1;2430:27;2424:4;2420:38;2489:4;2477:10;2474:20;2471:47;;;-1:-1:-1;2512:4:43;2471:47;2567:2;2562:3;2558:12;2555:1;2551:20;2545:4;2541:31;2531:41;;2622:82;2640:2;2633:5;2630:13;2622:82;;;2685:17;;;2666:1;2655:13;2622:82;;;2626:3;;;2266:448;2175:545;;;:::o;2896:1352::-;3016:10;;-1:-1:-1;;;;;3038:30:43;;3035:56;;;3071:18;;:::i;:::-;3100:97;3190:6;3150:38;3182:4;3176:11;3150:38;:::i;:::-;3144:4;3100:97;:::i;:::-;3252:4;;3316:2;3305:14;;3333:1;3328:663;;;;4035:1;4052:6;4049:89;;;-1:-1:-1;4104:19:43;;;4098:26;4049:89;-1:-1:-1;;2853:1:43;2849:11;;;2845:24;2841:29;2831:40;2877:1;2873:11;;;2828:57;4151:81;;3298:944;;3328:663;2122:1;2115:14;;;2159:4;2146:18;;-1:-1:-1;;3364:20:43;;;3482:236;3496:7;3493:1;3490:14;3482:236;;;3585:19;;;3579:26;3564:42;;3677:27;;;;3645:1;3633:14;;;;3512:19;;3482:236;;;3486:3;3746:6;3737:7;3734:19;3731:201;;;3807:19;;;3801:26;-1:-1:-1;;3890:1:43;3886:14;;;3902:3;3882:24;3878:37;3874:42;3859:58;3844:74;;3731:201;-1:-1:-1;;;;;3978:1:43;3962:14;;;3958:22;3945:36;;-1:-1:-1;2896:1352:43:o;:::-;518:357:33;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721AStartTokenIdMock.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721ExtensionCore.json b/tests/build/contracts/ERC721ExtensionCore.json new file mode 100644 index 0000000..0a275f1 --- /dev/null +++ b/tests/build/contracts/ERC721ExtensionCore.json @@ -0,0 +1,28798 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "SetURICannotBeEmpty", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "URIRequestForExistentToken", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "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": "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": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "18": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "20": "contracts/contracts/packages/nft/contracts/Guard.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "23": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "ERC721ExtensionCore": [ + 2873 + ], + "Guarded": [ + 3259 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721ExtensionCore": [ + 3411 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "Strings": [ + 6613 + ] + }, + "id": 2874, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2709, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:18" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/Guard.sol", + "file": "./Guard.sol", + "id": 2710, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2874, + "sourceUnit": 3260, + "src": "454:21:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "file": "./ERC721A.sol", + "id": 2711, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2874, + "sourceUnit": 2708, + "src": "476:23:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "file": "./interfaces/IERC721ExtensionCore.sol", + "id": 2712, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2874, + "sourceUnit": 3412, + "src": "500:47:18", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2713, + "name": "ERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2707, + "src": "581:7:18" + }, + "id": 2714, + "nodeType": "InheritanceSpecifier", + "src": "581:7:18" + }, + { + "baseName": { + "id": 2715, + "name": "Guarded", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3259, + "src": "590:7:18" + }, + "id": 2716, + "nodeType": "InheritanceSpecifier", + "src": "590:7:18" + }, + { + "baseName": { + "id": 2717, + "name": "IERC721ExtensionCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3411, + "src": "599:20:18" + }, + "id": 2718, + "nodeType": "InheritanceSpecifier", + "src": "599:20:18" + } + ], + "canonicalName": "ERC721ExtensionCore", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2873, + "linearizedBaseContracts": [ + 2873, + 3411, + 3259, + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410 + ], + "name": "ERC721ExtensionCore", + "nameLocation": "558:19:18", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 2722, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "775:10:18", + "nodeType": "VariableDeclaration", + "scope": 2873, + "src": "740:45:18", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 2721, + "keyType": { + "id": 2719, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "748:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "740:26:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 2720, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "759:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 2733, + "nodeType": "Block", + "src": "868:2:18", + "statements": [] + }, + "id": 2734, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 2729, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2724, + "src": "854:4:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2730, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2726, + "src": "860:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 2731, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2728, + "name": "ERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2707, + "src": "846:7:18" + }, + "nodeType": "ModifierInvocation", + "src": "846:21:18" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2724, + "mutability": "mutable", + "name": "name", + "nameLocation": "818:4:18", + "nodeType": "VariableDeclaration", + "scope": 2734, + "src": "804:18:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2723, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "804:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2726, + "mutability": "mutable", + "name": "symbol", + "nameLocation": "838:6:18", + "nodeType": "VariableDeclaration", + "scope": 2734, + "src": "824:20:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2725, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "824:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "803:42:18" + }, + "returnParameters": { + "id": 2732, + "nodeType": "ParameterList", + "parameters": [], + "src": "868:0:18" + }, + "scope": 2873, + "src": "792:78:18", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1716, + 6779 + ], + "body": { + "id": 2782, + "nodeType": "Block", + "src": "1050:417:18", + "statements": [ + { + "condition": { + "id": 2748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1064:17:18", + "subExpression": { + "arguments": [ + { + "id": 2746, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2737, + "src": "1073:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2745, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1942, + "src": "1065:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 2747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1065:16:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2752, + "nodeType": "IfStatement", + "src": "1060:59:18", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2749, + "name": "URIQueryForNonexistentToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3367, + "src": "1090:27:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1090:29:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2751, + "nodeType": "RevertStatement", + "src": "1083:36:18" + } + }, + { + "assignments": [ + 2754 + ], + "declarations": [ + { + "constant": false, + "id": 2754, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "1144:9:18", + "nodeType": "VariableDeclaration", + "scope": 2782, + "src": "1130:23:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2753, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1130:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 2758, + "initialValue": { + "baseExpression": { + "id": 2755, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2722, + "src": "1156:10:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 2757, + "indexExpression": { + "id": 2756, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2737, + "src": "1167:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1156:19:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1130:45:18" + }, + { + "assignments": [ + 2760 + ], + "declarations": [ + { + "constant": false, + "id": 2760, + "mutability": "mutable", + "name": "base", + "nameLocation": "1199:4:18", + "nodeType": "VariableDeclaration", + "scope": 2782, + "src": "1185:18:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2759, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1185:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 2763, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2761, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1725, + "src": "1206:8:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 2762, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1206:10:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1185:31:18" + }, + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2766, + "name": "base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2760, + "src": "1387:4:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2765, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1381:5:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2764, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1381:5:18", + "typeDescriptions": {} + } + }, + "id": 2767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1381:11:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1381:18:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 2769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1403:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1381:23:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "id": 2779, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2754, + "src": "1451:9:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 2780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "1381:79:18", + "trueExpression": { + "arguments": [ + { + "arguments": [ + { + "id": 2775, + "name": "base", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2760, + "src": "1431:4:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2776, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2754, + "src": "1437:9:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 2773, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1414:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "1414:16:18", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 2777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1414:33:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1407:6:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 2771, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1407:6:18", + "typeDescriptions": {} + } + }, + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1407:41:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 2744, + "id": 2781, + "nodeType": "Return", + "src": "1374:86:18" + } + ] + }, + "documentation": { + "id": 2735, + "nodeType": "StructuredDocumentation", + "src": "876:55:18", + "text": " @dev See {IERC721Metadata-tokenURI}." + }, + "functionSelector": "c87b56dd", + "id": 2783, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "945:8:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2741, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 2739, + "name": "ERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2707, + "src": "1000:7:18" + }, + { + "id": 2740, + "name": "IERC721Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6780, + "src": "1009:15:18" + } + ], + "src": "991:34:18" + }, + "parameters": { + "id": 2738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2737, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "962:7:18", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "954:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "954:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "953:17:18" + }, + "returnParameters": { + "id": 2744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2743, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2783, + "src": "1035:13:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2742, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1035:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1034:15:18" + }, + "scope": 2873, + "src": "936:531:18", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 2822, + "nodeType": "Block", + "src": "1695:225:18", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2793, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2788, + "src": "1715:9:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1709:5:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2791, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1709:5:18", + "typeDescriptions": {} + } + }, + "id": 2794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1709:16:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2795, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1709:23:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 2796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1736:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1709:28:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2802, + "nodeType": "IfStatement", + "src": "1705:78:18", + "trueBody": { + "errorCall": { + "arguments": [ + { + "hexValue": "656d70747920746f6b656e555249", + "id": 2799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1766:16:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b460ec65fb0c0228074065ec557a82214756099e3059e7374651ae08a56d25d8", + "typeString": "literal_string \"empty tokenURI\"" + }, + "value": "empty tokenURI" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_b460ec65fb0c0228074065ec557a82214756099e3059e7374651ae08a56d25d8", + "typeString": "literal_string \"empty tokenURI\"" + } + ], + "id": 2798, + "name": "SetURICannotBeEmpty", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3401, + "src": "1746:19:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 2800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1746:37:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2801, + "nodeType": "RevertStatement", + "src": "1739:44:18" + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 2805, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2722, + "src": "1803:10:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 2807, + "indexExpression": { + "id": 2806, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2786, + "src": "1814:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1803:19:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 2804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1797:5:18", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2803, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1797:5:18", + "typeDescriptions": {} + } + }, + "id": 2808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1797:26:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "id": 2809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1797:33:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 2810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1834:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1797:38:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2815, + "nodeType": "IfStatement", + "src": "1793:79:18", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2812, + "name": "URIRequestForExistentToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3404, + "src": "1844:26:18", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 2813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1844:28:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2814, + "nodeType": "RevertStatement", + "src": "1837:35:18" + } + }, + { + "expression": { + "id": 2820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2816, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2722, + "src": "1882:10:18", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 2818, + "indexExpression": { + "id": 2817, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2786, + "src": "1893:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1882:19:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2819, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2788, + "src": "1904:9:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "1882:31:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2821, + "nodeType": "ExpressionStatement", + "src": "1882:31:18" + } + ] + }, + "documentation": { + "id": 2784, + "nodeType": "StructuredDocumentation", + "src": "1473:136:18", + "text": " @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n Requirements:\n - `tokenId` must exist." + }, + "id": 2823, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setTokenURI", + "nameLocation": "1623:12:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2786, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1644:7:18", + "nodeType": "VariableDeclaration", + "scope": 2823, + "src": "1636:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1636:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2788, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "1667:9:18", + "nodeType": "VariableDeclaration", + "scope": 2823, + "src": "1653:23:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2787, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1653:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1635:42:18" + }, + "returnParameters": { + "id": 2790, + "nodeType": "ParameterList", + "parameters": [], + "src": "1695:0:18" + }, + "scope": 2873, + "src": "1614:306:18", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 2858, + "nodeType": "Block", + "src": "2155:505:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2834, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2173:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "2173:9:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2836, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2186:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2173:14:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5b436f72652e6d696e745d2076616c756520746f2062652030", + "id": 2838, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2189:27:18", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b25e3718ebbfc37a987bccfefaab041950287e8795ef0453a3f838392bb2ae3", + "typeString": "literal_string \"[Core.mint] value to be 0\"" + }, + "value": "[Core.mint] value to be 0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3b25e3718ebbfc37a987bccfefaab041950287e8795ef0453a3f838392bb2ae3", + "typeString": "literal_string \"[Core.mint] value to be 0\"" + } + ], + "id": 2833, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2165:7:18", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2165:52:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2840, + "nodeType": "ExpressionStatement", + "src": "2165:52:18" + }, + { + "documentation": "@dev we do not regard the principle of quantity,\n @dev everyone mints only one token", + "expression": { + "arguments": [ + { + "expression": { + "id": 2842, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2345:3:18", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2345:10:18", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "31", + "id": 2844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2357:1:18", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 2841, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2238, + "src": "2339:5:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2339:20:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2846, + "nodeType": "ExpressionStatement", + "src": "2339:20:18" + }, + { + "assignments": [ + 2848 + ], + "declarations": [ + { + "constant": false, + "id": 2848, + "mutability": "mutable", + "name": "newTokenId", + "nameLocation": "2378:10:18", + "nodeType": "VariableDeclaration", + "scope": 2858, + "src": "2370:18:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2370:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2850, + "initialValue": { + "id": 2849, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "2391:13:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2370:34:18" + }, + { + "documentation": "@dev we can now set the tokenURI of the token we just minted", + "expression": { + "arguments": [ + { + "id": 2852, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2848, + "src": "2501:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2853, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2826, + "src": "2513:9:18", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2851, + "name": "_setTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2823, + "src": "2488:12:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2488:35:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2855, + "nodeType": "ExpressionStatement", + "src": "2488:35:18" + }, + { + "expression": { + "id": 2856, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2848, + "src": "2643:10:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2832, + "id": 2857, + "nodeType": "Return", + "src": "2636:17:18" + } + ] + }, + "documentation": { + "id": 2824, + "nodeType": "StructuredDocumentation", + "src": "1926:134:18", + "text": " @dev Mints token to use based on tokenURI.\n Requirements:\n - `tokenURI` must be supplied." + }, + "functionSelector": "d85d3d27", + "id": 2859, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2829, + "kind": "modifierInvocation", + "modifierName": { + "id": 2828, + "name": "guarded", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3258, + "src": "2129:7:18" + }, + "nodeType": "ModifierInvocation", + "src": "2129:7:18" + } + ], + "name": "mint", + "nameLocation": "2074:4:18", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2826, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "2093:9:18", + "nodeType": "VariableDeclaration", + "scope": 2859, + "src": "2079:23:18", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2825, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2079:6:18", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2078:25:18" + }, + "returnParameters": { + "id": 2832, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2831, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2859, + "src": "2146:7:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2830, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2146:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2145:9:18" + }, + "scope": 2873, + "src": "2065:595:18", + "stateMutability": "payable", + "virtual": true, + "visibility": "external" + }, + { + "baseFunctions": [ + 3410 + ], + "body": { + "id": 2871, + "nodeType": "Block", + "src": "2889:37:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2867, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2862, + "src": "2905:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 2868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2914:4:18", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2866, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2420, + 2602 + ], + "referencedDeclaration": 2602, + "src": "2899:5:18", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_bool_$returns$__$", + "typeString": "function (uint256,bool)" + } + }, + "id": 2869, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2899:20:18", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2870, + "nodeType": "ExpressionStatement", + "src": "2899:20:18" + } + ] + }, + "documentation": { + "id": 2860, + "nodeType": "StructuredDocumentation", + "src": "2666:163:18", + "text": " @dev Burns `tokenId`. See {ERC721A-_burn}.\n Requirements:\n - The caller must own `tokenId` or be an approved operator." + }, + "functionSelector": "42966c68", + "id": 2872, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "2843:4:18", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2864, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2880:8:18" + }, + "parameters": { + "id": 2863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2862, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2856:7:18", + "nodeType": "VariableDeclaration", + "scope": 2872, + "src": "2848:15:18", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2861, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2848:7:18", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2847:17:18" + }, + "returnParameters": { + "id": 2865, + "nodeType": "ParameterList", + "parameters": [], + "src": "2889:0:18" + }, + "scope": 2873, + "src": "2834:92:18", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 2874, + "src": "549:2379:18", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367, + 3401, + 3404 + ] + } + ], + "src": "429:2500:18" + }, + "bytecode": "608060405260016008553480156200001657600080fd5b506040516200187338038062001873833981016040819052620000399162000135565b818160026200004983826200022e565b5060036200005882826200022e565b506000805550620002fa92505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200009057600080fd5b81516001600160401b0380821115620000ad57620000ad62000068565b604051601f8301601f19908116603f01168101908282118183101715620000d857620000d862000068565b81604052838152602092508683858801011115620000f557600080fd5b600091505b83821015620001195785820183015181830184015290820190620000fa565b838211156200012b5760008385830101525b9695505050505050565b600080604083850312156200014957600080fd5b82516001600160401b03808211156200016157600080fd5b6200016f868387016200007e565b935060208501519150808211156200018657600080fd5b5062000195858286016200007e565b9150509250929050565b600181811c90821680620001b457607f821691505b602082108103620001d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022957600081815260208120601f850160051c81016020861015620002045750805b601f850160051c820191505b81811015620002255782815560010162000210565b5050505b505050565b81516001600160401b038111156200024a576200024a62000068565b62000262816200025b84546200019f565b84620001db565b602080601f8311600181146200029a5760008415620002815750858301515b600019600386901b1c1916600185901b17855562000225565b600085815260208120601f198616915b82811015620002cb57888601518255948401946001909101908401620002aa565b5085821015620002ea5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611569806200030a6000396000f3fe6080604052600436106100f35760003560e01c80636352211e1161008a578063b88d4fde11610059578063b88d4fde146102a1578063c87b56dd146102c1578063d85d3d27146102e1578063e985e9c5146102f457600080fd5b80636352211e1461022c57806370a082311461024c57806395d89b411461026c578063a22cb4651461028157600080fd5b806318160ddd116100c657806318160ddd146101a957806323b872dd146101cc57806342842e0e146101ec57806342966c681461020c57600080fd5b806301ffc9a7146100f857806306fdde031461012d578063081812fc1461014f578063095ea7b314610187575b600080fd5b34801561010457600080fd5b5061011861011336600461105d565b61033d565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014261038f565b60405161012491906110d9565b34801561015b57600080fd5b5061016f61016a3660046110ec565b610421565b6040516001600160a01b039091168152602001610124565b34801561019357600080fd5b506101a76101a2366004611121565b610465565b005b3480156101b557600080fd5b50600154600054035b604051908152602001610124565b3480156101d857600080fd5b506101a76101e736600461114b565b6104eb565b3480156101f857600080fd5b506101a761020736600461114b565b6104f6565b34801561021857600080fd5b506101a76102273660046110ec565b610511565b34801561023857600080fd5b5061016f6102473660046110ec565b61051f565b34801561025857600080fd5b506101be610267366004611187565b610531565b34801561027857600080fd5b50610142610580565b34801561028d57600080fd5b506101a761029c3660046111a2565b61058f565b3480156102ad57600080fd5b506101a76102bc36600461126a565b610624565b3480156102cd57600080fd5b506101426102dc3660046110ec565b61066e565b6101be6102ef3660046112e6565b610782565b34801561030057600080fd5b5061011861030f36600461132f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061036e57506001600160e01b03198216635b5e139f60e01b145b8061038957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461039e90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546103ca90611362565b80156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b5050505050905090565b600061042c8261083e565b610449576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006104708261051f565b9050806001600160a01b0316836001600160a01b0316036104a45760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b038216146104db576104be813361030f565b6104db576040516367d9dca160e11b815260040160405180910390fd5b6104e6838383610869565b505050565b6104e68383836108c5565b6104e683838360405180602001604052806000815250610624565b61051c816001610ab4565b50565b600061052a82610c7b565b5192915050565b60006001600160a01b03821661055a576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b60606003805461039e90611362565b336001600160a01b038316036105b85760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61062f8484846108c5565b6001600160a01b0383163b156106685761064b84848484610d97565b610668576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606106798261083e565b61069657604051630a14c4b560e41b815260040160405180910390fd5b600082815260096020526040812080546106af90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546106db90611362565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b50505050509050600061074660408051602081019091526000815290565b90508051600003610757578161077a565b808260405160200161076a92919061139c565b6040516020818303038152906040525b949350505050565b60006008546001146107c85760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b6002600855341561081b5760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f20626520300000000000000060448201526064016107bf565b610826336001610e82565b6000546108338184610fb5565b600160085592915050565b6000805482108015610389575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108d082610c7b565b9050836001600160a01b031681600001516001600160a01b0316146109075760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806109255750610925853361030f565b8061094057503361093584610421565b6001600160a01b0316145b90508061096057604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661098757604051633a954ecd60e21b815260040160405180910390fd5b61099360008487610869565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff1980821667ffffffffffffffff92831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a69576000548214610a69578054602086015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b6000610abf83610c7b565b80519091508215610b25576000336001600160a01b0383161480610ae85750610ae8823361030f565b80610b03575033610af886610421565b6001600160a01b0316145b905080610b2357604051632ce44b5f60e11b815260040160405180910390fd5b505b610b3160008583610869565b6001600160a01b0380821660008181526005602090815260408083208054600160801b60001967ffffffffffffffff80841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610c31576000548214610c31578054602087015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b604080516060810182526000808252602082018190529181019190915281600054811015610d7e57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b810467ffffffffffffffff1692820192909252600160e01b90910460ff16151591810182905290610d7c5780516001600160a01b031615610d12579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b820467ffffffffffffffff1693830193909352600160e01b900460ff1615159281019290925215610d77579392505050565b610d12565b505b604051636f96cda160e11b815260040160405180910390fd5b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610dcc9033908990889088906004016113cb565b6020604051808303816000875af1925050508015610e07575060408051601f3d908101601f19168201909252610e0491810190611408565b60015b610e65573d808015610e35576040519150601f19603f3d011682016040523d82523d6000602084013e610e3a565b606091505b508051600003610e5d576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6000546001600160a01b038316610eab57604051622e076360e81b815260040160405180910390fd5b81600003610ecc5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff19811667ffffffffffffffff8083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808210610f695750600055505050565b805115610ff65760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016107bf565b6000828152600960205260409020805461100f90611362565b15905061102f57604051630162134b60e11b815260040160405180910390fd5b60008281526009602052604090206104e68282611473565b6001600160e01b03198116811461051c57600080fd5b60006020828403121561106f57600080fd5b813561107a81611047565b9392505050565b60005b8381101561109c578181015183820152602001611084565b838111156106685750506000910152565b600081518084526110c5816020860160208601611081565b601f01601f19169290920160200192915050565b60208152600061107a60208301846110ad565b6000602082840312156110fe57600080fd5b5035919050565b80356001600160a01b038116811461111c57600080fd5b919050565b6000806040838503121561113457600080fd5b61113d83611105565b946020939093013593505050565b60008060006060848603121561116057600080fd5b61116984611105565b925061117760208501611105565b9150604084013590509250925092565b60006020828403121561119957600080fd5b61107a82611105565b600080604083850312156111b557600080fd5b6111be83611105565b9150602083013580151581146111d357600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561120f5761120f6111de565b604051601f8501601f19908116603f01168101908282118183101715611237576112376111de565b8160405280935085815286868601111561125057600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561128057600080fd5b61128985611105565b935061129760208601611105565b925060408501359150606085013567ffffffffffffffff8111156112ba57600080fd5b8501601f810187136112cb57600080fd5b6112da878235602084016111f4565b91505092959194509250565b6000602082840312156112f857600080fd5b813567ffffffffffffffff81111561130f57600080fd5b8201601f8101841361132057600080fd5b61077a848235602084016111f4565b6000806040838503121561134257600080fd5b61134b83611105565b915061135960208401611105565b90509250929050565b600181811c9082168061137657607f821691505b60208210810361139657634e487b7160e01b600052602260045260246000fd5b50919050565b600083516113ae818460208801611081565b8351908301906113c2818360208801611081565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906113fe908301846110ad565b9695505050505050565b60006020828403121561141a57600080fd5b815161107a81611047565b601f8211156104e657600081815260208120601f850160051c8101602086101561144c5750805b601f850160051c820191505b8181101561146b57828155600101611458565b505050505050565b815167ffffffffffffffff81111561148d5761148d6111de565b6114a18161149b8454611362565b84611425565b602080601f8311600181146114d657600084156114be5750858301515b600019600386901b1c1916600185901b17855561146b565b600085815260208120601f198616915b82811015611505578886015182559484019460019091019084016114e6565b50858210156115235787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220c032aa4c7004a93d6132ffeda0c4b42b9f4a40c8115e72e9730ed6bc3b21bdd664736f6c634300080f0033", + "bytecodeSha1": "458c19f934af592b2aa9c73f8d07a95fd61adf5a", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721ExtensionCore", + "coverageMap": { + "branches": { + "1": {}, + "17": { + "ERC721A._burn": { + "88": [ + 16787, + 16804, + false + ], + "89": [ + 18282, + 18310, + false + ] + }, + "ERC721A._checkContractOnERC721Received": { + "93": [ + 19927, + 19945, + false + ] + }, + "ERC721A._mint": { + "94": [ + 12705, + 12721, + false + ], + "95": [ + 12763, + 12776, + false + ] + }, + "ERC721A._ownershipOf": { + "90": [ + 5289, + 5309, + false + ], + "91": [ + 5459, + 5487, + false + ], + "92": [ + 6021, + 6049, + false + ] + }, + "ERC721A._transfer": { + "84": [ + 14163, + 14189, + false + ], + "85": [ + 14380, + 14397, + false + ], + "86": [ + 14455, + 14471, + false + ], + "87": [ + 15745, + 15773, + false + ] + }, + "ERC721A.approve": { + "78": [ + 7663, + 7674, + false + ], + "79": [ + 7722, + 7743, + false + ], + "80": [ + 7762, + 7799, + false + ] + }, + "ERC721A.balanceOf": { + "81": [ + 3832, + 3851, + false + ] + }, + "ERC721A.getApproved": { + "77": [ + 8074, + 8090, + false + ] + }, + "ERC721A.safeTransferFrom": { + "83": [ + 9533, + 9589, + false + ] + }, + "ERC721A.setApprovalForAll": { + "82": [ + 8347, + 8371, + false + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "75": [ + 1709, + 1737, + false + ], + "76": [ + 1797, + 1835, + false + ] + }, + "ERC721ExtensionCore.mint": { + "74": [ + 2173, + 2187, + true + ] + }, + "ERC721ExtensionCore.tokenURI": { + "72": [ + 1065, + 1081, + false + ], + "73": [ + 1381, + 1404, + true + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "3": {}, + "5": {}, + "7": {}, + "8": {} + }, + "statements": { + "1": {}, + "17": { + "ERC721A._approve": { + "31": [ + 18958, + 18987 + ], + "32": [ + 18997, + 19030 + ] + }, + "ERC721A._baseURI": { + "24": [ + 7464, + 7473 + ] + }, + "ERC721A._burn": { + "44": [ + 16782, + 16848 + ], + "45": [ + 16982, + 17017 + ], + "46": [ + 17373, + 17397 + ], + "47": [ + 17411, + 17440 + ], + "48": [ + 17604, + 17624 + ], + "49": [ + 17638, + 17687 + ], + "50": [ + 17701, + 17723 + ], + "51": [ + 18334, + 18354 + ], + "52": [ + 18376, + 18430 + ], + "53": [ + 18483, + 18523 + ], + "54": [ + 18706, + 18720 + ] + }, + "ERC721A._checkContractOnERC721Received": { + "59": [ + 19923, + 20152 + ], + "60": [ + 19807, + 19869 + ] + }, + "ERC721A._exists": { + "30": [ + 9996, + 10088 + ] + }, + "ERC721A._mint": { + "61": [ + 12701, + 12749 + ], + "62": [ + 12759, + 12803 + ], + "63": [ + 13146, + 13190 + ], + "64": [ + 13204, + 13253 + ], + "65": [ + 13268, + 13303 + ], + "66": [ + 13317, + 13383 + ], + "67": [ + 13520, + 13565 + ], + "68": [ + 13622, + 13650 + ] + }, + "ERC721A._ownershipOf": { + "55": [ + 5519, + 5535 + ], + "56": [ + 5922, + 5928 + ], + "57": [ + 5958, + 5987 + ], + "58": [ + 6085, + 6101 + ] + }, + "ERC721A._transfer": { + "33": [ + 14159, + 14226 + ], + "34": [ + 14375, + 14441 + ], + "35": [ + 14451, + 14503 + ], + "36": [ + 14619, + 14654 + ], + "37": [ + 14944, + 14975 + ], + "38": [ + 14989, + 15018 + ], + "39": [ + 15101, + 15119 + ], + "40": [ + 15133, + 15182 + ], + "41": [ + 15797, + 15817 + ], + "42": [ + 15839, + 15893 + ], + "43": [ + 15946, + 15978 + ] + }, + "ERC721A.approve": { + "7": [ + 7659, + 7707 + ], + "9": [ + 7757, + 7876 + ], + "10": [ + 7886, + 7914 + ] + }, + "ERC721A.balanceOf": { + "15": [ + 3828, + 3888 + ], + "16": [ + 3898, + 3941 + ] + }, + "ERC721A.getApproved": { + "5": [ + 8069, + 8133 + ], + "6": [ + 8144, + 8175 + ] + }, + "ERC721A.isApprovedForAll": { + "1": [ + 8710, + 8752 + ] + }, + "ERC721A.name": { + "4": [ + 6583, + 6595 + ] + }, + "ERC721A.ownerOf": { + "14": [ + 6402, + 6435 + ] + }, + "ERC721A.safeTransferFrom": { + "12": [ + 9184, + 9223 + ], + "21": [ + 9457, + 9485 + ], + "22": [ + 9528, + 9671 + ] + }, + "ERC721A.setApprovalForAll": { + "18": [ + 8343, + 8397 + ], + "19": [ + 8408, + 8461 + ], + "20": [ + 8471, + 8524 + ] + }, + "ERC721A.supportsInterface": { + "2": [ + 3540, + 3679 + ] + }, + "ERC721A.symbol": { + "17": [ + 6747, + 6761 + ] + }, + "ERC721A.totalSupply": { + "0": [ + 2920, + 2973 + ] + }, + "ERC721A.transferFrom": { + "11": [ + 8950, + 8978 + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "69": [ + 1705, + 1783 + ], + "70": [ + 1793, + 1872 + ], + "71": [ + 1882, + 1913 + ] + }, + "ERC721ExtensionCore.burn": { + "13": [ + 2899, + 2919 + ] + }, + "ERC721ExtensionCore.mint": { + "26": [ + 2165, + 2217 + ], + "27": [ + 2339, + 2359 + ], + "28": [ + 2488, + 2523 + ], + "29": [ + 2636, + 2653 + ] + }, + "ERC721ExtensionCore.tokenURI": { + "23": [ + 1060, + 1119 + ], + "25": [ + 1374, + 1460 + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "3": {}, + "5": { + "Context._msgSender": { + "8": [ + 712, + 729 + ] + } + }, + "7": { + "ERC165.supportsInterface": { + "3": [ + 930, + 977 + ] + } + }, + "8": {} + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "ERC721A", + "Guarded", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "IERC721ExtensionCore", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata" + ], + "deployedBytecode": "6080604052600436106100f35760003560e01c80636352211e1161008a578063b88d4fde11610059578063b88d4fde146102a1578063c87b56dd146102c1578063d85d3d27146102e1578063e985e9c5146102f457600080fd5b80636352211e1461022c57806370a082311461024c57806395d89b411461026c578063a22cb4651461028157600080fd5b806318160ddd116100c657806318160ddd146101a957806323b872dd146101cc57806342842e0e146101ec57806342966c681461020c57600080fd5b806301ffc9a7146100f857806306fdde031461012d578063081812fc1461014f578063095ea7b314610187575b600080fd5b34801561010457600080fd5b5061011861011336600461105d565b61033d565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5061014261038f565b60405161012491906110d9565b34801561015b57600080fd5b5061016f61016a3660046110ec565b610421565b6040516001600160a01b039091168152602001610124565b34801561019357600080fd5b506101a76101a2366004611121565b610465565b005b3480156101b557600080fd5b50600154600054035b604051908152602001610124565b3480156101d857600080fd5b506101a76101e736600461114b565b6104eb565b3480156101f857600080fd5b506101a761020736600461114b565b6104f6565b34801561021857600080fd5b506101a76102273660046110ec565b610511565b34801561023857600080fd5b5061016f6102473660046110ec565b61051f565b34801561025857600080fd5b506101be610267366004611187565b610531565b34801561027857600080fd5b50610142610580565b34801561028d57600080fd5b506101a761029c3660046111a2565b61058f565b3480156102ad57600080fd5b506101a76102bc36600461126a565b610624565b3480156102cd57600080fd5b506101426102dc3660046110ec565b61066e565b6101be6102ef3660046112e6565b610782565b34801561030057600080fd5b5061011861030f36600461132f565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b60006001600160e01b031982166380ac58cd60e01b148061036e57506001600160e01b03198216635b5e139f60e01b145b8061038957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461039e90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546103ca90611362565b80156104175780601f106103ec57610100808354040283529160200191610417565b820191906000526020600020905b8154815290600101906020018083116103fa57829003601f168201915b5050505050905090565b600061042c8261083e565b610449576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006104708261051f565b9050806001600160a01b0316836001600160a01b0316036104a45760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b038216146104db576104be813361030f565b6104db576040516367d9dca160e11b815260040160405180910390fd5b6104e6838383610869565b505050565b6104e68383836108c5565b6104e683838360405180602001604052806000815250610624565b61051c816001610ab4565b50565b600061052a82610c7b565b5192915050565b60006001600160a01b03821661055a576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b60606003805461039e90611362565b336001600160a01b038316036105b85760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61062f8484846108c5565b6001600160a01b0383163b156106685761064b84848484610d97565b610668576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606106798261083e565b61069657604051630a14c4b560e41b815260040160405180910390fd5b600082815260096020526040812080546106af90611362565b80601f01602080910402602001604051908101604052809291908181526020018280546106db90611362565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b50505050509050600061074660408051602081019091526000815290565b90508051600003610757578161077a565b808260405160200161076a92919061139c565b6040516020818303038152906040525b949350505050565b60006008546001146107c85760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064015b60405180910390fd5b6002600855341561081b5760405162461bcd60e51b815260206004820152601960248201527f5b436f72652e6d696e745d2076616c756520746f20626520300000000000000060448201526064016107bf565b610826336001610e82565b6000546108338184610fb5565b600160085592915050565b6000805482108015610389575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006108d082610c7b565b9050836001600160a01b031681600001516001600160a01b0316146109075760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806109255750610925853361030f565b8061094057503361093584610421565b6001600160a01b0316145b90508061096057604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661098757604051633a954ecd60e21b815260040160405180910390fd5b61099360008487610869565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff1980821667ffffffffffffffff92831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b42909216919091021783558701808452922080549193909116610a69576000548214610a69578054602086015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b6000610abf83610c7b565b80519091508215610b25576000336001600160a01b0383161480610ae85750610ae8823361030f565b80610b03575033610af886610421565b6001600160a01b0316145b905080610b2357604051632ce44b5f60e11b815260040160405180910390fd5b505b610b3160008583610869565b6001600160a01b0380821660008181526005602090815260408083208054600160801b60001967ffffffffffffffff80841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b178555918901808452922080549194909116610c31576000548214610c31578054602087015167ffffffffffffffff16600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b604080516060810182526000808252602082018190529181019190915281600054811015610d7e57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b810467ffffffffffffffff1692820192909252600160e01b90910460ff16151591810182905290610d7c5780516001600160a01b031615610d12579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b820467ffffffffffffffff1693830193909352600160e01b900460ff1615159281019290925215610d77579392505050565b610d12565b505b604051636f96cda160e11b815260040160405180910390fd5b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610dcc9033908990889088906004016113cb565b6020604051808303816000875af1925050508015610e07575060408051601f3d908101601f19168201909252610e0491810190611408565b60015b610e65573d808015610e35576040519150601f19603f3d011682016040523d82523d6000602084013e610e3a565b606091505b508051600003610e5d576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6000546001600160a01b038316610eab57604051622e076360e81b815260040160405180910390fd5b81600003610ecc5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff19811667ffffffffffffffff8083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808210610f695750600055505050565b805115610ff65760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016107bf565b6000828152600960205260409020805461100f90611362565b15905061102f57604051630162134b60e11b815260040160405180910390fd5b60008281526009602052604090206104e68282611473565b6001600160e01b03198116811461051c57600080fd5b60006020828403121561106f57600080fd5b813561107a81611047565b9392505050565b60005b8381101561109c578181015183820152602001611084565b838111156106685750506000910152565b600081518084526110c5816020860160208601611081565b601f01601f19169290920160200192915050565b60208152600061107a60208301846110ad565b6000602082840312156110fe57600080fd5b5035919050565b80356001600160a01b038116811461111c57600080fd5b919050565b6000806040838503121561113457600080fd5b61113d83611105565b946020939093013593505050565b60008060006060848603121561116057600080fd5b61116984611105565b925061117760208501611105565b9150604084013590509250925092565b60006020828403121561119957600080fd5b61107a82611105565b600080604083850312156111b557600080fd5b6111be83611105565b9150602083013580151581146111d357600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561120f5761120f6111de565b604051601f8501601f19908116603f01168101908282118183101715611237576112376111de565b8160405280935085815286868601111561125057600080fd5b858560208301376000602087830101525050509392505050565b6000806000806080858703121561128057600080fd5b61128985611105565b935061129760208601611105565b925060408501359150606085013567ffffffffffffffff8111156112ba57600080fd5b8501601f810187136112cb57600080fd5b6112da878235602084016111f4565b91505092959194509250565b6000602082840312156112f857600080fd5b813567ffffffffffffffff81111561130f57600080fd5b8201601f8101841361132057600080fd5b61077a848235602084016111f4565b6000806040838503121561134257600080fd5b61134b83611105565b915061135960208401611105565b90509250929050565b600181811c9082168061137657607f821691505b60208210810361139657634e487b7160e01b600052602260045260246000fd5b50919050565b600083516113ae818460208801611081565b8351908301906113c2818360208801611081565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906113fe908301846110ad565b9695505050505050565b60006020828403121561141a57600080fd5b815161107a81611047565b601f8211156104e657600081815260208120601f850160051c8101602086101561144c5750805b601f850160051c820191505b8181101561146b57828155600101611458565b505050505050565b815167ffffffffffffffff81111561148d5761148d6111de565b6114a18161149b8454611362565b84611425565b602080601f8311600181146114d657600084156114be5750858301515b600019600386901b1c1916600185901b17855561146b565b600085815260208120601f198616915b82811015611505578886015182559484019460019091019084016114e6565b50858210156115235787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220c032aa4c7004a93d6132ffeda0c4b42b9f4a40c8115e72e9730ed6bc3b21bdd664736f6c634300080f0033", + "deployedSourceMap": "549:2379:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3422:264:17;;;;;;;;;;-1:-1:-1;3422:264:17;;;;;:::i;:::-;;:::i;:::-;;;565:14:43;;558:22;540:41;;528:2;513:18;3422:264:17;;;;;;;;6504:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7982:200::-;;;;;;;;;;-1:-1:-1;7982:200:17;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:43;;;1674:51;;1662:2;1647:18;7982:200:17;1528:203:43;7537:384:17;;;;;;;;;;-1:-1:-1;7537:384:17;;;;;:::i;:::-;;:::i;:::-;;2684:306;;;;;;;;;;-1:-1:-1;2943:12:17;;2737:7;2927:13;:28;2684:306;;;2319:25:43;;;2307:2;2292:18;2684:306:17;2173:177:43;8821:164:17;;;;;;;;;;-1:-1:-1;8821:164:17;;;;;:::i;:::-;;:::i;9051:179::-;;;;;;;;;;-1:-1:-1;9051:179:17;;;;;:::i;:::-;;:::i;2834:92:18:-;;;;;;;;;;-1:-1:-1;2834:92:18;;;;;:::i;:::-;;:::i;6319:123:17:-;;;;;;;;;;-1:-1:-1;6319:123:17;;;;;:::i;:::-;;:::i;3745:203::-;;;;;;;;;;-1:-1:-1;3745:203:17;;;;;:::i;:::-;;:::i;6666:102::-;;;;;;;;;;;;;:::i;8249:282::-;;;;;;;;;;-1:-1:-1;8249:282:17;;;;;:::i;:::-;;:::i;9296:381::-;;;;;;;;;;-1:-1:-1;9296:381:17;;;;;:::i;:::-;;:::i;936:531:18:-;;;;;;;;;;-1:-1:-1;936:531:18;;;;;:::i;:::-;;:::i;2065:595::-;;;;;;:::i;:::-;;:::i;8597:162:17:-;;;;;;;;;;-1:-1:-1;8597:162:17;;;;;:::i;:::-;-1:-1:-1;;;;;8717:25:17;;;8694:4;8717:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8597:162;3422:264;3524:4;-1:-1:-1;;;;;;3547:40:17;;-1:-1:-1;;;3547:40:17;;:92;;-1:-1:-1;;;;;;;3591:48:17;;-1:-1:-1;;;3591:48:17;3547:92;:132;;;-1:-1:-1;;;;;;;;;;937:40:7;;;3643:36:17;3540:139;3422:264;-1:-1:-1;;3422:264:17:o;6504:98::-;6558:13;6590:5;6583:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:98;:::o;7982:200::-;8050:7;8074:16;8082:7;8074;:16::i;:::-;8069:64;;8099:34;;-1:-1:-1;;;8099:34:17;;;;;;;;;;;8069:64;-1:-1:-1;8151:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;8151:24:17;;7982:200::o;7537:384::-;7609:13;7625:24;7641:7;7625:15;:24::i;:::-;7609:40;;7669:5;-1:-1:-1;;;;;7663:11:17;:2;-1:-1:-1;;;;;7663:11:17;;7659:48;;7683:24;;-1:-1:-1;;;7683:24:17;;;;;;;;;;;7659:48;719:10:5;-1:-1:-1;;;;;7722:21:17;;;7718:158;;7762:37;7779:5;719:10:5;8597:162:17;:::i;7762:37::-;7757:119;;7826:35;;-1:-1:-1;;;7826:35:17;;;;;;;;;;;7757:119;7886:28;7895:2;7899:7;7908:5;7886:8;:28::i;:::-;7599:322;7537:384;;:::o;8821:164::-;8950:28;8960:4;8966:2;8970:7;8950:9;:28::i;9051:179::-;9184:39;9201:4;9207:2;9211:7;9184:39;;;;;;;;;;;;:16;:39::i;2834:92:18:-;2899:20;2905:7;2914:4;2899:5;:20::i;:::-;2834:92;:::o;6319:123:17:-;6383:7;6409:21;6422:7;6409:12;:21::i;:::-;:26;;6319:123;-1:-1:-1;;6319:123:17:o;3745:203::-;3809:7;-1:-1:-1;;;;;3832:19:17;;3828:60;;3860:28;;-1:-1:-1;;;3860:28:17;;;;;;;;;;;3828:60;-1:-1:-1;;;;;;3913:19:17;;;;;:12;:19;;;;;:27;;;;3745:203::o;6666:102::-;6722:13;6754:7;6747:14;;;;;:::i;8249:282::-;719:10:5;-1:-1:-1;;;;;8347:24:17;;;8343:54;;8380:17;;-1:-1:-1;;;8380:17:17;;;;;;;;;;;8343:54;719:10:5;8408:32:17;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8408:42:17;;;;;;;;;;;;:53;;-1:-1:-1;;8408:53:17;;;;;;;;;;8476:48;;540:41:43;;;8408:42:17;;719:10:5;8476:48:17;;513:18:43;8476:48:17;;;;;;;8249:282;;:::o;9296:381::-;9457:28;9467:4;9473:2;9477:7;9457:9;:28::i;:::-;-1:-1:-1;;;;;9499:13:17;;1465:19:4;:23;9495:176:17;;9533:56;9564:4;9570:2;9574:7;9583:5;9533:30;:56::i;:::-;9528:143;;9616:40;;-1:-1:-1;;;9616:40:17;;;;;;;;;;;9528:143;9296:381;;;;:::o;936:531:18:-;1035:13;1065:16;1073:7;1065;:16::i;:::-;1060:59;;1090:29;;-1:-1:-1;;;1090:29:18;;;;;;;;;;;1060:59;1130:23;1156:19;;;:10;:19;;;;;1130:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1185:18;1206:10;7464:9:17;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;1206:10:18;1185:31;;1387:4;1381:18;1403:1;1381:23;:79;;1451:9;1381:79;;;1431:4;1437:9;1414:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1381:79;1374:86;936:531;-1:-1:-1;;;;936:531:18:o;2065:595::-;2146:7;797:6:20;;807:1;797:11;789:34;;;;-1:-1:-1;;;789:34:20;;6452:2:43;789:34:20;;;6434:21:43;6491:2;6471:18;;;6464:30;-1:-1:-1;;;6510:18:43;;;6503:40;6560:18;;789:34:20;;;;;;;;;843:1;834:6;:10;2173:9:18::1;:14:::0;2165:52:::1;;;::::0;-1:-1:-1;;;2165:52:18;;6791:2:43;2165:52:18::1;::::0;::::1;6773:21:43::0;6830:2;6810:18;;;6803:30;6869:27;6849:18;;;6842:55;6914:18;;2165:52:18::1;6589:349:43::0;2165:52:18::1;2339:20;2345:10;2357:1;2339:5;:20::i;:::-;2370:18;2391:13:::0;2488:35:::1;2391:13:::0;2513:9;2488:12:::1;:35::i;:::-;876:1:20::0;867:6;:10;2643::18;2065:595;-1:-1:-1;;2065:595:18:o;9923:172:17:-;9980:4;10043:13;;10033:7;:23;10003:85;;;;-1:-1:-1;;10061:20:17;;;;:11;:20;;;;;:27;-1:-1:-1;;;10061:27:17;;;;10060:28;;9923:172::o;18848:189::-;18958:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;18958:29:17;-1:-1:-1;;;;;18958:29:17;;;;;;;;;19002:28;;18958:24;;19002:28;;;;;;;18848:189;;;:::o;13979:2058::-;14089:35;14127:21;14140:7;14127:12;:21::i;:::-;14089:59;;14185:4;-1:-1:-1;;;;;14163:26:17;:13;:18;;;-1:-1:-1;;;;;14163:26:17;;14159:67;;14198:28;;-1:-1:-1;;;14198:28:17;;;;;;;;;;;14159:67;14237:22;719:10:5;-1:-1:-1;;;;;14263:20:17;;;;:60;;-1:-1:-1;14287:36:17;14304:4;719:10:5;8597:162:17;:::i;14287:36::-;14263:100;;;-1:-1:-1;719:10:5;14327:20:17;14339:7;14327:11;:20::i;:::-;-1:-1:-1;;;;;14327:36:17;;14263:100;14237:127;;14380:17;14375:66;;14406:35;;-1:-1:-1;;;14406:35:17;;;;;;;;;;;14375:66;-1:-1:-1;;;;;14455:16:17;;14451:52;;14480:23;;-1:-1:-1;;;14480:23:17;;;;;;;;;;;14451:52;14619:35;14636:1;14640:7;14649:4;14619:8;:35::i;:::-;-1:-1:-1;;;;;14944:18:17;;;;;;;:12;:18;;;;;;;;:31;;-1:-1:-1;;14944:31:17;;;;;;;-1:-1:-1;;14944:31:17;;;;;;;14989:16;;;;;;;;;:29;;;;;;;;-1:-1:-1;14989:29:17;;;;;;;;;;;15067:20;;;:11;:20;;;;;;15101:18;;-1:-1:-1;;;;;;15133:49:17;;;;-1:-1:-1;;;15166:15:17;15133:49;;;;;;;;;;15452:11;;15511:24;;;;;15553:13;;15067:20;;15511:24;;15553:13;15549:377;;15760:13;;15745:11;:28;15741:171;;15797:20;;15865:28;;;;15839:54;;-1:-1:-1;;;15839:54:17;-1:-1:-1;;;;;;15839:54:17;;;-1:-1:-1;;;;;15797:20:17;;15839:54;;;;15741:171;14920:1016;;;15970:7;15966:2;-1:-1:-1;;;;;15951:27:17;15960:4;-1:-1:-1;;;;;15951:27:17;;;;;;;;;;;14079:1958;;13979:2058;;;:::o;16414:2323::-;16493:35;16531:21;16544:7;16531:12;:21::i;:::-;16578:18;;16493:59;;-1:-1:-1;16607:252:17;;;;16640:22;719:10:5;-1:-1:-1;;;;;16666:20:17;;;;:60;;-1:-1:-1;16690:36:17;16707:4;719:10:5;8597:162:17;:::i;16690:36::-;16666:100;;;-1:-1:-1;719:10:5;16730:20:17;16742:7;16730:11;:20::i;:::-;-1:-1:-1;;;;;16730:36:17;;16666:100;16640:127;;16787:17;16782:66;;16813:35;;-1:-1:-1;;;16813:35:17;;;;;;;;;;;16782:66;16626:233;16607:252;16982:35;16999:1;17003:7;17012:4;16982:8;:35::i;:::-;-1:-1:-1;;;;;17341:18:17;;;17307:31;17341:18;;;:12;:18;;;;;;;;17373:24;;-1:-1:-1;;;;;17373:24:17;;;;;;;;;;-1:-1:-1;;17373:24:17;;;;17411:29;;;;;17396:1;17411:29;;;;;;;;-1:-1:-1;;17411:29:17;;;;;;;;;;17570:20;;;:11;:20;;;;;;17604;;-1:-1:-1;;;;17671:15:17;17638:49;;;-1:-1:-1;;;17638:49:17;-1:-1:-1;;;;;;17638:49:17;;;;;;;;;;17701:22;-1:-1:-1;;;17701:22:17;;;17989:11;;;18048:24;;;;;18090:13;;17341:18;;18048:24;;18090:13;18086:377;;18297:13;;18282:11;:28;18278:171;;18334:20;;18402:28;;;;18376:54;;-1:-1:-1;;;18376:54:17;-1:-1:-1;;;;;;18376:54:17;;;-1:-1:-1;;;;;18334:20:17;;18376:54;;;;18278:171;-1:-1:-1;;18488:35:17;;18515:7;;-1:-1:-1;18511:1:17;;-1:-1:-1;;;;;;18488:35:17;;;;;18511:1;;18488:35;-1:-1:-1;;18706:12:17;:14;;;;;;-1:-1:-1;;16414:2323:17:o;5088:1174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;5198:7:17;5296:13;;5289:4;:20;5285:913;;;5333:31;5367:17;;;:11;:17;;;;;;;;;5333:51;;;;;;;;;-1:-1:-1;;;;;5333:51:17;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;;;;5406:774;;5459:14;;-1:-1:-1;;;;;5459:28:17;;5455:107;;5526:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;5455:107::-;-1:-1:-1;;;5922:6:17;5970:17;;;;:11;:17;;;;;;;;;5958:29;;;;;;;;;-1:-1:-1;;;;;5958:29:17;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;;;6021:28;6017:115;;6092:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;6017:115::-;5879:279;;;5311:887;5285:913;6224:31;;-1:-1:-1;;;6224:31:17;;;;;;;;;;;19518:650;19696:72;;-1:-1:-1;;;19696:72:17;;19676:4;;-1:-1:-1;;;;;19696:36:17;;;;;:72;;719:10:5;;19747:4:17;;19753:7;;19762:5;;19696:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19696:72:17;;;;;;;;-1:-1:-1;;19696:72:17;;;;;;;;;;;;:::i;:::-;;;19692:470;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:6;:13;19944:1;19927:18;19923:229;;19972:40;;-1:-1:-1;;;19972:40:17;;;;;;;;;;;19923:229;20112:6;20106:13;20097:6;20093:2;20089:15;20082:38;19692:470;-1:-1:-1;;;;;;19814:55:17;-1:-1:-1;;;19814:55:17;;-1:-1:-1;19518:650:17;;;;;;:::o;12591:1146::-;12655:20;12678:13;-1:-1:-1;;;;;12705:16:17;;12701:48;;12730:19;;-1:-1:-1;;;12730:19:17;;;;;;;;;;;12701:48;12763:8;12775:1;12763:13;12759:44;;12785:18;;-1:-1:-1;;;12785:18:17;;;;;;;;;;;12759:44;-1:-1:-1;;;;;13146:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;13204:49:17;;13146:44;;;;;;;;13204:49;;;;-1:-1:-1;;13146:44:17;;;;;;13204:49;;;;;;;;;;;;;;;;13268:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;13317:66:17;;;;-1:-1:-1;;;13367:15:17;13317:66;;;;;;;;;;13268:25;13461:23;;;13499:109;13525:40;;13550:14;;;;;-1:-1:-1;;;;;13525:40:17;;;13542:1;;13525:40;;13542:1;;13525:40;13603:3;13588:12;:18;13499:109;;-1:-1:-1;13622:13:17;:28;7599:322;7537:384;;:::o;1614:306:18:-;1709:23;;:28;1705:78;;1746:37;;-1:-1:-1;;;1746:37:18;;7893:2:43;1746:37:18;;;7875:21:43;7932:2;7912:18;;;7905:30;-1:-1:-1;;;7951:18:43;;;7944:44;8005:18;;1746:37:18;7691:338:43;1705:78:18;1803:19;;;;:10;:19;;;;;1797:33;;;;;:::i;:::-;:38;;-1:-1:-1;1793:79:18;;1844:28;;-1:-1:-1;;;1844:28:18;;;;;;;;;;;1793:79;1882:19;;;;:10;:19;;;;;:31;1904:9;1882:19;:31;:::i;14:131:43:-;-1:-1:-1;;;;;;88:32:43;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:43:o;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:43;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:43;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:43:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:43;;1343:180;-1:-1:-1;1343:180:43:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:43;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:43:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:186::-;2747:6;2800:2;2788:9;2779:7;2775:23;2771:32;2768:52;;;2816:1;2813;2806:12;2768:52;2839:29;2858:9;2839:29;:::i;2879:347::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3044:29;3063:9;3044:29;:::i;:::-;3034:39;;3123:2;3112:9;3108:18;3095:32;3170:5;3163:13;3156:21;3149:5;3146:32;3136:60;;3192:1;3189;3182:12;3136:60;3215:5;3205:15;;;2879:347;;;;;:::o;3231:127::-;3292:10;3287:3;3283:20;3280:1;3273:31;3323:4;3320:1;3313:15;3347:4;3344:1;3337:15;3363:631;3427:5;3457:18;3498:2;3490:6;3487:14;3484:40;;;3504:18;;:::i;:::-;3579:2;3573:9;3547:2;3633:15;;-1:-1:-1;;3629:24:43;;;3655:2;3625:33;3621:42;3609:55;;;3679:18;;;3699:22;;;3676:46;3673:72;;;3725:18;;:::i;:::-;3765:10;3761:2;3754:22;3794:6;3785:15;;3824:6;3816;3809:22;3864:3;3855:6;3850:3;3846:16;3843:25;3840:45;;;3881:1;3878;3871:12;3840:45;3931:6;3926:3;3919:4;3911:6;3907:17;3894:44;3986:1;3979:4;3970:6;3962;3958:19;3954:30;3947:41;;;;3363:631;;;;;:::o;3999:666::-;4094:6;4102;4110;4118;4171:3;4159:9;4150:7;4146:23;4142:33;4139:53;;;4188:1;4185;4178:12;4139:53;4211:29;4230:9;4211:29;:::i;:::-;4201:39;;4259:38;4293:2;4282:9;4278:18;4259:38;:::i;:::-;4249:48;;4344:2;4333:9;4329:18;4316:32;4306:42;;4399:2;4388:9;4384:18;4371:32;4426:18;4418:6;4415:30;4412:50;;;4458:1;4455;4448:12;4412:50;4481:22;;4534:4;4526:13;;4522:27;-1:-1:-1;4512:55:43;;4563:1;4560;4553:12;4512:55;4586:73;4651:7;4646:2;4633:16;4628:2;4624;4620:11;4586:73;:::i;:::-;4576:83;;;3999:666;;;;;;;:::o;4670:450::-;4739:6;4792:2;4780:9;4771:7;4767:23;4763:32;4760:52;;;4808:1;4805;4798:12;4760:52;4848:9;4835:23;4881:18;4873:6;4870:30;4867:50;;;4913:1;4910;4903:12;4867:50;4936:22;;4989:4;4981:13;;4977:27;-1:-1:-1;4967:55:43;;5018:1;5015;5008:12;4967:55;5041:73;5106:7;5101:2;5088:16;5083:2;5079;5075:11;5041:73;:::i;5125:260::-;5193:6;5201;5254:2;5242:9;5233:7;5229:23;5225:32;5222:52;;;5270:1;5267;5260:12;5222:52;5293:29;5312:9;5293:29;:::i;:::-;5283:39;;5341:38;5375:2;5364:9;5360:18;5341:38;:::i;:::-;5331:48;;5125:260;;;;;:::o;5390:380::-;5469:1;5465:12;;;;5512;;;5533:61;;5587:4;5579:6;5575:17;5565:27;;5533:61;5640:2;5632:6;5629:14;5609:18;5606:38;5603:161;;5686:10;5681:3;5677:20;5674:1;5667:31;5721:4;5718:1;5711:15;5749:4;5746:1;5739:15;5603:161;;5390:380;;;:::o;5775:470::-;5954:3;5992:6;5986:13;6008:53;6054:6;6049:3;6042:4;6034:6;6030:17;6008:53;:::i;:::-;6124:13;;6083:16;;;;6146:57;6124:13;6083:16;6180:4;6168:17;;6146:57;:::i;:::-;6219:20;;5775:470;-1:-1:-1;;;;5775:470:43:o;6943:489::-;-1:-1:-1;;;;;7212:15:43;;;7194:34;;7264:15;;7259:2;7244:18;;7237:43;7311:2;7296:18;;7289:34;;;7359:3;7354:2;7339:18;;7332:31;;;7137:4;;7380:46;;7406:19;;7398:6;7380:46;:::i;:::-;7372:54;6943:489;-1:-1:-1;;;;;;6943:489:43:o;7437:249::-;7506:6;7559:2;7547:9;7538:7;7534:23;7530:32;7527:52;;;7575:1;7572;7565:12;7527:52;7607:9;7601:16;7626:30;7650:5;7626:30;:::i;8160:545::-;8262:2;8257:3;8254:11;8251:448;;;8298:1;8323:5;8319:2;8312:17;8368:4;8364:2;8354:19;8438:2;8426:10;8422:19;8419:1;8415:27;8409:4;8405:38;8474:4;8462:10;8459:20;8456:47;;;-1:-1:-1;8497:4:43;8456:47;8552:2;8547:3;8543:12;8540:1;8536:20;8530:4;8526:31;8516:41;;8607:82;8625:2;8618:5;8615:13;8607:82;;;8670:17;;;8651:1;8640:13;8607:82;;;8611:3;;;8160:545;;;:::o;8881:1352::-;9007:3;9001:10;9034:18;9026:6;9023:30;9020:56;;;9056:18;;:::i;:::-;9085:97;9175:6;9135:38;9167:4;9161:11;9135:38;:::i;:::-;9129:4;9085:97;:::i;:::-;9237:4;;9301:2;9290:14;;9318:1;9313:663;;;;10020:1;10037:6;10034:89;;;-1:-1:-1;10089:19:43;;;10083:26;10034:89;-1:-1:-1;;8838:1:43;8834:11;;;8830:24;8826:29;8816:40;8862:1;8858:11;;;8813:57;10136:81;;9283:944;;9313:663;8107:1;8100:14;;;8144:4;8131:18;;-1:-1:-1;;9349:20:43;;;9467:236;9481:7;9478:1;9475:14;9467:236;;;9570:19;;;9564:26;9549:42;;9662:27;;;;9630:1;9618:14;;;;9497:19;;9467:236;;;9471:3;9731:6;9722:7;9719:19;9716:201;;;9792:19;;;9786:26;-1:-1:-1;;9875:1:43;9871:14;;;9887:3;9867:24;9863:37;9859:42;9844:58;9829:74;;9716:201;-1:-1:-1;;;;;9963:1:43;9947:14;;;9943:22;9930:36;;-1:-1:-1;8881:1352:43:o", + "language": "Solidity", + "natspec": { + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "SetURICannotBeEmpty(string)": [ + { + "notice": "The token already has an existing" + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "URIRequestForExistentToken()": [ + { + "notice": "The token already has an existing" + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721A-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "mint(string)": { + "details": "Mints token to use based on tokenURI. Requirements: - `tokenURI` must be supplied." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC721-transferFrom}." + } + }, + "version": 1 + }, + "offset": [ + 549, + 2928 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF3 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6352211E GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xB88D4FDE GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x2A1 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x2C1 JUMPI DUP1 PUSH4 0xD85D3D27 EQ PUSH2 0x2E1 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x2F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6352211E EQ PUSH2 0x22C JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x24C JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x26C JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x18160DDD GT PUSH2 0xC6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1CC JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x1EC JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x20C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xF8 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x12D JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x14F JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x187 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x104 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x113 CALLDATASIZE PUSH1 0x4 PUSH2 0x105D JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x139 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH2 0x38F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x124 SWAP2 SWAP1 PUSH2 0x10D9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16F PUSH2 0x16A CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x421 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x124 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x193 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x1A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1121 JUMP JUMPDEST PUSH2 0x465 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x124 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x1E7 CALLDATASIZE PUSH1 0x4 PUSH2 0x114B JUMP JUMPDEST PUSH2 0x4EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x207 CALLDATASIZE PUSH1 0x4 PUSH2 0x114B JUMP JUMPDEST PUSH2 0x4F6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x227 CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x511 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x238 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x16F PUSH2 0x247 CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x51F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x258 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1BE PUSH2 0x267 CALLDATASIZE PUSH1 0x4 PUSH2 0x1187 JUMP JUMPDEST PUSH2 0x531 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x278 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH2 0x580 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x28D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x29C CALLDATASIZE PUSH1 0x4 PUSH2 0x11A2 JUMP JUMPDEST PUSH2 0x58F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A7 PUSH2 0x2BC CALLDATASIZE PUSH1 0x4 PUSH2 0x126A JUMP JUMPDEST PUSH2 0x624 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x142 PUSH2 0x2DC CALLDATASIZE PUSH1 0x4 PUSH2 0x10EC JUMP JUMPDEST PUSH2 0x66E JUMP JUMPDEST PUSH2 0x1BE PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x12E6 JUMP JUMPDEST PUSH2 0x782 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x118 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x132F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x36E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x389 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x39E SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3CA SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x417 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3EC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x417 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3FA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x42C DUP3 PUSH2 0x83E JUMP JUMPDEST PUSH2 0x449 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x470 DUP3 PUSH2 0x51F JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x4A4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x4DB JUMPI PUSH2 0x4BE DUP2 CALLER PUSH2 0x30F JUMP JUMPDEST PUSH2 0x4DB JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x4E6 DUP4 DUP4 DUP4 PUSH2 0x869 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x4E6 DUP4 DUP4 DUP4 PUSH2 0x8C5 JUMP JUMPDEST PUSH2 0x4E6 DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x624 JUMP JUMPDEST PUSH2 0x51C DUP2 PUSH1 0x1 PUSH2 0xAB4 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x52A DUP3 PUSH2 0xC7B JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x55A JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x39E SWAP1 PUSH2 0x1362 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x5B8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x62F DUP5 DUP5 DUP5 PUSH2 0x8C5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x668 JUMPI PUSH2 0x64B DUP5 DUP5 DUP5 DUP5 PUSH2 0xD97 JUMP JUMPDEST PUSH2 0x668 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x679 DUP3 PUSH2 0x83E JUMP JUMPDEST PUSH2 0x696 JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x6AF SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6DB SWAP1 PUSH2 0x1362 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x728 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6FD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x728 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x70B JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x746 PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x757 JUMPI DUP2 PUSH2 0x77A JUMP JUMPDEST DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x76A SWAP3 SWAP2 SWAP1 PUSH2 0x139C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 SLOAD PUSH1 0x1 EQ PUSH2 0x7C8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 PUSH1 0x8 SSTORE CALLVALUE ISZERO PUSH2 0x81B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5B436F72652E6D696E745D2076616C756520746F206265203000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x7BF JUMP JUMPDEST PUSH2 0x826 CALLER PUSH1 0x1 PUSH2 0xE82 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0x833 DUP2 DUP5 PUSH2 0xFB5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x8 SSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP3 LT DUP1 ISZERO PUSH2 0x389 JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8D0 DUP3 PUSH2 0xC7B JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x907 JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0x925 JUMPI POP PUSH2 0x925 DUP6 CALLER PUSH2 0x30F JUMP JUMPDEST DUP1 PUSH2 0x940 JUMPI POP CALLER PUSH2 0x935 DUP5 PUSH2 0x421 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0x960 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x987 JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x993 PUSH1 0x0 DUP5 DUP8 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH8 0xFFFFFFFFFFFFFFFF SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0xA69 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xA69 JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xABF DUP4 PUSH2 0xC7B JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0xB25 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0xAE8 JUMPI POP PUSH2 0xAE8 DUP3 CALLER PUSH2 0x30F JUMP JUMPDEST DUP1 PUSH2 0xB03 JUMPI POP CALLER PUSH2 0xAF8 DUP7 PUSH2 0x421 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xB23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0xB31 PUSH1 0x0 DUP6 DUP4 PUSH2 0x869 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0xC31 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0xC31 JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x1 DUP1 SLOAD DUP2 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 PUSH1 0x0 SLOAD DUP2 LT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0xD7C JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0xD12 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH8 0xFFFFFFFFFFFFFFFF AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0xD77 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xD12 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0xDCC SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x13CB JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xE07 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xE04 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1408 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xE65 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0xE35 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0xE3A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xE5D JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xEAB JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0xECC JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH9 0x10000000000000000 PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0xF69 JUMPI POP PUSH1 0x0 SSTORE POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0xFF6 JUMPI PUSH1 0x40 MLOAD PUSH4 0x193C4E6D PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x656D70747920746F6B656E555249 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x7BF JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x100F SWAP1 PUSH2 0x1362 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x102F JUMPI PUSH1 0x40 MLOAD PUSH4 0x162134B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x4E6 DUP3 DUP3 PUSH2 0x1473 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x51C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x106F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x107A DUP2 PUSH2 0x1047 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x109C JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1084 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x668 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x10C5 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1081 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x107A PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x10AD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x111C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1134 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x113D DUP4 PUSH2 0x1105 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1160 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1169 DUP5 PUSH2 0x1105 JUMP JUMPDEST SWAP3 POP PUSH2 0x1177 PUSH1 0x20 DUP6 ADD PUSH2 0x1105 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1199 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x107A DUP3 PUSH2 0x1105 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x11B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11BE DUP4 PUSH2 0x1105 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x11D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x120F JUMPI PUSH2 0x120F PUSH2 0x11DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1237 JUMPI PUSH2 0x1237 PUSH2 0x11DE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x1250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1280 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1289 DUP6 PUSH2 0x1105 JUMP JUMPDEST SWAP4 POP PUSH2 0x1297 PUSH1 0x20 DUP7 ADD PUSH2 0x1105 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x12BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 ADD PUSH1 0x1F DUP2 ADD DUP8 SGT PUSH2 0x12CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x12DA DUP8 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x11F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x12F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x130F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x1F DUP2 ADD DUP5 SGT PUSH2 0x1320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x77A DUP5 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x11F4 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1342 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x134B DUP4 PUSH2 0x1105 JUMP JUMPDEST SWAP2 POP PUSH2 0x1359 PUSH1 0x20 DUP5 ADD PUSH2 0x1105 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1376 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1396 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x13AE DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x1081 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x13C2 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x1081 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x13FE SWAP1 DUP4 ADD DUP5 PUSH2 0x10AD JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x141A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x107A DUP2 PUSH2 0x1047 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x144C JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x146B JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1458 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x148D JUMPI PUSH2 0x148D PUSH2 0x11DE JUMP JUMPDEST PUSH2 0x14A1 DUP2 PUSH2 0x149B DUP5 SLOAD PUSH2 0x1362 JUMP JUMPDEST DUP5 PUSH2 0x1425 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14D6 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14BE JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x146B JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1505 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14E6 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1523 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC0 ORIGIN 0xAA 0x4C PUSH17 0x4A93D6132FFEDA0C4B42B9F4A40C8115E PUSH19 0xE9730ED6BC3B21BDD664736F6C634300080F00 CALLER ", + "pcMap": { + "0": { + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "MSTORE", + "path": "18" + }, + "5": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "7": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "8": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "LT", + "path": "18" + }, + "9": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0xF3" + }, + "12": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "13": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "CALLDATALOAD", + "path": "18" + }, + "16": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0xE0" + }, + "18": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "SHR", + "path": "18" + }, + "19": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "20": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x6352211E" + }, + "25": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "GT", + "path": "18" + }, + "26": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8A" + }, + "29": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "30": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "31": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0xB88D4FDE" + }, + "36": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "GT", + "path": "18" + }, + "37": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x59" + }, + "40": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "41": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "42": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0xB88D4FDE" + }, + "47": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "48": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2A1" + }, + "51": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "52": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "53": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0xC87B56DD" + }, + "58": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "59": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2C1" + }, + "62": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "63": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "64": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0xD85D3D27" + }, + "69": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "70": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2E1" + }, + "73": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "74": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "75": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0xE985E9C5" + }, + "80": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "81": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2F4" + }, + "84": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "85": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "87": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "88": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "REVERT", + "path": "18" + }, + "89": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPDEST", + "path": "18" + }, + "90": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "91": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x6352211E" + }, + "96": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "97": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x22C" + }, + "100": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "101": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "102": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x70A08231" + }, + "107": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "108": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x24C" + }, + "111": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "112": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "113": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x95D89B41" + }, + "118": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "119": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x26C" + }, + "122": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "123": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "124": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0xA22CB465" + }, + "129": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "130": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x281" + }, + "133": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "134": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "136": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "137": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "REVERT", + "path": "18" + }, + "138": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPDEST", + "path": "18" + }, + "139": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "140": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x18160DDD" + }, + "145": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "GT", + "path": "18" + }, + "146": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0xC6" + }, + "149": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "150": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "151": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x18160DDD" + }, + "156": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "157": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1A9" + }, + "160": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "161": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "162": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x23B872DD" + }, + "167": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "168": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1CC" + }, + "171": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "172": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "173": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x42842E0E" + }, + "178": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "179": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1EC" + }, + "182": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "183": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "184": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x42966C68" + }, + "189": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "190": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x20C" + }, + "193": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "194": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "196": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "197": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "REVERT", + "path": "18" + }, + "198": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPDEST", + "path": "18" + }, + "199": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "200": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x1FFC9A7" + }, + "205": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "206": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0xF8" + }, + "209": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "210": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "211": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x6FDDE03" + }, + "216": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "217": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x12D" + }, + "220": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "221": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "222": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x81812FC" + }, + "227": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "228": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x14F" + }, + "231": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "232": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "233": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH4", + "path": "18", + "value": "0x95EA7B3" + }, + "238": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "EQ", + "path": "18" + }, + "239": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH2", + "path": "18", + "value": "0x187" + }, + "242": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPI", + "path": "18" + }, + "243": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "JUMPDEST", + "path": "18" + }, + "244": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "246": { + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "DUP1", + "path": "18" + }, + "247": { + "first_revert": true, + "fn": null, + "offset": [ + 549, + 2928 + ], + "op": "REVERT", + "path": "18" + }, + "248": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "249": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLVALUE", + "path": "17" + }, + "250": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "251": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "ISZERO", + "path": "17" + }, + "252": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x104" + }, + "255": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPI", + "path": "17" + }, + "256": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "258": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "259": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "REVERT", + "path": "17" + }, + "260": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "261": { + "op": "POP" + }, + "262": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x118" + }, + "265": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x113" + }, + "268": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "269": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "271": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x105D" + }, + "274": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "275": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "276": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x33D" + }, + "279": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "280": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "281": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "283": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "284": { + "op": "SWAP1" + }, + "285": { + "op": "ISZERO" + }, + "286": { + "op": "ISZERO" + }, + "287": { + "op": "DUP2" + }, + "288": { + "op": "MSTORE" + }, + "289": { + "op": "PUSH1", + "value": "0x20" + }, + "291": { + "op": "ADD" + }, + "292": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "293": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "295": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "296": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "297": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "298": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SUB", + "path": "17" + }, + "299": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP1", + "path": "17" + }, + "300": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "RETURN", + "path": "17" + }, + "301": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "302": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "CALLVALUE", + "path": "17" + }, + "303": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "304": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "ISZERO", + "path": "17" + }, + "305": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x139" + }, + "308": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPI", + "path": "17" + }, + "309": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "311": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "312": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "REVERT", + "path": "17" + }, + "313": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "314": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "POP", + "path": "17" + }, + "315": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x142" + }, + "318": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x38F" + }, + "321": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "322": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "323": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "325": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "MLOAD", + "path": "17" + }, + "326": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x124" + }, + "329": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP2", + "path": "17" + }, + "330": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "331": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10D9" + }, + "334": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "335": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "336": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLVALUE", + "path": "17" + }, + "337": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "338": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "ISZERO", + "path": "17" + }, + "339": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15B" + }, + "342": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPI", + "path": "17" + }, + "343": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "345": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "346": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "REVERT", + "path": "17" + }, + "347": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "348": { + "op": "POP" + }, + "349": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16F" + }, + "352": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16A" + }, + "355": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "356": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "358": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10EC" + }, + "361": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "362": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "363": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x421" + }, + "366": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "367": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "368": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "370": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "MLOAD", + "path": "17" + }, + "371": { + "op": "PUSH1", + "value": "0x1" + }, + "373": { + "op": "PUSH1", + "value": "0x1" + }, + "375": { + "op": "PUSH1", + "value": "0xA0" + }, + "377": { + "op": "SHL" + }, + "378": { + "op": "SUB" + }, + "379": { + "op": "SWAP1" + }, + "380": { + "op": "SWAP2" + }, + "381": { + "op": "AND" + }, + "382": { + "op": "DUP2" + }, + "383": { + "op": "MSTORE" + }, + "384": { + "op": "PUSH1", + "value": "0x20" + }, + "386": { + "op": "ADD" + }, + "387": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x124" + }, + "390": { + "op": "JUMP" + }, + "391": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "392": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLVALUE", + "path": "17" + }, + "393": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "394": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "ISZERO", + "path": "17" + }, + "395": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x193" + }, + "398": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPI", + "path": "17" + }, + "399": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "401": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "402": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "REVERT", + "path": "17" + }, + "403": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "404": { + "op": "POP" + }, + "405": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A7" + }, + "408": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A2" + }, + "411": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "412": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "414": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1121" + }, + "417": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "418": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "419": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x465" + }, + "422": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "423": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "424": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "STOP", + "path": "17" + }, + "425": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "426": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "CALLVALUE", + "path": "17" + }, + "427": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "428": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "ISZERO", + "path": "17" + }, + "429": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1B5" + }, + "432": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPI", + "path": "17" + }, + "433": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "435": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "436": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "REVERT", + "path": "17" + }, + "437": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "438": { + "op": "POP" + }, + "439": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "statement": 0, + "value": "0x1" + }, + "441": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "442": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "444": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "445": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "446": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "447": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "449": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "MLOAD", + "path": "17" + }, + "450": { + "op": "SWAP1" + }, + "451": { + "op": "DUP2" + }, + "452": { + "op": "MSTORE" + }, + "453": { + "op": "PUSH1", + "value": "0x20" + }, + "455": { + "op": "ADD" + }, + "456": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x124" + }, + "459": { + "op": "JUMP" + }, + "460": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "461": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLVALUE", + "path": "17" + }, + "462": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "463": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "ISZERO", + "path": "17" + }, + "464": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D8" + }, + "467": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPI", + "path": "17" + }, + "468": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "470": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "471": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "REVERT", + "path": "17" + }, + "472": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "473": { + "op": "POP" + }, + "474": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A7" + }, + "477": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1E7" + }, + "480": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "481": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "483": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x114B" + }, + "486": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "487": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "488": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4EB" + }, + "491": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "492": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "493": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLVALUE", + "path": "17" + }, + "494": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "495": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "ISZERO", + "path": "17" + }, + "496": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F8" + }, + "499": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPI", + "path": "17" + }, + "500": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "502": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "503": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "REVERT", + "path": "17" + }, + "504": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "505": { + "op": "POP" + }, + "506": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A7" + }, + "509": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x207" + }, + "512": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "513": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "515": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x114B" + }, + "518": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "519": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "520": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4F6" + }, + "523": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "524": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "525": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLVALUE", + "path": "18" + }, + "526": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "527": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "ISZERO", + "path": "18" + }, + "528": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x218" + }, + "531": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPI", + "path": "18" + }, + "532": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "534": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "535": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "REVERT", + "path": "18" + }, + "536": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "537": { + "op": "POP" + }, + "538": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1A7" + }, + "541": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x227" + }, + "544": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "545": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "547": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x10EC" + }, + "550": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "551": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "552": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x511" + }, + "555": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "556": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "557": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLVALUE", + "path": "17" + }, + "558": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "559": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "ISZERO", + "path": "17" + }, + "560": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x238" + }, + "563": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPI", + "path": "17" + }, + "564": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "566": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "567": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "REVERT", + "path": "17" + }, + "568": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "569": { + "op": "POP" + }, + "570": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x16F" + }, + "573": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x247" + }, + "576": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "577": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "579": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10EC" + }, + "582": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "583": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "584": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x51F" + }, + "587": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "588": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "589": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLVALUE", + "path": "17" + }, + "590": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "591": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "ISZERO", + "path": "17" + }, + "592": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x258" + }, + "595": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPI", + "path": "17" + }, + "596": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "598": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "599": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "REVERT", + "path": "17" + }, + "600": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "601": { + "op": "POP" + }, + "602": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1BE" + }, + "605": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x267" + }, + "608": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "609": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "611": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1187" + }, + "614": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "615": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "616": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x531" + }, + "619": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "620": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "621": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "CALLVALUE", + "path": "17" + }, + "622": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "623": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "ISZERO", + "path": "17" + }, + "624": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x278" + }, + "627": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPI", + "path": "17" + }, + "628": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "630": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "631": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "REVERT", + "path": "17" + }, + "632": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "633": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "POP", + "path": "17" + }, + "634": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x142" + }, + "637": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x580" + }, + "640": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6666, + 6768 + ], + "op": "JUMP", + "path": "17" + }, + "641": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "642": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLVALUE", + "path": "17" + }, + "643": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "644": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "ISZERO", + "path": "17" + }, + "645": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x28D" + }, + "648": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPI", + "path": "17" + }, + "649": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "651": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "652": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "REVERT", + "path": "17" + }, + "653": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "654": { + "op": "POP" + }, + "655": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A7" + }, + "658": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x29C" + }, + "661": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "662": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "664": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x11A2" + }, + "667": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "668": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "669": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x58F" + }, + "672": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "673": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "674": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLVALUE", + "path": "17" + }, + "675": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "676": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "ISZERO", + "path": "17" + }, + "677": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2AD" + }, + "680": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPI", + "path": "17" + }, + "681": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "683": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "684": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "REVERT", + "path": "17" + }, + "685": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "686": { + "op": "POP" + }, + "687": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A7" + }, + "690": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2BC" + }, + "693": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "694": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "696": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x126A" + }, + "699": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "700": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "701": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x624" + }, + "704": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "705": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "706": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLVALUE", + "path": "18" + }, + "707": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "708": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "ISZERO", + "path": "18" + }, + "709": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2CD" + }, + "712": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPI", + "path": "18" + }, + "713": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "715": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "716": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "REVERT", + "path": "18" + }, + "717": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "718": { + "op": "POP" + }, + "719": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x142" + }, + "722": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2DC" + }, + "725": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "726": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "728": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x10EC" + }, + "731": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "732": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "733": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x66E" + }, + "736": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "737": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "738": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1BE" + }, + "741": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2EF" + }, + "744": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "745": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "747": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x12E6" + }, + "750": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "751": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "752": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "PUSH2", + "path": "18", + "value": "0x782" + }, + "755": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "756": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "757": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLVALUE", + "path": "17" + }, + "758": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "759": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "ISZERO", + "path": "17" + }, + "760": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x300" + }, + "763": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPI", + "path": "17" + }, + "764": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "766": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "767": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "REVERT", + "path": "17" + }, + "768": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "769": { + "op": "POP" + }, + "770": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x118" + }, + "773": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x30F" + }, + "776": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "777": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "779": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x132F" + }, + "782": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "783": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "784": { + "op": "PUSH1", + "value": "0x1" + }, + "786": { + "op": "PUSH1", + "value": "0x1" + }, + "788": { + "op": "PUSH1", + "value": "0xA0" + }, + "790": { + "op": "SHL" + }, + "791": { + "op": "SUB" + }, + "792": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP2", + "path": "17", + "statement": 1 + }, + "793": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP3", + "path": "17" + }, + "794": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "AND", + "path": "17" + }, + "795": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8694, + 8698 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "797": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "798": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "799": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "800": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "802": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "804": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "805": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "806": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "807": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "809": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP1", + "path": "17" + }, + "810": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP4", + "path": "17" + }, + "811": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "KECCAK256", + "path": "17" + }, + "812": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP4", + "path": "17" + }, + "813": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "814": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP5", + "path": "17" + }, + "815": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "816": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "DUP3", + "path": "17" + }, + "817": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "818": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "819": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "820": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "821": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "822": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "KECCAK256", + "path": "17" + }, + "823": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SLOAD", + "path": "17" + }, + "824": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "826": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "827": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "828": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "829": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "830": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3524, + 3528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "832": { + "op": "PUSH1", + "value": "0x1" + }, + "834": { + "op": "PUSH1", + "value": "0x1" + }, + "836": { + "op": "PUSH1", + "value": "0xE0" + }, + "838": { + "op": "SHL" + }, + "839": { + "op": "SUB" + }, + "840": { + "op": "NOT" + }, + "841": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP3", + "path": "17", + "statement": 2 + }, + "842": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "AND", + "path": "17" + }, + "843": { + "op": "PUSH4", + "value": "0x80AC58CD" + }, + "848": { + "op": "PUSH1", + "value": "0xE0" + }, + "850": { + "op": "SHL" + }, + "851": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "EQ", + "path": "17" + }, + "852": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP1", + "path": "17" + }, + "853": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "PUSH2", + "path": "17", + "value": "0x36E" + }, + "856": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPI", + "path": "17" + }, + "857": { + "op": "POP" + }, + "858": { + "op": "PUSH1", + "value": "0x1" + }, + "860": { + "op": "PUSH1", + "value": "0x1" + }, + "862": { + "op": "PUSH1", + "value": "0xE0" + }, + "864": { + "op": "SHL" + }, + "865": { + "op": "SUB" + }, + "866": { + "op": "NOT" + }, + "867": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "DUP3", + "path": "17" + }, + "868": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "AND", + "path": "17" + }, + "869": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "874": { + "op": "PUSH1", + "value": "0xE0" + }, + "876": { + "op": "SHL" + }, + "877": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "EQ", + "path": "17" + }, + "878": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPDEST", + "path": "17" + }, + "879": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "DUP1", + "path": "17" + }, + "880": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "PUSH2", + "path": "17", + "value": "0x389" + }, + "883": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "JUMPI", + "path": "17" + }, + "884": { + "op": "POP" + }, + "885": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "890": { + "op": "PUSH1", + "value": "0xE0" + }, + "892": { + "op": "SHL" + }, + "893": { + "op": "PUSH1", + "value": "0x1" + }, + "895": { + "op": "PUSH1", + "value": "0x1" + }, + "897": { + "op": "PUSH1", + "value": "0xE0" + }, + "899": { + "op": "SHL" + }, + "900": { + "op": "SUB" + }, + "901": { + "op": "NOT" + }, + "902": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "DUP4", + "path": "7", + "statement": 3 + }, + "903": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "AND", + "path": "7" + }, + "904": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "EQ", + "path": "7" + }, + "905": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3643, + 3679 + ], + "op": "JUMPDEST", + "path": "17" + }, + "906": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3540, + 3679 + ], + "op": "SWAP3", + "path": "17" + }, + "907": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "908": { + "op": "POP" + }, + "909": { + "op": "POP" + }, + "910": { + "fn": "ERC721A.supportsInterface", + "jump": "o", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "911": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "912": { + "fn": "ERC721A.name", + "offset": [ + 6558, + 6571 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "914": { + "fn": "ERC721A.name", + "offset": [ + 6590, + 6595 + ], + "op": "PUSH1", + "path": "17", + "statement": 4, + "value": "0x2" + }, + "916": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "917": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "918": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x39E" + }, + "921": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "922": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1362" + }, + "925": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "926": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "927": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "928": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "930": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "931": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "933": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "934": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "935": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "936": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "937": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "939": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "940": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "942": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MLOAD", + "path": "17" + }, + "943": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "944": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "945": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "946": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "948": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "949": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "950": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP3", + "path": "17" + }, + "951": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "952": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "953": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "954": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "955": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "956": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "958": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "959": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "960": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "961": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "962": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3CA" + }, + "965": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "966": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1362" + }, + "969": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "970": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "971": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "972": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ISZERO", + "path": "17" + }, + "973": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x417" + }, + "976": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "977": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "978": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "980": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "LT", + "path": "17" + }, + "981": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3EC" + }, + "984": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "985": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100" + }, + "988": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "989": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "990": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "991": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "992": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "993": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "994": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "995": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "996": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "998": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "999": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1000": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x417" + }, + "1003": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1004": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1005": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1006": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1007": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1008": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1009": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1011": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1012": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1014": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1016": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "KECCAK256", + "path": "17" + }, + "1017": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1018": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1019": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1020": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1021": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1022": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1023": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1024": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "1026": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1027": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1028": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1030": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1031": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1032": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1033": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "GT", + "path": "17" + }, + "1034": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3FA" + }, + "1037": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1038": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1039": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1040": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SUB", + "path": "17" + }, + "1041": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1043": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "AND", + "path": "17" + }, + "1044": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1045": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1046": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1047": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1048": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1049": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1050": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1051": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1052": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1053": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1054": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1055": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "1056": { + "fn": "ERC721A.name", + "jump": "o", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "1057": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1058": { + "fn": "ERC721A.getApproved", + "offset": [ + 8050, + 8057 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1060": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "PUSH2", + "path": "17", + "statement": 5, + "value": "0x42C" + }, + "1063": { + "fn": "ERC721A.getApproved", + "offset": [ + 8082, + 8089 + ], + "op": "DUP3", + "path": "17" + }, + "1064": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8081 + ], + "op": "PUSH2", + "path": "17", + "value": "0x83E" + }, + "1067": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 8074, + 8090 + ], + "op": "JUMP", + "path": "17" + }, + "1068": { + "branch": 77, + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1069": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x449" + }, + "1072": { + "branch": 77, + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPI", + "path": "17" + }, + "1073": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1075": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1076": { + "op": "PUSH4", + "value": "0x33D1C039" + }, + "1081": { + "op": "PUSH1", + "value": "0xE2" + }, + "1083": { + "op": "SHL" + }, + "1084": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP2", + "path": "17" + }, + "1085": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MSTORE", + "path": "17" + }, + "1086": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1088": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "ADD", + "path": "17" + }, + "1089": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1091": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1092": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP1", + "path": "17" + }, + "1093": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP2", + "path": "17" + }, + "1094": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SUB", + "path": "17" + }, + "1095": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP1", + "path": "17" + }, + "1096": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "REVERT", + "path": "17" + }, + "1097": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1098": { + "op": "POP" + }, + "1099": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "statement": 6, + "value": "0x0" + }, + "1101": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1102": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "DUP2", + "path": "17" + }, + "1103": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1104": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8166 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1106": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1108": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1109": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1111": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1112": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "KECCAK256", + "path": "17" + }, + "1113": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SLOAD", + "path": "17" + }, + "1114": { + "op": "PUSH1", + "value": "0x1" + }, + "1116": { + "op": "PUSH1", + "value": "0x1" + }, + "1118": { + "op": "PUSH1", + "value": "0xA0" + }, + "1120": { + "op": "SHL" + }, + "1121": { + "op": "SUB" + }, + "1122": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "AND", + "path": "17" + }, + "1123": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1124": { + "fn": "ERC721A.getApproved", + "jump": "o", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "1125": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1126": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7622 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1128": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "PUSH2", + "path": "17", + "value": "0x470" + }, + "1131": { + "fn": "ERC721A.approve", + "offset": [ + 7641, + 7648 + ], + "op": "DUP3", + "path": "17" + }, + "1132": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7640 + ], + "op": "PUSH2", + "path": "17", + "value": "0x51F" + }, + "1135": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7625, + 7649 + ], + "op": "JUMP", + "path": "17" + }, + "1136": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1137": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "SWAP1", + "path": "17" + }, + "1138": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "POP", + "path": "17" + }, + "1139": { + "fn": "ERC721A.approve", + "offset": [ + 7669, + 7674 + ], + "op": "DUP1", + "path": "17", + "statement": 7 + }, + "1140": { + "op": "PUSH1", + "value": "0x1" + }, + "1142": { + "op": "PUSH1", + "value": "0x1" + }, + "1144": { + "op": "PUSH1", + "value": "0xA0" + }, + "1146": { + "op": "SHL" + }, + "1147": { + "op": "SUB" + }, + "1148": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1149": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7665 + ], + "op": "DUP4", + "path": "17" + }, + "1150": { + "op": "PUSH1", + "value": "0x1" + }, + "1152": { + "op": "PUSH1", + "value": "0x1" + }, + "1154": { + "op": "PUSH1", + "value": "0xA0" + }, + "1156": { + "op": "SHL" + }, + "1157": { + "op": "SUB" + }, + "1158": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1159": { + "branch": 78, + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "SUB", + "path": "17" + }, + "1160": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4A4" + }, + "1163": { + "branch": 78, + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPI", + "path": "17" + }, + "1164": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1166": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1167": { + "op": "PUSH4", + "value": "0x250FDEE3" + }, + "1172": { + "op": "PUSH1", + "value": "0xE2" + }, + "1174": { + "op": "SHL" + }, + "1175": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP2", + "path": "17" + }, + "1176": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MSTORE", + "path": "17" + }, + "1177": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1179": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "ADD", + "path": "17" + }, + "1180": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1182": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1183": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP1", + "path": "17" + }, + "1184": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP2", + "path": "17" + }, + "1185": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SUB", + "path": "17" + }, + "1186": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP1", + "path": "17" + }, + "1187": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "REVERT", + "path": "17" + }, + "1188": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1189": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 8 + }, + "1190": { + "op": "PUSH1", + "value": "0x1" + }, + "1192": { + "op": "PUSH1", + "value": "0x1" + }, + "1194": { + "op": "PUSH1", + "value": "0xA0" + }, + "1196": { + "op": "SHL" + }, + "1197": { + "op": "SUB" + }, + "1198": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "DUP3", + "path": "17" + }, + "1199": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "AND", + "path": "17" + }, + "1200": { + "branch": 79, + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "EQ", + "path": "17" + }, + "1201": { + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4DB" + }, + "1204": { + "branch": 79, + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1205": { + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "PUSH2", + "path": "17", + "statement": 9, + "value": "0x4BE" + }, + "1208": { + "fn": "ERC721A.approve", + "offset": [ + 7779, + 7784 + ], + "op": "DUP2", + "path": "17" + }, + "1209": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1210": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x30F" + }, + "1213": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1214": { + "branch": 80, + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1215": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4DB" + }, + "1218": { + "branch": 80, + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1219": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1221": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1222": { + "op": "PUSH4", + "value": "0x67D9DCA1" + }, + "1227": { + "op": "PUSH1", + "value": "0xE1" + }, + "1229": { + "op": "SHL" + }, + "1230": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP2", + "path": "17" + }, + "1231": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MSTORE", + "path": "17" + }, + "1232": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1234": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "ADD", + "path": "17" + }, + "1235": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1237": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1238": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP1", + "path": "17" + }, + "1239": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP2", + "path": "17" + }, + "1240": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SUB", + "path": "17" + }, + "1241": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP1", + "path": "17" + }, + "1242": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "REVERT", + "path": "17" + }, + "1243": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1244": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "PUSH2", + "path": "17", + "statement": 10, + "value": "0x4E6" + }, + "1247": { + "fn": "ERC721A.approve", + "offset": [ + 7895, + 7897 + ], + "op": "DUP4", + "path": "17" + }, + "1248": { + "fn": "ERC721A.approve", + "offset": [ + 7899, + 7906 + ], + "op": "DUP4", + "path": "17" + }, + "1249": { + "fn": "ERC721A.approve", + "offset": [ + 7908, + 7913 + ], + "op": "DUP4", + "path": "17" + }, + "1250": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7894 + ], + "op": "PUSH2", + "path": "17", + "value": "0x869" + }, + "1253": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7886, + 7914 + ], + "op": "JUMP", + "path": "17" + }, + "1254": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1255": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1256": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1257": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1258": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "1259": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1260": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8978 + ], + "op": "PUSH2", + "path": "17", + "statement": 11, + "value": "0x4E6" + }, + "1263": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8960, + 8964 + ], + "op": "DUP4", + "path": "17" + }, + "1264": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8966, + 8968 + ], + "op": "DUP4", + "path": "17" + }, + "1265": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8970, + 8977 + ], + "op": "DUP4", + "path": "17" + }, + "1266": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8959 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8C5" + }, + "1269": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8950, + 8978 + ], + "op": "JUMP", + "path": "17" + }, + "1270": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1271": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH2", + "path": "17", + "statement": 12, + "value": "0x4E6" + }, + "1274": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9201, + 9205 + ], + "op": "DUP4", + "path": "17" + }, + "1275": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9207, + 9209 + ], + "op": "DUP4", + "path": "17" + }, + "1276": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9211, + 9218 + ], + "op": "DUP4", + "path": "17" + }, + "1277": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1279": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MLOAD", + "path": "17" + }, + "1280": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1281": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1283": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "ADD", + "path": "17" + }, + "1284": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1286": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1287": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1288": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1290": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP2", + "path": "17" + }, + "1291": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1292": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "POP", + "path": "17" + }, + "1293": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9200 + ], + "op": "PUSH2", + "path": "17", + "value": "0x624" + }, + "1296": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9184, + 9223 + ], + "op": "JUMP", + "path": "17" + }, + "1297": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1298": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2919 + ], + "op": "PUSH2", + "path": "18", + "statement": 13, + "value": "0x51C" + }, + "1301": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2905, + 2912 + ], + "op": "DUP2", + "path": "18" + }, + "1302": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2914, + 2918 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "1304": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2904 + ], + "op": "PUSH2", + "path": "18", + "value": "0xAB4" + }, + "1307": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2899, + 2919 + ], + "op": "JUMP", + "path": "18" + }, + "1308": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2919 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1309": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "POP", + "path": "18" + }, + "1310": { + "fn": "ERC721ExtensionCore.burn", + "jump": "o", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "1311": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1312": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6383, + 6390 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1314": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "PUSH2", + "path": "17", + "statement": 14, + "value": "0x52A" + }, + "1317": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6422, + 6429 + ], + "op": "DUP3", + "path": "17" + }, + "1318": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6421 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC7B" + }, + "1321": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6409, + 6430 + ], + "op": "JUMP", + "path": "17" + }, + "1322": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1323": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "MLOAD", + "path": "17" + }, + "1324": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "SWAP3", + "path": "17" + }, + "1325": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "SWAP2", + "path": "17" + }, + "1326": { + "op": "POP" + }, + "1327": { + "op": "POP" + }, + "1328": { + "fn": "ERC721A.ownerOf", + "jump": "o", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "1329": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1330": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3809, + 3816 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1332": { + "op": "PUSH1", + "value": "0x1" + }, + "1334": { + "op": "PUSH1", + "value": "0x1" + }, + "1336": { + "op": "PUSH1", + "value": "0xA0" + }, + "1338": { + "op": "SHL" + }, + "1339": { + "op": "SUB" + }, + "1340": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "DUP3", + "path": "17", + "statement": 15 + }, + "1341": { + "branch": 81, + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "AND", + "path": "17" + }, + "1342": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "PUSH2", + "path": "17", + "value": "0x55A" + }, + "1345": { + "branch": 81, + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPI", + "path": "17" + }, + "1346": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1348": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1349": { + "op": "PUSH4", + "value": "0x23D3AD81" + }, + "1354": { + "op": "PUSH1", + "value": "0xE2" + }, + "1356": { + "op": "SHL" + }, + "1357": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP2", + "path": "17" + }, + "1358": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MSTORE", + "path": "17" + }, + "1359": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1361": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "ADD", + "path": "17" + }, + "1362": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1364": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1365": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP1", + "path": "17" + }, + "1366": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP2", + "path": "17" + }, + "1367": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SUB", + "path": "17" + }, + "1368": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP1", + "path": "17" + }, + "1369": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "REVERT", + "path": "17" + }, + "1370": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1371": { + "op": "POP" + }, + "1372": { + "op": "PUSH1", + "value": "0x1" + }, + "1374": { + "op": "PUSH1", + "value": "0x1" + }, + "1376": { + "op": "PUSH1", + "value": "0xA0" + }, + "1378": { + "op": "SHL" + }, + "1379": { + "op": "SUB" + }, + "1380": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "AND", + "path": "17", + "statement": 16 + }, + "1381": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1383": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1384": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "DUP2", + "path": "17" + }, + "1385": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1386": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3925 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "1388": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1390": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1391": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1393": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1394": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "KECCAK256", + "path": "17" + }, + "1395": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SLOAD", + "path": "17" + }, + "1396": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "1405": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "AND", + "path": "17" + }, + "1406": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SWAP1", + "path": "17" + }, + "1407": { + "fn": "ERC721A.balanceOf", + "jump": "o", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "1408": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1409": { + "fn": "ERC721A.symbol", + "offset": [ + 6722, + 6735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1411": { + "fn": "ERC721A.symbol", + "offset": [ + 6754, + 6761 + ], + "op": "PUSH1", + "path": "17", + "statement": 17, + "value": "0x3" + }, + "1413": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "DUP1", + "path": "17" + }, + "1414": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SLOAD", + "path": "17" + }, + "1415": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x39E" + }, + "1418": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SWAP1", + "path": "17" + }, + "1419": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1362" + }, + "1422": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6747, + 6761 + ], + "op": "JUMP", + "path": "17" + }, + "1423": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1424": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1425": { + "op": "PUSH1", + "value": "0x1" + }, + "1427": { + "op": "PUSH1", + "value": "0x1" + }, + "1429": { + "op": "PUSH1", + "value": "0xA0" + }, + "1431": { + "op": "SHL" + }, + "1432": { + "op": "SUB" + }, + "1433": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "DUP4", + "path": "17", + "statement": 18 + }, + "1434": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "AND", + "path": "17" + }, + "1435": { + "branch": 82, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "SUB", + "path": "17" + }, + "1436": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5B8" + }, + "1439": { + "branch": 82, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPI", + "path": "17" + }, + "1440": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1442": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1443": { + "op": "PUSH4", + "value": "0xB06307DB" + }, + "1448": { + "op": "PUSH1", + "value": "0xE0" + }, + "1450": { + "op": "SHL" + }, + "1451": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP2", + "path": "17" + }, + "1452": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MSTORE", + "path": "17" + }, + "1453": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1455": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "ADD", + "path": "17" + }, + "1456": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1458": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "1459": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP1", + "path": "17" + }, + "1460": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP2", + "path": "17" + }, + "1461": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SUB", + "path": "17" + }, + "1462": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP1", + "path": "17" + }, + "1463": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "REVERT", + "path": "17" + }, + "1464": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1465": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1466": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "statement": 19, + "value": "0x0" + }, + "1468": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1469": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1470": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1471": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8426 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "1473": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1475": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "SWAP1", + "path": "17" + }, + "1476": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "1477": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "1478": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1480": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP1", + "path": "17" + }, + "1481": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP4", + "path": "17" + }, + "1482": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "KECCAK256", + "path": "17" + }, + "1483": { + "op": "PUSH1", + "value": "0x1" + }, + "1485": { + "op": "PUSH1", + "value": "0x1" + }, + "1487": { + "op": "PUSH1", + "value": "0xA0" + }, + "1489": { + "op": "SHL" + }, + "1490": { + "op": "SUB" + }, + "1491": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP8", + "path": "17" + }, + "1492": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "AND", + "path": "17" + }, + "1493": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP1", + "path": "17" + }, + "1494": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP6", + "path": "17" + }, + "1495": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1496": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1497": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP4", + "path": "17" + }, + "1498": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "1499": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1500": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP2", + "path": "17" + }, + "1501": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "1502": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "KECCAK256", + "path": "17" + }, + "1503": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP1", + "path": "17" + }, + "1504": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SLOAD", + "path": "17" + }, + "1505": { + "op": "PUSH1", + "value": "0xFF" + }, + "1507": { + "op": "NOT" + }, + "1508": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "AND", + "path": "17" + }, + "1509": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP7", + "path": "17" + }, + "1510": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1511": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "1512": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1513": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP2", + "path": "17" + }, + "1514": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "OR", + "path": "17" + }, + "1515": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "1516": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP2", + "path": "17" + }, + "1517": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SSTORE", + "path": "17" + }, + "1518": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17", + "statement": 20 + }, + "1519": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1520": { + "op": "SWAP1" + }, + "1521": { + "op": "DUP2" + }, + "1522": { + "op": "MSTORE" + }, + "1523": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP2", + "path": "17" + }, + "1524": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "1525": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP2", + "path": "5" + }, + "1526": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH32", + "path": "17", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "1559": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1560": { + "op": "ADD" + }, + "1561": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1563": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "1564": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "DUP1", + "path": "17" + }, + "1565": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "1566": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SUB", + "path": "17" + }, + "1567": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17" + }, + "1568": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "LOG3", + "path": "17" + }, + "1569": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1570": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "1571": { + "fn": "ERC721A.setApprovalForAll", + "jump": "o", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "1572": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1573": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "PUSH2", + "path": "17", + "statement": 21, + "value": "0x62F" + }, + "1576": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9467, + 9471 + ], + "op": "DUP5", + "path": "17" + }, + "1577": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9473, + 9475 + ], + "op": "DUP5", + "path": "17" + }, + "1578": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9477, + 9484 + ], + "op": "DUP5", + "path": "17" + }, + "1579": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9466 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8C5" + }, + "1582": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9457, + 9485 + ], + "op": "JUMP", + "path": "17" + }, + "1583": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1584": { + "op": "PUSH1", + "value": "0x1" + }, + "1586": { + "op": "PUSH1", + "value": "0x1" + }, + "1588": { + "op": "PUSH1", + "value": "0xA0" + }, + "1590": { + "op": "SHL" + }, + "1591": { + "op": "SUB" + }, + "1592": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "DUP4", + "path": "17" + }, + "1593": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "AND", + "path": "17" + }, + "1594": { + "op": "EXTCODESIZE" + }, + "1595": { + "op": "ISZERO" + }, + "1596": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x668" + }, + "1599": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1600": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "PUSH2", + "path": "17", + "statement": 22, + "value": "0x64B" + }, + "1603": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9564, + 9568 + ], + "op": "DUP5", + "path": "17" + }, + "1604": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9570, + 9572 + ], + "op": "DUP5", + "path": "17" + }, + "1605": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9574, + 9581 + ], + "op": "DUP5", + "path": "17" + }, + "1606": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9583, + 9588 + ], + "op": "DUP5", + "path": "17" + }, + "1607": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9563 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD97" + }, + "1610": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9533, + 9589 + ], + "op": "JUMP", + "path": "17" + }, + "1611": { + "branch": 83, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1612": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x668" + }, + "1615": { + "branch": 83, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "1616": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1618": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1619": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "1624": { + "op": "PUSH1", + "value": "0xE1" + }, + "1626": { + "op": "SHL" + }, + "1627": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP2", + "path": "17" + }, + "1628": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MSTORE", + "path": "17" + }, + "1629": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1631": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "ADD", + "path": "17" + }, + "1632": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1634": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "1635": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP1", + "path": "17" + }, + "1636": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP2", + "path": "17" + }, + "1637": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SUB", + "path": "17" + }, + "1638": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP1", + "path": "17" + }, + "1639": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "REVERT", + "path": "17" + }, + "1640": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1641": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1642": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1643": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1644": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "1645": { + "fn": "ERC721A.safeTransferFrom", + "jump": "o", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "1646": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1647": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1035, + 1048 + ], + "op": "PUSH1", + "path": "18", + "value": "0x60" + }, + "1649": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "PUSH2", + "path": "18", + "statement": 23, + "value": "0x679" + }, + "1652": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1073, + 1080 + ], + "op": "DUP3", + "path": "18" + }, + "1653": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1072 + ], + "op": "PUSH2", + "path": "18", + "value": "0x83E" + }, + "1656": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1065, + 1081 + ], + "op": "JUMP", + "path": "18" + }, + "1657": { + "branch": 72, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1658": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "PUSH2", + "path": "18", + "value": "0x696" + }, + "1661": { + "branch": 72, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPI", + "path": "18" + }, + "1662": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1664": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "1665": { + "op": "PUSH4", + "value": "0xA14C4B5" + }, + "1670": { + "op": "PUSH1", + "value": "0xE4" + }, + "1672": { + "op": "SHL" + }, + "1673": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP2", + "path": "18" + }, + "1674": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MSTORE", + "path": "18" + }, + "1675": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "1677": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "ADD", + "path": "18" + }, + "1678": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1680": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "1681": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP1", + "path": "18" + }, + "1682": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP2", + "path": "18" + }, + "1683": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SUB", + "path": "18" + }, + "1684": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP1", + "path": "18" + }, + "1685": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "REVERT", + "path": "18" + }, + "1686": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1687": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1153 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "1689": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "1690": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "1691": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "1692": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1166 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "1694": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1696": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "1697": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1699": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "1700": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "1701": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1702": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "1703": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x6AF" + }, + "1706": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1707": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1362" + }, + "1710": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "1711": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1712": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1713": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "1715": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1716": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1718": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1719": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "1720": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "1721": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "1722": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1724": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1725": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1727": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MLOAD", + "path": "18" + }, + "1728": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1729": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "1730": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1731": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1733": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "1734": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1735": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP3", + "path": "18" + }, + "1736": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "1737": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1738": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "1739": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "1740": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "1741": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1743": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1744": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "1745": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1746": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "1747": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x6DB" + }, + "1750": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1751": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1362" + }, + "1754": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "1755": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1756": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1757": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ISZERO", + "path": "18" + }, + "1758": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x728" + }, + "1761": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "1762": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1763": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "1765": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "LT", + "path": "18" + }, + "1766": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x6FD" + }, + "1769": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "1770": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x100" + }, + "1773": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1774": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "1775": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "1776": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "1777": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "1778": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "1779": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "1780": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "1781": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1783": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1784": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "1785": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x728" + }, + "1788": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "1789": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1790": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "1791": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1792": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "1793": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1794": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "1796": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "1797": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1799": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "1801": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "1802": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1803": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1804": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "1805": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "1806": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "1807": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "1808": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1809": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "1811": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1812": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1813": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1815": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1816": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "1817": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "1818": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "GT", + "path": "18" + }, + "1819": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x70B" + }, + "1822": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "1823": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "1824": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1825": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SUB", + "path": "18" + }, + "1826": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "1828": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "AND", + "path": "18" + }, + "1829": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "1830": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "1831": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "1832": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1833": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "1834": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "1835": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "1836": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "1837": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "1838": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "1839": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "1840": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1203 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "1842": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "PUSH2", + "path": "18", + "value": "0x746" + }, + "1845": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "statement": 24, + "value": "0x40" + }, + "1847": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "1848": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "1849": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1851": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1852": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "1853": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1854": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "1855": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1856": { + "op": "PUSH1", + "value": "0x0" + }, + "1858": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "1859": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "1860": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "1861": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "1862": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1863": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "SWAP1", + "path": "18" + }, + "1864": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "POP", + "path": "18" + }, + "1865": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1387, + 1391 + ], + "op": "DUP1", + "path": "18", + "statement": 25 + }, + "1866": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1399 + ], + "op": "MLOAD", + "path": "18" + }, + "1867": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1403, + 1404 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "1869": { + "branch": 73, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1404 + ], + "op": "SUB", + "path": "18" + }, + "1870": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x757" + }, + "1873": { + "branch": 73, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPI", + "path": "18" + }, + "1874": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1451, + 1460 + ], + "op": "DUP2", + "path": "18" + }, + "1875": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x77A" + }, + "1878": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMP", + "path": "18" + }, + "1879": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1880": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1431, + 1435 + ], + "op": "DUP1", + "path": "18" + }, + "1881": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1437, + 1446 + ], + "op": "DUP3", + "path": "18" + }, + "1882": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1884": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "1885": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1887": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "ADD", + "path": "18" + }, + "1888": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x76A" + }, + "1891": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP3", + "path": "18" + }, + "1892": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP2", + "path": "18" + }, + "1893": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "1894": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x139C" + }, + "1897": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1414, + 1447 + ], + "op": "JUMP", + "path": "18" + }, + "1898": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1899": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1901": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "1902": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "1904": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "1905": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP4", + "path": "18" + }, + "1906": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "1907": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "1908": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "1909": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "1910": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "1911": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "1913": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "1914": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1915": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1374, + 1460 + ], + "op": "SWAP5", + "path": "18" + }, + "1916": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "SWAP4", + "path": "18" + }, + "1917": { + "op": "POP" + }, + "1918": { + "op": "POP" + }, + "1919": { + "op": "POP" + }, + "1920": { + "op": "POP" + }, + "1921": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "o", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "1922": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1923": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2146, + 2153 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "1925": { + "offset": [ + 797, + 803 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "1927": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 797, + 803 + ], + "op": "SLOAD", + "path": "20" + }, + "1928": { + "offset": [ + 807, + 808 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "1930": { + "offset": [ + 797, + 808 + ], + "op": "EQ", + "path": "20" + }, + "1931": { + "offset": [ + 789, + 823 + ], + "op": "PUSH2", + "path": "20", + "value": "0x7C8" + }, + "1934": { + "offset": [ + 789, + 823 + ], + "op": "JUMPI", + "path": "20" + }, + "1935": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "1937": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "1938": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1942": { + "op": "PUSH1", + "value": "0xE5" + }, + "1944": { + "op": "SHL" + }, + "1945": { + "offset": [ + 789, + 823 + ], + "op": "DUP2", + "path": "20" + }, + "1946": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MSTORE", + "path": "20" + }, + "1947": { + "op": "PUSH1", + "value": "0x20" + }, + "1949": { + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x4" + }, + "1951": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "DUP3", + "path": "20" + }, + "1952": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "ADD", + "path": "20" + }, + "1953": { + "op": "MSTORE" + }, + "1954": { + "op": "PUSH1", + "value": "0xA" + }, + "1956": { + "op": "PUSH1", + "value": "0x24" + }, + "1958": { + "op": "DUP3" + }, + "1959": { + "op": "ADD" + }, + "1960": { + "op": "MSTORE" + }, + "1961": { + "op": "PUSH10", + "value": "0x5245454E5452414E4359" + }, + "1972": { + "op": "PUSH1", + "value": "0xB0" + }, + "1974": { + "op": "SHL" + }, + "1975": { + "op": "PUSH1", + "value": "0x44" + }, + "1977": { + "op": "DUP3" + }, + "1978": { + "op": "ADD" + }, + "1979": { + "op": "MSTORE" + }, + "1980": { + "op": "PUSH1", + "value": "0x64" + }, + "1982": { + "op": "ADD" + }, + "1983": { + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "1984": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "1986": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "1987": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "DUP1", + "path": "20" + }, + "1988": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SWAP2", + "path": "20" + }, + "1989": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SUB", + "path": "20" + }, + "1990": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "SWAP1", + "path": "20" + }, + "1991": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "20" + }, + "1992": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "1993": { + "offset": [ + 843, + 844 + ], + "op": "PUSH1", + "path": "20", + "value": "0x2" + }, + "1995": { + "offset": [ + 834, + 840 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "1997": { + "offset": [ + 834, + 844 + ], + "op": "SSTORE", + "path": "20" + }, + "1998": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2173, + 2182 + ], + "op": "CALLVALUE", + "path": "18", + "statement": 26 + }, + "1999": { + "branch": 74, + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2173, + 2187 + ], + "op": "ISZERO", + "path": "18" + }, + "2000": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH2", + "path": "18", + "value": "0x81B" + }, + "2003": { + "branch": 74, + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "JUMPI", + "path": "18" + }, + "2004": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2006": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "MLOAD", + "path": "18" + }, + "2007": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2011": { + "op": "PUSH1", + "value": "0xE5" + }, + "2013": { + "op": "SHL" + }, + "2014": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "DUP2", + "path": "18" + }, + "2015": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "MSTORE", + "path": "18" + }, + "2016": { + "op": "PUSH1", + "value": "0x20" + }, + "2018": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "2020": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "DUP3", + "path": "18" + }, + "2021": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "ADD", + "path": "18" + }, + "2022": { + "op": "MSTORE" + }, + "2023": { + "op": "PUSH1", + "value": "0x19" + }, + "2025": { + "op": "PUSH1", + "value": "0x24" + }, + "2027": { + "op": "DUP3" + }, + "2028": { + "op": "ADD" + }, + "2029": { + "op": "MSTORE" + }, + "2030": { + "op": "PUSH32", + "value": "0x5B436F72652E6D696E745D2076616C756520746F206265203000000000000000" + }, + "2063": { + "op": "PUSH1", + "value": "0x44" + }, + "2065": { + "op": "DUP3" + }, + "2066": { + "op": "ADD" + }, + "2067": { + "op": "MSTORE" + }, + "2068": { + "op": "PUSH1", + "value": "0x64" + }, + "2070": { + "op": "ADD" + }, + "2071": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "PUSH2", + "path": "18", + "value": "0x7BF" + }, + "2074": { + "op": "JUMP" + }, + "2075": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2165, + 2217 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2076": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2359 + ], + "op": "PUSH2", + "path": "18", + "statement": 27, + "value": "0x826" + }, + "2079": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2345, + 2355 + ], + "op": "CALLER", + "path": "18" + }, + "2080": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2357, + 2358 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "2082": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2344 + ], + "op": "PUSH2", + "path": "18", + "value": "0xE82" + }, + "2085": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2339, + 2359 + ], + "op": "JUMP", + "path": "18" + }, + "2086": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2339, + 2359 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2087": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2370, + 2388 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2089": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2391, + 2404 + ], + "op": "SLOAD", + "path": "18" + }, + "2090": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2523 + ], + "op": "PUSH2", + "path": "18", + "statement": 28, + "value": "0x833" + }, + "2093": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2391, + 2404 + ], + "op": "DUP2", + "path": "18" + }, + "2094": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2513, + 2522 + ], + "op": "DUP5", + "path": "18" + }, + "2095": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2500 + ], + "op": "PUSH2", + "path": "18", + "value": "0xFB5" + }, + "2098": { + "fn": "ERC721ExtensionCore.mint", + "jump": "i", + "offset": [ + 2488, + 2523 + ], + "op": "JUMP", + "path": "18" + }, + "2099": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2488, + 2523 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2100": { + "offset": [ + 876, + 877 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "2102": { + "offset": [ + 867, + 873 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "2104": { + "offset": [ + 867, + 877 + ], + "op": "SSTORE", + "path": "20" + }, + "2105": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2643, + 2653 + ], + "op": "SWAP3", + "path": "18", + "statement": 29 + }, + "2106": { + "fn": "ERC721ExtensionCore.mint", + "offset": [ + 2065, + 2660 + ], + "op": "SWAP2", + "path": "18" + }, + "2107": { + "op": "POP" + }, + "2108": { + "op": "POP" + }, + "2109": { + "fn": "ERC721ExtensionCore.mint", + "jump": "o", + "offset": [ + 2065, + 2660 + ], + "op": "JUMP", + "path": "18" + }, + "2110": { + "fn": "ERC721A._exists", + "offset": [ + 9923, + 10095 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2111": { + "fn": "ERC721A._exists", + "offset": [ + 9980, + 9984 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2113": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "DUP1", + "path": "17", + "statement": 30 + }, + "2114": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "SLOAD", + "path": "17" + }, + "2115": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10040 + ], + "op": "DUP3", + "path": "17" + }, + "2116": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10056 + ], + "op": "LT", + "path": "17" + }, + "2117": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "DUP1", + "path": "17" + }, + "2118": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2119": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "PUSH2", + "path": "17", + "value": "0x389" + }, + "2122": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "JUMPI", + "path": "17" + }, + "2123": { + "op": "POP" + }, + "2124": { + "op": "POP" + }, + "2125": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2127": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2128": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "DUP2", + "path": "17" + }, + "2129": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2130": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10072 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2132": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2134": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "2135": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2137": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "2138": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "KECCAK256", + "path": "17" + }, + "2139": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SLOAD", + "path": "17" + }, + "2140": { + "op": "PUSH1", + "value": "0x1" + }, + "2142": { + "op": "PUSH1", + "value": "0xE0" + }, + "2144": { + "op": "SHL" + }, + "2145": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2146": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "DIV", + "path": "17" + }, + "2147": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "2149": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "AND", + "path": "17" + }, + "2150": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "2151": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "2152": { + "fn": "ERC721A._exists", + "jump": "o", + "offset": [ + 9923, + 10095 + ], + "op": "JUMP", + "path": "17" + }, + "2153": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2154": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "statement": 31, + "value": "0x0" + }, + "2156": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2157": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP2", + "path": "17" + }, + "2158": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2159": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18973 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "2161": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2163": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "2164": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2166": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP1", + "path": "17" + }, + "2167": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "2168": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "KECCAK256", + "path": "17" + }, + "2169": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP1", + "path": "17" + }, + "2170": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SLOAD", + "path": "17" + }, + "2171": { + "op": "PUSH1", + "value": "0x1" + }, + "2173": { + "op": "PUSH1", + "value": "0x1" + }, + "2175": { + "op": "PUSH1", + "value": "0xA0" + }, + "2177": { + "op": "SHL" + }, + "2178": { + "op": "SUB" + }, + "2179": { + "op": "NOT" + }, + "2180": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2181": { + "op": "PUSH1", + "value": "0x1" + }, + "2183": { + "op": "PUSH1", + "value": "0x1" + }, + "2185": { + "op": "PUSH1", + "value": "0xA0" + }, + "2187": { + "op": "SHL" + }, + "2188": { + "op": "SUB" + }, + "2189": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP8", + "path": "17" + }, + "2190": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP2", + "path": "17" + }, + "2191": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "2192": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP2", + "path": "17" + }, + "2193": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP3", + "path": "17" + }, + "2194": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "OR", + "path": "17" + }, + "2195": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP1", + "path": "17" + }, + "2196": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP3", + "path": "17" + }, + "2197": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SSTORE", + "path": "17" + }, + "2198": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17", + "statement": 32 + }, + "2199": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "MLOAD", + "path": "17" + }, + "2200": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP6", + "path": "17" + }, + "2201": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "SWAP4", + "path": "17" + }, + "2202": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2203": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "DUP6", + "path": "17" + }, + "2204": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "AND", + "path": "17" + }, + "2205": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2206": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "PUSH32", + "path": "17", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "2239": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "2240": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "LOG4", + "path": "17" + }, + "2241": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2242": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2243": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "2244": { + "fn": "ERC721A._approve", + "jump": "o", + "offset": [ + 18848, + 19037 + ], + "op": "JUMP", + "path": "17" + }, + "2245": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2246": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14124 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2248": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8D0" + }, + "2251": { + "fn": "ERC721A._transfer", + "offset": [ + 14140, + 14147 + ], + "op": "DUP3", + "path": "17" + }, + "2252": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14139 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC7B" + }, + "2255": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14127, + 14148 + ], + "op": "JUMP", + "path": "17" + }, + "2256": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2257": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "SWAP1", + "path": "17" + }, + "2258": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "POP", + "path": "17" + }, + "2259": { + "fn": "ERC721A._transfer", + "offset": [ + 14185, + 14189 + ], + "op": "DUP4", + "path": "17", + "statement": 33 + }, + "2260": { + "op": "PUSH1", + "value": "0x1" + }, + "2262": { + "op": "PUSH1", + "value": "0x1" + }, + "2264": { + "op": "PUSH1", + "value": "0xA0" + }, + "2266": { + "op": "SHL" + }, + "2267": { + "op": "SUB" + }, + "2268": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2269": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14176 + ], + "op": "DUP2", + "path": "17" + }, + "2270": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2272": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "ADD", + "path": "17" + }, + "2273": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "MLOAD", + "path": "17" + }, + "2274": { + "op": "PUSH1", + "value": "0x1" + }, + "2276": { + "op": "PUSH1", + "value": "0x1" + }, + "2278": { + "op": "PUSH1", + "value": "0xA0" + }, + "2280": { + "op": "SHL" + }, + "2281": { + "op": "SUB" + }, + "2282": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "2283": { + "branch": 84, + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "EQ", + "path": "17" + }, + "2284": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "PUSH2", + "path": "17", + "value": "0x907" + }, + "2287": { + "branch": 84, + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPI", + "path": "17" + }, + "2288": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2290": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2291": { + "op": "PUSH3", + "value": "0xA11481" + }, + "2295": { + "op": "PUSH1", + "value": "0xE8" + }, + "2297": { + "op": "SHL" + }, + "2298": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP2", + "path": "17" + }, + "2299": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MSTORE", + "path": "17" + }, + "2300": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2302": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "ADD", + "path": "17" + }, + "2303": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2305": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "2306": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP1", + "path": "17" + }, + "2307": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP2", + "path": "17" + }, + "2308": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SUB", + "path": "17" + }, + "2309": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP1", + "path": "17" + }, + "2310": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "REVERT", + "path": "17" + }, + "2311": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2312": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14259 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2314": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2315": { + "op": "PUSH1", + "value": "0x1" + }, + "2317": { + "op": "PUSH1", + "value": "0x1" + }, + "2319": { + "op": "PUSH1", + "value": "0xA0" + }, + "2321": { + "op": "SHL" + }, + "2322": { + "op": "SUB" + }, + "2323": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP7", + "path": "17" + }, + "2324": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "AND", + "path": "17" + }, + "2325": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "EQ", + "path": "17" + }, + "2326": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP1", + "path": "17" + }, + "2327": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x925" + }, + "2330": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "JUMPI", + "path": "17" + }, + "2331": { + "op": "POP" + }, + "2332": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0x925" + }, + "2335": { + "fn": "ERC721A._transfer", + "offset": [ + 14304, + 14308 + ], + "op": "DUP6", + "path": "17" + }, + "2336": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2337": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x30F" + }, + "2340": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "2341": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2342": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "DUP1", + "path": "17" + }, + "2343": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "PUSH2", + "path": "17", + "value": "0x940" + }, + "2346": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPI", + "path": "17" + }, + "2347": { + "op": "POP" + }, + "2348": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2349": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "PUSH2", + "path": "17", + "value": "0x935" + }, + "2352": { + "fn": "ERC721A._transfer", + "offset": [ + 14339, + 14346 + ], + "op": "DUP5", + "path": "17" + }, + "2353": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14338 + ], + "op": "PUSH2", + "path": "17", + "value": "0x421" + }, + "2356": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14327, + 14347 + ], + "op": "JUMP", + "path": "17" + }, + "2357": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2358": { + "op": "PUSH1", + "value": "0x1" + }, + "2360": { + "op": "PUSH1", + "value": "0x1" + }, + "2362": { + "op": "PUSH1", + "value": "0xA0" + }, + "2364": { + "op": "SHL" + }, + "2365": { + "op": "SUB" + }, + "2366": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "AND", + "path": "17" + }, + "2367": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "EQ", + "path": "17" + }, + "2368": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2369": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "SWAP1", + "path": "17" + }, + "2370": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "POP", + "path": "17" + }, + "2371": { + "branch": 85, + "fn": "ERC721A._transfer", + "offset": [ + 14380, + 14397 + ], + "op": "DUP1", + "path": "17", + "statement": 34 + }, + "2372": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "PUSH2", + "path": "17", + "value": "0x960" + }, + "2375": { + "branch": 85, + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPI", + "path": "17" + }, + "2376": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2378": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2379": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "2384": { + "op": "PUSH1", + "value": "0xE1" + }, + "2386": { + "op": "SHL" + }, + "2387": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP2", + "path": "17" + }, + "2388": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MSTORE", + "path": "17" + }, + "2389": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2391": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "ADD", + "path": "17" + }, + "2392": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2394": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "2395": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP1", + "path": "17" + }, + "2396": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP2", + "path": "17" + }, + "2397": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SUB", + "path": "17" + }, + "2398": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP1", + "path": "17" + }, + "2399": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "REVERT", + "path": "17" + }, + "2400": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2401": { + "op": "PUSH1", + "value": "0x1" + }, + "2403": { + "op": "PUSH1", + "value": "0x1" + }, + "2405": { + "op": "PUSH1", + "value": "0xA0" + }, + "2407": { + "op": "SHL" + }, + "2408": { + "op": "SUB" + }, + "2409": { + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "DUP5", + "path": "17", + "statement": 35 + }, + "2410": { + "branch": 86, + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "AND", + "path": "17" + }, + "2411": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "PUSH2", + "path": "17", + "value": "0x987" + }, + "2414": { + "branch": 86, + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPI", + "path": "17" + }, + "2415": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2417": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2418": { + "op": "PUSH4", + "value": "0x3A954ECD" + }, + "2423": { + "op": "PUSH1", + "value": "0xE2" + }, + "2425": { + "op": "SHL" + }, + "2426": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP2", + "path": "17" + }, + "2427": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MSTORE", + "path": "17" + }, + "2428": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2430": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "ADD", + "path": "17" + }, + "2431": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2433": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "2434": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP1", + "path": "17" + }, + "2435": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP2", + "path": "17" + }, + "2436": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SUB", + "path": "17" + }, + "2437": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP1", + "path": "17" + }, + "2438": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "REVERT", + "path": "17" + }, + "2439": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2440": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "PUSH2", + "path": "17", + "statement": 36, + "value": "0x993" + }, + "2443": { + "fn": "ERC721A._transfer", + "offset": [ + 14636, + 14637 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2445": { + "fn": "ERC721A._transfer", + "offset": [ + 14640, + 14647 + ], + "op": "DUP5", + "path": "17" + }, + "2446": { + "fn": "ERC721A._transfer", + "offset": [ + 14649, + 14653 + ], + "op": "DUP8", + "path": "17" + }, + "2447": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14627 + ], + "op": "PUSH2", + "path": "17", + "value": "0x869" + }, + "2450": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14619, + 14654 + ], + "op": "JUMP", + "path": "17" + }, + "2451": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2452": { + "op": "PUSH1", + "value": "0x1" + }, + "2454": { + "op": "PUSH1", + "value": "0x1" + }, + "2456": { + "op": "PUSH1", + "value": "0xA0" + }, + "2458": { + "op": "SHL" + }, + "2459": { + "op": "SUB" + }, + "2460": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP6", + "path": "17", + "statement": 37 + }, + "2461": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2462": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "AND", + "path": "17" + }, + "2463": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2465": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2466": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2467": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2468": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14956 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2470": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2472": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "2473": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "2474": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "2475": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2477": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP1", + "path": "17" + }, + "2478": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP4", + "path": "17" + }, + "2479": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "KECCAK256", + "path": "17" + }, + "2480": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2481": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SLOAD", + "path": "17" + }, + "2482": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2491": { + "op": "NOT" + }, + "2492": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "2493": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP3", + "path": "17" + }, + "2494": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2495": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2504": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2505": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2506": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2507": { + "op": "PUSH1", + "value": "0x0" + }, + "2509": { + "op": "NOT" + }, + "2510": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "ADD", + "path": "17" + }, + "2511": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "2512": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "2513": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "OR", + "path": "17" + }, + "2514": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP1", + "path": "17" + }, + "2515": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "2516": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SSTORE", + "path": "17" + }, + "2517": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP10", + "path": "17", + "statement": 38 + }, + "2518": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2519": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "AND", + "path": "17" + }, + "2520": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP1", + "path": "17" + }, + "2521": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2522": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "MSTORE", + "path": "17" + }, + "2523": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP4", + "path": "17" + }, + "2524": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "2525": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "KECCAK256", + "path": "17" + }, + "2526": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP1", + "path": "17" + }, + "2527": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SLOAD", + "path": "17" + }, + "2528": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2529": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2530": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2531": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "2532": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP4", + "path": "17" + }, + "2533": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2534": { + "op": "PUSH1", + "value": "0x1" + }, + "2536": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2537": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP2", + "path": "17" + }, + "2538": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "ADD", + "path": "17" + }, + "2539": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "2540": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "2541": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2542": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2543": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "2544": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "OR", + "path": "17" + }, + "2545": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "2546": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SSTORE", + "path": "17" + }, + "2547": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP10", + "path": "17" + }, + "2548": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP7", + "path": "17" + }, + "2549": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2550": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15078 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2552": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP1", + "path": "17" + }, + "2553": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP5", + "path": "17" + }, + "2554": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "2555": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP3", + "path": "17" + }, + "2556": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP6", + "path": "17" + }, + "2557": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "KECCAK256", + "path": "17" + }, + "2558": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "DUP1", + "path": "17", + "statement": 39 + }, + "2559": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "SLOAD", + "path": "17" + }, + "2560": { + "op": "PUSH1", + "value": "0x1" + }, + "2562": { + "op": "PUSH1", + "value": "0x1" + }, + "2564": { + "op": "PUSH1", + "value": "0xE0" + }, + "2566": { + "op": "SHL" + }, + "2567": { + "op": "SUB" + }, + "2568": { + "op": "NOT" + }, + "2569": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17", + "statement": 40 + }, + "2570": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2571": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP5", + "path": "17" + }, + "2572": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2573": { + "op": "PUSH1", + "value": "0x1" + }, + "2575": { + "op": "PUSH1", + "value": "0xA0" + }, + "2577": { + "op": "SHL" + }, + "2578": { + "fn": "ERC721A._transfer", + "offset": [ + 15166, + 15181 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "2579": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2580": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP3", + "path": "17" + }, + "2581": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17" + }, + "2582": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2583": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "2584": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "2585": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "MUL", + "path": "17" + }, + "2586": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "2587": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "DUP4", + "path": "17" + }, + "2588": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SSTORE", + "path": "17" + }, + "2589": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "DUP8", + "path": "17" + }, + "2590": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "ADD", + "path": "17" + }, + "2591": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP1", + "path": "17" + }, + "2592": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP5", + "path": "17" + }, + "2593": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "MSTORE", + "path": "17" + }, + "2594": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP3", + "path": "17" + }, + "2595": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "KECCAK256", + "path": "17" + }, + "2596": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "DUP1", + "path": "17" + }, + "2597": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "SLOAD", + "path": "17" + }, + "2598": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP2", + "path": "17" + }, + "2599": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP4", + "path": "17" + }, + "2600": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP1", + "path": "17" + }, + "2601": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP2", + "path": "17" + }, + "2602": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "AND", + "path": "17" + }, + "2603": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA69" + }, + "2606": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "JUMPI", + "path": "17" + }, + "2607": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2609": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "SLOAD", + "path": "17" + }, + "2610": { + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15756 + ], + "op": "DUP3", + "path": "17" + }, + "2611": { + "branch": 87, + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15773 + ], + "op": "EQ", + "path": "17" + }, + "2612": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "PUSH2", + "path": "17", + "value": "0xA69" + }, + "2615": { + "branch": 87, + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPI", + "path": "17" + }, + "2616": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP1", + "path": "17", + "statement": 41 + }, + "2617": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "SLOAD", + "path": "17" + }, + "2618": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "PUSH1", + "path": "17", + "statement": 42, + "value": "0x20" + }, + "2620": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "DUP7", + "path": "17" + }, + "2621": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "ADD", + "path": "17" + }, + "2622": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "MLOAD", + "path": "17" + }, + "2623": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2632": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2633": { + "op": "PUSH1", + "value": "0x1" + }, + "2635": { + "op": "PUSH1", + "value": "0xA0" + }, + "2637": { + "op": "SHL" + }, + "2638": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "MUL", + "path": "17" + }, + "2639": { + "op": "PUSH1", + "value": "0x1" + }, + "2641": { + "op": "PUSH1", + "value": "0x1" + }, + "2643": { + "op": "PUSH1", + "value": "0xE0" + }, + "2645": { + "op": "SHL" + }, + "2646": { + "op": "SUB" + }, + "2647": { + "op": "NOT" + }, + "2648": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP1", + "path": "17" + }, + "2649": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP2", + "path": "17" + }, + "2650": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "2651": { + "op": "PUSH1", + "value": "0x1" + }, + "2653": { + "op": "PUSH1", + "value": "0x1" + }, + "2655": { + "op": "PUSH1", + "value": "0xA0" + }, + "2657": { + "op": "SHL" + }, + "2658": { + "op": "SUB" + }, + "2659": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP11", + "path": "17" + }, + "2660": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "AND", + "path": "17" + }, + "2661": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2662": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "2663": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "DUP2", + "path": "17" + }, + "2664": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SSTORE", + "path": "17" + }, + "2665": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2666": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2667": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2668": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "2669": { + "fn": "ERC721A._transfer", + "offset": [ + 15970, + 15977 + ], + "op": "DUP3", + "path": "17", + "statement": 43 + }, + "2670": { + "fn": "ERC721A._transfer", + "offset": [ + 15966, + 15968 + ], + "op": "DUP5", + "path": "17" + }, + "2671": { + "op": "PUSH1", + "value": "0x1" + }, + "2673": { + "op": "PUSH1", + "value": "0x1" + }, + "2675": { + "op": "PUSH1", + "value": "0xA0" + }, + "2677": { + "op": "SHL" + }, + "2678": { + "op": "SUB" + }, + "2679": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2680": { + "fn": "ERC721A._transfer", + "offset": [ + 15960, + 15964 + ], + "op": "DUP7", + "path": "17" + }, + "2681": { + "op": "PUSH1", + "value": "0x1" + }, + "2683": { + "op": "PUSH1", + "value": "0x1" + }, + "2685": { + "op": "PUSH1", + "value": "0xA0" + }, + "2687": { + "op": "SHL" + }, + "2688": { + "op": "SUB" + }, + "2689": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "2690": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH32", + "path": "17", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "2723": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2725": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2726": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2728": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "2729": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "DUP1", + "path": "17" + }, + "2730": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP2", + "path": "17" + }, + "2731": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SUB", + "path": "17" + }, + "2732": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP1", + "path": "17" + }, + "2733": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "LOG4", + "path": "17" + }, + "2734": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2735": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2736": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2737": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2738": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "2739": { + "fn": "ERC721A._transfer", + "jump": "o", + "offset": [ + 13979, + 16037 + ], + "op": "JUMP", + "path": "17" + }, + "2740": { + "fn": "ERC721A._burn", + "offset": [ + 16414, + 18737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2741": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2743": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "PUSH2", + "path": "17", + "value": "0xABF" + }, + "2746": { + "fn": "ERC721A._burn", + "offset": [ + 16544, + 16551 + ], + "op": "DUP4", + "path": "17" + }, + "2747": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16543 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC7B" + }, + "2750": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16531, + 16552 + ], + "op": "JUMP", + "path": "17" + }, + "2751": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2752": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "DUP1", + "path": "17" + }, + "2753": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "MLOAD", + "path": "17" + }, + "2754": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP1", + "path": "17" + }, + "2755": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP2", + "path": "17" + }, + "2756": { + "op": "POP" + }, + "2757": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "DUP3", + "path": "17" + }, + "2758": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "ISZERO", + "path": "17" + }, + "2759": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB25" + }, + "2762": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPI", + "path": "17" + }, + "2763": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16662 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2765": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2766": { + "op": "PUSH1", + "value": "0x1" + }, + "2768": { + "op": "PUSH1", + "value": "0x1" + }, + "2770": { + "op": "PUSH1", + "value": "0xA0" + }, + "2772": { + "op": "SHL" + }, + "2773": { + "op": "SUB" + }, + "2774": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP4", + "path": "17" + }, + "2775": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "AND", + "path": "17" + }, + "2776": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "EQ", + "path": "17" + }, + "2777": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP1", + "path": "17" + }, + "2778": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAE8" + }, + "2781": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "JUMPI", + "path": "17" + }, + "2782": { + "op": "POP" + }, + "2783": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAE8" + }, + "2786": { + "fn": "ERC721A._burn", + "offset": [ + 16707, + 16711 + ], + "op": "DUP3", + "path": "17" + }, + "2787": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2788": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x30F" + }, + "2791": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "2792": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2793": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "DUP1", + "path": "17" + }, + "2794": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB03" + }, + "2797": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPI", + "path": "17" + }, + "2798": { + "op": "POP" + }, + "2799": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2800": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "PUSH2", + "path": "17", + "value": "0xAF8" + }, + "2803": { + "fn": "ERC721A._burn", + "offset": [ + 16742, + 16749 + ], + "op": "DUP7", + "path": "17" + }, + "2804": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16741 + ], + "op": "PUSH2", + "path": "17", + "value": "0x421" + }, + "2807": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16730, + 16750 + ], + "op": "JUMP", + "path": "17" + }, + "2808": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2809": { + "op": "PUSH1", + "value": "0x1" + }, + "2811": { + "op": "PUSH1", + "value": "0x1" + }, + "2813": { + "op": "PUSH1", + "value": "0xA0" + }, + "2815": { + "op": "SHL" + }, + "2816": { + "op": "SUB" + }, + "2817": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "AND", + "path": "17" + }, + "2818": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "EQ", + "path": "17" + }, + "2819": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2820": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "SWAP1", + "path": "17" + }, + "2821": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "POP", + "path": "17" + }, + "2822": { + "branch": 88, + "fn": "ERC721A._burn", + "offset": [ + 16787, + 16804 + ], + "op": "DUP1", + "path": "17", + "statement": 44 + }, + "2823": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "PUSH2", + "path": "17", + "value": "0xB23" + }, + "2826": { + "branch": 88, + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPI", + "path": "17" + }, + "2827": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2829": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "2830": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "2835": { + "op": "PUSH1", + "value": "0xE1" + }, + "2837": { + "op": "SHL" + }, + "2838": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP2", + "path": "17" + }, + "2839": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MSTORE", + "path": "17" + }, + "2840": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2842": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "ADD", + "path": "17" + }, + "2843": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2845": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "2846": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP1", + "path": "17" + }, + "2847": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP2", + "path": "17" + }, + "2848": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SUB", + "path": "17" + }, + "2849": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP1", + "path": "17" + }, + "2850": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "REVERT", + "path": "17" + }, + "2851": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2852": { + "fn": "ERC721A._burn", + "offset": [ + 16626, + 16859 + ], + "op": "POP", + "path": "17" + }, + "2853": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2854": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "PUSH2", + "path": "17", + "statement": 45, + "value": "0xB31" + }, + "2857": { + "fn": "ERC721A._burn", + "offset": [ + 16999, + 17000 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2859": { + "fn": "ERC721A._burn", + "offset": [ + 17003, + 17010 + ], + "op": "DUP6", + "path": "17" + }, + "2860": { + "fn": "ERC721A._burn", + "offset": [ + 17012, + 17016 + ], + "op": "DUP4", + "path": "17" + }, + "2861": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 16990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x869" + }, + "2864": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16982, + 17017 + ], + "op": "JUMP", + "path": "17" + }, + "2865": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2866": { + "op": "PUSH1", + "value": "0x1" + }, + "2868": { + "op": "PUSH1", + "value": "0x1" + }, + "2870": { + "op": "PUSH1", + "value": "0xA0" + }, + "2872": { + "op": "SHL" + }, + "2873": { + "op": "SUB" + }, + "2874": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "2875": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP3", + "path": "17" + }, + "2876": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "AND", + "path": "17" + }, + "2877": { + "fn": "ERC721A._burn", + "offset": [ + 17307, + 17338 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2879": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "2880": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "2881": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "2882": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17353 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "2884": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2886": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP1", + "path": "17" + }, + "2887": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "2888": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "2889": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2891": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "2892": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP4", + "path": "17" + }, + "2893": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "KECCAK256", + "path": "17" + }, + "2894": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17", + "statement": 46 + }, + "2895": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SLOAD", + "path": "17" + }, + "2896": { + "op": "PUSH1", + "value": "0x1" + }, + "2898": { + "op": "PUSH1", + "value": "0x80" + }, + "2900": { + "op": "SHL" + }, + "2901": { + "op": "PUSH1", + "value": "0x0" + }, + "2903": { + "op": "NOT" + }, + "2904": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2913": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17" + }, + "2914": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "2915": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "2916": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "2917": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP1", + "path": "17" + }, + "2918": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "2919": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "ADD", + "path": "17" + }, + "2920": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "2921": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "2922": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "2931": { + "op": "NOT" + }, + "2932": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "2933": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "2934": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "2935": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "OR", + "path": "17" + }, + "2936": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17", + "statement": 47 + }, + "2937": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "2938": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DIV", + "path": "17" + }, + "2939": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP3", + "path": "17" + }, + "2940": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "2941": { + "fn": "ERC721A._burn", + "offset": [ + 17396, + 17397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2943": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "2944": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP2", + "path": "17" + }, + "2945": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "ADD", + "path": "17" + }, + "2946": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "2947": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "2948": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "2949": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP4", + "path": "17" + }, + "2950": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "MUL", + "path": "17" + }, + "2951": { + "op": "PUSH24", + "value": "0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF" + }, + "2976": { + "op": "NOT" + }, + "2977": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "2978": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP5", + "path": "17" + }, + "2979": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "2980": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "2981": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "2982": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "2983": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "2984": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "2985": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "2986": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SSTORE", + "path": "17" + }, + "2987": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP12", + "path": "17" + }, + "2988": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP7", + "path": "17" + }, + "2989": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "2990": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17581 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2992": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP1", + "path": "17" + }, + "2993": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP5", + "path": "17" + }, + "2994": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "2995": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP3", + "path": "17" + }, + "2996": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP6", + "path": "17" + }, + "2997": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "KECCAK256", + "path": "17" + }, + "2998": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "DUP1", + "path": "17", + "statement": 48 + }, + "2999": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "SLOAD", + "path": "17" + }, + "3000": { + "op": "PUSH1", + "value": "0xFF" + }, + "3002": { + "op": "PUSH1", + "value": "0xE0" + }, + "3004": { + "op": "SHL" + }, + "3005": { + "op": "NOT" + }, + "3006": { + "fn": "ERC721A._burn", + "offset": [ + 17671, + 17686 + ], + "op": "TIMESTAMP", + "path": "17", + "statement": 49 + }, + "3007": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3008": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP4", + "path": "17" + }, + "3009": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3010": { + "op": "PUSH1", + "value": "0x1" + }, + "3012": { + "op": "PUSH1", + "value": "0xA0" + }, + "3014": { + "op": "SHL" + }, + "3015": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "MUL", + "path": "17" + }, + "3016": { + "op": "PUSH1", + "value": "0x1" + }, + "3018": { + "op": "PUSH1", + "value": "0x1" + }, + "3020": { + "op": "PUSH1", + "value": "0xE0" + }, + "3022": { + "op": "SHL" + }, + "3023": { + "op": "SUB" + }, + "3024": { + "op": "NOT" + }, + "3025": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3026": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP2", + "path": "17" + }, + "3027": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "3028": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3029": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP8", + "path": "17" + }, + "3030": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3031": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3032": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "3033": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "3034": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "3035": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "AND", + "path": "17", + "statement": 50 + }, + "3036": { + "op": "PUSH1", + "value": "0x1" + }, + "3038": { + "op": "PUSH1", + "value": "0xE0" + }, + "3040": { + "op": "SHL" + }, + "3041": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "OR", + "path": "17" + }, + "3042": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "DUP6", + "path": "17" + }, + "3043": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "SSTORE", + "path": "17" + }, + "3044": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "SWAP2", + "path": "17" + }, + "3045": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "DUP10", + "path": "17" + }, + "3046": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "ADD", + "path": "17" + }, + "3047": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP1", + "path": "17" + }, + "3048": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP5", + "path": "17" + }, + "3049": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "MSTORE", + "path": "17" + }, + "3050": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP3", + "path": "17" + }, + "3051": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "KECCAK256", + "path": "17" + }, + "3052": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "DUP1", + "path": "17" + }, + "3053": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "SLOAD", + "path": "17" + }, + "3054": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP2", + "path": "17" + }, + "3055": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP5", + "path": "17" + }, + "3056": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP1", + "path": "17" + }, + "3057": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP2", + "path": "17" + }, + "3058": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "AND", + "path": "17" + }, + "3059": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC31" + }, + "3062": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "JUMPI", + "path": "17" + }, + "3063": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3065": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "SLOAD", + "path": "17" + }, + "3066": { + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18293 + ], + "op": "DUP3", + "path": "17" + }, + "3067": { + "branch": 89, + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18310 + ], + "op": "EQ", + "path": "17" + }, + "3068": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "PUSH2", + "path": "17", + "value": "0xC31" + }, + "3071": { + "branch": 89, + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPI", + "path": "17" + }, + "3072": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP1", + "path": "17", + "statement": 51 + }, + "3073": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "SLOAD", + "path": "17" + }, + "3074": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "PUSH1", + "path": "17", + "statement": 52, + "value": "0x20" + }, + "3076": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "DUP8", + "path": "17" + }, + "3077": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "ADD", + "path": "17" + }, + "3078": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "MLOAD", + "path": "17" + }, + "3079": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3088": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "3089": { + "op": "PUSH1", + "value": "0x1" + }, + "3091": { + "op": "PUSH1", + "value": "0xA0" + }, + "3093": { + "op": "SHL" + }, + "3094": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "MUL", + "path": "17" + }, + "3095": { + "op": "PUSH1", + "value": "0x1" + }, + "3097": { + "op": "PUSH1", + "value": "0x1" + }, + "3099": { + "op": "PUSH1", + "value": "0xE0" + }, + "3101": { + "op": "SHL" + }, + "3102": { + "op": "SUB" + }, + "3103": { + "op": "NOT" + }, + "3104": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP1", + "path": "17" + }, + "3105": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP2", + "path": "17" + }, + "3106": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "3107": { + "op": "PUSH1", + "value": "0x1" + }, + "3109": { + "op": "PUSH1", + "value": "0x1" + }, + "3111": { + "op": "PUSH1", + "value": "0xA0" + }, + "3113": { + "op": "SHL" + }, + "3114": { + "op": "SUB" + }, + "3115": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP8", + "path": "17" + }, + "3116": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "AND", + "path": "17" + }, + "3117": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "3118": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "3119": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "DUP2", + "path": "17" + }, + "3120": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SSTORE", + "path": "17" + }, + "3121": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3122": { + "op": "POP" + }, + "3123": { + "op": "POP" + }, + "3124": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH1", + "path": "17", + "statement": 53, + "value": "0x40" + }, + "3126": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "MLOAD", + "path": "17" + }, + "3127": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "DUP7", + "path": "17" + }, + "3128": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "SWAP3", + "path": "17" + }, + "3129": { + "op": "POP" + }, + "3130": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3132": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP2", + "path": "17" + }, + "3133": { + "op": "POP" + }, + "3134": { + "op": "PUSH1", + "value": "0x1" + }, + "3136": { + "op": "PUSH1", + "value": "0x1" + }, + "3138": { + "op": "PUSH1", + "value": "0xA0" + }, + "3140": { + "op": "SHL" + }, + "3141": { + "op": "SUB" + }, + "3142": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "DUP5", + "path": "17" + }, + "3143": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "AND", + "path": "17" + }, + "3144": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "3145": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH32", + "path": "17", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "3178": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "3179": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "DUP4", + "path": "17" + }, + "3180": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP1", + "path": "17" + }, + "3181": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "LOG4", + "path": "17" + }, + "3182": { + "op": "POP" + }, + "3183": { + "op": "POP" + }, + "3184": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18718 + ], + "op": "PUSH1", + "path": "17", + "statement": 54, + "value": "0x1" + }, + "3186": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP1", + "path": "17" + }, + "3187": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SLOAD", + "path": "17" + }, + "3188": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP2", + "path": "17" + }, + "3189": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "ADD", + "path": "17" + }, + "3190": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SWAP1", + "path": "17" + }, + "3191": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SSTORE", + "path": "17" + }, + "3192": { + "op": "POP" + }, + "3193": { + "op": "POP" + }, + "3194": { + "fn": "ERC721A._burn", + "jump": "o", + "offset": [ + 16414, + 18737 + ], + "op": "JUMP", + "path": "17" + }, + "3195": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3196": { + "op": "PUSH1", + "value": "0x40" + }, + "3198": { + "op": "DUP1" + }, + "3199": { + "op": "MLOAD" + }, + "3200": { + "op": "PUSH1", + "value": "0x60" + }, + "3202": { + "op": "DUP2" + }, + "3203": { + "op": "ADD" + }, + "3204": { + "op": "DUP3" + }, + "3205": { + "op": "MSTORE" + }, + "3206": { + "op": "PUSH1", + "value": "0x0" + }, + "3208": { + "op": "DUP1" + }, + "3209": { + "op": "DUP3" + }, + "3210": { + "op": "MSTORE" + }, + "3211": { + "op": "PUSH1", + "value": "0x20" + }, + "3213": { + "op": "DUP3" + }, + "3214": { + "op": "ADD" + }, + "3215": { + "op": "DUP2" + }, + "3216": { + "op": "SWAP1" + }, + "3217": { + "op": "MSTORE" + }, + "3218": { + "op": "SWAP2" + }, + "3219": { + "op": "DUP2" + }, + "3220": { + "op": "ADD" + }, + "3221": { + "op": "SWAP2" + }, + "3222": { + "op": "SWAP1" + }, + "3223": { + "op": "SWAP2" + }, + "3224": { + "op": "MSTORE" + }, + "3225": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP2", + "path": "17" + }, + "3226": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3228": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "SLOAD", + "path": "17" + }, + "3229": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5293 + ], + "op": "DUP2", + "path": "17" + }, + "3230": { + "branch": 90, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5309 + ], + "op": "LT", + "path": "17" + }, + "3231": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "ISZERO", + "path": "17" + }, + "3232": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD7E" + }, + "3235": { + "branch": 90, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "3236": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5364 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3238": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3239": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3240": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3241": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3243": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3245": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3246": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3247": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3248": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3250": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3251": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3252": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3253": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "KECCAK256", + "path": "17" + }, + "3254": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3255": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MLOAD", + "path": "17" + }, + "3256": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3258": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3259": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3260": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP5", + "path": "17" + }, + "3261": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3262": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3263": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SLOAD", + "path": "17" + }, + "3264": { + "op": "PUSH1", + "value": "0x1" + }, + "3266": { + "op": "PUSH1", + "value": "0x1" + }, + "3268": { + "op": "PUSH1", + "value": "0xA0" + }, + "3270": { + "op": "SHL" + }, + "3271": { + "op": "SUB" + }, + "3272": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3273": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3274": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3275": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3276": { + "op": "PUSH1", + "value": "0x1" + }, + "3278": { + "op": "PUSH1", + "value": "0xA0" + }, + "3280": { + "op": "SHL" + }, + "3281": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3282": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3283": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3292": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3293": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3294": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3295": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3296": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3297": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3298": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "3299": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3300": { + "op": "PUSH1", + "value": "0x1" + }, + "3302": { + "op": "PUSH1", + "value": "0xE0" + }, + "3304": { + "op": "SHL" + }, + "3305": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3306": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3307": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "3308": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3310": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "3311": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3312": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "3313": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "3314": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "3315": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "3316": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "3317": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3318": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "3319": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "3320": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD7C" + }, + "3323": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "JUMPI", + "path": "17" + }, + "3324": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "DUP1", + "path": "17" + }, + "3325": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "MLOAD", + "path": "17" + }, + "3326": { + "op": "PUSH1", + "value": "0x1" + }, + "3328": { + "op": "PUSH1", + "value": "0x1" + }, + "3330": { + "op": "PUSH1", + "value": "0xA0" + }, + "3332": { + "op": "SHL" + }, + "3333": { + "op": "SUB" + }, + "3334": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "AND", + "path": "17" + }, + "3335": { + "branch": 91, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "ISZERO", + "path": "17" + }, + "3336": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD12" + }, + "3339": { + "branch": 91, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPI", + "path": "17" + }, + "3340": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5526, + 5535 + ], + "op": "SWAP4", + "path": "17", + "statement": 55 + }, + "3341": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3342": { + "op": "POP" + }, + "3343": { + "op": "POP" + }, + "3344": { + "op": "POP" + }, + "3345": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3346": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3347": { + "op": "POP" + }, + "3348": { + "op": "PUSH1", + "value": "0x0" + }, + "3350": { + "op": "NOT" + }, + "3351": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5922, + 5928 + ], + "op": "ADD", + "path": "17", + "statement": 56 + }, + "3352": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "statement": 57, + "value": "0x0" + }, + "3354": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3355": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3356": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3357": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5981 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3359": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3361": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3362": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3363": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3364": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3366": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP2", + "path": "17" + }, + "3367": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3368": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3369": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "KECCAK256", + "path": "17" + }, + "3370": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3371": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MLOAD", + "path": "17" + }, + "3372": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3374": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3375": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3376": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP5", + "path": "17" + }, + "3377": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3378": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3379": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SLOAD", + "path": "17" + }, + "3380": { + "op": "PUSH1", + "value": "0x1" + }, + "3382": { + "op": "PUSH1", + "value": "0x1" + }, + "3384": { + "op": "PUSH1", + "value": "0xA0" + }, + "3386": { + "op": "SHL" + }, + "3387": { + "op": "SUB" + }, + "3388": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3389": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3390": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP1", + "path": "17" + }, + "3391": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3392": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3393": { + "op": "PUSH1", + "value": "0x1" + }, + "3395": { + "op": "PUSH1", + "value": "0xA0" + }, + "3397": { + "op": "SHL" + }, + "3398": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "3399": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3400": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3409": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3410": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3411": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "3412": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3413": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3414": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3415": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "3416": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3417": { + "op": "PUSH1", + "value": "0x1" + }, + "3419": { + "op": "PUSH1", + "value": "0xE0" + }, + "3421": { + "op": "SHL" + }, + "3422": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3423": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "3424": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3426": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "3427": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3428": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "3429": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3430": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "3431": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "3432": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3433": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "3434": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "3435": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "3436": { + "branch": 92, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6021, + 6049 + ], + "op": "ISZERO", + "path": "17" + }, + "3437": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD77" + }, + "3440": { + "branch": 92, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPI", + "path": "17" + }, + "3441": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6092, + 6101 + ], + "op": "SWAP4", + "path": "17", + "statement": 58 + }, + "3442": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "3443": { + "op": "POP" + }, + "3444": { + "op": "POP" + }, + "3445": { + "op": "POP" + }, + "3446": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "3447": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3448": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "PUSH2", + "path": "17", + "value": "0xD12" + }, + "3451": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMP", + "path": "17" + }, + "3452": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3453": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5311, + 6198 + ], + "op": "POP", + "path": "17" + }, + "3454": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3455": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3457": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3458": { + "op": "PUSH4", + "value": "0x6F96CDA1" + }, + "3463": { + "op": "PUSH1", + "value": "0xE1" + }, + "3465": { + "op": "SHL" + }, + "3466": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP2", + "path": "17" + }, + "3467": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MSTORE", + "path": "17" + }, + "3468": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3470": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "ADD", + "path": "17" + }, + "3471": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3473": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "3474": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP1", + "path": "17" + }, + "3475": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP2", + "path": "17" + }, + "3476": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SUB", + "path": "17" + }, + "3477": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP1", + "path": "17" + }, + "3478": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "REVERT", + "path": "17" + }, + "3479": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3480": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3482": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3483": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "3488": { + "op": "PUSH1", + "value": "0xE1" + }, + "3490": { + "op": "SHL" + }, + "3491": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3492": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "3493": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3495": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "SWAP1", + "path": "17" + }, + "3496": { + "op": "PUSH1", + "value": "0x1" + }, + "3498": { + "op": "PUSH1", + "value": "0x1" + }, + "3500": { + "op": "PUSH1", + "value": "0xA0" + }, + "3502": { + "op": "SHL" + }, + "3503": { + "op": "SUB" + }, + "3504": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "DUP6", + "path": "17" + }, + "3505": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "AND", + "path": "17" + }, + "3506": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "3507": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "PUSH4", + "path": "17", + "value": "0x150B7A02" + }, + "3512": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "3513": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xDCC" + }, + "3516": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3517": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3518": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP1", + "path": "5" + }, + "3519": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "DUP10", + "path": "17" + }, + "3520": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "SWAP1", + "path": "17" + }, + "3521": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "DUP9", + "path": "17" + }, + "3522": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "SWAP1", + "path": "17" + }, + "3523": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "DUP9", + "path": "17" + }, + "3524": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "SWAP1", + "path": "17" + }, + "3525": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3527": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3528": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x13CB" + }, + "3531": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "3532": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3533": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3535": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3537": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3538": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3539": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP4", + "path": "17" + }, + "3540": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SUB", + "path": "17" + }, + "3541": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3542": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3544": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP8", + "path": "17" + }, + "3545": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "GAS", + "path": "17" + }, + "3546": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "CALL", + "path": "17" + }, + "3547": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "3548": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3549": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3550": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "3551": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3552": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ISZERO", + "path": "17" + }, + "3553": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE07" + }, + "3556": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPI", + "path": "17" + }, + "3557": { + "op": "POP" + }, + "3558": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3560": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "3561": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "3562": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "3564": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3565": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3566": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3567": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3568": { + "op": "PUSH1", + "value": "0x1F" + }, + "3570": { + "op": "NOT" + }, + "3571": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "AND", + "path": "17" + }, + "3572": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP3", + "path": "17" + }, + "3573": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3574": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3575": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "3576": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "3577": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE04" + }, + "3580": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP2", + "path": "17" + }, + "3581": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "3582": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "3583": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "3584": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1408" + }, + "3587": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "3588": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3589": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3591": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3592": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE65" + }, + "3595": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "3596": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3597": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "3598": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "3599": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ISZERO", + "path": "17" + }, + "3600": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE35" + }, + "3603": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "3604": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3606": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MLOAD", + "path": "17" + }, + "3607": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "3608": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "3609": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "3611": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "NOT", + "path": "17" + }, + "3612": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x3F" + }, + "3614": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3615": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "3616": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "AND", + "path": "17" + }, + "3617": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "3618": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "3619": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3621": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "3622": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3623": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "3624": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "3625": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "3626": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3628": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3630": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP5", + "path": "17" + }, + "3631": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "3632": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATACOPY", + "path": "17" + }, + "3633": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE3A" + }, + "3636": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMP", + "path": "17" + }, + "3637": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3638": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "3640": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "3641": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "3642": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3643": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "3644": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19933 + ], + "op": "DUP1", + "path": "17", + "statement": 59 + }, + "3645": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19940 + ], + "op": "MLOAD", + "path": "17" + }, + "3646": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19944, + 19945 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3648": { + "branch": 93, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19945 + ], + "op": "SUB", + "path": "17" + }, + "3649": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE5D" + }, + "3652": { + "branch": 93, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPI", + "path": "17" + }, + "3653": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3655": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "3656": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "3661": { + "op": "PUSH1", + "value": "0xE1" + }, + "3663": { + "op": "SHL" + }, + "3664": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP2", + "path": "17" + }, + "3665": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MSTORE", + "path": "17" + }, + "3666": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3668": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "ADD", + "path": "17" + }, + "3669": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3671": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "3672": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP1", + "path": "17" + }, + "3673": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP2", + "path": "17" + }, + "3674": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SUB", + "path": "17" + }, + "3675": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP1", + "path": "17" + }, + "3676": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "REVERT", + "path": "17" + }, + "3677": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3678": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20112, + 20118 + ], + "op": "DUP1", + "path": "17" + }, + "3679": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20106, + 20119 + ], + "op": "MLOAD", + "path": "17" + }, + "3680": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20097, + 20103 + ], + "op": "DUP2", + "path": "17" + }, + "3681": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20093, + 20095 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3683": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20089, + 20104 + ], + "op": "ADD", + "path": "17" + }, + "3684": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20082, + 20120 + ], + "op": "REVERT", + "path": "17" + }, + "3685": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3686": { + "op": "PUSH1", + "value": "0x1" + }, + "3688": { + "op": "PUSH1", + "value": "0x1" + }, + "3690": { + "op": "PUSH1", + "value": "0xE0" + }, + "3692": { + "op": "SHL" + }, + "3693": { + "op": "SUB" + }, + "3694": { + "op": "NOT" + }, + "3695": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "AND", + "path": "17", + "statement": 60 + }, + "3696": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "3701": { + "op": "PUSH1", + "value": "0xE1" + }, + "3703": { + "op": "SHL" + }, + "3704": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "EQ", + "path": "17" + }, + "3705": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "SWAP1", + "path": "17" + }, + "3706": { + "op": "POP" + }, + "3707": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP5", + "path": "17" + }, + "3708": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP4", + "path": "17" + }, + "3709": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "3710": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "3711": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "3712": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "3713": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "o", + "offset": [ + 19518, + 20168 + ], + "op": "JUMP", + "path": "17" + }, + "3714": { + "fn": "ERC721A._mint", + "offset": [ + 12591, + 13737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3715": { + "fn": "ERC721A._mint", + "offset": [ + 12655, + 12675 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3717": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "SLOAD", + "path": "17" + }, + "3718": { + "op": "PUSH1", + "value": "0x1" + }, + "3720": { + "op": "PUSH1", + "value": "0x1" + }, + "3722": { + "op": "PUSH1", + "value": "0xA0" + }, + "3724": { + "op": "SHL" + }, + "3725": { + "op": "SUB" + }, + "3726": { + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "DUP4", + "path": "17", + "statement": 61 + }, + "3727": { + "branch": 94, + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "AND", + "path": "17" + }, + "3728": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEAB" + }, + "3731": { + "branch": 94, + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPI", + "path": "17" + }, + "3732": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3734": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "3735": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "3739": { + "op": "PUSH1", + "value": "0xE8" + }, + "3741": { + "op": "SHL" + }, + "3742": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP2", + "path": "17" + }, + "3743": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MSTORE", + "path": "17" + }, + "3744": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3746": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "ADD", + "path": "17" + }, + "3747": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3749": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "3750": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP1", + "path": "17" + }, + "3751": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP2", + "path": "17" + }, + "3752": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SUB", + "path": "17" + }, + "3753": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP1", + "path": "17" + }, + "3754": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "REVERT", + "path": "17" + }, + "3755": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3756": { + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12771 + ], + "op": "DUP2", + "path": "17", + "statement": 62 + }, + "3757": { + "fn": "ERC721A._mint", + "offset": [ + 12775, + 12776 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3759": { + "branch": 95, + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12776 + ], + "op": "SUB", + "path": "17" + }, + "3760": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "PUSH2", + "path": "17", + "value": "0xECC" + }, + "3763": { + "branch": 95, + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPI", + "path": "17" + }, + "3764": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3766": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "3767": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "3772": { + "op": "PUSH1", + "value": "0xE0" + }, + "3774": { + "op": "SHL" + }, + "3775": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP2", + "path": "17" + }, + "3776": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MSTORE", + "path": "17" + }, + "3777": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3779": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "ADD", + "path": "17" + }, + "3780": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3782": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "3783": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP1", + "path": "17" + }, + "3784": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP2", + "path": "17" + }, + "3785": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SUB", + "path": "17" + }, + "3786": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP1", + "path": "17" + }, + "3787": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "REVERT", + "path": "17" + }, + "3788": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3789": { + "op": "PUSH1", + "value": "0x1" + }, + "3791": { + "op": "PUSH1", + "value": "0x1" + }, + "3793": { + "op": "PUSH1", + "value": "0xA0" + }, + "3795": { + "op": "SHL" + }, + "3796": { + "op": "SUB" + }, + "3797": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17", + "statement": 63 + }, + "3798": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "AND", + "path": "17" + }, + "3799": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3801": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "3802": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "3803": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "3804": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13158 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "3806": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3808": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "SWAP1", + "path": "17" + }, + "3809": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "3810": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "3811": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3813": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP1", + "path": "17" + }, + "3814": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17" + }, + "3815": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "KECCAK256", + "path": "17" + }, + "3816": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "3817": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SLOAD", + "path": "17" + }, + "3818": { + "op": "PUSH16", + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "3835": { + "op": "NOT" + }, + "3836": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17", + "statement": 64 + }, + "3837": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "3838": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "PUSH8", + "path": "17", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3847": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "3848": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP4", + "path": "17" + }, + "3849": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "3850": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP11", + "path": "17" + }, + "3851": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "ADD", + "path": "17" + }, + "3852": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP2", + "path": "17" + }, + "3853": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "3854": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "3855": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP3", + "path": "17" + }, + "3856": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "3857": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "PUSH9", + "path": "17", + "value": "0x10000000000000000" + }, + "3867": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3876": { + "op": "NOT" + }, + "3877": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "3878": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP5", + "path": "17" + }, + "3879": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "3880": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "3881": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP3", + "path": "17" + }, + "3882": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "OR", + "path": "17" + }, + "3883": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP4", + "path": "17" + }, + "3884": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "3885": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DIV", + "path": "17" + }, + "3886": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "3887": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "3888": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP11", + "path": "17" + }, + "3889": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "ADD", + "path": "17" + }, + "3890": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "3891": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "3892": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "3893": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP3", + "path": "17" + }, + "3894": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "MUL", + "path": "17" + }, + "3895": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "3896": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "3897": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "3898": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SSTORE", + "path": "17" + }, + "3899": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP6", + "path": "17", + "statement": 65 + }, + "3900": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP5", + "path": "17" + }, + "3901": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "3902": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13279 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3904": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "3905": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP3", + "path": "17" + }, + "3906": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "3907": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "3908": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP2", + "path": "17" + }, + "3909": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "KECCAK256", + "path": "17" + }, + "3910": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "DUP1", + "path": "17" + }, + "3911": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "SLOAD", + "path": "17" + }, + "3912": { + "op": "PUSH1", + "value": "0x1" + }, + "3914": { + "op": "PUSH1", + "value": "0x1" + }, + "3916": { + "op": "PUSH1", + "value": "0xE0" + }, + "3918": { + "op": "SHL" + }, + "3919": { + "op": "SUB" + }, + "3920": { + "op": "NOT" + }, + "3921": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17", + "statement": 66 + }, + "3922": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3923": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "3924": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "3925": { + "op": "PUSH1", + "value": "0x1" + }, + "3927": { + "op": "PUSH1", + "value": "0xA0" + }, + "3929": { + "op": "SHL" + }, + "3930": { + "fn": "ERC721A._mint", + "offset": [ + 13367, + 13382 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "3931": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3932": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "3933": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17" + }, + "3934": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "3935": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3936": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "3937": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "MUL", + "path": "17" + }, + "3938": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "3939": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "3940": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SSTORE", + "path": "17" + }, + "3941": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP1", + "path": "17" + }, + "3942": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP1", + "path": "17" + }, + "3943": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP4", + "path": "17" + }, + "3944": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "ADD", + "path": "17" + }, + "3945": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3946": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH1", + "path": "17", + "statement": 67, + "value": "0x40" + }, + "3948": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "MLOAD", + "path": "17" + }, + "3949": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "3951": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "DUP4", + "path": "17" + }, + "3952": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "ADD", + "path": "17" + }, + "3953": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP3", + "path": "17" + }, + "3954": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP1", + "path": "17" + }, + "3955": { + "op": "PUSH1", + "value": "0x1" + }, + "3957": { + "op": "PUSH1", + "value": "0x1" + }, + "3959": { + "op": "PUSH1", + "value": "0xA0" + }, + "3961": { + "op": "SHL" + }, + "3962": { + "op": "SUB" + }, + "3963": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "DUP8", + "path": "17" + }, + "3964": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "AND", + "path": "17" + }, + "3965": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "3966": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3968": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "3969": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH32", + "path": "17", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "4002": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "4003": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "DUP3", + "path": "17" + }, + "4004": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "4005": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "LOG4", + "path": "17" + }, + "4006": { + "fn": "ERC721A._mint", + "offset": [ + 13603, + 13606 + ], + "op": "DUP1", + "path": "17" + }, + "4007": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13600 + ], + "op": "DUP3", + "path": "17" + }, + "4008": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13606 + ], + "op": "LT", + "path": "17" + }, + "4009": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF69" + }, + "4012": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPI", + "path": "17" + }, + "4013": { + "op": "POP" + }, + "4014": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13635 + ], + "op": "PUSH1", + "path": "17", + "statement": 68, + "value": "0x0" + }, + "4016": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13650 + ], + "op": "SSTORE", + "path": "17" + }, + "4017": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4018": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4019": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "4020": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "4021": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1614, + 1920 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4022": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "DUP1", + "path": "18", + "statement": 69 + }, + "4023": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "MLOAD", + "path": "18" + }, + "4024": { + "branch": 75, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1737 + ], + "op": "ISZERO", + "path": "18" + }, + "4025": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0xFF6" + }, + "4028": { + "branch": 75, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPI", + "path": "18" + }, + "4029": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4031": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MLOAD", + "path": "18" + }, + "4032": { + "op": "PUSH4", + "value": "0x193C4E6D" + }, + "4037": { + "op": "PUSH1", + "value": "0xE3" + }, + "4039": { + "op": "SHL" + }, + "4040": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP2", + "path": "18" + }, + "4041": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MSTORE", + "path": "18" + }, + "4042": { + "op": "PUSH1", + "value": "0x20" + }, + "4044": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "4046": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP3", + "path": "18" + }, + "4047": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "ADD", + "path": "18" + }, + "4048": { + "op": "MSTORE" + }, + "4049": { + "op": "PUSH1", + "value": "0xE" + }, + "4051": { + "op": "PUSH1", + "value": "0x24" + }, + "4053": { + "op": "DUP3" + }, + "4054": { + "op": "ADD" + }, + "4055": { + "op": "MSTORE" + }, + "4056": { + "op": "PUSH14", + "value": "0x656D70747920746F6B656E555249" + }, + "4071": { + "op": "PUSH1", + "value": "0x90" + }, + "4073": { + "op": "SHL" + }, + "4074": { + "op": "PUSH1", + "value": "0x44" + }, + "4076": { + "op": "DUP3" + }, + "4077": { + "op": "ADD" + }, + "4078": { + "op": "MSTORE" + }, + "4079": { + "op": "PUSH1", + "value": "0x64" + }, + "4081": { + "op": "ADD" + }, + "4082": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0x7BF" + }, + "4085": { + "op": "JUMP" + }, + "4086": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4087": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "statement": 70, + "value": "0x0" + }, + "4089": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP3", + "path": "18" + }, + "4090": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP2", + "path": "18" + }, + "4091": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "4092": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1813 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "4094": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "4096": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "4097": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4099": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "SWAP1", + "path": "18" + }, + "4100": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "KECCAK256", + "path": "18" + }, + "4101": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "DUP1", + "path": "18" + }, + "4102": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SLOAD", + "path": "18" + }, + "4103": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x100F" + }, + "4106": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SWAP1", + "path": "18" + }, + "4107": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1362" + }, + "4110": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1797, + 1830 + ], + "op": "JUMP", + "path": "18" + }, + "4111": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4112": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "ISZERO", + "path": "18" + }, + "4113": { + "branch": 76, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "SWAP1", + "path": "18" + }, + "4114": { + "op": "POP" + }, + "4115": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "PUSH2", + "path": "18", + "value": "0x102F" + }, + "4118": { + "branch": 76, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPI", + "path": "18" + }, + "4119": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4121": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "4122": { + "op": "PUSH4", + "value": "0x162134B" + }, + "4127": { + "op": "PUSH1", + "value": "0xE1" + }, + "4129": { + "op": "SHL" + }, + "4130": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP2", + "path": "18" + }, + "4131": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MSTORE", + "path": "18" + }, + "4132": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "4134": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "ADD", + "path": "18" + }, + "4135": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4137": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "4138": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP1", + "path": "18" + }, + "4139": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP2", + "path": "18" + }, + "4140": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SUB", + "path": "18" + }, + "4141": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP1", + "path": "18" + }, + "4142": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "REVERT", + "path": "18" + }, + "4143": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPDEST", + "path": "18" + }, + "4144": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "statement": 71, + "value": "0x0" + }, + "4146": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "4147": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP2", + "path": "18" + }, + "4148": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "4149": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1892 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "4151": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "4153": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "4154": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "4156": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "SWAP1", + "path": "18" + }, + "4157": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "KECCAK256", + "path": "18" + }, + "4158": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x4E6" + }, + "4161": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1904, + 1913 + ], + "op": "DUP3", + "path": "18" + }, + "4162": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "4163": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1473" + }, + "4166": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1882, + 1913 + ], + "op": "JUMP", + "path": "18" + }, + "4167": { + "op": "JUMPDEST" + }, + "4168": { + "op": "PUSH1", + "value": "0x1" + }, + "4170": { + "op": "PUSH1", + "value": "0x1" + }, + "4172": { + "op": "PUSH1", + "value": "0xE0" + }, + "4174": { + "op": "SHL" + }, + "4175": { + "op": "SUB" + }, + "4176": { + "op": "NOT" + }, + "4177": { + "op": "DUP2" + }, + "4178": { + "op": "AND" + }, + "4179": { + "op": "DUP2" + }, + "4180": { + "op": "EQ" + }, + "4181": { + "op": "PUSH2", + "value": "0x51C" + }, + "4184": { + "op": "JUMPI" + }, + "4185": { + "op": "PUSH1", + "value": "0x0" + }, + "4187": { + "op": "DUP1" + }, + "4188": { + "op": "REVERT" + }, + "4189": { + "op": "JUMPDEST" + }, + "4190": { + "op": "PUSH1", + "value": "0x0" + }, + "4192": { + "op": "PUSH1", + "value": "0x20" + }, + "4194": { + "op": "DUP3" + }, + "4195": { + "op": "DUP5" + }, + "4196": { + "op": "SUB" + }, + "4197": { + "op": "SLT" + }, + "4198": { + "op": "ISZERO" + }, + "4199": { + "op": "PUSH2", + "value": "0x106F" + }, + "4202": { + "op": "JUMPI" + }, + "4203": { + "op": "PUSH1", + "value": "0x0" + }, + "4205": { + "op": "DUP1" + }, + "4206": { + "op": "REVERT" + }, + "4207": { + "op": "JUMPDEST" + }, + "4208": { + "op": "DUP2" + }, + "4209": { + "op": "CALLDATALOAD" + }, + "4210": { + "op": "PUSH2", + "value": "0x107A" + }, + "4213": { + "op": "DUP2" + }, + "4214": { + "op": "PUSH2", + "value": "0x1047" + }, + "4217": { + "jump": "i", + "op": "JUMP" + }, + "4218": { + "op": "JUMPDEST" + }, + "4219": { + "op": "SWAP4" + }, + "4220": { + "op": "SWAP3" + }, + "4221": { + "op": "POP" + }, + "4222": { + "op": "POP" + }, + "4223": { + "op": "POP" + }, + "4224": { + "jump": "o", + "op": "JUMP" + }, + "4225": { + "op": "JUMPDEST" + }, + "4226": { + "op": "PUSH1", + "value": "0x0" + }, + "4228": { + "op": "JUMPDEST" + }, + "4229": { + "op": "DUP4" + }, + "4230": { + "op": "DUP2" + }, + "4231": { + "op": "LT" + }, + "4232": { + "op": "ISZERO" + }, + "4233": { + "op": "PUSH2", + "value": "0x109C" + }, + "4236": { + "op": "JUMPI" + }, + "4237": { + "op": "DUP2" + }, + "4238": { + "op": "DUP2" + }, + "4239": { + "op": "ADD" + }, + "4240": { + "op": "MLOAD" + }, + "4241": { + "op": "DUP4" + }, + "4242": { + "op": "DUP3" + }, + "4243": { + "op": "ADD" + }, + "4244": { + "op": "MSTORE" + }, + "4245": { + "op": "PUSH1", + "value": "0x20" + }, + "4247": { + "op": "ADD" + }, + "4248": { + "op": "PUSH2", + "value": "0x1084" + }, + "4251": { + "op": "JUMP" + }, + "4252": { + "op": "JUMPDEST" + }, + "4253": { + "op": "DUP4" + }, + "4254": { + "op": "DUP2" + }, + "4255": { + "op": "GT" + }, + "4256": { + "op": "ISZERO" + }, + "4257": { + "op": "PUSH2", + "value": "0x668" + }, + "4260": { + "op": "JUMPI" + }, + "4261": { + "op": "POP" + }, + "4262": { + "op": "POP" + }, + "4263": { + "op": "PUSH1", + "value": "0x0" + }, + "4265": { + "op": "SWAP2" + }, + "4266": { + "op": "ADD" + }, + "4267": { + "op": "MSTORE" + }, + "4268": { + "jump": "o", + "op": "JUMP" + }, + "4269": { + "op": "JUMPDEST" + }, + "4270": { + "op": "PUSH1", + "value": "0x0" + }, + "4272": { + "op": "DUP2" + }, + "4273": { + "op": "MLOAD" + }, + "4274": { + "op": "DUP1" + }, + "4275": { + "op": "DUP5" + }, + "4276": { + "op": "MSTORE" + }, + "4277": { + "op": "PUSH2", + "value": "0x10C5" + }, + "4280": { + "op": "DUP2" + }, + "4281": { + "op": "PUSH1", + "value": "0x20" + }, + "4283": { + "op": "DUP7" + }, + "4284": { + "op": "ADD" + }, + "4285": { + "op": "PUSH1", + "value": "0x20" + }, + "4287": { + "op": "DUP7" + }, + "4288": { + "op": "ADD" + }, + "4289": { + "op": "PUSH2", + "value": "0x1081" + }, + "4292": { + "jump": "i", + "op": "JUMP" + }, + "4293": { + "op": "JUMPDEST" + }, + "4294": { + "op": "PUSH1", + "value": "0x1F" + }, + "4296": { + "op": "ADD" + }, + "4297": { + "op": "PUSH1", + "value": "0x1F" + }, + "4299": { + "op": "NOT" + }, + "4300": { + "op": "AND" + }, + "4301": { + "op": "SWAP3" + }, + "4302": { + "op": "SWAP1" + }, + "4303": { + "op": "SWAP3" + }, + "4304": { + "op": "ADD" + }, + "4305": { + "op": "PUSH1", + "value": "0x20" + }, + "4307": { + "op": "ADD" + }, + "4308": { + "op": "SWAP3" + }, + "4309": { + "op": "SWAP2" + }, + "4310": { + "op": "POP" + }, + "4311": { + "op": "POP" + }, + "4312": { + "jump": "o", + "op": "JUMP" + }, + "4313": { + "op": "JUMPDEST" + }, + "4314": { + "op": "PUSH1", + "value": "0x20" + }, + "4316": { + "op": "DUP2" + }, + "4317": { + "op": "MSTORE" + }, + "4318": { + "op": "PUSH1", + "value": "0x0" + }, + "4320": { + "op": "PUSH2", + "value": "0x107A" + }, + "4323": { + "op": "PUSH1", + "value": "0x20" + }, + "4325": { + "op": "DUP4" + }, + "4326": { + "op": "ADD" + }, + "4327": { + "op": "DUP5" + }, + "4328": { + "op": "PUSH2", + "value": "0x10AD" + }, + "4331": { + "jump": "i", + "op": "JUMP" + }, + "4332": { + "op": "JUMPDEST" + }, + "4333": { + "op": "PUSH1", + "value": "0x0" + }, + "4335": { + "op": "PUSH1", + "value": "0x20" + }, + "4337": { + "op": "DUP3" + }, + "4338": { + "op": "DUP5" + }, + "4339": { + "op": "SUB" + }, + "4340": { + "op": "SLT" + }, + "4341": { + "op": "ISZERO" + }, + "4342": { + "op": "PUSH2", + "value": "0x10FE" + }, + "4345": { + "op": "JUMPI" + }, + "4346": { + "op": "PUSH1", + "value": "0x0" + }, + "4348": { + "op": "DUP1" + }, + "4349": { + "op": "REVERT" + }, + "4350": { + "op": "JUMPDEST" + }, + "4351": { + "op": "POP" + }, + "4352": { + "op": "CALLDATALOAD" + }, + "4353": { + "op": "SWAP2" + }, + "4354": { + "op": "SWAP1" + }, + "4355": { + "op": "POP" + }, + "4356": { + "jump": "o", + "op": "JUMP" + }, + "4357": { + "op": "JUMPDEST" + }, + "4358": { + "op": "DUP1" + }, + "4359": { + "op": "CALLDATALOAD" + }, + "4360": { + "op": "PUSH1", + "value": "0x1" + }, + "4362": { + "op": "PUSH1", + "value": "0x1" + }, + "4364": { + "op": "PUSH1", + "value": "0xA0" + }, + "4366": { + "op": "SHL" + }, + "4367": { + "op": "SUB" + }, + "4368": { + "op": "DUP2" + }, + "4369": { + "op": "AND" + }, + "4370": { + "op": "DUP2" + }, + "4371": { + "op": "EQ" + }, + "4372": { + "op": "PUSH2", + "value": "0x111C" + }, + "4375": { + "op": "JUMPI" + }, + "4376": { + "op": "PUSH1", + "value": "0x0" + }, + "4378": { + "op": "DUP1" + }, + "4379": { + "op": "REVERT" + }, + "4380": { + "op": "JUMPDEST" + }, + "4381": { + "op": "SWAP2" + }, + "4382": { + "op": "SWAP1" + }, + "4383": { + "op": "POP" + }, + "4384": { + "jump": "o", + "op": "JUMP" + }, + "4385": { + "op": "JUMPDEST" + }, + "4386": { + "op": "PUSH1", + "value": "0x0" + }, + "4388": { + "op": "DUP1" + }, + "4389": { + "op": "PUSH1", + "value": "0x40" + }, + "4391": { + "op": "DUP4" + }, + "4392": { + "op": "DUP6" + }, + "4393": { + "op": "SUB" + }, + "4394": { + "op": "SLT" + }, + "4395": { + "op": "ISZERO" + }, + "4396": { + "op": "PUSH2", + "value": "0x1134" + }, + "4399": { + "op": "JUMPI" + }, + "4400": { + "op": "PUSH1", + "value": "0x0" + }, + "4402": { + "op": "DUP1" + }, + "4403": { + "op": "REVERT" + }, + "4404": { + "op": "JUMPDEST" + }, + "4405": { + "op": "PUSH2", + "value": "0x113D" + }, + "4408": { + "op": "DUP4" + }, + "4409": { + "op": "PUSH2", + "value": "0x1105" + }, + "4412": { + "jump": "i", + "op": "JUMP" + }, + "4413": { + "op": "JUMPDEST" + }, + "4414": { + "op": "SWAP5" + }, + "4415": { + "op": "PUSH1", + "value": "0x20" + }, + "4417": { + "op": "SWAP4" + }, + "4418": { + "op": "SWAP1" + }, + "4419": { + "op": "SWAP4" + }, + "4420": { + "op": "ADD" + }, + "4421": { + "op": "CALLDATALOAD" + }, + "4422": { + "op": "SWAP4" + }, + "4423": { + "op": "POP" + }, + "4424": { + "op": "POP" + }, + "4425": { + "op": "POP" + }, + "4426": { + "jump": "o", + "op": "JUMP" + }, + "4427": { + "op": "JUMPDEST" + }, + "4428": { + "op": "PUSH1", + "value": "0x0" + }, + "4430": { + "op": "DUP1" + }, + "4431": { + "op": "PUSH1", + "value": "0x0" + }, + "4433": { + "op": "PUSH1", + "value": "0x60" + }, + "4435": { + "op": "DUP5" + }, + "4436": { + "op": "DUP7" + }, + "4437": { + "op": "SUB" + }, + "4438": { + "op": "SLT" + }, + "4439": { + "op": "ISZERO" + }, + "4440": { + "op": "PUSH2", + "value": "0x1160" + }, + "4443": { + "op": "JUMPI" + }, + "4444": { + "op": "PUSH1", + "value": "0x0" + }, + "4446": { + "op": "DUP1" + }, + "4447": { + "op": "REVERT" + }, + "4448": { + "op": "JUMPDEST" + }, + "4449": { + "op": "PUSH2", + "value": "0x1169" + }, + "4452": { + "op": "DUP5" + }, + "4453": { + "op": "PUSH2", + "value": "0x1105" + }, + "4456": { + "jump": "i", + "op": "JUMP" + }, + "4457": { + "op": "JUMPDEST" + }, + "4458": { + "op": "SWAP3" + }, + "4459": { + "op": "POP" + }, + "4460": { + "op": "PUSH2", + "value": "0x1177" + }, + "4463": { + "op": "PUSH1", + "value": "0x20" + }, + "4465": { + "op": "DUP6" + }, + "4466": { + "op": "ADD" + }, + "4467": { + "op": "PUSH2", + "value": "0x1105" + }, + "4470": { + "jump": "i", + "op": "JUMP" + }, + "4471": { + "op": "JUMPDEST" + }, + "4472": { + "op": "SWAP2" + }, + "4473": { + "op": "POP" + }, + "4474": { + "op": "PUSH1", + "value": "0x40" + }, + "4476": { + "op": "DUP5" + }, + "4477": { + "op": "ADD" + }, + "4478": { + "op": "CALLDATALOAD" + }, + "4479": { + "op": "SWAP1" + }, + "4480": { + "op": "POP" + }, + "4481": { + "op": "SWAP3" + }, + "4482": { + "op": "POP" + }, + "4483": { + "op": "SWAP3" + }, + "4484": { + "op": "POP" + }, + "4485": { + "op": "SWAP3" + }, + "4486": { + "jump": "o", + "op": "JUMP" + }, + "4487": { + "op": "JUMPDEST" + }, + "4488": { + "op": "PUSH1", + "value": "0x0" + }, + "4490": { + "op": "PUSH1", + "value": "0x20" + }, + "4492": { + "op": "DUP3" + }, + "4493": { + "op": "DUP5" + }, + "4494": { + "op": "SUB" + }, + "4495": { + "op": "SLT" + }, + "4496": { + "op": "ISZERO" + }, + "4497": { + "op": "PUSH2", + "value": "0x1199" + }, + "4500": { + "op": "JUMPI" + }, + "4501": { + "op": "PUSH1", + "value": "0x0" + }, + "4503": { + "op": "DUP1" + }, + "4504": { + "op": "REVERT" + }, + "4505": { + "op": "JUMPDEST" + }, + "4506": { + "op": "PUSH2", + "value": "0x107A" + }, + "4509": { + "op": "DUP3" + }, + "4510": { + "op": "PUSH2", + "value": "0x1105" + }, + "4513": { + "jump": "i", + "op": "JUMP" + }, + "4514": { + "op": "JUMPDEST" + }, + "4515": { + "op": "PUSH1", + "value": "0x0" + }, + "4517": { + "op": "DUP1" + }, + "4518": { + "op": "PUSH1", + "value": "0x40" + }, + "4520": { + "op": "DUP4" + }, + "4521": { + "op": "DUP6" + }, + "4522": { + "op": "SUB" + }, + "4523": { + "op": "SLT" + }, + "4524": { + "op": "ISZERO" + }, + "4525": { + "op": "PUSH2", + "value": "0x11B5" + }, + "4528": { + "op": "JUMPI" + }, + "4529": { + "op": "PUSH1", + "value": "0x0" + }, + "4531": { + "op": "DUP1" + }, + "4532": { + "op": "REVERT" + }, + "4533": { + "op": "JUMPDEST" + }, + "4534": { + "op": "PUSH2", + "value": "0x11BE" + }, + "4537": { + "op": "DUP4" + }, + "4538": { + "op": "PUSH2", + "value": "0x1105" + }, + "4541": { + "jump": "i", + "op": "JUMP" + }, + "4542": { + "op": "JUMPDEST" + }, + "4543": { + "op": "SWAP2" + }, + "4544": { + "op": "POP" + }, + "4545": { + "op": "PUSH1", + "value": "0x20" + }, + "4547": { + "op": "DUP4" + }, + "4548": { + "op": "ADD" + }, + "4549": { + "op": "CALLDATALOAD" + }, + "4550": { + "op": "DUP1" + }, + "4551": { + "op": "ISZERO" + }, + "4552": { + "op": "ISZERO" + }, + "4553": { + "op": "DUP2" + }, + "4554": { + "op": "EQ" + }, + "4555": { + "op": "PUSH2", + "value": "0x11D3" + }, + "4558": { + "op": "JUMPI" + }, + "4559": { + "op": "PUSH1", + "value": "0x0" + }, + "4561": { + "op": "DUP1" + }, + "4562": { + "op": "REVERT" + }, + "4563": { + "op": "JUMPDEST" + }, + "4564": { + "op": "DUP1" + }, + "4565": { + "op": "SWAP2" + }, + "4566": { + "op": "POP" + }, + "4567": { + "op": "POP" + }, + "4568": { + "op": "SWAP3" + }, + "4569": { + "op": "POP" + }, + "4570": { + "op": "SWAP3" + }, + "4571": { + "op": "SWAP1" + }, + "4572": { + "op": "POP" + }, + "4573": { + "jump": "o", + "op": "JUMP" + }, + "4574": { + "op": "JUMPDEST" + }, + "4575": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "4580": { + "op": "PUSH1", + "value": "0xE0" + }, + "4582": { + "op": "SHL" + }, + "4583": { + "op": "PUSH1", + "value": "0x0" + }, + "4585": { + "op": "MSTORE" + }, + "4586": { + "op": "PUSH1", + "value": "0x41" + }, + "4588": { + "op": "PUSH1", + "value": "0x4" + }, + "4590": { + "op": "MSTORE" + }, + "4591": { + "op": "PUSH1", + "value": "0x24" + }, + "4593": { + "op": "PUSH1", + "value": "0x0" + }, + "4595": { + "op": "REVERT" + }, + "4596": { + "op": "JUMPDEST" + }, + "4597": { + "op": "PUSH1", + "value": "0x0" + }, + "4599": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4608": { + "op": "DUP1" + }, + "4609": { + "op": "DUP5" + }, + "4610": { + "op": "GT" + }, + "4611": { + "op": "ISZERO" + }, + "4612": { + "op": "PUSH2", + "value": "0x120F" + }, + "4615": { + "op": "JUMPI" + }, + "4616": { + "op": "PUSH2", + "value": "0x120F" + }, + "4619": { + "op": "PUSH2", + "value": "0x11DE" + }, + "4622": { + "jump": "i", + "op": "JUMP" + }, + "4623": { + "op": "JUMPDEST" + }, + "4624": { + "op": "PUSH1", + "value": "0x40" + }, + "4626": { + "op": "MLOAD" + }, + "4627": { + "op": "PUSH1", + "value": "0x1F" + }, + "4629": { + "op": "DUP6" + }, + "4630": { + "op": "ADD" + }, + "4631": { + "op": "PUSH1", + "value": "0x1F" + }, + "4633": { + "op": "NOT" + }, + "4634": { + "op": "SWAP1" + }, + "4635": { + "op": "DUP2" + }, + "4636": { + "op": "AND" + }, + "4637": { + "op": "PUSH1", + "value": "0x3F" + }, + "4639": { + "op": "ADD" + }, + "4640": { + "op": "AND" + }, + "4641": { + "op": "DUP2" + }, + "4642": { + "op": "ADD" + }, + "4643": { + "op": "SWAP1" + }, + "4644": { + "op": "DUP3" + }, + "4645": { + "op": "DUP3" + }, + "4646": { + "op": "GT" + }, + "4647": { + "op": "DUP2" + }, + "4648": { + "op": "DUP4" + }, + "4649": { + "op": "LT" + }, + "4650": { + "op": "OR" + }, + "4651": { + "op": "ISZERO" + }, + "4652": { + "op": "PUSH2", + "value": "0x1237" + }, + "4655": { + "op": "JUMPI" + }, + "4656": { + "op": "PUSH2", + "value": "0x1237" + }, + "4659": { + "op": "PUSH2", + "value": "0x11DE" + }, + "4662": { + "jump": "i", + "op": "JUMP" + }, + "4663": { + "op": "JUMPDEST" + }, + "4664": { + "op": "DUP2" + }, + "4665": { + "op": "PUSH1", + "value": "0x40" + }, + "4667": { + "op": "MSTORE" + }, + "4668": { + "op": "DUP1" + }, + "4669": { + "op": "SWAP4" + }, + "4670": { + "op": "POP" + }, + "4671": { + "op": "DUP6" + }, + "4672": { + "op": "DUP2" + }, + "4673": { + "op": "MSTORE" + }, + "4674": { + "op": "DUP7" + }, + "4675": { + "op": "DUP7" + }, + "4676": { + "op": "DUP7" + }, + "4677": { + "op": "ADD" + }, + "4678": { + "op": "GT" + }, + "4679": { + "op": "ISZERO" + }, + "4680": { + "op": "PUSH2", + "value": "0x1250" + }, + "4683": { + "op": "JUMPI" + }, + "4684": { + "op": "PUSH1", + "value": "0x0" + }, + "4686": { + "op": "DUP1" + }, + "4687": { + "op": "REVERT" + }, + "4688": { + "op": "JUMPDEST" + }, + "4689": { + "op": "DUP6" + }, + "4690": { + "op": "DUP6" + }, + "4691": { + "op": "PUSH1", + "value": "0x20" + }, + "4693": { + "op": "DUP4" + }, + "4694": { + "op": "ADD" + }, + "4695": { + "op": "CALLDATACOPY" + }, + "4696": { + "op": "PUSH1", + "value": "0x0" + }, + "4698": { + "op": "PUSH1", + "value": "0x20" + }, + "4700": { + "op": "DUP8" + }, + "4701": { + "op": "DUP4" + }, + "4702": { + "op": "ADD" + }, + "4703": { + "op": "ADD" + }, + "4704": { + "op": "MSTORE" + }, + "4705": { + "op": "POP" + }, + "4706": { + "op": "POP" + }, + "4707": { + "op": "POP" + }, + "4708": { + "op": "SWAP4" + }, + "4709": { + "op": "SWAP3" + }, + "4710": { + "op": "POP" + }, + "4711": { + "op": "POP" + }, + "4712": { + "op": "POP" + }, + "4713": { + "jump": "o", + "op": "JUMP" + }, + "4714": { + "op": "JUMPDEST" + }, + "4715": { + "op": "PUSH1", + "value": "0x0" + }, + "4717": { + "op": "DUP1" + }, + "4718": { + "op": "PUSH1", + "value": "0x0" + }, + "4720": { + "op": "DUP1" + }, + "4721": { + "op": "PUSH1", + "value": "0x80" + }, + "4723": { + "op": "DUP6" + }, + "4724": { + "op": "DUP8" + }, + "4725": { + "op": "SUB" + }, + "4726": { + "op": "SLT" + }, + "4727": { + "op": "ISZERO" + }, + "4728": { + "op": "PUSH2", + "value": "0x1280" + }, + "4731": { + "op": "JUMPI" + }, + "4732": { + "op": "PUSH1", + "value": "0x0" + }, + "4734": { + "op": "DUP1" + }, + "4735": { + "op": "REVERT" + }, + "4736": { + "op": "JUMPDEST" + }, + "4737": { + "op": "PUSH2", + "value": "0x1289" + }, + "4740": { + "op": "DUP6" + }, + "4741": { + "op": "PUSH2", + "value": "0x1105" + }, + "4744": { + "jump": "i", + "op": "JUMP" + }, + "4745": { + "op": "JUMPDEST" + }, + "4746": { + "op": "SWAP4" + }, + "4747": { + "op": "POP" + }, + "4748": { + "op": "PUSH2", + "value": "0x1297" + }, + "4751": { + "op": "PUSH1", + "value": "0x20" + }, + "4753": { + "op": "DUP7" + }, + "4754": { + "op": "ADD" + }, + "4755": { + "op": "PUSH2", + "value": "0x1105" + }, + "4758": { + "jump": "i", + "op": "JUMP" + }, + "4759": { + "op": "JUMPDEST" + }, + "4760": { + "op": "SWAP3" + }, + "4761": { + "op": "POP" + }, + "4762": { + "op": "PUSH1", + "value": "0x40" + }, + "4764": { + "op": "DUP6" + }, + "4765": { + "op": "ADD" + }, + "4766": { + "op": "CALLDATALOAD" + }, + "4767": { + "op": "SWAP2" + }, + "4768": { + "op": "POP" + }, + "4769": { + "op": "PUSH1", + "value": "0x60" + }, + "4771": { + "op": "DUP6" + }, + "4772": { + "op": "ADD" + }, + "4773": { + "op": "CALLDATALOAD" + }, + "4774": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4783": { + "op": "DUP2" + }, + "4784": { + "op": "GT" + }, + "4785": { + "op": "ISZERO" + }, + "4786": { + "op": "PUSH2", + "value": "0x12BA" + }, + "4789": { + "op": "JUMPI" + }, + "4790": { + "op": "PUSH1", + "value": "0x0" + }, + "4792": { + "op": "DUP1" + }, + "4793": { + "op": "REVERT" + }, + "4794": { + "op": "JUMPDEST" + }, + "4795": { + "op": "DUP6" + }, + "4796": { + "op": "ADD" + }, + "4797": { + "op": "PUSH1", + "value": "0x1F" + }, + "4799": { + "op": "DUP2" + }, + "4800": { + "op": "ADD" + }, + "4801": { + "op": "DUP8" + }, + "4802": { + "op": "SGT" + }, + "4803": { + "op": "PUSH2", + "value": "0x12CB" + }, + "4806": { + "op": "JUMPI" + }, + "4807": { + "op": "PUSH1", + "value": "0x0" + }, + "4809": { + "op": "DUP1" + }, + "4810": { + "op": "REVERT" + }, + "4811": { + "op": "JUMPDEST" + }, + "4812": { + "op": "PUSH2", + "value": "0x12DA" + }, + "4815": { + "op": "DUP8" + }, + "4816": { + "op": "DUP3" + }, + "4817": { + "op": "CALLDATALOAD" + }, + "4818": { + "op": "PUSH1", + "value": "0x20" + }, + "4820": { + "op": "DUP5" + }, + "4821": { + "op": "ADD" + }, + "4822": { + "op": "PUSH2", + "value": "0x11F4" + }, + "4825": { + "jump": "i", + "op": "JUMP" + }, + "4826": { + "op": "JUMPDEST" + }, + "4827": { + "op": "SWAP2" + }, + "4828": { + "op": "POP" + }, + "4829": { + "op": "POP" + }, + "4830": { + "op": "SWAP3" + }, + "4831": { + "op": "SWAP6" + }, + "4832": { + "op": "SWAP2" + }, + "4833": { + "op": "SWAP5" + }, + "4834": { + "op": "POP" + }, + "4835": { + "op": "SWAP3" + }, + "4836": { + "op": "POP" + }, + "4837": { + "jump": "o", + "op": "JUMP" + }, + "4838": { + "op": "JUMPDEST" + }, + "4839": { + "op": "PUSH1", + "value": "0x0" + }, + "4841": { + "op": "PUSH1", + "value": "0x20" + }, + "4843": { + "op": "DUP3" + }, + "4844": { + "op": "DUP5" + }, + "4845": { + "op": "SUB" + }, + "4846": { + "op": "SLT" + }, + "4847": { + "op": "ISZERO" + }, + "4848": { + "op": "PUSH2", + "value": "0x12F8" + }, + "4851": { + "op": "JUMPI" + }, + "4852": { + "op": "PUSH1", + "value": "0x0" + }, + "4854": { + "op": "DUP1" + }, + "4855": { + "op": "REVERT" + }, + "4856": { + "op": "JUMPDEST" + }, + "4857": { + "op": "DUP2" + }, + "4858": { + "op": "CALLDATALOAD" + }, + "4859": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4868": { + "op": "DUP2" + }, + "4869": { + "op": "GT" + }, + "4870": { + "op": "ISZERO" + }, + "4871": { + "op": "PUSH2", + "value": "0x130F" + }, + "4874": { + "op": "JUMPI" + }, + "4875": { + "op": "PUSH1", + "value": "0x0" + }, + "4877": { + "op": "DUP1" + }, + "4878": { + "op": "REVERT" + }, + "4879": { + "op": "JUMPDEST" + }, + "4880": { + "op": "DUP3" + }, + "4881": { + "op": "ADD" + }, + "4882": { + "op": "PUSH1", + "value": "0x1F" + }, + "4884": { + "op": "DUP2" + }, + "4885": { + "op": "ADD" + }, + "4886": { + "op": "DUP5" + }, + "4887": { + "op": "SGT" + }, + "4888": { + "op": "PUSH2", + "value": "0x1320" + }, + "4891": { + "op": "JUMPI" + }, + "4892": { + "op": "PUSH1", + "value": "0x0" + }, + "4894": { + "op": "DUP1" + }, + "4895": { + "op": "REVERT" + }, + "4896": { + "op": "JUMPDEST" + }, + "4897": { + "op": "PUSH2", + "value": "0x77A" + }, + "4900": { + "op": "DUP5" + }, + "4901": { + "op": "DUP3" + }, + "4902": { + "op": "CALLDATALOAD" + }, + "4903": { + "op": "PUSH1", + "value": "0x20" + }, + "4905": { + "op": "DUP5" + }, + "4906": { + "op": "ADD" + }, + "4907": { + "op": "PUSH2", + "value": "0x11F4" + }, + "4910": { + "jump": "i", + "op": "JUMP" + }, + "4911": { + "op": "JUMPDEST" + }, + "4912": { + "op": "PUSH1", + "value": "0x0" + }, + "4914": { + "op": "DUP1" + }, + "4915": { + "op": "PUSH1", + "value": "0x40" + }, + "4917": { + "op": "DUP4" + }, + "4918": { + "op": "DUP6" + }, + "4919": { + "op": "SUB" + }, + "4920": { + "op": "SLT" + }, + "4921": { + "op": "ISZERO" + }, + "4922": { + "op": "PUSH2", + "value": "0x1342" + }, + "4925": { + "op": "JUMPI" + }, + "4926": { + "op": "PUSH1", + "value": "0x0" + }, + "4928": { + "op": "DUP1" + }, + "4929": { + "op": "REVERT" + }, + "4930": { + "op": "JUMPDEST" + }, + "4931": { + "op": "PUSH2", + "value": "0x134B" + }, + "4934": { + "op": "DUP4" + }, + "4935": { + "op": "PUSH2", + "value": "0x1105" + }, + "4938": { + "jump": "i", + "op": "JUMP" + }, + "4939": { + "op": "JUMPDEST" + }, + "4940": { + "op": "SWAP2" + }, + "4941": { + "op": "POP" + }, + "4942": { + "op": "PUSH2", + "value": "0x1359" + }, + "4945": { + "op": "PUSH1", + "value": "0x20" + }, + "4947": { + "op": "DUP5" + }, + "4948": { + "op": "ADD" + }, + "4949": { + "op": "PUSH2", + "value": "0x1105" + }, + "4952": { + "jump": "i", + "op": "JUMP" + }, + "4953": { + "op": "JUMPDEST" + }, + "4954": { + "op": "SWAP1" + }, + "4955": { + "op": "POP" + }, + "4956": { + "op": "SWAP3" + }, + "4957": { + "op": "POP" + }, + "4958": { + "op": "SWAP3" + }, + "4959": { + "op": "SWAP1" + }, + "4960": { + "op": "POP" + }, + "4961": { + "jump": "o", + "op": "JUMP" + }, + "4962": { + "op": "JUMPDEST" + }, + "4963": { + "op": "PUSH1", + "value": "0x1" + }, + "4965": { + "op": "DUP2" + }, + "4966": { + "op": "DUP2" + }, + "4967": { + "op": "SHR" + }, + "4968": { + "op": "SWAP1" + }, + "4969": { + "op": "DUP3" + }, + "4970": { + "op": "AND" + }, + "4971": { + "op": "DUP1" + }, + "4972": { + "op": "PUSH2", + "value": "0x1376" + }, + "4975": { + "op": "JUMPI" + }, + "4976": { + "op": "PUSH1", + "value": "0x7F" + }, + "4978": { + "op": "DUP3" + }, + "4979": { + "op": "AND" + }, + "4980": { + "op": "SWAP2" + }, + "4981": { + "op": "POP" + }, + "4982": { + "op": "JUMPDEST" + }, + "4983": { + "op": "PUSH1", + "value": "0x20" + }, + "4985": { + "op": "DUP3" + }, + "4986": { + "op": "LT" + }, + "4987": { + "op": "DUP2" + }, + "4988": { + "op": "SUB" + }, + "4989": { + "op": "PUSH2", + "value": "0x1396" + }, + "4992": { + "op": "JUMPI" + }, + "4993": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "4998": { + "op": "PUSH1", + "value": "0xE0" + }, + "5000": { + "op": "SHL" + }, + "5001": { + "op": "PUSH1", + "value": "0x0" + }, + "5003": { + "op": "MSTORE" + }, + "5004": { + "op": "PUSH1", + "value": "0x22" + }, + "5006": { + "op": "PUSH1", + "value": "0x4" + }, + "5008": { + "op": "MSTORE" + }, + "5009": { + "op": "PUSH1", + "value": "0x24" + }, + "5011": { + "op": "PUSH1", + "value": "0x0" + }, + "5013": { + "op": "REVERT" + }, + "5014": { + "op": "JUMPDEST" + }, + "5015": { + "op": "POP" + }, + "5016": { + "op": "SWAP2" + }, + "5017": { + "op": "SWAP1" + }, + "5018": { + "op": "POP" + }, + "5019": { + "jump": "o", + "op": "JUMP" + }, + "5020": { + "op": "JUMPDEST" + }, + "5021": { + "op": "PUSH1", + "value": "0x0" + }, + "5023": { + "op": "DUP4" + }, + "5024": { + "op": "MLOAD" + }, + "5025": { + "op": "PUSH2", + "value": "0x13AE" + }, + "5028": { + "op": "DUP2" + }, + "5029": { + "op": "DUP5" + }, + "5030": { + "op": "PUSH1", + "value": "0x20" + }, + "5032": { + "op": "DUP9" + }, + "5033": { + "op": "ADD" + }, + "5034": { + "op": "PUSH2", + "value": "0x1081" + }, + "5037": { + "jump": "i", + "op": "JUMP" + }, + "5038": { + "op": "JUMPDEST" + }, + "5039": { + "op": "DUP4" + }, + "5040": { + "op": "MLOAD" + }, + "5041": { + "op": "SWAP1" + }, + "5042": { + "op": "DUP4" + }, + "5043": { + "op": "ADD" + }, + "5044": { + "op": "SWAP1" + }, + "5045": { + "op": "PUSH2", + "value": "0x13C2" + }, + "5048": { + "op": "DUP2" + }, + "5049": { + "op": "DUP4" + }, + "5050": { + "op": "PUSH1", + "value": "0x20" + }, + "5052": { + "op": "DUP9" + }, + "5053": { + "op": "ADD" + }, + "5054": { + "op": "PUSH2", + "value": "0x1081" + }, + "5057": { + "jump": "i", + "op": "JUMP" + }, + "5058": { + "op": "JUMPDEST" + }, + "5059": { + "op": "ADD" + }, + "5060": { + "op": "SWAP5" + }, + "5061": { + "op": "SWAP4" + }, + "5062": { + "op": "POP" + }, + "5063": { + "op": "POP" + }, + "5064": { + "op": "POP" + }, + "5065": { + "op": "POP" + }, + "5066": { + "jump": "o", + "op": "JUMP" + }, + "5067": { + "op": "JUMPDEST" + }, + "5068": { + "op": "PUSH1", + "value": "0x1" + }, + "5070": { + "op": "PUSH1", + "value": "0x1" + }, + "5072": { + "op": "PUSH1", + "value": "0xA0" + }, + "5074": { + "op": "SHL" + }, + "5075": { + "op": "SUB" + }, + "5076": { + "op": "DUP6" + }, + "5077": { + "op": "DUP2" + }, + "5078": { + "op": "AND" + }, + "5079": { + "op": "DUP3" + }, + "5080": { + "op": "MSTORE" + }, + "5081": { + "op": "DUP5" + }, + "5082": { + "op": "AND" + }, + "5083": { + "op": "PUSH1", + "value": "0x20" + }, + "5085": { + "op": "DUP3" + }, + "5086": { + "op": "ADD" + }, + "5087": { + "op": "MSTORE" + }, + "5088": { + "op": "PUSH1", + "value": "0x40" + }, + "5090": { + "op": "DUP2" + }, + "5091": { + "op": "ADD" + }, + "5092": { + "op": "DUP4" + }, + "5093": { + "op": "SWAP1" + }, + "5094": { + "op": "MSTORE" + }, + "5095": { + "op": "PUSH1", + "value": "0x80" + }, + "5097": { + "op": "PUSH1", + "value": "0x60" + }, + "5099": { + "op": "DUP3" + }, + "5100": { + "op": "ADD" + }, + "5101": { + "op": "DUP2" + }, + "5102": { + "op": "SWAP1" + }, + "5103": { + "op": "MSTORE" + }, + "5104": { + "op": "PUSH1", + "value": "0x0" + }, + "5106": { + "op": "SWAP1" + }, + "5107": { + "op": "PUSH2", + "value": "0x13FE" + }, + "5110": { + "op": "SWAP1" + }, + "5111": { + "op": "DUP4" + }, + "5112": { + "op": "ADD" + }, + "5113": { + "op": "DUP5" + }, + "5114": { + "op": "PUSH2", + "value": "0x10AD" + }, + "5117": { + "jump": "i", + "op": "JUMP" + }, + "5118": { + "op": "JUMPDEST" + }, + "5119": { + "op": "SWAP7" + }, + "5120": { + "op": "SWAP6" + }, + "5121": { + "op": "POP" + }, + "5122": { + "op": "POP" + }, + "5123": { + "op": "POP" + }, + "5124": { + "op": "POP" + }, + "5125": { + "op": "POP" + }, + "5126": { + "op": "POP" + }, + "5127": { + "jump": "o", + "op": "JUMP" + }, + "5128": { + "op": "JUMPDEST" + }, + "5129": { + "op": "PUSH1", + "value": "0x0" + }, + "5131": { + "op": "PUSH1", + "value": "0x20" + }, + "5133": { + "op": "DUP3" + }, + "5134": { + "op": "DUP5" + }, + "5135": { + "op": "SUB" + }, + "5136": { + "op": "SLT" + }, + "5137": { + "op": "ISZERO" + }, + "5138": { + "op": "PUSH2", + "value": "0x141A" + }, + "5141": { + "op": "JUMPI" + }, + "5142": { + "op": "PUSH1", + "value": "0x0" + }, + "5144": { + "op": "DUP1" + }, + "5145": { + "op": "REVERT" + }, + "5146": { + "op": "JUMPDEST" + }, + "5147": { + "op": "DUP2" + }, + "5148": { + "op": "MLOAD" + }, + "5149": { + "op": "PUSH2", + "value": "0x107A" + }, + "5152": { + "op": "DUP2" + }, + "5153": { + "op": "PUSH2", + "value": "0x1047" + }, + "5156": { + "jump": "i", + "op": "JUMP" + }, + "5157": { + "op": "JUMPDEST" + }, + "5158": { + "op": "PUSH1", + "value": "0x1F" + }, + "5160": { + "op": "DUP3" + }, + "5161": { + "op": "GT" + }, + "5162": { + "op": "ISZERO" + }, + "5163": { + "op": "PUSH2", + "value": "0x4E6" + }, + "5166": { + "op": "JUMPI" + }, + "5167": { + "op": "PUSH1", + "value": "0x0" + }, + "5169": { + "op": "DUP2" + }, + "5170": { + "op": "DUP2" + }, + "5171": { + "op": "MSTORE" + }, + "5172": { + "op": "PUSH1", + "value": "0x20" + }, + "5174": { + "op": "DUP2" + }, + "5175": { + "op": "KECCAK256" + }, + "5176": { + "op": "PUSH1", + "value": "0x1F" + }, + "5178": { + "op": "DUP6" + }, + "5179": { + "op": "ADD" + }, + "5180": { + "op": "PUSH1", + "value": "0x5" + }, + "5182": { + "op": "SHR" + }, + "5183": { + "op": "DUP2" + }, + "5184": { + "op": "ADD" + }, + "5185": { + "op": "PUSH1", + "value": "0x20" + }, + "5187": { + "op": "DUP7" + }, + "5188": { + "op": "LT" + }, + "5189": { + "op": "ISZERO" + }, + "5190": { + "op": "PUSH2", + "value": "0x144C" + }, + "5193": { + "op": "JUMPI" + }, + "5194": { + "op": "POP" + }, + "5195": { + "op": "DUP1" + }, + "5196": { + "op": "JUMPDEST" + }, + "5197": { + "op": "PUSH1", + "value": "0x1F" + }, + "5199": { + "op": "DUP6" + }, + "5200": { + "op": "ADD" + }, + "5201": { + "op": "PUSH1", + "value": "0x5" + }, + "5203": { + "op": "SHR" + }, + "5204": { + "op": "DUP3" + }, + "5205": { + "op": "ADD" + }, + "5206": { + "op": "SWAP2" + }, + "5207": { + "op": "POP" + }, + "5208": { + "op": "JUMPDEST" + }, + "5209": { + "op": "DUP2" + }, + "5210": { + "op": "DUP2" + }, + "5211": { + "op": "LT" + }, + "5212": { + "op": "ISZERO" + }, + "5213": { + "op": "PUSH2", + "value": "0x146B" + }, + "5216": { + "op": "JUMPI" + }, + "5217": { + "op": "DUP3" + }, + "5218": { + "op": "DUP2" + }, + "5219": { + "op": "SSTORE" + }, + "5220": { + "op": "PUSH1", + "value": "0x1" + }, + "5222": { + "op": "ADD" + }, + "5223": { + "op": "PUSH2", + "value": "0x1458" + }, + "5226": { + "op": "JUMP" + }, + "5227": { + "op": "JUMPDEST" + }, + "5228": { + "op": "POP" + }, + "5229": { + "op": "POP" + }, + "5230": { + "op": "POP" + }, + "5231": { + "op": "POP" + }, + "5232": { + "op": "POP" + }, + "5233": { + "op": "POP" + }, + "5234": { + "jump": "o", + "op": "JUMP" + }, + "5235": { + "op": "JUMPDEST" + }, + "5236": { + "op": "DUP2" + }, + "5237": { + "op": "MLOAD" + }, + "5238": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5247": { + "op": "DUP2" + }, + "5248": { + "op": "GT" + }, + "5249": { + "op": "ISZERO" + }, + "5250": { + "op": "PUSH2", + "value": "0x148D" + }, + "5253": { + "op": "JUMPI" + }, + "5254": { + "op": "PUSH2", + "value": "0x148D" + }, + "5257": { + "op": "PUSH2", + "value": "0x11DE" + }, + "5260": { + "jump": "i", + "op": "JUMP" + }, + "5261": { + "op": "JUMPDEST" + }, + "5262": { + "op": "PUSH2", + "value": "0x14A1" + }, + "5265": { + "op": "DUP2" + }, + "5266": { + "op": "PUSH2", + "value": "0x149B" + }, + "5269": { + "op": "DUP5" + }, + "5270": { + "op": "SLOAD" + }, + "5271": { + "op": "PUSH2", + "value": "0x1362" + }, + "5274": { + "jump": "i", + "op": "JUMP" + }, + "5275": { + "op": "JUMPDEST" + }, + "5276": { + "op": "DUP5" + }, + "5277": { + "op": "PUSH2", + "value": "0x1425" + }, + "5280": { + "jump": "i", + "op": "JUMP" + }, + "5281": { + "op": "JUMPDEST" + }, + "5282": { + "op": "PUSH1", + "value": "0x20" + }, + "5284": { + "op": "DUP1" + }, + "5285": { + "op": "PUSH1", + "value": "0x1F" + }, + "5287": { + "op": "DUP4" + }, + "5288": { + "op": "GT" + }, + "5289": { + "op": "PUSH1", + "value": "0x1" + }, + "5291": { + "op": "DUP2" + }, + "5292": { + "op": "EQ" + }, + "5293": { + "op": "PUSH2", + "value": "0x14D6" + }, + "5296": { + "op": "JUMPI" + }, + "5297": { + "op": "PUSH1", + "value": "0x0" + }, + "5299": { + "op": "DUP5" + }, + "5300": { + "op": "ISZERO" + }, + "5301": { + "op": "PUSH2", + "value": "0x14BE" + }, + "5304": { + "op": "JUMPI" + }, + "5305": { + "op": "POP" + }, + "5306": { + "op": "DUP6" + }, + "5307": { + "op": "DUP4" + }, + "5308": { + "op": "ADD" + }, + "5309": { + "op": "MLOAD" + }, + "5310": { + "op": "JUMPDEST" + }, + "5311": { + "op": "PUSH1", + "value": "0x0" + }, + "5313": { + "op": "NOT" + }, + "5314": { + "op": "PUSH1", + "value": "0x3" + }, + "5316": { + "op": "DUP7" + }, + "5317": { + "op": "SWAP1" + }, + "5318": { + "op": "SHL" + }, + "5319": { + "op": "SHR" + }, + "5320": { + "op": "NOT" + }, + "5321": { + "op": "AND" + }, + "5322": { + "op": "PUSH1", + "value": "0x1" + }, + "5324": { + "op": "DUP6" + }, + "5325": { + "op": "SWAP1" + }, + "5326": { + "op": "SHL" + }, + "5327": { + "op": "OR" + }, + "5328": { + "op": "DUP6" + }, + "5329": { + "op": "SSTORE" + }, + "5330": { + "op": "PUSH2", + "value": "0x146B" + }, + "5333": { + "op": "JUMP" + }, + "5334": { + "op": "JUMPDEST" + }, + "5335": { + "op": "PUSH1", + "value": "0x0" + }, + "5337": { + "op": "DUP6" + }, + "5338": { + "op": "DUP2" + }, + "5339": { + "op": "MSTORE" + }, + "5340": { + "op": "PUSH1", + "value": "0x20" + }, + "5342": { + "op": "DUP2" + }, + "5343": { + "op": "KECCAK256" + }, + "5344": { + "op": "PUSH1", + "value": "0x1F" + }, + "5346": { + "op": "NOT" + }, + "5347": { + "op": "DUP7" + }, + "5348": { + "op": "AND" + }, + "5349": { + "op": "SWAP2" + }, + "5350": { + "op": "JUMPDEST" + }, + "5351": { + "op": "DUP3" + }, + "5352": { + "op": "DUP2" + }, + "5353": { + "op": "LT" + }, + "5354": { + "op": "ISZERO" + }, + "5355": { + "op": "PUSH2", + "value": "0x1505" + }, + "5358": { + "op": "JUMPI" + }, + "5359": { + "op": "DUP9" + }, + "5360": { + "op": "DUP7" + }, + "5361": { + "op": "ADD" + }, + "5362": { + "op": "MLOAD" + }, + "5363": { + "op": "DUP3" + }, + "5364": { + "op": "SSTORE" + }, + "5365": { + "op": "SWAP5" + }, + "5366": { + "op": "DUP5" + }, + "5367": { + "op": "ADD" + }, + "5368": { + "op": "SWAP5" + }, + "5369": { + "op": "PUSH1", + "value": "0x1" + }, + "5371": { + "op": "SWAP1" + }, + "5372": { + "op": "SWAP2" + }, + "5373": { + "op": "ADD" + }, + "5374": { + "op": "SWAP1" + }, + "5375": { + "op": "DUP5" + }, + "5376": { + "op": "ADD" + }, + "5377": { + "op": "PUSH2", + "value": "0x14E6" + }, + "5380": { + "op": "JUMP" + }, + "5381": { + "op": "JUMPDEST" + }, + "5382": { + "op": "POP" + }, + "5383": { + "op": "DUP6" + }, + "5384": { + "op": "DUP3" + }, + "5385": { + "op": "LT" + }, + "5386": { + "op": "ISZERO" + }, + "5387": { + "op": "PUSH2", + "value": "0x1523" + }, + "5390": { + "op": "JUMPI" + }, + "5391": { + "op": "DUP8" + }, + "5392": { + "op": "DUP6" + }, + "5393": { + "op": "ADD" + }, + "5394": { + "op": "MLOAD" + }, + "5395": { + "op": "PUSH1", + "value": "0x0" + }, + "5397": { + "op": "NOT" + }, + "5398": { + "op": "PUSH1", + "value": "0x3" + }, + "5400": { + "op": "DUP9" + }, + "5401": { + "op": "SWAP1" + }, + "5402": { + "op": "SHL" + }, + "5403": { + "op": "PUSH1", + "value": "0xF8" + }, + "5405": { + "op": "AND" + }, + "5406": { + "op": "SHR" + }, + "5407": { + "op": "NOT" + }, + "5408": { + "op": "AND" + }, + "5409": { + "op": "DUP2" + }, + "5410": { + "op": "SSTORE" + }, + "5411": { + "op": "JUMPDEST" + }, + "5412": { + "op": "POP" + }, + "5413": { + "op": "POP" + }, + "5414": { + "op": "POP" + }, + "5415": { + "op": "POP" + }, + "5416": { + "op": "POP" + }, + "5417": { + "op": "PUSH1", + "value": "0x1" + }, + "5419": { + "op": "SWAP1" + }, + "5420": { + "op": "DUP2" + }, + "5421": { + "op": "SHL" + }, + "5422": { + "op": "ADD" + }, + "5423": { + "op": "SWAP1" + }, + "5424": { + "op": "SSTORE" + }, + "5425": { + "op": "POP" + }, + "5426": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "0b00509f4e92a16c14f199776fba67459e0bfb15", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"./Guard.sol\";\nimport \"./ERC721A.sol\";\nimport \"./interfaces/IERC721ExtensionCore.sol\";\n\ncontract ERC721ExtensionCore is ERC721A, Guarded, IERC721ExtensionCore {\n // using Strings for uint256;\n\n // This mapping enables us to use custom token URI from the daccred client\n mapping(uint256 => string) private _tokenURIs;\n\n constructor(string memory name, string memory symbol) ERC721A(name, symbol) {}\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override(ERC721A, IERC721Metadata) returns (string memory) {\n if (!_exists(tokenId)) revert URIQueryForNonexistentToken();\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = _baseURI();\n\n // If there is no base URI, return the token URI.\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n return bytes(base).length != 0 ? string(abi.encodePacked(base, _tokenURI)) : _tokenURI;\n }\n\n /**\n * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n if (bytes(_tokenURI).length != 0) revert SetURICannotBeEmpty(\"empty tokenURI\");\n if (bytes(_tokenURIs[tokenId]).length != 0) revert URIRequestForExistentToken();\n _tokenURIs[tokenId] = _tokenURI;\n }\n\n /**\n * @dev Mints token to use based on tokenURI.\n *\n * Requirements:\n *\n * - `tokenURI` must be supplied.\n */\n function mint(string memory _tokenURI) external payable virtual guarded returns (uint256) {\n require(msg.value == 0, \"[Core.mint] value to be 0\");\n\n /// @dev we do not regard the principle of quantity,\n /// @dev everyone mints only one token\n _mint(msg.sender, 1);\n\n uint256 newTokenId = _currentIndex;\n\n /// @dev we can now set the tokenURI of the token we just minted\n _setTokenURI(newTokenId, _tokenURI);\n\n // /// @dev emit transfer event\n // emit Transfer(address(0), msg.sender, newTokenId);\n return newTokenId;\n }\n\n /**\n * @dev Burns `tokenId`. See {ERC721A-_burn}.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(uint256 tokenId) public virtual override {\n _burn(tokenId, true);\n }\n}\n", + "sourceMap": "549:2379:18:-:0;;;744:1:20;719:26;;792:78:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;854:4;860:6;2285:5:17;:13;854:4:18;2285:5:17;:13;:::i;:::-;-1:-1:-1;2308:7:17;:17;2318:7;2308;:17;:::i;:::-;-1:-1:-1;2521:7:17;2335:13;:31;-1:-1:-1;549:2379:18;;-1:-1:-1;;;549:2379:18;14:127:43;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:43;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;2114:545::-;2216:2;2211:3;2208:11;2205:448;;;2252:1;2277:5;2273:2;2266:17;2322:4;2318:2;2308:19;2392:2;2380:10;2376:19;2373:1;2369:27;2363:4;2359:38;2428:4;2416:10;2413:20;2410:47;;;-1:-1:-1;2451:4:43;2410:47;2506:2;2501:3;2497:12;2494:1;2490:20;2484:4;2480:31;2470:41;;2561:82;2579:2;2572:5;2569:13;2561:82;;;2624:17;;;2605:1;2594:13;2561:82;;;2565:3;;;2205:448;2114:545;;;:::o;2835:1352::-;2955:10;;-1:-1:-1;;;;;2977:30:43;;2974:56;;;3010:18;;:::i;:::-;3039:97;3129:6;3089:38;3121:4;3115:11;3089:38;:::i;:::-;3083:4;3039:97;:::i;:::-;3191:4;;3255:2;3244:14;;3272:1;3267:663;;;;3974:1;3991:6;3988:89;;;-1:-1:-1;4043:19:43;;;4037:26;3988:89;-1:-1:-1;;2792:1:43;2788:11;;;2784:24;2780:29;2770:40;2816:1;2812:11;;;2767:57;4090:81;;3237:944;;3267:663;2061:1;2054:14;;;2098:4;2085:18;;-1:-1:-1;;3303:20:43;;;3421:236;3435:7;3432:1;3429:14;3421:236;;;3524:19;;;3518:26;3503:42;;3616:27;;;;3584:1;3572:14;;;;3451:19;;3421:236;;;3425:3;3685:6;3676:7;3673:19;3670:201;;;3746:19;;;3740:26;-1:-1:-1;;3829:1:43;3825:14;;;3841:3;3821:24;3817:37;3813:42;3798:58;3783:74;;3670:201;-1:-1:-1;;;;;3917:1:43;3901:14;;;3897:22;3884:36;;-1:-1:-1;2835:1352:43:o;:::-;549:2379:18;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721ExtensionSignature.json b/tests/build/contracts/ERC721ExtensionSignature.json new file mode 100644 index 0000000..55355e6 --- /dev/null +++ b/tests/build/contracts/ERC721ExtensionSignature.json @@ -0,0 +1,41341 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_comissioner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_maxSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_commissions", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_cappedSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_redemptionTariff", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "SetURICannotBeEmpty", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "URIRequestForExistentToken", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "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": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "cappedSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "name": "mintWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newTariff", + "type": "uint256" + } + ], + "name": "modifyTariff", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "redemptionTariff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupply", + "type": "uint256" + } + ], + "name": "updateMaxSupply", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "17": "contracts/contracts/packages/nft/contracts/ERC721A.sol", + "18": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "19": "contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol", + "20": "contracts/contracts/packages/nft/contracts/Guard.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "23": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol", + "exportedSymbols": { + "Address": [ + 6388 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 6637 + ], + "ERC721A": [ + 2707 + ], + "ERC721ExtensionCore": [ + 2873 + ], + "ERC721ExtensionSignature": [ + 3233 + ], + "Guarded": [ + 3259 + ], + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721ExtensionCore": [ + 3411 + ], + "IERC721Metadata": [ + 6780 + ], + "IERC721Receiver": [ + 6093 + ], + "Ownable": [ + 6075 + ], + "Strings": [ + 6613 + ] + }, + "id": 3234, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2875, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:19" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/Guard.sol", + "file": "./Guard.sol", + "id": 2876, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3234, + "sourceUnit": 3260, + "src": "454:21:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol", + "file": "./ERC721ExtensionCore.sol", + "id": 2877, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3234, + "sourceUnit": 2874, + "src": "476:35:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2878, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3234, + "sourceUnit": 6076, + "src": "512:52:19", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2879, + "name": "Guarded", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3259, + "src": "603:7:19" + }, + "id": 2880, + "nodeType": "InheritanceSpecifier", + "src": "603:7:19" + }, + { + "baseName": { + "id": 2881, + "name": "ERC721ExtensionCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2873, + "src": "612:19:19" + }, + "id": 2882, + "nodeType": "InheritanceSpecifier", + "src": "612:19:19" + }, + { + "baseName": { + "id": 2883, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6075, + "src": "633:7:19" + }, + "id": 2884, + "nodeType": "InheritanceSpecifier", + "src": "633:7:19" + } + ], + "canonicalName": "ERC721ExtensionSignature", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 3233, + "linearizedBaseContracts": [ + 3233, + 6075, + 2873, + 3411, + 3259, + 2707, + 3390, + 6780, + 6753, + 6637, + 6792, + 6410 + ], + "name": "ERC721ExtensionSignature", + "nameLocation": "575:24:19", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 2885, + "nodeType": "StructuredDocumentation", + "src": "647:102:19", + "text": "@dev max supply is the max number of token IDs\n @dev that can be minted in this contract" + }, + "functionSelector": "d5abeb01", + "id": 2887, + "mutability": "mutable", + "name": "maxSupply", + "nameLocation": "769:9:19", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "754:24:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "754:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 2888, + "nodeType": "StructuredDocumentation", + "src": "785:94:19", + "text": "@dev Capped supply is a limitation on the\n @dev number of tokens a user can mint" + }, + "functionSelector": "6de23a16", + "id": 2890, + "mutability": "mutable", + "name": "cappedSupply", + "nameLocation": "899:12:19", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "884:27:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2889, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "884:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 2891, + "nodeType": "StructuredDocumentation", + "src": "918:92:19", + "text": "@dev if the deployers require users to pay to mint,\n @dev they charge a tarriff" + }, + "functionSelector": "95dcd029", + "id": 2894, + "mutability": "mutable", + "name": "redemptionTariff", + "nameLocation": "1030:16:19", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1015:35:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2892, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1015:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "30", + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1049:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "visibility": "public" + }, + { + "constant": false, + "id": 2896, + "mutability": "immutable", + "name": "__COMMISSIONS__", + "nameLocation": "1174:15:19", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1156:33:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1156:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2898, + "mutability": "immutable", + "name": "__COMMISSIONER__", + "nameLocation": "1272:16:19", + "nodeType": "VariableDeclaration", + "scope": 3233, + "src": "1254:34:19", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2897, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1254:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 2960, + "nodeType": "Block", + "src": "1635:472:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2920, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2906, + "src": "1653:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1666:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1653:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5b4578743732315369675d3a204e614e", + "id": 2923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1669:18:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_008b5f99008f9d14e6b74803b23e17bb1bcfebcb4ac78def15054a6b9322438f", + "typeString": "literal_string \"[Ext721Sig]: NaN\"" + }, + "value": "[Ext721Sig]: NaN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_008b5f99008f9d14e6b74803b23e17bb1bcfebcb4ac78def15054a6b9322438f", + "typeString": "literal_string \"[Ext721Sig]: NaN\"" + } + ], + "id": 2919, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1645:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1645:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2925, + "nodeType": "ExpressionStatement", + "src": "1645:43:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2927, + "name": "_cappedSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "1706:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1722:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1706:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5b4578743732315369675d3a204e614e", + "id": 2930, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1725:18:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_008b5f99008f9d14e6b74803b23e17bb1bcfebcb4ac78def15054a6b9322438f", + "typeString": "literal_string \"[Ext721Sig]: NaN\"" + }, + "value": "[Ext721Sig]: NaN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_008b5f99008f9d14e6b74803b23e17bb1bcfebcb4ac78def15054a6b9322438f", + "typeString": "literal_string \"[Ext721Sig]: NaN\"" + } + ], + "id": 2926, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1698:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1698:46:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2932, + "nodeType": "ExpressionStatement", + "src": "1698:46:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2934, + "name": "_redemptionTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2912, + "src": "1762:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1782:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1762:21:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5b4578743732315369675d3a204e614e", + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1785:18:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_008b5f99008f9d14e6b74803b23e17bb1bcfebcb4ac78def15054a6b9322438f", + "typeString": "literal_string \"[Ext721Sig]: NaN\"" + }, + "value": "[Ext721Sig]: NaN" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_008b5f99008f9d14e6b74803b23e17bb1bcfebcb4ac78def15054a6b9322438f", + "typeString": "literal_string \"[Ext721Sig]: NaN\"" + } + ], + "id": 2933, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1754:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1754:50:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2939, + "nodeType": "ExpressionStatement", + "src": "1754:50:19" + }, + { + "documentation": "@dev initialize immutable variables", + "expression": { + "id": 2942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2940, + "name": "__COMMISSIONER__", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2898, + "src": "1863:16:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2941, + "name": "_comissioner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2904, + "src": "1882:12:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1863:31:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2943, + "nodeType": "ExpressionStatement", + "src": "1863:31:19" + }, + { + "expression": { + "id": 2946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2944, + "name": "__COMMISSIONS__", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2896, + "src": "1904:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2945, + "name": "_commissions", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2908, + "src": "1922:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1904:30:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2947, + "nodeType": "ExpressionStatement", + "src": "1904:30:19" + }, + { + "documentation": "@dev setup internal config variables", + "expression": { + "id": 2950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2948, + "name": "redemptionTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2894, + "src": "1994:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2949, + "name": "_redemptionTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2912, + "src": "2013:17:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1994:36:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2951, + "nodeType": "ExpressionStatement", + "src": "1994:36:19" + }, + { + "expression": { + "id": 2954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2952, + "name": "cappedSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2890, + "src": "2040:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2953, + "name": "_cappedSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2910, + "src": "2055:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2040:28:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2955, + "nodeType": "ExpressionStatement", + "src": "2040:28:19" + }, + { + "expression": { + "id": 2958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2956, + "name": "maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "2078:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2957, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2906, + "src": "2090:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2078:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2959, + "nodeType": "ExpressionStatement", + "src": "2078:22:19" + } + ] + }, + "id": 2961, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 2915, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2900, + "src": "1619:5:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2916, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2902, + "src": "1626:7:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 2917, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2914, + "name": "ERC721ExtensionCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2873, + "src": "1599:19:19" + }, + "nodeType": "ModifierInvocation", + "src": "1599:35:19" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2900, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1402:5:19", + "nodeType": "VariableDeclaration", + "scope": 2961, + "src": "1388:19:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2899, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1388:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2902, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1431:7:19", + "nodeType": "VariableDeclaration", + "scope": 2961, + "src": "1417:21:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2901, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1417:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2904, + "mutability": "mutable", + "name": "_comissioner", + "nameLocation": "1456:12:19", + "nodeType": "VariableDeclaration", + "scope": 2961, + "src": "1448:20:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2903, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1448:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2906, + "mutability": "mutable", + "name": "_maxSupply", + "nameLocation": "1486:10:19", + "nodeType": "VariableDeclaration", + "scope": 2961, + "src": "1478:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2905, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1478:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2908, + "mutability": "mutable", + "name": "_commissions", + "nameLocation": "1514:12:19", + "nodeType": "VariableDeclaration", + "scope": 2961, + "src": "1506:20:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2907, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1506:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2910, + "mutability": "mutable", + "name": "_cappedSupply", + "nameLocation": "1544:13:19", + "nodeType": "VariableDeclaration", + "scope": 2961, + "src": "1536:21:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2909, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1536:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2912, + "mutability": "mutable", + "name": "_redemptionTariff", + "nameLocation": "1575:17:19", + "nodeType": "VariableDeclaration", + "scope": 2961, + "src": "1567:25:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2911, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1567:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1378:220:19" + }, + "returnParameters": { + "id": 2918, + "nodeType": "ParameterList", + "parameters": [], + "src": "1635:0:19" + }, + "scope": 3233, + "src": "1367:740:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2984, + "nodeType": "Block", + "src": "2177:125:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2971, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2969, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "2195:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2208:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2195:14:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2972, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "2213:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2973, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "2227:11:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2227:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2213:27:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2195:45:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964206d617820737570706c79", + "id": 2977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2242:20:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_888a78c978545f58b2dffe394cbe49b0a1d9ef0c86d657f17a3bed370511b9c9", + "typeString": "literal_string \"Invalid max supply\"" + }, + "value": "Invalid max supply" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_888a78c978545f58b2dffe394cbe49b0a1d9ef0c86d657f17a3bed370511b9c9", + "typeString": "literal_string \"Invalid max supply\"" + } + ], + "id": 2968, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2187:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2187:76:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2979, + "nodeType": "ExpressionStatement", + "src": "2187:76:19" + }, + { + "expression": { + "id": 2982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2980, + "name": "maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "2273:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2981, + "name": "_maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2963, + "src": "2285:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2273:22:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2983, + "nodeType": "ExpressionStatement", + "src": "2273:22:19" + } + ] + }, + "functionSelector": "f103b433", + "id": 2985, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2966, + "kind": "modifierInvocation", + "modifierName": { + "id": 2965, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "2167:9:19" + }, + "nodeType": "ModifierInvocation", + "src": "2167:9:19" + } + ], + "name": "updateMaxSupply", + "nameLocation": "2122:15:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2963, + "mutability": "mutable", + "name": "_maxSupply", + "nameLocation": "2146:10:19", + "nodeType": "VariableDeclaration", + "scope": 2985, + "src": "2138:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2138:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2137:20:19" + }, + "returnParameters": { + "id": 2967, + "nodeType": "ParameterList", + "parameters": [], + "src": "2177:0:19" + }, + "scope": 3233, + "src": "2113:189:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2996, + "nodeType": "Block", + "src": "2369:46:19", + "statements": [ + { + "expression": { + "id": 2994, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2992, + "name": "redemptionTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2894, + "src": "2379:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2993, + "name": "_newTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2987, + "src": "2398:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2379:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2995, + "nodeType": "ExpressionStatement", + "src": "2379:29:19" + } + ] + }, + "functionSelector": "797fd680", + "id": 2997, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2990, + "kind": "modifierInvocation", + "modifierName": { + "id": 2989, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "2359:9:19" + }, + "nodeType": "ModifierInvocation", + "src": "2359:9:19" + } + ], + "name": "modifyTariff", + "nameLocation": "2317:12:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2987, + "mutability": "mutable", + "name": "_newTariff", + "nameLocation": "2338:10:19", + "nodeType": "VariableDeclaration", + "scope": 2997, + "src": "2330:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2986, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2330:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2329:20:19" + }, + "returnParameters": { + "id": 2991, + "nodeType": "ParameterList", + "parameters": [], + "src": "2369:0:19" + }, + "scope": 3233, + "src": "2308:107:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 2859 + ], + "body": { + "id": 3057, + "nodeType": "Block", + "src": "2660:795:19", + "statements": [ + { + "documentation": "@dev ensure this transaction is funded", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3009, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2729:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "2729:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 3011, + "name": "redemptionTariff", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2894, + "src": "2742:16:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2729:29:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5b4578745369673a6d696e745d3a4e6f2066756e6473", + "id": 3013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2760:24:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_59169252292cd705652a6fee7dbffdeea39f4806fb0e0bc97d017d24b8da204e", + "typeString": "literal_string \"[ExtSig:mint]:No funds\"" + }, + "value": "[ExtSig:mint]:No funds" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_59169252292cd705652a6fee7dbffdeea39f4806fb0e0bc97d017d24b8da204e", + "typeString": "literal_string \"[ExtSig:mint]:No funds\"" + } + ], + "id": 3008, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2721:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2721:64:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3015, + "nodeType": "ExpressionStatement", + "src": "2721:64:19" + }, + { + "documentation": "@dev hook to run before minting", + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3017, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "2857:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2857:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3016, + "name": "_beforeTokenMint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3081, + "src": "2840:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", + "typeString": "function (address) view" + } + }, + "id": 3019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2840:30:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3020, + "nodeType": "ExpressionStatement", + "src": "2840:30:19" + }, + { + "documentation": "@dev we do not regard the principle of quantity,\n @dev everyone mints only one token", + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3022, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "2998:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2998:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "31", + "id": 3024, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3012:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 3021, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2238, + "src": "2992:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3025, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2992:22:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3026, + "nodeType": "ExpressionStatement", + "src": "2992:22:19" + }, + { + "assignments": [ + 3028 + ], + "declarations": [ + { + "constant": false, + "id": 3028, + "mutability": "mutable", + "name": "newTokenId", + "nameLocation": "3033:10:19", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "3025:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3027, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3025:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3030, + "initialValue": { + "id": 3029, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "3046:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3025:34:19" + }, + { + "documentation": "@dev we can now set the tokenURI of the token we just minted", + "expression": { + "arguments": [ + { + "id": 3032, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3028, + "src": "3156:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3033, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3000, + "src": "3168:9:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3031, + "name": "_setTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2823, + "src": "3143:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 3034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3143:35:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3035, + "nodeType": "ExpressionStatement", + "src": "3143:35:19" + }, + { + "assignments": [ + 3038 + ], + "declarations": [ + { + "constant": false, + "id": 3038, + "mutability": "mutable", + "name": "commission", + "nameLocation": "3253:10:19", + "nodeType": "VariableDeclaration", + "scope": 3057, + "src": "3245:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3037, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3245:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev we calculate the commissions for admin", + "id": 3046, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3039, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3267:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3267:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 3041, + "name": "__COMMISSIONS__", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2896, + "src": "3279:15:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3267:27:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3043, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3266:29:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "3130303030", + "id": 3044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3298:5:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_10000_by_1", + "typeString": "int_const 10000" + }, + "value": "10000" + }, + "src": "3266:37:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3245:58:19" + }, + { + "documentation": "@dev we send the commission to the commissioner", + "expression": { + "arguments": [ + { + "id": 3052, + "name": "commission", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3038, + "src": "3409:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 3049, + "name": "__COMMISSIONER__", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2898, + "src": "3382:16:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3374:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 3047, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3374:8:19", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 3050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3374:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 3051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "3374:34:19", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3374:46:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3054, + "nodeType": "ExpressionStatement", + "src": "3374:46:19" + }, + { + "expression": { + "id": 3055, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3028, + "src": "3438:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 3007, + "id": 3056, + "nodeType": "Return", + "src": "3431:17:19" + } + ] + }, + "documentation": { + "id": 2998, + "nodeType": "StructuredDocumentation", + "src": "2421:143:19", + "text": "@dev Override the ERC721ExtensionCore.mint function to handle payable mints.\n @dev requires the caller to pay the redemptionTariff." + }, + "functionSelector": "d85d3d27", + "id": 3058, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 3004, + "kind": "modifierInvocation", + "modifierName": { + "id": 3003, + "name": "guarded", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3258, + "src": "2634:7:19" + }, + "nodeType": "ModifierInvocation", + "src": "2634:7:19" + } + ], + "name": "mint", + "nameLocation": "2578:4:19", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3002, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2625:8:19" + }, + "parameters": { + "id": 3001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3000, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "2597:9:19", + "nodeType": "VariableDeclaration", + "scope": 3058, + "src": "2583:23:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2999, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2583:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2582:25:19" + }, + "returnParameters": { + "id": 3007, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3006, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3058, + "src": "2651:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3005, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2651:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2650:9:19" + }, + "scope": 3233, + "src": "2569:886:19", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3080, + "nodeType": "Block", + "src": "3520:154:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 3065, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3060, + "src": "3548:9:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3064, + "name": "balanceOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1500, + "src": "3538:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 3066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3538:20:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3067, + "name": "cappedSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2890, + "src": "3561:12:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3538:35:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "596f752063616e2774206d696e7420616e796d6f72652e", + "id": 3069, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3575:25:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e764ef29f10df39a84ae1f2d0f7faa27f76d92ed53c5562a33469560f7085a65", + "typeString": "literal_string \"You can't mint anymore.\"" + }, + "value": "You can't mint anymore." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e764ef29f10df39a84ae1f2d0f7faa27f76d92ed53c5562a33469560f7085a65", + "typeString": "literal_string \"You can't mint anymore.\"" + } + ], + "id": 3063, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3530:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3530:71:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3071, + "nodeType": "ExpressionStatement", + "src": "3530:71:19" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3073, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "3619:11:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3619:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3075, + "name": "maxSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2887, + "src": "3635:9:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3619:25:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d617820737570706c792072656163686564", + "id": 3077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3646:20:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf40cb9708e1320ee04bc59cb2f8b4ce47ba0c93638609957810c412abce51a7", + "typeString": "literal_string \"Max supply reached\"" + }, + "value": "Max supply reached" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cf40cb9708e1320ee04bc59cb2f8b4ce47ba0c93638609957810c412abce51a7", + "typeString": "literal_string \"Max supply reached\"" + } + ], + "id": 3072, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3611:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3611:56:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3079, + "nodeType": "ExpressionStatement", + "src": "3611:56:19" + } + ] + }, + "id": 3081, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenMint", + "nameLocation": "3470:16:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3061, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3060, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "3495:9:19", + "nodeType": "VariableDeclaration", + "scope": 3081, + "src": "3487:17:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3059, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3487:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3486:19:19" + }, + "returnParameters": { + "id": 3062, + "nodeType": "ParameterList", + "parameters": [], + "src": "3520:0:19" + }, + "scope": 3233, + "src": "3461:213:19", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3167, + "nodeType": "Block", + "src": "3843:1158:19", + "statements": [ + { + "documentation": "@dev Require that the address is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3097, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3083, + "src": "3926:4:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3942:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3934:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3934:7:19", + "typeDescriptions": {} + } + }, + "id": 3101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3934:10:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3926:18:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e7420746f207a65726f20616464726573732e", + "id": 3103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3946:23:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + }, + "value": "Mint to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + } + ], + "id": 3096, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3918:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3918:52:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3105, + "nodeType": "ExpressionStatement", + "src": "3918:52:19" + }, + { + "documentation": "@dev Require that the hash is actually 32 [64 characters]\n in length.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3107, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "4092:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4092:11:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3332", + "id": 3109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4107:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4092:17:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c696420686173682e", + "id": 3111, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4111:15:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a7fbb30cbfd2c1e85c73eb36daa5eb95b6ba858ce622fc97f840c43ac489678", + "typeString": "literal_string \"Invalid hash.\"" + }, + "value": "Invalid hash." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2a7fbb30cbfd2c1e85c73eb36daa5eb95b6ba858ce622fc97f840c43ac489678", + "typeString": "literal_string \"Invalid hash.\"" + } + ], + "id": 3106, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4084:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4084:43:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3113, + "nodeType": "ExpressionStatement", + "src": "4084:43:19" + }, + { + "documentation": "@dev Require the length of the signature is 65.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3115, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3087, + "src": "4205:3:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4205:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3635", + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4219:2:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "4205:16:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964207369676e6174757265206c656e677468", + "id": 3119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4223:26:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d0e57016dfcfa997388e3f3d9ad75ea4d5a67a0f23b0489f2cdbaecf3ef0f78c", + "typeString": "literal_string \"Invalid signature length\"" + }, + "value": "Invalid signature length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d0e57016dfcfa997388e3f3d9ad75ea4d5a67a0f23b0489f2cdbaecf3ef0f78c", + "typeString": "literal_string \"Invalid signature length\"" + } + ], + "id": 3114, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4197:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4197:53:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3121, + "nodeType": "ExpressionStatement", + "src": "4197:53:19" + }, + { + "assignments": [ + 3124 + ], + "declarations": [ + { + "constant": false, + "id": 3124, + "mutability": "mutable", + "name": "prefix", + "nameLocation": "4382:6:19", + "nodeType": "VariableDeclaration", + "scope": 3167, + "src": "4369:19:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3123, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4369:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Verifies that the address was actually signed by the\n allowlistOwner.", + "id": 3126, + "initialValue": { + "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", + "id": 3125, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4391:34:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", + "typeString": "literal_string hex\"19457468657265756d205369676e6564204d6573736167653a0a3332\"" + }, + "value": "\u0019Ethereum Signed Message:\n32" + }, + "nodeType": "VariableDeclarationStatement", + "src": "4369:56:19" + }, + { + "assignments": [ + 3128 + ], + "declarations": [ + { + "constant": false, + "id": 3128, + "mutability": "mutable", + "name": "prefixedHashMessage", + "nameLocation": "4443:19:19", + "nodeType": "VariableDeclaration", + "scope": 3167, + "src": "4435:27:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3127, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4435:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 3136, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "id": 3132, + "name": "prefix", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3124, + "src": "4492:6:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 3133, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "4500:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3130, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4475:3:19", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "4475:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 3134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4475:30:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3129, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "4465:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 3135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4465:41:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4435:71:19" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3139, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6003, + "src": "4537:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4537:7:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3141, + "name": "prefixedHashMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3128, + "src": "4546:19:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3142, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3087, + "src": "4567:3:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3138, + "name": "verifySigner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3200, + "src": "4524:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,bytes32,bytes memory) pure returns (bool)" + } + }, + "id": 3143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4524:47:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "48617368206e6f74207369676e6564206279206f776e65722e", + "id": 3144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4573:27:19", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8bd072bd5dbada9e898e97294da7d3166e68f47eb033c9c4ff00346bc371e6be", + "typeString": "literal_string \"Hash not signed by owner.\"" + }, + "value": "Hash not signed by owner." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8bd072bd5dbada9e898e97294da7d3166e68f47eb033c9c4ff00346bc371e6be", + "typeString": "literal_string \"Hash not signed by owner.\"" + } + ], + "id": 3137, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4516:7:19", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4516:85:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3146, + "nodeType": "ExpressionStatement", + "src": "4516:85:19" + }, + { + "documentation": "@dev hook to run before minting", + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3148, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "4673:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4673:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3147, + "name": "_beforeTokenMint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3081, + "src": "4656:16:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$__$", + "typeString": "function (address) view" + } + }, + "id": 3150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4656:30:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3151, + "nodeType": "ExpressionStatement", + "src": "4656:30:19" + }, + { + "documentation": "@dev we do not regard the principle of quantity,\n @dev everyone mints only one token", + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3153, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "4814:10:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4814:12:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "31", + "id": 3155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4828:1:19", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "id": 3152, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2238, + "src": "4808:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4808:22:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3157, + "nodeType": "ExpressionStatement", + "src": "4808:22:19" + }, + { + "assignments": [ + 3159 + ], + "declarations": [ + { + "constant": false, + "id": 3159, + "mutability": "mutable", + "name": "newTokenId", + "nameLocation": "4849:10:19", + "nodeType": "VariableDeclaration", + "scope": 3167, + "src": "4841:18:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3158, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4841:7:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3161, + "initialValue": { + "id": 3160, + "name": "_currentIndex", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1356, + "src": "4862:13:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4841:34:19" + }, + { + "documentation": "@dev we can now set the tokenURI of the token we just minted", + "expression": { + "arguments": [ + { + "id": 3163, + "name": "newTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3159, + "src": "4972:10:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3164, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3089, + "src": "4984:9:19", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 3162, + "name": "_setTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2823, + "src": "4959:12:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 3165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4959:35:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3166, + "nodeType": "ExpressionStatement", + "src": "4959:35:19" + } + ] + }, + "functionSelector": "ff0350e2", + "id": 3168, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 3092, + "kind": "modifierInvocation", + "modifierName": { + "id": 3091, + "name": "guarded", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3258, + "src": "3825:7:19" + }, + "nodeType": "ModifierInvocation", + "src": "3825:7:19" + }, + { + "id": 3094, + "kind": "modifierInvocation", + "modifierName": { + "id": 3093, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "3833:9:19" + }, + "nodeType": "ModifierInvocation", + "src": "3833:9:19" + } + ], + "name": "mintWithSignature", + "nameLocation": "3689:17:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3083, + "mutability": "mutable", + "name": "addr", + "nameLocation": "3724:4:19", + "nodeType": "VariableDeclaration", + "scope": 3168, + "src": "3716:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3716:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3085, + "mutability": "mutable", + "name": "hash", + "nameLocation": "3746:4:19", + "nodeType": "VariableDeclaration", + "scope": 3168, + "src": "3738:12:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3084, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3738:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3087, + "mutability": "mutable", + "name": "sig", + "nameLocation": "3773:3:19", + "nodeType": "VariableDeclaration", + "scope": 3168, + "src": "3760:16:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3086, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3760:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3089, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "3800:9:19", + "nodeType": "VariableDeclaration", + "scope": 3168, + "src": "3786:23:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3088, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3786:6:19", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3706:109:19" + }, + "returnParameters": { + "id": 3095, + "nodeType": "ParameterList", + "parameters": [], + "src": "3843:0:19" + }, + "scope": 3233, + "src": "3680:1321:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3199, + "nodeType": "Block", + "src": "5145:132:19", + "statements": [ + { + "assignments": [ + 3180, + 3182, + 3184 + ], + "declarations": [ + { + "constant": false, + "id": 3180, + "mutability": "mutable", + "name": "r", + "nameLocation": "5164:1:19", + "nodeType": "VariableDeclaration", + "scope": 3199, + "src": "5156:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3179, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5156:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3182, + "mutability": "mutable", + "name": "s", + "nameLocation": "5175:1:19", + "nodeType": "VariableDeclaration", + "scope": 3199, + "src": "5167:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5167:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3184, + "mutability": "mutable", + "name": "v", + "nameLocation": "5184:1:19", + "nodeType": "VariableDeclaration", + "scope": 3199, + "src": "5178:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3183, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5178:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "id": 3188, + "initialValue": { + "arguments": [ + { + "id": 3186, + "name": "_signature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3174, + "src": "5204:10:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3185, + "name": "splitSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3213, + "src": "5189:14:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$_t_bytes32_$_t_uint8_$", + "typeString": "function (bytes memory) pure returns (bytes32,bytes32,uint8)" + } + }, + "id": 3187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5189:26:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$_t_uint8_$", + "typeString": "tuple(bytes32,bytes32,uint8)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5155:60:19" + }, + { + "expression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3189, + "name": "_signer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3170, + "src": "5233:7:19", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 3191, + "name": "_hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3172, + "src": "5254:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3192, + "name": "v", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3184, + "src": "5261:1:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "id": 3193, + "name": "r", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3180, + "src": "5264:1:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 3194, + "name": "s", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3182, + "src": "5267:1:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 3190, + "name": "ecrecover", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -6, + "src": "5244:9:19", + "typeDescriptions": { + "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", + "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + } + }, + "id": 3195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5244:25:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5233:36:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3197, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5232:38:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 3178, + "id": 3198, + "nodeType": "Return", + "src": "5225:45:19" + } + ] + }, + "id": 3200, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifySigner", + "nameLocation": "5016:12:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3170, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "5046:7:19", + "nodeType": "VariableDeclaration", + "scope": 3200, + "src": "5038:15:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5038:7:19", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3172, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "5071:5:19", + "nodeType": "VariableDeclaration", + "scope": 3200, + "src": "5063:13:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3171, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5063:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3174, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "5099:10:19", + "nodeType": "VariableDeclaration", + "scope": 3200, + "src": "5086:23:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3173, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5086:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5028:87:19" + }, + "returnParameters": { + "id": 3178, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3177, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3200, + "src": "5139:4:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3176, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5139:4:19", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5138:6:19" + }, + "scope": 3233, + "src": "5007:270:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3212, + "nodeType": "Block", + "src": "5452:744:19", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "5471:719:19", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5968:24:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "5983:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5988:2:19", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5979:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "5979:12:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "5973:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "5973:19:19" + }, + "variableNames": [ + { + "name": "r", + "nodeType": "YulIdentifier", + "src": "5968:1:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6043:24:19", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "6058:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6063:2:19", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6054:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6054:12:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6048:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "6048:19:19" + }, + "variableNames": [ + { + "name": "s", + "nodeType": "YulIdentifier", + "src": "6043:1:19" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6147:33:19", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6157:1:19", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "sig", + "nodeType": "YulIdentifier", + "src": "6170:3:19" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6175:2:19", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6166:3:19" + }, + "nodeType": "YulFunctionCall", + "src": "6166:12:19" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6160:5:19" + }, + "nodeType": "YulFunctionCall", + "src": "6160:19:19" + } + ], + "functionName": { + "name": "byte", + "nodeType": "YulIdentifier", + "src": "6152:4:19" + }, + "nodeType": "YulFunctionCall", + "src": "6152:28:19" + }, + "variableNames": [ + { + "name": "v", + "nodeType": "YulIdentifier", + "src": "6147:1:19" + } + ] + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 3205, + "isOffset": false, + "isSlot": false, + "src": "5968:1:19", + "valueSize": 1 + }, + { + "declaration": 3207, + "isOffset": false, + "isSlot": false, + "src": "6043:1:19", + "valueSize": 1 + }, + { + "declaration": 3202, + "isOffset": false, + "isSlot": false, + "src": "5983:3:19", + "valueSize": 1 + }, + { + "declaration": 3202, + "isOffset": false, + "isSlot": false, + "src": "6058:3:19", + "valueSize": 1 + }, + { + "declaration": 3202, + "isOffset": false, + "isSlot": false, + "src": "6170:3:19", + "valueSize": 1 + }, + { + "declaration": 3209, + "isOffset": false, + "isSlot": false, + "src": "6147:1:19", + "valueSize": 1 + } + ], + "id": 3211, + "nodeType": "InlineAssembly", + "src": "5462:728:19" + } + ] + }, + "id": 3213, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "splitSignature", + "nameLocation": "5292:14:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3202, + "mutability": "mutable", + "name": "sig", + "nameLocation": "5320:3:19", + "nodeType": "VariableDeclaration", + "scope": 3213, + "src": "5307:16:19", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3201, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5307:5:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5306:18:19" + }, + "returnParameters": { + "id": 3210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3205, + "mutability": "mutable", + "name": "r", + "nameLocation": "5392:1:19", + "nodeType": "VariableDeclaration", + "scope": 3213, + "src": "5384:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3204, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5384:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3207, + "mutability": "mutable", + "name": "s", + "nameLocation": "5415:1:19", + "nodeType": "VariableDeclaration", + "scope": 3213, + "src": "5407:9:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3206, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5407:7:19", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3209, + "mutability": "mutable", + "name": "v", + "nameLocation": "5436:1:19", + "nodeType": "VariableDeclaration", + "scope": 3213, + "src": "5430:7:19", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 3208, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "5430:5:19", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "5370:77:19" + }, + "scope": 3233, + "src": "5283:913:19", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 3231, + "nodeType": "Block", + "src": "6241:65:19", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 3226, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "6285:4:19", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ERC721ExtensionSignature_$3233", + "typeString": "contract ERC721ExtensionSignature" + } + ], + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6277:7:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3224, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6277:7:19", + "typeDescriptions": {} + } + }, + "id": 3227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6277:13:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "6277:21:19", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3220, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6003, + "src": "6259:5:19", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 3221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6259:7:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6251:8:19", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 3218, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6251:8:19", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 3222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6251:16:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 3223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "6251:25:19", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6251:48:19", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3230, + "nodeType": "ExpressionStatement", + "src": "6251:48:19" + } + ] + }, + "functionSelector": "3ccfd60b", + "id": 3232, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 3216, + "kind": "modifierInvocation", + "modifierName": { + "id": 3215, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "6231:9:19" + }, + "nodeType": "ModifierInvocation", + "src": "6231:9:19" + } + ], + "name": "withdraw", + "nameLocation": "6211:8:19", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3214, + "nodeType": "ParameterList", + "parameters": [], + "src": "6219:2:19" + }, + "returnParameters": { + "id": 3217, + "nodeType": "ParameterList", + "parameters": [], + "src": "6241:0:19" + }, + "scope": 3233, + "src": "6202:104:19", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3234, + "src": "566:5742:19", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367, + 3401, + 3404 + ] + } + ], + "src": "429:5880:19" + }, + "bytecode": "60c060405260016008556000600d553480156200001b57600080fd5b50604051620022dc380380620022dc8339810160408190526200003e9162000293565b868681816002620000508382620003d6565b5060036200005f8282620003d6565b5050600080555062000075915033905062000174565b60008411620000be5760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b60448201526064015b60405180910390fd5b60008211620001035760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b6044820152606401620000b5565b60008111620001485760405162461bcd60e51b815260206004820152601060248201526f2da2bc3a1b9918a9b4b3ae9d102730a760811b6044820152606401620000b5565b6001600160a01b0390941660a052608091909152600d92909255600c91909155600b5550620004a29050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001ee57600080fd5b81516001600160401b03808211156200020b576200020b620001c6565b604051601f8301601f19908116603f01168101908282118183101715620002365762000236620001c6565b816040528381526020925086838588010111156200025357600080fd5b600091505b8382101562000277578582018301518183018401529082019062000258565b83821115620002895760008385830101525b9695505050505050565b600080600080600080600060e0888a031215620002af57600080fd5b87516001600160401b0380821115620002c757600080fd5b620002d58b838c01620001dc565b985060208a0151915080821115620002ec57600080fd5b50620002fb8a828b01620001dc565b60408a015190975090506001600160a01b03811681146200031b57600080fd5b80955050606088015193506080880151925060a0880151915060c0880151905092959891949750929550565b600181811c908216806200035c57607f821691505b6020821081036200037d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d157600081815260208120601f850160051c81016020861015620003ac5750805b601f850160051c820191505b81811015620003cd57828155600101620003b8565b5050505b505050565b81516001600160401b03811115620003f257620003f2620001c6565b6200040a8162000403845462000347565b8462000383565b602080601f831160018114620004425760008415620004295750858301515b600019600386901b1c1916600185901b178555620003cd565b600085815260208120601f198616915b82811015620004735788860151825594840194600190910190840162000452565b5085821015620004925787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051611e14620004c86000396000610ae601526000610aa70152611e146000f3fe6080604052600436106101815760003560e01c8063797fd680116100d1578063c87b56dd1161008a578063e985e9c511610064578063e985e9c51461042c578063f103b43314610475578063f2fde38b14610495578063ff0350e2146104b557600080fd5b8063c87b56dd146103e3578063d5abeb0114610403578063d85d3d271461041957600080fd5b8063797fd6801461033a5780638da5cb5b1461035a57806395d89b411461037857806395dcd0291461038d578063a22cb465146103a3578063b88d4fde146103c357600080fd5b80633ccfd60b1161013e5780636352211e116101185780636352211e146102cf5780636de23a16146102ef57806370a0823114610305578063715018a61461032557600080fd5b80633ccfd60b1461027a57806342842e0e1461028f57806342966c68146102af57600080fd5b806301ffc9a71461018657806306fdde03146101bb578063081812fc146101dd578063095ea7b31461021557806318160ddd1461023757806323b872dd1461025a575b600080fd5b34801561019257600080fd5b506101a66101a1366004611806565b6104d5565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b506101d0610527565b6040516101b29190611882565b3480156101e957600080fd5b506101fd6101f8366004611895565b6105b9565b6040516001600160a01b0390911681526020016101b2565b34801561022157600080fd5b506102356102303660046118ca565b6105fd565b005b34801561024357600080fd5b50600154600054035b6040519081526020016101b2565b34801561026657600080fd5b506102356102753660046118f4565b610683565b34801561028657600080fd5b5061023561068e565b34801561029b57600080fd5b506102356102aa3660046118f4565b6106fd565b3480156102bb57600080fd5b506102356102ca366004611895565b610718565b3480156102db57600080fd5b506101fd6102ea366004611895565b610723565b3480156102fb57600080fd5b5061024c600c5481565b34801561031157600080fd5b5061024c610320366004611930565b610735565b34801561033157600080fd5b50610235610783565b34801561034657600080fd5b50610235610355366004611895565b6107b9565b34801561036657600080fd5b50600a546001600160a01b03166101fd565b34801561038457600080fd5b506101d06107e8565b34801561039957600080fd5b5061024c600d5481565b3480156103af57600080fd5b506102356103be36600461194b565b6107f7565b3480156103cf57600080fd5b506102356103de366004611a29565b61088c565b3480156103ef57600080fd5b506101d06103fe366004611895565b6108d6565b34801561040f57600080fd5b5061024c600b5481565b61024c610427366004611a90565b6109ea565b34801561043857600080fd5b506101a6610447366004611ac4565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561048157600080fd5b50610235610490366004611895565b610b3c565b3480156104a157600080fd5b506102356104b0366004611930565b610bc2565b3480156104c157600080fd5b506102356104d0366004611af7565b610c5a565b60006001600160e01b031982166380ac58cd60e01b148061050657506001600160e01b03198216635b5e139f60e01b145b8061052157506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461053690611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461056290611b68565b80156105af5780601f10610584576101008083540402835291602001916105af565b820191906000526020600020905b81548152906001019060200180831161059257829003601f168201915b5050505050905090565b60006105c482610e63565b6105e1576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061060882610723565b9050806001600160a01b0316836001600160a01b03160361063c5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614610673576106568133610447565b610673576040516367d9dca160e11b815260040160405180910390fd5b61067e838383610e8e565b505050565b61067e838383610eea565b600a546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b890611ba2565b60405180910390fd5b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106fa573d6000803e3d6000fd5b50565b61067e8383836040518060200160405280600081525061088c565b6106fa8160016110d7565b600061072e8261129c565b5192915050565b60006001600160a01b03821661075e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b600a546001600160a01b031633146107ad5760405162461bcd60e51b81526004016106b890611ba2565b6107b760006113b6565b565b600a546001600160a01b031633146107e35760405162461bcd60e51b81526004016106b890611ba2565b600d55565b60606003805461053690611b68565b336001600160a01b038316036108205760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610897848484610eea565b6001600160a01b0383163b156108d0576108b384848484611408565b6108d0576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606108e182610e63565b6108fe57604051630a14c4b560e41b815260040160405180910390fd5b6000828152600960205260408120805461091790611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461094390611b68565b80156109905780601f1061096557610100808354040283529160200191610990565b820191906000526020600020905b81548152906001019060200180831161097357829003601f168201915b5050505050905060006109ae60408051602081019091526000815290565b905080516000036109bf57816109e2565b80826040516020016109d2929190611bd7565b6040516020818303038152906040525b949350505050565b6000600854600114610a2b5760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600d54341015610a7b5760405162461bcd60e51b81526020600482015260166024820152755b4578745369673a6d696e745d3a4e6f2066756e647360501b60448201526064016106b8565b610a84336114f3565b610a90335b6001611598565b600054610a9d81846116ca565b6000612710610acc7f000000000000000000000000000000000000000000000000000000000000000034611c06565b610ad69190611c33565b6040519091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169082156108fc029083906000818181858888f19350505050158015610b2f573d6000803e3d6000fd5b5050600160085592915050565b600a546001600160a01b03163314610b665760405162461bcd60e51b81526004016106b890611ba2565b600081118015610b7c5750600154600054038110155b610bbd5760405162461bcd60e51b8152602060048201526012602482015271496e76616c6964206d617820737570706c7960701b60448201526064016106b8565b600b55565b600a546001600160a01b03163314610bec5760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038116610c515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b6106fa816113b6565b600854600114610c995760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600a546001600160a01b03163314610cc85760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038416610d165760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b60448201526064016106b8565b8151604114610d675760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016106b8565b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008185604051602001610db6929190611c55565b604051602081830303815290604052805190602001209050610dea610de3600a546001600160a01b031690565b828661175c565b610e365760405162461bcd60e51b815260206004820152601960248201527f48617368206e6f74207369676e6564206279206f776e65722e0000000000000060448201526064016106b8565b610e3f336114f3565b610e4833610a89565b600054610e5581856116ca565b505060016008555050505050565b6000805482108015610521575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610ef58261129c565b9050836001600160a01b031681600001516001600160a01b031614610f2c5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610f4a5750610f4a8533610447565b80610f65575033610f5a846105b9565b6001600160a01b0316145b905080610f8557604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610fac57604051633a954ecd60e21b815260040160405180910390fd5b610fb860008487610e8e565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661108c57600054821461108c57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b60006110e28361129c565b80519091508215611148576000336001600160a01b038316148061110b575061110b8233610447565b8061112657503361111b866105b9565b6001600160a01b0316145b90508061114657604051632ce44b5f60e11b815260040160405180910390fd5b505b61115460008583610e8e565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b17855591890180845292208054919490911661125257600054821461125257805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b60408051606081018252600080825260208201819052918101919091528160005481101561139d57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff1615159181018290529061139b5780516001600160a01b031615611332579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215611396579392505050565b611332565b505b604051636f96cda160e11b815260040160405180910390fd5b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061143d903390899088908890600401611c77565b6020604051808303816000875af1925050508015611478575060408051601f3d908101601f1916820190925261147591810190611cb4565b60015b6114d6573d8080156114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b5080516000036114ce576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b600c546114ff82610735565b1061154c5760405162461bcd60e51b815260206004820152601760248201527f596f752063616e2774206d696e7420616e796d6f72652e00000000000000000060448201526064016106b8565b600b5460015460005403106106fa5760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b60448201526064016106b8565b6000546001600160a01b0383166115c157604051622e076360e81b815260040160405180910390fd5b816000036115e25760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a480821061167e5750600055505050565b80511561170b5760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016106b8565b6000828152600960205260409020805461172490611b68565b15905061174457604051630162134b60e11b815260040160405180910390fd5b600082815260096020526040902061067e8282611d1f565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa1580156117c6573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6001600160e01b0319811681146106fa57600080fd5b60006020828403121561181857600080fd5b8135611823816117f0565b9392505050565b60005b8381101561184557818101518382015260200161182d565b838111156108d05750506000910152565b6000815180845261186e81602086016020860161182a565b601f01601f19169290920160200192915050565b6020815260006118236020830184611856565b6000602082840312156118a757600080fd5b5035919050565b80356001600160a01b03811681146118c557600080fd5b919050565b600080604083850312156118dd57600080fd5b6118e6836118ae565b946020939093013593505050565b60008060006060848603121561190957600080fd5b611912846118ae565b9250611920602085016118ae565b9150604084013590509250925092565b60006020828403121561194257600080fd5b611823826118ae565b6000806040838503121561195e57600080fd5b611967836118ae565b91506020830135801515811461197c57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126119ae57600080fd5b81356001600160401b03808211156119c8576119c8611987565b604051601f8301601f19908116603f011681019082821181831017156119f0576119f0611987565b81604052838152866020858801011115611a0957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215611a3f57600080fd5b611a48856118ae565b9350611a56602086016118ae565b92506040850135915060608501356001600160401b03811115611a7857600080fd5b611a848782880161199d565b91505092959194509250565b600060208284031215611aa257600080fd5b81356001600160401b03811115611ab857600080fd5b6109e28482850161199d565b60008060408385031215611ad757600080fd5b611ae0836118ae565b9150611aee602084016118ae565b90509250929050565b60008060008060808587031215611b0d57600080fd5b611b16856118ae565b93506020850135925060408501356001600160401b0380821115611b3957600080fd5b611b458883890161199d565b93506060870135915080821115611b5b57600080fd5b50611a848782880161199d565b600181811c90821680611b7c57607f821691505b602082108103611b9c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008351611be981846020880161182a565b835190830190611bfd81836020880161182a565b01949350505050565b6000816000190483118215151615611c2e57634e487b7160e01b600052601160045260246000fd5b500290565b600082611c5057634e487b7160e01b600052601260045260246000fd5b500490565b60008351611c6781846020880161182a565b9190910191825250602001919050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611caa90830184611856565b9695505050505050565b600060208284031215611cc657600080fd5b8151611823816117f0565b601f82111561067e57600081815260208120601f850160051c81016020861015611cf85750805b601f850160051c820191505b81811015611d1757828155600101611d04565b505050505050565b81516001600160401b03811115611d3857611d38611987565b611d4c81611d468454611b68565b84611cd1565b602080601f831160018114611d815760008415611d695750858301515b600019600386901b1c1916600185901b178555611d17565b600085815260208120601f198616915b82811015611db057888601518255948401946001909101908401611d91565b5085821015611dce5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212200947b902c115f0f4b9a5513076faebc95e8c058d1e09968353b15427dfa7568e64736f6c634300080f0033", + "bytecodeSha1": "25973c3ef519cb5470a80e0e78851de93963db76", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721ExtensionSignature", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "124": [ + 2006, + 2028, + true + ] + } + }, + "1": {}, + "17": { + "ERC721A._burn": { + "112": [ + 16787, + 16804, + false + ], + "113": [ + 18282, + 18310, + false + ] + }, + "ERC721A._checkContractOnERC721Received": { + "117": [ + 19927, + 19945, + false + ] + }, + "ERC721A._mint": { + "118": [ + 12705, + 12721, + false + ], + "119": [ + 12763, + 12776, + false + ] + }, + "ERC721A._ownershipOf": { + "114": [ + 5289, + 5309, + false + ], + "115": [ + 5459, + 5487, + false + ], + "116": [ + 6021, + 6049, + false + ] + }, + "ERC721A._transfer": { + "108": [ + 14163, + 14189, + false + ], + "109": [ + 14380, + 14397, + false + ], + "110": [ + 14455, + 14471, + false + ], + "111": [ + 15745, + 15773, + false + ] + }, + "ERC721A.approve": { + "102": [ + 7663, + 7674, + false + ], + "103": [ + 7722, + 7743, + false + ], + "104": [ + 7762, + 7799, + false + ] + }, + "ERC721A.balanceOf": { + "105": [ + 3832, + 3851, + false + ] + }, + "ERC721A.getApproved": { + "101": [ + 8074, + 8090, + false + ] + }, + "ERC721A.safeTransferFrom": { + "107": [ + 9533, + 9589, + false + ] + }, + "ERC721A.setApprovalForAll": { + "106": [ + 8347, + 8371, + false + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "122": [ + 1709, + 1737, + false + ], + "123": [ + 1797, + 1835, + false + ] + }, + "ERC721ExtensionCore.tokenURI": { + "120": [ + 1065, + 1081, + false + ], + "121": [ + 1381, + 1404, + true + ] + } + }, + "19": { + "ERC721ExtensionSignature._beforeTokenMint": { + "99": [ + 3538, + 3573, + true + ], + "100": [ + 3619, + 3644, + true + ] + }, + "ERC721ExtensionSignature.mint": { + "93": [ + 2729, + 2758, + true + ] + }, + "ERC721ExtensionSignature.mintWithSignature": { + "96": [ + 3926, + 3944, + true + ], + "97": [ + 4205, + 4221, + true + ], + "98": [ + 4524, + 4571, + true + ] + }, + "ERC721ExtensionSignature.updateMaxSupply": { + "94": [ + 2195, + 2209, + false + ], + "95": [ + 2213, + 2240, + true + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "3": {}, + "5": {}, + "7": {}, + "8": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "75": [ + 2378, + 2395 + ], + "76": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "1": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "19": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "38": [ + 1998, + 2071 + ], + "39": [ + 2081, + 2109 + ] + } + }, + "1": {}, + "17": { + "ERC721A._approve": { + "47": [ + 18958, + 18987 + ], + "48": [ + 18997, + 19030 + ] + }, + "ERC721A._baseURI": { + "28": [ + 7464, + 7473 + ] + }, + "ERC721A._burn": { + "60": [ + 16782, + 16848 + ], + "61": [ + 16982, + 17017 + ], + "62": [ + 17373, + 17397 + ], + "63": [ + 17411, + 17440 + ], + "64": [ + 17604, + 17624 + ], + "65": [ + 17638, + 17687 + ], + "66": [ + 17701, + 17723 + ], + "67": [ + 18334, + 18354 + ], + "68": [ + 18376, + 18430 + ], + "69": [ + 18483, + 18523 + ], + "70": [ + 18706, + 18720 + ] + }, + "ERC721A._checkContractOnERC721Received": { + "77": [ + 19923, + 20152 + ], + "78": [ + 19807, + 19869 + ] + }, + "ERC721A._exists": { + "46": [ + 9996, + 10088 + ] + }, + "ERC721A._mint": { + "81": [ + 12701, + 12749 + ], + "82": [ + 12759, + 12803 + ], + "83": [ + 13146, + 13190 + ], + "84": [ + 13204, + 13253 + ], + "85": [ + 13268, + 13303 + ], + "86": [ + 13317, + 13383 + ], + "87": [ + 13520, + 13565 + ], + "88": [ + 13622, + 13650 + ] + }, + "ERC721A._ownershipOf": { + "71": [ + 5519, + 5535 + ], + "72": [ + 5922, + 5928 + ], + "73": [ + 5958, + 5987 + ], + "74": [ + 6085, + 6101 + ] + }, + "ERC721A._transfer": { + "49": [ + 14159, + 14226 + ], + "50": [ + 14375, + 14441 + ], + "51": [ + 14451, + 14503 + ], + "52": [ + 14619, + 14654 + ], + "53": [ + 14944, + 14975 + ], + "54": [ + 14989, + 15018 + ], + "55": [ + 15101, + 15119 + ], + "56": [ + 15133, + 15182 + ], + "57": [ + 15797, + 15817 + ], + "58": [ + 15839, + 15893 + ], + "59": [ + 15946, + 15978 + ] + }, + "ERC721A.approve": { + "8": [ + 7659, + 7707 + ], + "10": [ + 7757, + 7876 + ], + "11": [ + 7886, + 7914 + ] + }, + "ERC721A.balanceOf": { + "17": [ + 3828, + 3888 + ], + "18": [ + 3898, + 3941 + ] + }, + "ERC721A.getApproved": { + "6": [ + 8069, + 8133 + ], + "7": [ + 8144, + 8175 + ] + }, + "ERC721A.isApprovedForAll": { + "2": [ + 8710, + 8752 + ] + }, + "ERC721A.name": { + "5": [ + 6583, + 6595 + ] + }, + "ERC721A.ownerOf": { + "16": [ + 6402, + 6435 + ] + }, + "ERC721A.safeTransferFrom": { + "14": [ + 9184, + 9223 + ], + "25": [ + 9457, + 9485 + ], + "26": [ + 9528, + 9671 + ] + }, + "ERC721A.setApprovalForAll": { + "22": [ + 8343, + 8397 + ], + "23": [ + 8408, + 8461 + ], + "24": [ + 8471, + 8524 + ] + }, + "ERC721A.supportsInterface": { + "3": [ + 3540, + 3679 + ] + }, + "ERC721A.symbol": { + "21": [ + 6747, + 6761 + ] + }, + "ERC721A.totalSupply": { + "0": [ + 2920, + 2973 + ] + }, + "ERC721A.transferFrom": { + "12": [ + 8950, + 8978 + ] + } + }, + "18": { + "ERC721ExtensionCore._setTokenURI": { + "89": [ + 1705, + 1783 + ], + "90": [ + 1793, + 1872 + ], + "91": [ + 1882, + 1913 + ] + }, + "ERC721ExtensionCore.burn": { + "15": [ + 2899, + 2919 + ] + }, + "ERC721ExtensionCore.tokenURI": { + "27": [ + 1060, + 1119 + ], + "29": [ + 1374, + 1460 + ] + } + }, + "19": { + "ERC721ExtensionSignature._beforeTokenMint": { + "79": [ + 3530, + 3601 + ], + "80": [ + 3611, + 3667 + ] + }, + "ERC721ExtensionSignature.mint": { + "30": [ + 2721, + 2785 + ], + "31": [ + 2840, + 2870 + ], + "32": [ + 2992, + 3014 + ], + "33": [ + 3143, + 3178 + ], + "34": [ + 3374, + 3420 + ], + "35": [ + 3431, + 3448 + ] + }, + "ERC721ExtensionSignature.mintWithSignature": { + "40": [ + 3918, + 3970 + ], + "41": [ + 4197, + 4250 + ], + "42": [ + 4516, + 4601 + ], + "43": [ + 4656, + 4686 + ], + "44": [ + 4808, + 4830 + ], + "45": [ + 4959, + 4994 + ] + }, + "ERC721ExtensionSignature.modifyTariff": { + "20": [ + 2379, + 2408 + ] + }, + "ERC721ExtensionSignature.updateMaxSupply": { + "36": [ + 2187, + 2263 + ], + "37": [ + 2273, + 2295 + ] + }, + "ERC721ExtensionSignature.verifySigner": { + "92": [ + 5225, + 5270 + ] + }, + "ERC721ExtensionSignature.withdraw": { + "13": [ + 6251, + 6299 + ] + } + }, + "20": {}, + "22": {}, + "23": {}, + "3": {}, + "5": { + "Context._msgSender": { + "9": [ + 712, + 729 + ] + } + }, + "7": { + "ERC165.supportsInterface": { + "4": [ + 930, + 977 + ] + } + }, + "8": {} + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165", + "ERC721A", + "ERC721ExtensionCore", + "Guarded", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "IERC721ExtensionCore", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable" + ], + "deployedBytecode": "6080604052600436106101815760003560e01c8063797fd680116100d1578063c87b56dd1161008a578063e985e9c511610064578063e985e9c51461042c578063f103b43314610475578063f2fde38b14610495578063ff0350e2146104b557600080fd5b8063c87b56dd146103e3578063d5abeb0114610403578063d85d3d271461041957600080fd5b8063797fd6801461033a5780638da5cb5b1461035a57806395d89b411461037857806395dcd0291461038d578063a22cb465146103a3578063b88d4fde146103c357600080fd5b80633ccfd60b1161013e5780636352211e116101185780636352211e146102cf5780636de23a16146102ef57806370a0823114610305578063715018a61461032557600080fd5b80633ccfd60b1461027a57806342842e0e1461028f57806342966c68146102af57600080fd5b806301ffc9a71461018657806306fdde03146101bb578063081812fc146101dd578063095ea7b31461021557806318160ddd1461023757806323b872dd1461025a575b600080fd5b34801561019257600080fd5b506101a66101a1366004611806565b6104d5565b60405190151581526020015b60405180910390f35b3480156101c757600080fd5b506101d0610527565b6040516101b29190611882565b3480156101e957600080fd5b506101fd6101f8366004611895565b6105b9565b6040516001600160a01b0390911681526020016101b2565b34801561022157600080fd5b506102356102303660046118ca565b6105fd565b005b34801561024357600080fd5b50600154600054035b6040519081526020016101b2565b34801561026657600080fd5b506102356102753660046118f4565b610683565b34801561028657600080fd5b5061023561068e565b34801561029b57600080fd5b506102356102aa3660046118f4565b6106fd565b3480156102bb57600080fd5b506102356102ca366004611895565b610718565b3480156102db57600080fd5b506101fd6102ea366004611895565b610723565b3480156102fb57600080fd5b5061024c600c5481565b34801561031157600080fd5b5061024c610320366004611930565b610735565b34801561033157600080fd5b50610235610783565b34801561034657600080fd5b50610235610355366004611895565b6107b9565b34801561036657600080fd5b50600a546001600160a01b03166101fd565b34801561038457600080fd5b506101d06107e8565b34801561039957600080fd5b5061024c600d5481565b3480156103af57600080fd5b506102356103be36600461194b565b6107f7565b3480156103cf57600080fd5b506102356103de366004611a29565b61088c565b3480156103ef57600080fd5b506101d06103fe366004611895565b6108d6565b34801561040f57600080fd5b5061024c600b5481565b61024c610427366004611a90565b6109ea565b34801561043857600080fd5b506101a6610447366004611ac4565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561048157600080fd5b50610235610490366004611895565b610b3c565b3480156104a157600080fd5b506102356104b0366004611930565b610bc2565b3480156104c157600080fd5b506102356104d0366004611af7565b610c5a565b60006001600160e01b031982166380ac58cd60e01b148061050657506001600160e01b03198216635b5e139f60e01b145b8061052157506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606002805461053690611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461056290611b68565b80156105af5780601f10610584576101008083540402835291602001916105af565b820191906000526020600020905b81548152906001019060200180831161059257829003601f168201915b5050505050905090565b60006105c482610e63565b6105e1576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b600061060882610723565b9050806001600160a01b0316836001600160a01b03160361063c5760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614610673576106568133610447565b610673576040516367d9dca160e11b815260040160405180910390fd5b61067e838383610e8e565b505050565b61067e838383610eea565b600a546001600160a01b031633146106c15760405162461bcd60e51b81526004016106b890611ba2565b60405180910390fd5b600a546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156106fa573d6000803e3d6000fd5b50565b61067e8383836040518060200160405280600081525061088c565b6106fa8160016110d7565b600061072e8261129c565b5192915050565b60006001600160a01b03821661075e576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b600a546001600160a01b031633146107ad5760405162461bcd60e51b81526004016106b890611ba2565b6107b760006113b6565b565b600a546001600160a01b031633146107e35760405162461bcd60e51b81526004016106b890611ba2565b600d55565b60606003805461053690611b68565b336001600160a01b038316036108205760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610897848484610eea565b6001600160a01b0383163b156108d0576108b384848484611408565b6108d0576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b60606108e182610e63565b6108fe57604051630a14c4b560e41b815260040160405180910390fd5b6000828152600960205260408120805461091790611b68565b80601f016020809104026020016040519081016040528092919081815260200182805461094390611b68565b80156109905780601f1061096557610100808354040283529160200191610990565b820191906000526020600020905b81548152906001019060200180831161097357829003601f168201915b5050505050905060006109ae60408051602081019091526000815290565b905080516000036109bf57816109e2565b80826040516020016109d2929190611bd7565b6040516020818303038152906040525b949350505050565b6000600854600114610a2b5760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600d54341015610a7b5760405162461bcd60e51b81526020600482015260166024820152755b4578745369673a6d696e745d3a4e6f2066756e647360501b60448201526064016106b8565b610a84336114f3565b610a90335b6001611598565b600054610a9d81846116ca565b6000612710610acc7f000000000000000000000000000000000000000000000000000000000000000034611c06565b610ad69190611c33565b6040519091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169082156108fc029083906000818181858888f19350505050158015610b2f573d6000803e3d6000fd5b5050600160085592915050565b600a546001600160a01b03163314610b665760405162461bcd60e51b81526004016106b890611ba2565b600081118015610b7c5750600154600054038110155b610bbd5760405162461bcd60e51b8152602060048201526012602482015271496e76616c6964206d617820737570706c7960701b60448201526064016106b8565b600b55565b600a546001600160a01b03163314610bec5760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038116610c515760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b8565b6106fa816113b6565b600854600114610c995760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b60448201526064016106b8565b6002600855600a546001600160a01b03163314610cc85760405162461bcd60e51b81526004016106b890611ba2565b6001600160a01b038416610d165760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b60448201526064016106b8565b8151604114610d675760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016106b8565b60006040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250905060008185604051602001610db6929190611c55565b604051602081830303815290604052805190602001209050610dea610de3600a546001600160a01b031690565b828661175c565b610e365760405162461bcd60e51b815260206004820152601960248201527f48617368206e6f74207369676e6564206279206f776e65722e0000000000000060448201526064016106b8565b610e3f336114f3565b610e4833610a89565b600054610e5581856116ca565b505060016008555050505050565b6000805482108015610521575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6000610ef58261129c565b9050836001600160a01b031681600001516001600160a01b031614610f2c5760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b0386161480610f4a5750610f4a8533610447565b80610f65575033610f5a846105b9565b6001600160a01b0316145b905080610f8557604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b038416610fac57604051633a954ecd60e21b815260040160405180910390fd5b610fb860008487610e8e565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661108c57600054821461108c57805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050565b60006110e28361129c565b80519091508215611148576000336001600160a01b038316148061110b575061110b8233610447565b8061112657503361111b866105b9565b6001600160a01b0316145b90508061114657604051632ce44b5f60e11b815260040160405180910390fd5b505b61115460008583610e8e565b6001600160a01b0380821660008181526005602090815260408083208054600160801b6000196001600160401b0380841691909101811667ffffffffffffffff198416811783900482166001908101831690930277ffffffffffffffff0000000000000000ffffffffffffffff19909416179290921783558b86526004909452828520805460ff60e01b1942909316600160a01b026001600160e01b03199091169097179690961716600160e01b17855591890180845292208054919490911661125257600054821461125257805460208701516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038716171781555b5050604051869250600091506001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505060018054810190555050565b60408051606081018252600080825260208201819052918101919091528160005481101561139d57600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff1615159181018290529061139b5780516001600160a01b031615611332579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215611396579392505050565b611332565b505b604051636f96cda160e11b815260040160405180910390fd5b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a029061143d903390899088908890600401611c77565b6020604051808303816000875af1925050508015611478575060408051601f3d908101601f1916820190925261147591810190611cb4565b60015b6114d6573d8080156114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b5080516000036114ce576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b600c546114ff82610735565b1061154c5760405162461bcd60e51b815260206004820152601760248201527f596f752063616e2774206d696e7420616e796d6f72652e00000000000000000060448201526064016106b8565b600b5460015460005403106106fa5760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b60448201526064016106b8565b6000546001600160a01b0383166115c157604051622e076360e81b815260040160405180910390fd5b816000036115e25760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b038316600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168a0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168a01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b4290921691909102179055808083015b6040516001830192906001600160a01b038716906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a480821061167e5750600055505050565b80511561170b5760405163193c4e6d60e31b815260206004820152600e60248201526d656d70747920746f6b656e55524960901b60448201526064016106b8565b6000828152600960205260409020805461172490611b68565b15905061174457604051630162134b60e11b815260040160405180910390fd5b600082815260096020526040902061067e8282611d1f565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa1580156117c6573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6001600160e01b0319811681146106fa57600080fd5b60006020828403121561181857600080fd5b8135611823816117f0565b9392505050565b60005b8381101561184557818101518382015260200161182d565b838111156108d05750506000910152565b6000815180845261186e81602086016020860161182a565b601f01601f19169290920160200192915050565b6020815260006118236020830184611856565b6000602082840312156118a757600080fd5b5035919050565b80356001600160a01b03811681146118c557600080fd5b919050565b600080604083850312156118dd57600080fd5b6118e6836118ae565b946020939093013593505050565b60008060006060848603121561190957600080fd5b611912846118ae565b9250611920602085016118ae565b9150604084013590509250925092565b60006020828403121561194257600080fd5b611823826118ae565b6000806040838503121561195e57600080fd5b611967836118ae565b91506020830135801515811461197c57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126119ae57600080fd5b81356001600160401b03808211156119c8576119c8611987565b604051601f8301601f19908116603f011681019082821181831017156119f0576119f0611987565b81604052838152866020858801011115611a0957600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215611a3f57600080fd5b611a48856118ae565b9350611a56602086016118ae565b92506040850135915060608501356001600160401b03811115611a7857600080fd5b611a848782880161199d565b91505092959194509250565b600060208284031215611aa257600080fd5b81356001600160401b03811115611ab857600080fd5b6109e28482850161199d565b60008060408385031215611ad757600080fd5b611ae0836118ae565b9150611aee602084016118ae565b90509250929050565b60008060008060808587031215611b0d57600080fd5b611b16856118ae565b93506020850135925060408501356001600160401b0380821115611b3957600080fd5b611b458883890161199d565b93506060870135915080821115611b5b57600080fd5b50611a848782880161199d565b600181811c90821680611b7c57607f821691505b602082108103611b9c57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008351611be981846020880161182a565b835190830190611bfd81836020880161182a565b01949350505050565b6000816000190483118215151615611c2e57634e487b7160e01b600052601160045260246000fd5b500290565b600082611c5057634e487b7160e01b600052601260045260246000fd5b500490565b60008351611c6781846020880161182a565b9190910191825250602001919050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611caa90830184611856565b9695505050505050565b600060208284031215611cc657600080fd5b8151611823816117f0565b601f82111561067e57600081815260208120601f850160051c81016020861015611cf85750805b601f850160051c820191505b81811015611d1757828155600101611d04565b505050505050565b81516001600160401b03811115611d3857611d38611987565b611d4c81611d468454611b68565b84611cd1565b602080601f831160018114611d815760008415611d695750858301515b600019600386901b1c1916600185901b178555611d17565b600085815260208120601f198616915b82811015611db057888601518255948401946001909101908401611d91565b5085821015611dce5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea26469706673582212200947b902c115f0f4b9a5513076faebc95e8c058d1e09968353b15427dfa7568e64736f6c634300080f0033", + "deployedSourceMap": "566:5742:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3422:264:17;;;;;;;;;;-1:-1:-1;3422:264:17;;;;;:::i;:::-;;:::i;:::-;;;565:14:43;;558:22;540:41;;528:2;513:18;3422:264:17;;;;;;;;6504:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;7982:200::-;;;;;;;;;;-1:-1:-1;7982:200:17;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1692:32:43;;;1674:51;;1662:2;1647:18;7982:200:17;1528:203:43;7537:384:17;;;;;;;;;;-1:-1:-1;7537:384:17;;;;;:::i;:::-;;:::i;:::-;;2684:306;;;;;;;;;;-1:-1:-1;2943:12:17;;2737:7;2927:13;:28;2684:306;;;2319:25:43;;;2307:2;2292:18;2684:306:17;2173:177:43;8821:164:17;;;;;;;;;;-1:-1:-1;8821:164:17;;;;;:::i;:::-;;:::i;6202:104:19:-;;;;;;;;;;;;;:::i;9051:179:17:-;;;;;;;;;;-1:-1:-1;9051:179:17;;;;;:::i;:::-;;:::i;2834:92:18:-;;;;;;;;;;-1:-1:-1;2834:92:18;;;;;:::i;:::-;;:::i;6319:123:17:-;;;;;;;;;;-1:-1:-1;6319:123:17;;;;;:::i;:::-;;:::i;884:27:19:-;;;;;;;;;;;;;;;;3745:203:17;;;;;;;;;;-1:-1:-1;3745:203:17;;;;;:::i;:::-;;:::i;1668:101:0:-;;;;;;;;;;;;;:::i;2308:107:19:-;;;;;;;;;;-1:-1:-1;2308:107:19;;;;;:::i;:::-;;:::i;1036:85:0:-;;;;;;;;;;-1:-1:-1;1108:6:0;;-1:-1:-1;;;;;1108:6:0;1036:85;;6666:102:17;;;;;;;;;;;;;:::i;1015:35:19:-;;;;;;;;;;;;;;;;8249:282:17;;;;;;;;;;-1:-1:-1;8249:282:17;;;;;:::i;:::-;;:::i;9296:381::-;;;;;;;;;;-1:-1:-1;9296:381:17;;;;;:::i;:::-;;:::i;936:531:18:-;;;;;;;;;;-1:-1:-1;936:531:18;;;;;:::i;:::-;;:::i;754:24:19:-;;;;;;;;;;;;;;;;2569:886;;;;;;:::i;:::-;;:::i;8597:162:17:-;;;;;;;;;;-1:-1:-1;8597:162:17;;;;;:::i;:::-;-1:-1:-1;;;;;8717:25:17;;;8694:4;8717:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;8597:162;2113:189:19;;;;;;;;;;-1:-1:-1;2113:189:19;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;;;;;-1:-1:-1;1918:198:0;;;;;:::i;:::-;;:::i;3680:1321:19:-;;;;;;;;;;-1:-1:-1;3680:1321:19;;;;;:::i;:::-;;:::i;3422:264:17:-;3524:4;-1:-1:-1;;;;;;3547:40:17;;-1:-1:-1;;;3547:40:17;;:92;;-1:-1:-1;;;;;;;3591:48:17;;-1:-1:-1;;;3591:48:17;3547:92;:132;;;-1:-1:-1;;;;;;;;;;937:40:7;;;3643:36:17;3540:139;3422:264;-1:-1:-1;;3422:264:17:o;6504:98::-;6558:13;6590:5;6583:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6504:98;:::o;7982:200::-;8050:7;8074:16;8082:7;8074;:16::i;:::-;8069:64;;8099:34;;-1:-1:-1;;;8099:34:17;;;;;;;;;;;8069:64;-1:-1:-1;8151:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;8151:24:17;;7982:200::o;7537:384::-;7609:13;7625:24;7641:7;7625:15;:24::i;:::-;7609:40;;7669:5;-1:-1:-1;;;;;7663:11:17;:2;-1:-1:-1;;;;;7663:11:17;;7659:48;;7683:24;;-1:-1:-1;;;7683:24:17;;;;;;;;;;;7659:48;719:10:5;-1:-1:-1;;;;;7722:21:17;;;7718:158;;7762:37;7779:5;719:10:5;8597:162:17;:::i;7762:37::-;7757:119;;7826:35;;-1:-1:-1;;;7826:35:17;;;;;;;;;;;7757:119;7886:28;7895:2;7899:7;7908:5;7886:8;:28::i;:::-;7599:322;7537:384;;:::o;8821:164::-;8950:28;8960:4;8966:2;8970:7;8950:9;:28::i;6202:104:19:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;;;;;;;;;1108:6;;6251:48:19::1;::::0;-1:-1:-1;;;;;1108:6:0;;;;6277:21:19::1;6251:48:::0;::::1;;;::::0;::::1;::::0;;;6277:21;1108:6:0;6251:48:19;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;6202:104::o:0;9051:179:17:-;9184:39;9201:4;9207:2;9211:7;9184:39;;;;;;;;;;;;:16;:39::i;2834:92:18:-;2899:20;2905:7;2914:4;2899:5;:20::i;6319:123:17:-;6383:7;6409:21;6422:7;6409:12;:21::i;:::-;:26;;6319:123;-1:-1:-1;;6319:123:17:o;3745:203::-;3809:7;-1:-1:-1;;;;;3832:19:17;;3828:60;;3860:28;;-1:-1:-1;;;3860:28:17;;;;;;;;;;;3828:60;-1:-1:-1;;;;;;3913:19:17;;;;;:12;:19;;;;;:27;-1:-1:-1;;;;;3913:27:17;;3745:203::o;1668:101:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;2308:107:19:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2379:16:19::1;:29:::0;2308:107::o;6666:102:17:-;6722:13;6754:7;6747:14;;;;;:::i;8249:282::-;719:10:5;-1:-1:-1;;;;;8347:24:17;;;8343:54;;8380:17;;-1:-1:-1;;;8380:17:17;;;;;;;;;;;8343:54;719:10:5;8408:32:17;;;;:18;:32;;;;;;;;-1:-1:-1;;;;;8408:42:17;;;;;;;;;;;;:53;;-1:-1:-1;;8408:53:17;;;;;;;;;;8476:48;;540:41:43;;;8408:42:17;;719:10:5;8476:48:17;;513:18:43;8476:48:17;;;;;;;8249:282;;:::o;9296:381::-;9457:28;9467:4;9473:2;9477:7;9457:9;:28::i;:::-;-1:-1:-1;;;;;9499:13:17;;1465:19:4;:23;9495:176:17;;9533:56;9564:4;9570:2;9574:7;9583:5;9533:30;:56::i;:::-;9528:143;;9616:40;;-1:-1:-1;;;9616:40:17;;;;;;;;;;;9528:143;9296:381;;;;:::o;936:531:18:-;1035:13;1065:16;1073:7;1065;:16::i;:::-;1060:59;;1090:29;;-1:-1:-1;;;1090:29:18;;;;;;;;;;;1060:59;1130:23;1156:19;;;:10;:19;;;;;1130:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1185:18;1206:10;7464:9:17;;;;;;;;;-1:-1:-1;7464:9:17;;;7388:92;1206:10:18;1185:31;;1387:4;1381:18;1403:1;1381:23;:79;;1451:9;1381:79;;;1431:4;1437:9;1414:33;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1381:79;1374:86;936:531;-1:-1:-1;;;;936:531:18:o;2569:886:19:-;2651:7;797:6:20;;807:1;797:11;789:34;;;;-1:-1:-1;;;789:34:20;;7330:2:43;789:34:20;;;7312:21:43;7369:2;7349:18;;;7342:30;-1:-1:-1;;;7388:18:43;;;7381:40;7438:18;;789:34:20;7128:334:43;789:34:20;843:1;834:6;:10;2742:16:19::1;::::0;2729:9:::1;:29;;2721:64;;;::::0;-1:-1:-1;;;2721:64:19;;7669:2:43;2721:64:19::1;::::0;::::1;7651:21:43::0;7708:2;7688:18;;;7681:30;-1:-1:-1;;;7727:18:43;;;7720:52;7789:18;;2721:64:19::1;7467:346:43::0;2721:64:19::1;2840:30;719:10:5::0;2840:16:19::1;:30::i;:::-;2992:22;719:10:5::0;2998:12:19::1;3012:1;2992:5;:22::i;:::-;3025:18;3046:13:::0;3143:35:::1;3046:13:::0;3168:9;3143:12:::1;:35::i;:::-;3245:18;3298:5;3267:27;3279:15;3267:9;:27;:::i;:::-;3266:37;;;;:::i;:::-;3374:46;::::0;3245:58;;-1:-1:-1;;;;;;3382:16:19::1;3374:34;::::0;:46;::::1;;;::::0;3245:58;;3374:46:::1;::::0;;;3245:58;3374:34;:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;876:1:20;867:6;:10;3438::19;2569:886;-1:-1:-1;;2569:886:19:o;2113:189::-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2208:1:19::1;2195:10;:14;:45;;;;-1:-1:-1::0;2943:12:17;;2737:7;2927:13;:28;2213:10:19::1;:27;;2195:45;2187:76;;;::::0;-1:-1:-1;;;2187:76:19;;8512:2:43;2187:76:19::1;::::0;::::1;8494:21:43::0;8551:2;8531:18;;;8524:30;-1:-1:-1;;;8570:18:43;;;8563:48;8628:18;;2187:76:19::1;8310:342:43::0;2187:76:19::1;2273:9;:22:::0;2113:189::o;1918:198:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;8859:2:43;1998:73:0::1;::::0;::::1;8841:21:43::0;8898:2;8878:18;;;8871:30;8937:34;8917:18;;;8910:62;-1:-1:-1;;;8988:18:43;;;8981:36;9034:19;;1998:73:0::1;8657:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;3680:1321:19:-:0;797:6:20;;807:1;797:11;789:34;;;;-1:-1:-1;;;789:34:20;;7330:2:43;789:34:20;;;7312:21:43;7369:2;7349:18;;;7342:30;-1:-1:-1;;;7388:18:43;;;7381:40;7438:18;;789:34:20;7128:334:43;789:34:20;843:1;834:6;:10;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0::1;1240:68;;;;-1:-1:-1::0;;;1240:68:0::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3926:18:19;::::2;3918:52;;;::::0;-1:-1:-1;;;3918:52:19;;9266:2:43;3918:52:19::2;::::0;::::2;9248:21:43::0;9305:2;9285:18;;;9278:30;-1:-1:-1;;;9324:18:43;;;9317:51;9385:18;;3918:52:19::2;9064:345:43::0;3918:52:19::2;4205:3;:10;4219:2;4205:16;4197:53;;;::::0;-1:-1:-1;;;4197:53:19;;9958:2:43;4197:53:19::2;::::0;::::2;9940:21:43::0;9997:2;9977:18;;;9970:30;10036:26;10016:18;;;10009:54;10080:18;;4197:53:19::2;9756:348:43::0;4197:53:19::2;4369:19;:56;;;;;;;;;;;;;;;;::::0;::::2;;4435:27;4492:6;4500:4;4475:30;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4465:41;;;;;;4435:71;;4524:47;4537:7;1108:6:0::0;;-1:-1:-1;;;;;1108:6:0;;1036:85;4537:7:19::2;4546:19;4567:3;4524:12;:47::i;:::-;4516:85;;;::::0;-1:-1:-1;;;4516:85:19;;10686:2:43;4516:85:19::2;::::0;::::2;10668:21:43::0;10725:2;10705:18;;;10698:30;10764:27;10744:18;;;10737:55;10809:18;;4516:85:19::2;10484:349:43::0;4516:85:19::2;4656:30;719:10:5::0;2840:16:19::1;:30::i;4656:::-:2;4808:22;719:10:5::0;4814:12:19::2;640:96:5::0;4808:22:19::2;4841:18;4862:13:::0;4959:35:::2;4862:13:::0;4984:9;4959:12:::2;:35::i;:::-;-1:-1:-1::0;;876:1:20;867:6;:10;-1:-1:-1;;;;;3680:1321:19:o;9923:172:17:-;9980:4;10043:13;;10033:7;:23;10003:85;;;;-1:-1:-1;;10061:20:17;;;;:11;:20;;;;;:27;-1:-1:-1;;;10061:27:17;;;;10060:28;;9923:172::o;18848:189::-;18958:24;;;;:15;:24;;;;;;:29;;-1:-1:-1;;;;;;18958:29:17;-1:-1:-1;;;;;18958:29:17;;;;;;;;;19002:28;;18958:24;;19002:28;;;;;;;18848:189;;;:::o;13979:2058::-;14089:35;14127:21;14140:7;14127:12;:21::i;:::-;14089:59;;14185:4;-1:-1:-1;;;;;14163:26:17;:13;:18;;;-1:-1:-1;;;;;14163:26:17;;14159:67;;14198:28;;-1:-1:-1;;;14198:28:17;;;;;;;;;;;14159:67;14237:22;719:10:5;-1:-1:-1;;;;;14263:20:17;;;;:60;;-1:-1:-1;14287:36:17;14304:4;719:10:5;8597:162:17;:::i;14287:36::-;14263:100;;;-1:-1:-1;719:10:5;14327:20:17;14339:7;14327:11;:20::i;:::-;-1:-1:-1;;;;;14327:36:17;;14263:100;14237:127;;14380:17;14375:66;;14406:35;;-1:-1:-1;;;14406:35:17;;;;;;;;;;;14375:66;-1:-1:-1;;;;;14455:16:17;;14451:52;;14480:23;;-1:-1:-1;;;14480:23:17;;;;;;;;;;;14451:52;14619:35;14636:1;14640:7;14649:4;14619:8;:35::i;:::-;-1:-1:-1;;;;;14944:18:17;;;;;;;:12;:18;;;;;;;;:31;;-1:-1:-1;;14944:31:17;;;-1:-1:-1;;;;;14944:31:17;;;-1:-1:-1;;14944:31:17;;;;;;;14989:16;;;;;;;;;:29;;;;;;;;-1:-1:-1;14989:29:17;;;;;;;;;;;15067:20;;;:11;:20;;;;;;15101:18;;-1:-1:-1;;;;;;15133:49:17;;;;-1:-1:-1;;;15166:15:17;15133:49;;;;;;;;;;15452:11;;15511:24;;;;;15553:13;;15067:20;;15511:24;;15553:13;15549:377;;15760:13;;15745:11;:28;15741:171;;15797:20;;15865:28;;;;-1:-1:-1;;;;;15839:54:17;-1:-1:-1;;;15839:54:17;-1:-1:-1;;;;;;15839:54:17;;;-1:-1:-1;;;;;15797:20:17;;15839:54;;;;15741:171;14920:1016;;;15970:7;15966:2;-1:-1:-1;;;;;15951:27:17;15960:4;-1:-1:-1;;;;;15951:27:17;;;;;;;;;;;14079:1958;;13979:2058;;;:::o;16414:2323::-;16493:35;16531:21;16544:7;16531:12;:21::i;:::-;16578:18;;16493:59;;-1:-1:-1;16607:252:17;;;;16640:22;719:10:5;-1:-1:-1;;;;;16666:20:17;;;;:60;;-1:-1:-1;16690:36:17;16707:4;719:10:5;8597:162:17;:::i;16690:36::-;16666:100;;;-1:-1:-1;719:10:5;16730:20:17;16742:7;16730:11;:20::i;:::-;-1:-1:-1;;;;;16730:36:17;;16666:100;16640:127;;16787:17;16782:66;;16813:35;;-1:-1:-1;;;16813:35:17;;;;;;;;;;;16782:66;16626:233;16607:252;16982:35;16999:1;17003:7;17012:4;16982:8;:35::i;:::-;-1:-1:-1;;;;;17341:18:17;;;17307:31;17341:18;;;:12;:18;;;;;;;;17373:24;;-1:-1:-1;;;;;;;;;;17373:24:17;;;;;;;;;-1:-1:-1;;17373:24:17;;;;17411:29;;;;;17396:1;17411:29;;;;;;;;-1:-1:-1;;17411:29:17;;;;;;;;;;17570:20;;;:11;:20;;;;;;17604;;-1:-1:-1;;;;17671:15:17;17638:49;;;-1:-1:-1;;;17638:49:17;-1:-1:-1;;;;;;17638:49:17;;;;;;;;;;17701:22;-1:-1:-1;;;17701:22:17;;;17989:11;;;18048:24;;;;;18090:13;;17341:18;;18048:24;;18090:13;18086:377;;18297:13;;18282:11;:28;18278:171;;18334:20;;18402:28;;;;-1:-1:-1;;;;;18376:54:17;-1:-1:-1;;;18376:54:17;-1:-1:-1;;;;;;18376:54:17;;;-1:-1:-1;;;;;18334:20:17;;18376:54;;;;18278:171;-1:-1:-1;;18488:35:17;;18515:7;;-1:-1:-1;18511:1:17;;-1:-1:-1;;;;;;18488:35:17;;;;;18511:1;;18488:35;-1:-1:-1;;18706:12:17;:14;;;;;;-1:-1:-1;;16414:2323:17:o;5088:1174::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;5198:7:17;5296:13;;5289:4;:20;5285:913;;;5333:31;5367:17;;;:11;:17;;;;;;;;;5333:51;;;;;;;;;-1:-1:-1;;;;;5333:51:17;;;;-1:-1:-1;;;5333:51:17;;-1:-1:-1;;;;;5333:51:17;;;;;;;;-1:-1:-1;;;5333:51:17;;;;;;;;;;;;;;5406:774;;5459:14;;-1:-1:-1;;;;;5459:28:17;;5455:107;;5526:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;5455:107::-;-1:-1:-1;;;5922:6:17;5970:17;;;;:11;:17;;;;;;;;;5958:29;;;;;;;;;-1:-1:-1;;;;;5958:29:17;;;;;-1:-1:-1;;;5958:29:17;;-1:-1:-1;;;;;5958:29:17;;;;;;;;-1:-1:-1;;;5958:29:17;;;;;;;;;;;;;6021:28;6017:115;;6092:9;5088:1174;-1:-1:-1;;;5088:1174:17:o;6017:115::-;5879:279;;;5311:887;5285:913;6224:31;;-1:-1:-1;;;6224:31:17;;;;;;;;;;;2270:187:0;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;19518:650:17:-;19696:72;;-1:-1:-1;;;19696:72:17;;19676:4;;-1:-1:-1;;;;;19696:36:17;;;;;:72;;719:10:5;;19747:4:17;;19753:7;;19762:5;;19696:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19696:72:17;;;;;;;;-1:-1:-1;;19696:72:17;;;;;;;;;;;;:::i;:::-;;;19692:470;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19927:6;:13;19944:1;19927:18;19923:229;;19972:40;;-1:-1:-1;;;19972:40:17;;;;;;;;;;;19923:229;20112:6;20106:13;20097:6;20093:2;20089:15;20082:38;19692:470;-1:-1:-1;;;;;;19814:55:17;-1:-1:-1;;;19814:55:17;;-1:-1:-1;19518:650:17;;;;;;:::o;3461:213:19:-;3561:12;;3538:20;3548:9;3538;:20::i;:::-;:35;3530:71;;;;-1:-1:-1;;;3530:71:19;;11788:2:43;3530:71:19;;;11770:21:43;11827:2;11807:18;;;11800:30;11866:25;11846:18;;;11839:53;11909:18;;3530:71:19;11586:347:43;3530:71:19;3635:9;;2943:12:17;;2737:7;2927:13;:28;3619:25:19;3611:56;;;;-1:-1:-1;;;3611:56:19;;12140:2:43;3611:56:19;;;12122:21:43;12179:2;12159:18;;;12152:30;-1:-1:-1;;;12198:18:43;;;12191:48;12256:18;;3611:56:19;11938:342:43;12591:1146:17;12655:20;12678:13;-1:-1:-1;;;;;12705:16:17;;12701:48;;12730:19;;-1:-1:-1;;;12730:19:17;;;;;;;;;;;12701:48;12763:8;12775:1;12763:13;12759:44;;12785:18;;-1:-1:-1;;;12785:18:17;;;;;;;;;;;12759:44;-1:-1:-1;;;;;13146:16:17;;;;;;:12;:16;;;;;;;;:44;;-1:-1:-1;;13204:49:17;;-1:-1:-1;;;;;13146:44:17;;;;;;;13204:49;;;;-1:-1:-1;;13146:44:17;;;;;;13204:49;;;;;;;;;;;;;;;;13268:25;;;:11;:25;;;;;;:35;;-1:-1:-1;;;;;;13317:66:17;;;;-1:-1:-1;;;13367:15:17;13317:66;;;;;;;;;;13268:25;13461:23;;;13499:109;13525:40;;13550:14;;;;;-1:-1:-1;;;;;13525:40:17;;;13542:1;;13525:40;;13542:1;;13525:40;13603:3;13588:12;:18;13499:109;;-1:-1:-1;13622:13:17;:28;7599:322;7537:384;;:::o;1614:306:18:-;1709:23;;:28;1705:78;;1746:37;;-1:-1:-1;;;1746:37:18;;12487:2:43;1746:37:18;;;12469:21:43;12526:2;12506:18;;;12499:30;-1:-1:-1;;;12545:18:43;;;12538:44;12599:18;;1746:37:18;12285:338:43;1705:78:18;1803:19;;;;:10;:19;;;;;1797:33;;;;;:::i;:::-;:38;;-1:-1:-1;1793:79:18;;1844:28;;-1:-1:-1;;;1844:28:18;;;;;;;;;;;1793:79;1882:19;;;;:10;:19;;;;;:31;1904:9;1882:19;:31;:::i;5007:270:19:-;5988:2;5979:12;;;5973:19;6063:2;6054:12;;;6048:19;6175:2;6166:12;;;6160:19;5244:25;;5139:4;5244:25;;;;;;;;;15059::43;;;6152:28:19;;;15100:18:43;;;15093:45;;;15154:18;;;15147:34;;;15197:18;;;15190:34;;;5244:25:19;;5139:4;;6048:19;;6152:28;;5244:25;;15031:19:43;;;;;-1:-1:-1;;5244:25:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5233:36:19;:7;-1:-1:-1;;;;;5233:36:19;;5225:45;;;;;5007:270;;;;;:::o;14:131:43:-;-1:-1:-1;;;;;;88:32:43;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:43:o;592:258::-;664:1;674:113;688:6;685:1;682:13;674:113;;;764:11;;;758:18;745:11;;;738:39;710:2;703:10;674:113;;;805:6;802:1;799:13;796:48;;;-1:-1:-1;;840:1:43;822:16;;815:27;592:258::o;855:::-;897:3;935:5;929:12;962:6;957:3;950:19;978:63;1034:6;1027:4;1022:3;1018:14;1011:4;1004:5;1000:16;978:63;:::i;:::-;1095:2;1074:15;-1:-1:-1;;1070:29:43;1061:39;;;;1102:4;1057:50;;855:258;-1:-1:-1;;855:258:43:o;1118:220::-;1267:2;1256:9;1249:21;1230:4;1287:45;1328:2;1317:9;1313:18;1305:6;1287:45;:::i;1343:180::-;1402:6;1455:2;1443:9;1434:7;1430:23;1426:32;1423:52;;;1471:1;1468;1461:12;1423:52;-1:-1:-1;1494:23:43;;1343:180;-1:-1:-1;1343:180:43:o;1736:173::-;1804:20;;-1:-1:-1;;;;;1853:31:43;;1843:42;;1833:70;;1899:1;1896;1889:12;1833:70;1736:173;;;:::o;1914:254::-;1982:6;1990;2043:2;2031:9;2022:7;2018:23;2014:32;2011:52;;;2059:1;2056;2049:12;2011:52;2082:29;2101:9;2082:29;:::i;:::-;2072:39;2158:2;2143:18;;;;2130:32;;-1:-1:-1;;;1914:254:43:o;2355:328::-;2432:6;2440;2448;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2540:29;2559:9;2540:29;:::i;:::-;2530:39;;2588:38;2622:2;2611:9;2607:18;2588:38;:::i;:::-;2578:48;;2673:2;2662:9;2658:18;2645:32;2635:42;;2355:328;;;;;:::o;2688:186::-;2747:6;2800:2;2788:9;2779:7;2775:23;2771:32;2768:52;;;2816:1;2813;2806:12;2768:52;2839:29;2858:9;2839:29;:::i;2879:347::-;2944:6;2952;3005:2;2993:9;2984:7;2980:23;2976:32;2973:52;;;3021:1;3018;3011:12;2973:52;3044:29;3063:9;3044:29;:::i;:::-;3034:39;;3123:2;3112:9;3108:18;3095:32;3170:5;3163:13;3156:21;3149:5;3146:32;3136:60;;3192:1;3189;3182:12;3136:60;3215:5;3205:15;;;2879:347;;;;;:::o;3231:127::-;3292:10;3287:3;3283:20;3280:1;3273:31;3323:4;3320:1;3313:15;3347:4;3344:1;3337:15;3363:718;3405:5;3458:3;3451:4;3443:6;3439:17;3435:27;3425:55;;3476:1;3473;3466:12;3425:55;3512:6;3499:20;-1:-1:-1;;;;;3575:2:43;3571;3568:10;3565:36;;;3581:18;;:::i;:::-;3656:2;3650:9;3624:2;3710:13;;-1:-1:-1;;3706:22:43;;;3730:2;3702:31;3698:40;3686:53;;;3754:18;;;3774:22;;;3751:46;3748:72;;;3800:18;;:::i;:::-;3840:10;3836:2;3829:22;3875:2;3867:6;3860:18;3921:3;3914:4;3909:2;3901:6;3897:15;3893:26;3890:35;3887:55;;;3938:1;3935;3928:12;3887:55;4002:2;3995:4;3987:6;3983:17;3976:4;3968:6;3964:17;3951:54;4049:1;4042:4;4037:2;4029:6;4025:15;4021:26;4014:37;4069:6;4060:15;;;;;;3363:718;;;;:::o;4086:537::-;4181:6;4189;4197;4205;4258:3;4246:9;4237:7;4233:23;4229:33;4226:53;;;4275:1;4272;4265:12;4226:53;4298:29;4317:9;4298:29;:::i;:::-;4288:39;;4346:38;4380:2;4369:9;4365:18;4346:38;:::i;:::-;4336:48;;4431:2;4420:9;4416:18;4403:32;4393:42;;4486:2;4475:9;4471:18;4458:32;-1:-1:-1;;;;;4505:6:43;4502:30;4499:50;;;4545:1;4542;4535:12;4499:50;4568:49;4609:7;4600:6;4589:9;4585:22;4568:49;:::i;:::-;4558:59;;;4086:537;;;;;;;:::o;4628:321::-;4697:6;4750:2;4738:9;4729:7;4725:23;4721:32;4718:52;;;4766:1;4763;4756:12;4718:52;4806:9;4793:23;-1:-1:-1;;;;;4831:6:43;4828:30;4825:50;;;4871:1;4868;4861:12;4825:50;4894:49;4935:7;4926:6;4915:9;4911:22;4894:49;:::i;4954:260::-;5022:6;5030;5083:2;5071:9;5062:7;5058:23;5054:32;5051:52;;;5099:1;5096;5089:12;5051:52;5122:29;5141:9;5122:29;:::i;:::-;5112:39;;5170:38;5204:2;5193:9;5189:18;5170:38;:::i;:::-;5160:48;;4954:260;;;;;:::o;5219:683::-;5324:6;5332;5340;5348;5401:3;5389:9;5380:7;5376:23;5372:33;5369:53;;;5418:1;5415;5408:12;5369:53;5441:29;5460:9;5441:29;:::i;:::-;5431:39;;5517:2;5506:9;5502:18;5489:32;5479:42;;5572:2;5561:9;5557:18;5544:32;-1:-1:-1;;;;;5636:2:43;5628:6;5625:14;5622:34;;;5652:1;5649;5642:12;5622:34;5675:49;5716:7;5707:6;5696:9;5692:22;5675:49;:::i;:::-;5665:59;;5777:2;5766:9;5762:18;5749:32;5733:48;;5806:2;5796:8;5793:16;5790:36;;;5822:1;5819;5812:12;5790:36;;5845:51;5888:7;5877:8;5866:9;5862:24;5845:51;:::i;5907:380::-;5986:1;5982:12;;;;6029;;;6050:61;;6104:4;6096:6;6092:17;6082:27;;6050:61;6157:2;6149:6;6146:14;6126:18;6123:38;6120:161;;6203:10;6198:3;6194:20;6191:1;6184:31;6238:4;6235:1;6228:15;6266:4;6263:1;6256:15;6120:161;;5907:380;;;:::o;6292:356::-;6494:2;6476:21;;;6513:18;;;6506:30;6572:34;6567:2;6552:18;;6545:62;6639:2;6624:18;;6292:356::o;6653:470::-;6832:3;6870:6;6864:13;6886:53;6932:6;6927:3;6920:4;6912:6;6908:17;6886:53;:::i;:::-;7002:13;;6961:16;;;;7024:57;7002:13;6961:16;7058:4;7046:17;;7024:57;:::i;:::-;7097:20;;6653:470;-1:-1:-1;;;;6653:470:43:o;7818:265::-;7858:7;7924:1;7920;7916:6;7912:14;7909:1;7906:21;7901:1;7894:9;7887:17;7883:45;7880:168;;;7970:10;7965:3;7961:20;7958:1;7951:31;8005:4;8002:1;7995:15;8033:4;8030:1;8023:15;7880:168;-1:-1:-1;8068:9:43;;7818:265::o;8088:217::-;8128:1;8154;8144:132;;8198:10;8193:3;8189:20;8186:1;8179:31;8233:4;8230:1;8223:15;8261:4;8258:1;8251:15;8144:132;-1:-1:-1;8290:9:43;;8088:217::o;10109:370::-;10266:3;10304:6;10298:13;10320:53;10366:6;10361:3;10354:4;10346:6;10342:17;10320:53;:::i;:::-;10395:16;;;;10420:21;;;-1:-1:-1;10468:4:43;10457:16;;10109:370;-1:-1:-1;10109:370:43:o;10838:489::-;-1:-1:-1;;;;;11107:15:43;;;11089:34;;11159:15;;11154:2;11139:18;;11132:43;11206:2;11191:18;;11184:34;;;11254:3;11249:2;11234:18;;11227:31;;;11032:4;;11275:46;;11301:19;;11293:6;11275:46;:::i;:::-;11267:54;10838:489;-1:-1:-1;;;;;;10838:489:43:o;11332:249::-;11401:6;11454:2;11442:9;11433:7;11429:23;11425:32;11422:52;;;11470:1;11467;11460:12;11422:52;11502:9;11496:16;11521:30;11545:5;11521:30;:::i;12754:545::-;12856:2;12851:3;12848:11;12845:448;;;12892:1;12917:5;12913:2;12906:17;12962:4;12958:2;12948:19;13032:2;13020:10;13016:19;13013:1;13009:27;13003:4;12999:38;13068:4;13056:10;13053:20;13050:47;;;-1:-1:-1;13091:4:43;13050:47;13146:2;13141:3;13137:12;13134:1;13130:20;13124:4;13120:31;13110:41;;13201:82;13219:2;13212:5;13209:13;13201:82;;;13264:17;;;13245:1;13234:13;13201:82;;;13205:3;;;12754:545;;;:::o;13475:1352::-;13601:3;13595:10;-1:-1:-1;;;;;13620:6:43;13617:30;13614:56;;;13650:18;;:::i;:::-;13679:97;13769:6;13729:38;13761:4;13755:11;13729:38;:::i;:::-;13723:4;13679:97;:::i;:::-;13831:4;;13895:2;13884:14;;13912:1;13907:663;;;;14614:1;14631:6;14628:89;;;-1:-1:-1;14683:19:43;;;14677:26;14628:89;-1:-1:-1;;13432:1:43;13428:11;;;13424:24;13420:29;13410:40;13456:1;13452:11;;;13407:57;14730:81;;13877:944;;13907:663;12701:1;12694:14;;;12738:4;12725:18;;-1:-1:-1;;13943:20:43;;;14061:236;14075:7;14072:1;14069:14;14061:236;;;14164:19;;;14158:26;14143:42;;14256:27;;;;14224:1;14212:14;;;;14091:19;;14061:236;;;14065:3;14325:6;14316:7;14313:19;14310:201;;;14386:19;;;14380:26;-1:-1:-1;;14469:1:43;14465:14;;;14481:3;14461:24;14457:37;14453:42;14438:58;14423:74;;14310:201;-1:-1:-1;;;;;14557:1:43;14541:14;;;14537:22;14524:36;;-1:-1:-1;13475:1352:43:o", + "language": "Solidity", + "natspec": { + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "SetURICannotBeEmpty(string)": [ + { + "notice": "The token already has an existing" + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "URIRequestForExistentToken()": [ + { + "notice": "The token already has an existing" + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "See {IERC721-approve}." + }, + "balanceOf(address)": { + "details": "See {IERC721-balanceOf}." + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721A-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "getApproved(uint256)": { + "details": "See {IERC721-getApproved}." + }, + "isApprovedForAll(address,address)": { + "details": "See {IERC721-isApprovedForAll}." + }, + "mint(string)": { + "details": "Override the ERC721ExtensionCore.mint function to handle payable mints.requires the caller to pay the redemptionTariff." + }, + "name()": { + "details": "See {IERC721Metadata-name}." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerOf(uint256)": { + "details": "See {IERC721-ownerOf}." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "See {IERC721-safeTransferFrom}." + }, + "setApprovalForAll(address,bool)": { + "details": "See {IERC721-setApprovalForAll}." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "symbol()": { + "details": "See {IERC721Metadata-symbol}." + }, + "tokenURI(uint256)": { + "details": "See {IERC721Metadata-tokenURI}." + }, + "totalSupply()": { + "details": "Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens." + }, + "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." + } + }, + "stateVariables": { + "cappedSupply": { + "details": "Capped supply is a limitation on thenumber of tokens a user can mint" + }, + "maxSupply": { + "details": "max supply is the max number of token IDsthat can be minted in this contract" + }, + "redemptionTariff": { + "details": "if the deployers require users to pay to mint,they charge a tarriff" + } + }, + "version": 1 + }, + "offset": [ + 566, + 6308 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x797FD680 GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xC87B56DD GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xE985E9C5 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xE985E9C5 EQ PUSH2 0x42C JUMPI DUP1 PUSH4 0xF103B433 EQ PUSH2 0x475 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x495 JUMPI DUP1 PUSH4 0xFF0350E2 EQ PUSH2 0x4B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x3E3 JUMPI DUP1 PUSH4 0xD5ABEB01 EQ PUSH2 0x403 JUMPI DUP1 PUSH4 0xD85D3D27 EQ PUSH2 0x419 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x797FD680 EQ PUSH2 0x33A JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x35A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x378 JUMPI DUP1 PUSH4 0x95DCD029 EQ PUSH2 0x38D JUMPI DUP1 PUSH4 0xA22CB465 EQ PUSH2 0x3A3 JUMPI DUP1 PUSH4 0xB88D4FDE EQ PUSH2 0x3C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3CCFD60B GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x6352211E GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x6DE23A16 EQ PUSH2 0x2EF JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x305 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x3CCFD60B EQ PUSH2 0x27A JUMPI DUP1 PUSH4 0x42842E0E EQ PUSH2 0x28F JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1BB JUMPI DUP1 PUSH4 0x81812FC EQ PUSH2 0x1DD JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x215 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x237 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x25A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x1806 JUMP JUMPDEST PUSH2 0x4D5 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x527 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B2 SWAP2 SWAP1 PUSH2 0x1882 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FD PUSH2 0x1F8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x5B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x221 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x230 CALLDATASIZE PUSH1 0x4 PUSH2 0x18CA JUMP JUMPDEST PUSH2 0x5FD JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x243 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x275 CALLDATASIZE PUSH1 0x4 PUSH2 0x18F4 JUMP JUMPDEST PUSH2 0x683 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x68E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0x18F4 JUMP JUMPDEST PUSH2 0x6FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x718 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1FD PUSH2 0x2EA CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x723 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH1 0xC SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x311 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH2 0x320 CALLDATASIZE PUSH1 0x4 PUSH2 0x1930 JUMP JUMPDEST PUSH2 0x735 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x331 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x783 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x346 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x355 CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x7B9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x366 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x7E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH1 0xD SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x3BE CALLDATASIZE PUSH1 0x4 PUSH2 0x194B JUMP JUMPDEST PUSH2 0x7F7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x3DE CALLDATASIZE PUSH1 0x4 PUSH2 0x1A29 JUMP JUMPDEST PUSH2 0x88C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH2 0x3FE CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0x8D6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x24C PUSH1 0xB SLOAD DUP2 JUMP JUMPDEST PUSH2 0x24C PUSH2 0x427 CALLDATASIZE PUSH1 0x4 PUSH2 0x1A90 JUMP JUMPDEST PUSH2 0x9EA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x447 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AC4 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 SWAP1 SWAP5 AND DUP3 MSTORE SWAP2 SWAP1 SWAP2 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x481 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x490 CALLDATASIZE PUSH1 0x4 PUSH2 0x1895 JUMP JUMPDEST PUSH2 0xB3C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x4B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1930 JUMP JUMPDEST PUSH2 0xBC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4C1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x235 PUSH2 0x4D0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1AF7 JUMP JUMPDEST PUSH2 0xC5A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x80AC58CD PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x506 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x521 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x536 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x562 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5AF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x584 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5AF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x592 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x5C4 DUP3 PUSH2 0xE63 JUMP JUMPDEST PUSH2 0x5E1 JUMPI PUSH1 0x40 MLOAD PUSH4 0x33D1C039 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x608 DUP3 PUSH2 0x723 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SUB PUSH2 0x63C JUMPI PUSH1 0x40 MLOAD PUSH4 0x250FDEE3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND EQ PUSH2 0x673 JUMPI PUSH2 0x656 DUP2 CALLER PUSH2 0x447 JUMP JUMPDEST PUSH2 0x673 JUMPI PUSH1 0x40 MLOAD PUSH4 0x67D9DCA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x67E DUP4 DUP4 DUP4 PUSH2 0xE8E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x67E DUP4 DUP4 DUP4 PUSH2 0xEEA JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x6C1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 SELFBALANCE DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x6FA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x67E DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x20 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE POP PUSH2 0x88C JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH1 0x1 PUSH2 0x10D7 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x72E DUP3 PUSH2 0x129C JUMP JUMPDEST MLOAD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x75E JUMPI PUSH1 0x40 MLOAD PUSH4 0x23D3AD81 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x7AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH2 0x7B7 PUSH1 0x0 PUSH2 0x13B6 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x7E3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0xD SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x536 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SUB PUSH2 0x820 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB06307DB PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND DUP1 DUP6 MSTORE SWAP1 DUP4 MSTORE SWAP3 DUP2 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND DUP7 ISZERO ISZERO SWAP1 DUP2 OR SWAP1 SWAP2 SSTORE SWAP1 MLOAD SWAP1 DUP2 MSTORE SWAP2 SWAP3 SWAP2 PUSH32 0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH2 0x897 DUP5 DUP5 DUP5 PUSH2 0xEEA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EXTCODESIZE ISZERO PUSH2 0x8D0 JUMPI PUSH2 0x8B3 DUP5 DUP5 DUP5 DUP5 PUSH2 0x1408 JUMP JUMPDEST PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x8E1 DUP3 PUSH2 0xE63 JUMP JUMPDEST PUSH2 0x8FE JUMPI PUSH1 0x40 MLOAD PUSH4 0xA14C4B5 PUSH1 0xE4 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH2 0x917 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x943 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x990 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x965 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x990 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x973 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 PUSH2 0x9AE PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x0 DUP2 MSTORE SWAP1 JUMP JUMPDEST SWAP1 POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x9BF JUMPI DUP2 PUSH2 0x9E2 JUMP JUMPDEST DUP1 DUP3 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x9D2 SWAP3 SWAP2 SWAP1 PUSH2 0x1BD7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 SLOAD PUSH1 0x1 EQ PUSH2 0xA2B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x8 SSTORE PUSH1 0xD SLOAD CALLVALUE LT ISZERO PUSH2 0xA7B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x5B4578745369673A6D696E745D3A4E6F2066756E6473 PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0xA84 CALLER PUSH2 0x14F3 JUMP JUMPDEST PUSH2 0xA90 CALLER JUMPDEST PUSH1 0x1 PUSH2 0x1598 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xA9D DUP2 DUP5 PUSH2 0x16CA JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2710 PUSH2 0xACC PUSH32 0x0 CALLVALUE PUSH2 0x1C06 JUMP JUMPDEST PUSH2 0xAD6 SWAP2 SWAP1 PUSH2 0x1C33 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xB2F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x1 PUSH1 0x8 SSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB66 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x0 DUP2 GT DUP1 ISZERO PUSH2 0xB7C JUMPI POP PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB DUP2 LT ISZERO JUMPDEST PUSH2 0xBBD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x496E76616C6964206D617820737570706C79 PUSH1 0x70 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0xB SSTORE JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xBEC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xC51 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0x6FA DUP2 PUSH2 0x13B6 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 EQ PUSH2 0xC99 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x5245454E5452414E4359 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x8 SSTORE PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xCC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B8 SWAP1 PUSH2 0x1BA2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xD16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0xD67 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E76616C6964207369676E6174757265206C656E6774680000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x1C DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x19457468657265756D205369676E6564204D6573736167653A0A333200000000 DUP2 MSTORE POP SWAP1 POP PUSH1 0x0 DUP2 DUP6 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xDB6 SWAP3 SWAP2 SWAP1 PUSH2 0x1C55 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 SWAP1 POP PUSH2 0xDEA PUSH2 0xDE3 PUSH1 0xA SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST DUP3 DUP7 PUSH2 0x175C JUMP JUMPDEST PUSH2 0xE36 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x48617368206E6F74207369676E6564206279206F776E65722E00000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH2 0xE3F CALLER PUSH2 0x14F3 JUMP JUMPDEST PUSH2 0xE48 CALLER PUSH2 0xA89 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH2 0xE55 DUP2 DUP6 PUSH2 0x16CA JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x8 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD DUP3 LT DUP1 ISZERO PUSH2 0x521 JUMPI POP POP PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP3 SSTORE SWAP2 MLOAD DUP6 SWAP4 SWAP2 DUP6 AND SWAP2 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP2 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEF5 DUP3 PUSH2 0x129C JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF2C JUMPI PUSH1 0x40 MLOAD PUSH3 0xA11481 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND EQ DUP1 PUSH2 0xF4A JUMPI POP PUSH2 0xF4A DUP6 CALLER PUSH2 0x447 JUMP JUMPDEST DUP1 PUSH2 0xF65 JUMPI POP CALLER PUSH2 0xF5A DUP5 PUSH2 0x5B9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0xF85 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0xFAC JUMPI PUSH1 0x40 MLOAD PUSH4 0x3A954ECD PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xFB8 PUSH1 0x0 DUP5 DUP8 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP1 DUP3 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP3 DUP4 AND PUSH1 0x0 NOT ADD DUP4 AND OR SWAP1 SWAP3 SSTORE DUP10 DUP7 AND DUP1 DUP7 MSTORE DUP4 DUP7 KECCAK256 DUP1 SLOAD SWAP4 DUP5 AND SWAP4 DUP4 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP5 AND SWAP5 SWAP1 SWAP5 OR SWAP1 SSTORE DUP10 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP5 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR DUP4 SSTORE DUP8 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP4 SWAP1 SWAP2 AND PUSH2 0x108C JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0x108C JUMPI DUP1 SLOAD PUSH1 0x20 DUP7 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 AND OR OR DUP2 SSTORE JUMPDEST POP POP POP DUP3 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x10E2 DUP4 PUSH2 0x129C JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP DUP3 ISZERO PUSH2 0x1148 JUMPI PUSH1 0x0 CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND EQ DUP1 PUSH2 0x110B JUMPI POP PUSH2 0x110B DUP3 CALLER PUSH2 0x447 JUMP JUMPDEST DUP1 PUSH2 0x1126 JUMPI POP CALLER PUSH2 0x111B DUP7 PUSH2 0x5B9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST SWAP1 POP DUP1 PUSH2 0x1146 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2CE44B5F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST PUSH2 0x1154 PUSH1 0x0 DUP6 DUP4 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x80 SHL PUSH1 0x0 NOT PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP5 AND SWAP2 SWAP1 SWAP2 ADD DUP2 AND PUSH8 0xFFFFFFFFFFFFFFFF NOT DUP5 AND DUP2 OR DUP4 SWAP1 DIV DUP3 AND PUSH1 0x1 SWAP1 DUP2 ADD DUP4 AND SWAP1 SWAP4 MUL PUSH24 0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND OR SWAP3 SWAP1 SWAP3 OR DUP4 SSTORE DUP12 DUP7 MSTORE PUSH1 0x4 SWAP1 SWAP5 MSTORE DUP3 DUP6 KECCAK256 DUP1 SLOAD PUSH1 0xFF PUSH1 0xE0 SHL NOT TIMESTAMP SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND SWAP1 SWAP8 OR SWAP7 SWAP1 SWAP7 OR AND PUSH1 0x1 PUSH1 0xE0 SHL OR DUP6 SSTORE SWAP2 DUP10 ADD DUP1 DUP5 MSTORE SWAP3 KECCAK256 DUP1 SLOAD SWAP2 SWAP5 SWAP1 SWAP2 AND PUSH2 0x1252 JUMPI PUSH1 0x0 SLOAD DUP3 EQ PUSH2 0x1252 JUMPI DUP1 SLOAD PUSH1 0x20 DUP8 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND OR OR DUP2 SSTORE JUMPDEST POP POP PUSH1 0x40 MLOAD DUP7 SWAP3 POP PUSH1 0x0 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP4 SWAP1 LOG4 POP POP PUSH1 0x1 DUP1 SLOAD DUP2 ADD SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x60 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE SWAP2 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP2 PUSH1 0x0 SLOAD DUP2 LT ISZERO PUSH2 0x139D JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP3 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP2 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP3 DUP3 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 SWAP2 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP2 DUP2 ADD DUP3 SWAP1 MSTORE SWAP1 PUSH2 0x139B JUMPI DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO PUSH2 0x1332 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST POP PUSH1 0x0 NOT ADD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0x60 DUP2 ADD DUP5 MSTORE SWAP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP1 DUP4 MSTORE PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND SWAP4 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE PUSH1 0x1 PUSH1 0xE0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO SWAP3 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO PUSH2 0x1396 JUMPI SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x1332 JUMP JUMPDEST POP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x6F96CDA1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xA85BD01 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH4 0x150B7A02 SWAP1 PUSH2 0x143D SWAP1 CALLER SWAP1 DUP10 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH1 0x4 ADD PUSH2 0x1C77 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1478 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1475 SWAP2 DUP2 ADD SWAP1 PUSH2 0x1CB4 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x14D6 JUMPI RETURNDATASIZE DUP1 DUP1 ISZERO PUSH2 0x14A6 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x14AB JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x14CE JUMPI PUSH1 0x40 MLOAD PUSH4 0x68D2BF6B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 MLOAD DUP2 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0xA85BD01 PUSH1 0xE1 SHL EQ SWAP1 POP SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0xC SLOAD PUSH2 0x14FF DUP3 PUSH2 0x735 JUMP JUMPDEST LT PUSH2 0x154C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x596F752063616E2774206D696E7420616E796D6F72652E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0xB SLOAD PUSH1 0x1 SLOAD PUSH1 0x0 SLOAD SUB LT PUSH2 0x6FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x13585E081CDD5C1C1B1E481C995858DA1959 PUSH1 0x72 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x15C1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x2E0763 PUSH1 0xE8 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x0 SUB PUSH2 0x15E2 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB562E8DD PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP4 AND DUP11 ADD DUP2 AND SWAP2 DUP3 OR PUSH9 0x10000000000000000 PUSH8 0xFFFFFFFFFFFFFFFF NOT SWAP1 SWAP5 AND SWAP1 SWAP3 OR DUP4 SWAP1 DIV DUP2 AND DUP11 ADD DUP2 AND SWAP1 SWAP3 MUL OR SWAP1 SWAP2 SSTORE DUP6 DUP5 MSTORE PUSH1 0x4 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND SWAP1 SWAP3 OR PUSH1 0x1 PUSH1 0xA0 SHL TIMESTAMP SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 MUL OR SWAP1 SSTORE DUP1 DUP1 DUP4 ADD JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 DUP4 ADD SWAP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH1 0x0 SWAP1 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP1 DUP3 SWAP1 LOG4 DUP1 DUP3 LT PUSH2 0x167E JUMPI POP PUSH1 0x0 SSTORE POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x170B JUMPI PUSH1 0x40 MLOAD PUSH4 0x193C4E6D PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x656D70747920746F6B656E555249 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1724 SWAP1 PUSH2 0x1B68 JUMP JUMPDEST ISZERO SWAP1 POP PUSH2 0x1744 JUMPI PUSH1 0x40 MLOAD PUSH4 0x162134B PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0x67E DUP3 DUP3 PUSH2 0x1D1F JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x17C6 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x6FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1818 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1823 DUP2 PUSH2 0x17F0 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1845 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x182D JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x8D0 JUMPI POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x186E DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x182A JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1823 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1856 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x18A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x18C5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x18DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18E6 DUP4 PUSH2 0x18AE JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1909 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1912 DUP5 PUSH2 0x18AE JUMP JUMPDEST SWAP3 POP PUSH2 0x1920 PUSH1 0x20 DUP6 ADD PUSH2 0x18AE JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1942 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1823 DUP3 PUSH2 0x18AE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x195E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1967 DUP4 PUSH2 0x18AE JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x197C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x19AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x19C8 JUMPI PUSH2 0x19C8 PUSH2 0x1987 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x19F0 JUMPI PUSH2 0x19F0 PUSH2 0x1987 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1A09 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1A3F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A48 DUP6 PUSH2 0x18AE JUMP JUMPDEST SWAP4 POP PUSH2 0x1A56 PUSH1 0x20 DUP7 ADD PUSH2 0x18AE JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1A78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1A84 DUP8 DUP3 DUP9 ADD PUSH2 0x199D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1AA2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1AB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9E2 DUP5 DUP3 DUP6 ADD PUSH2 0x199D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1AD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AE0 DUP4 PUSH2 0x18AE JUMP JUMPDEST SWAP2 POP PUSH2 0x1AEE PUSH1 0x20 DUP5 ADD PUSH2 0x18AE JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x1B0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B16 DUP6 PUSH2 0x18AE JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x1B39 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1B45 DUP9 DUP4 DUP10 ADD PUSH2 0x199D JUMP JUMPDEST SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1B5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A84 DUP8 DUP3 DUP9 ADD PUSH2 0x199D JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x1B7C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x1B9C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1BE9 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x182A JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1BFD DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x182A JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x1C2E JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1C50 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x1C67 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x182A JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP2 DUP3 MSTORE POP PUSH1 0x20 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND DUP3 MSTORE DUP5 AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x40 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x80 PUSH1 0x60 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x1CAA SWAP1 DUP4 ADD DUP5 PUSH2 0x1856 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1CC6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x1823 DUP2 PUSH2 0x17F0 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x67E JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1CF8 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1D17 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1D04 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x1D38 JUMPI PUSH2 0x1D38 PUSH2 0x1987 JUMP JUMPDEST PUSH2 0x1D4C DUP2 PUSH2 0x1D46 DUP5 SLOAD PUSH2 0x1B68 JUMP JUMPDEST DUP5 PUSH2 0x1CD1 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1D81 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1D69 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1D17 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1DB0 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x1D91 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1DCE JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MULMOD SELFBALANCE 0xB9 MUL 0xC1 ISZERO CREATE DELEGATECALL 0xB9 0xA5 MLOAD ADDRESS PUSH23 0xFAEBC95E8C058D1E09968353B15427DFA7568E64736F6C PUSH4 0x4300080F STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "MSTORE", + "path": "19" + }, + "5": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "7": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "CALLDATASIZE", + "path": "19" + }, + "8": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "LT", + "path": "19" + }, + "9": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x181" + }, + "12": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "13": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "CALLDATALOAD", + "path": "19" + }, + "16": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0xE0" + }, + "18": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "SHR", + "path": "19" + }, + "19": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "20": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x797FD680" + }, + "25": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "GT", + "path": "19" + }, + "26": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0xD1" + }, + "29": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "30": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "31": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xC87B56DD" + }, + "36": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "GT", + "path": "19" + }, + "37": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x8A" + }, + "40": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "41": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "42": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xE985E9C5" + }, + "47": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "GT", + "path": "19" + }, + "48": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x64" + }, + "51": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "52": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "53": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xE985E9C5" + }, + "58": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "59": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x42C" + }, + "62": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "63": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "64": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xF103B433" + }, + "69": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "70": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x475" + }, + "73": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "74": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "75": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xF2FDE38B" + }, + "80": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "81": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x495" + }, + "84": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "85": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "86": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xFF0350E2" + }, + "91": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "92": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x4B5" + }, + "95": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "96": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "98": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "99": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "REVERT", + "path": "19" + }, + "100": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPDEST", + "path": "19" + }, + "101": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "102": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xC87B56DD" + }, + "107": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "108": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x3E3" + }, + "111": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "112": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "113": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xD5ABEB01" + }, + "118": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "119": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x403" + }, + "122": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "123": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "124": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xD85D3D27" + }, + "129": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "130": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x419" + }, + "133": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "134": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "136": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "137": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "REVERT", + "path": "19" + }, + "138": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPDEST", + "path": "19" + }, + "139": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "140": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x797FD680" + }, + "145": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "146": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x33A" + }, + "149": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "150": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "151": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x8DA5CB5B" + }, + "156": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "157": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x35A" + }, + "160": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "161": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "162": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x95D89B41" + }, + "167": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "168": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x378" + }, + "171": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "172": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "173": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x95DCD029" + }, + "178": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "179": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x38D" + }, + "182": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "183": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "184": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xA22CB465" + }, + "189": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "190": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x3A3" + }, + "193": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "194": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "195": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0xB88D4FDE" + }, + "200": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "201": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x3C3" + }, + "204": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "205": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "207": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "208": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "REVERT", + "path": "19" + }, + "209": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPDEST", + "path": "19" + }, + "210": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "211": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x3CCFD60B" + }, + "216": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "GT", + "path": "19" + }, + "217": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x13E" + }, + "220": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "221": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "222": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x6352211E" + }, + "227": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "GT", + "path": "19" + }, + "228": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x118" + }, + "231": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "232": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "233": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x6352211E" + }, + "238": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "239": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x2CF" + }, + "242": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "243": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "244": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x6DE23A16" + }, + "249": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "250": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x2EF" + }, + "253": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "254": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "255": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x70A08231" + }, + "260": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "261": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x305" + }, + "264": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "265": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "266": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x715018A6" + }, + "271": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "272": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x325" + }, + "275": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "276": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "278": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "279": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "REVERT", + "path": "19" + }, + "280": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPDEST", + "path": "19" + }, + "281": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "282": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x3CCFD60B" + }, + "287": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "288": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x27A" + }, + "291": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "292": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "293": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x42842E0E" + }, + "298": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "299": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x28F" + }, + "302": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "303": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "304": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x42966C68" + }, + "309": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "310": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x2AF" + }, + "313": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "314": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "316": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "317": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "REVERT", + "path": "19" + }, + "318": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPDEST", + "path": "19" + }, + "319": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "320": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x1FFC9A7" + }, + "325": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "326": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x186" + }, + "329": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "330": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "331": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x6FDDE03" + }, + "336": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "337": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1BB" + }, + "340": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "341": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "342": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x81812FC" + }, + "347": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "348": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1DD" + }, + "351": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "352": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "353": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x95EA7B3" + }, + "358": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "359": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x215" + }, + "362": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "363": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "364": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x18160DDD" + }, + "369": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "370": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x237" + }, + "373": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "374": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "375": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH4", + "path": "19", + "value": "0x23B872DD" + }, + "380": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "EQ", + "path": "19" + }, + "381": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH2", + "path": "19", + "value": "0x25A" + }, + "384": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPI", + "path": "19" + }, + "385": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "JUMPDEST", + "path": "19" + }, + "386": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "388": { + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "DUP1", + "path": "19" + }, + "389": { + "first_revert": true, + "fn": null, + "offset": [ + 566, + 6308 + ], + "op": "REVERT", + "path": "19" + }, + "390": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "391": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLVALUE", + "path": "17" + }, + "392": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "393": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "ISZERO", + "path": "17" + }, + "394": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x192" + }, + "397": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPI", + "path": "17" + }, + "398": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "400": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "401": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "REVERT", + "path": "17" + }, + "402": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "403": { + "op": "POP" + }, + "404": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A6" + }, + "407": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A1" + }, + "410": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "411": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "413": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1806" + }, + "416": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "417": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "418": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH2", + "path": "17", + "value": "0x4D5" + }, + "421": { + "fn": "ERC721A.supportsInterface", + "jump": "i", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "422": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "423": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "425": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "426": { + "op": "SWAP1" + }, + "427": { + "op": "ISZERO" + }, + "428": { + "op": "ISZERO" + }, + "429": { + "op": "DUP2" + }, + "430": { + "op": "MSTORE" + }, + "431": { + "op": "PUSH1", + "value": "0x20" + }, + "433": { + "op": "ADD" + }, + "434": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "435": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "437": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "MLOAD", + "path": "17" + }, + "438": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "DUP1", + "path": "17" + }, + "439": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "440": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SUB", + "path": "17" + }, + "441": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP1", + "path": "17" + }, + "442": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "RETURN", + "path": "17" + }, + "443": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "444": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "CALLVALUE", + "path": "17" + }, + "445": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "446": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "ISZERO", + "path": "17" + }, + "447": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1C7" + }, + "450": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPI", + "path": "17" + }, + "451": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "453": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "DUP1", + "path": "17" + }, + "454": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "REVERT", + "path": "17" + }, + "455": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "456": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "POP", + "path": "17" + }, + "457": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D0" + }, + "460": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x527" + }, + "463": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "464": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "465": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "467": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "MLOAD", + "path": "17" + }, + "468": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1B2" + }, + "471": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP2", + "path": "17" + }, + "472": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "473": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1882" + }, + "476": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "477": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "478": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLVALUE", + "path": "17" + }, + "479": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "480": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "ISZERO", + "path": "17" + }, + "481": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1E9" + }, + "484": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPI", + "path": "17" + }, + "485": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "487": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "DUP1", + "path": "17" + }, + "488": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "REVERT", + "path": "17" + }, + "489": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "490": { + "op": "POP" + }, + "491": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1FD" + }, + "494": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1F8" + }, + "497": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "498": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "500": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1895" + }, + "503": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "504": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "505": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5B9" + }, + "508": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "509": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "510": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "512": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "MLOAD", + "path": "17" + }, + "513": { + "op": "PUSH1", + "value": "0x1" + }, + "515": { + "op": "PUSH1", + "value": "0x1" + }, + "517": { + "op": "PUSH1", + "value": "0xA0" + }, + "519": { + "op": "SHL" + }, + "520": { + "op": "SUB" + }, + "521": { + "op": "SWAP1" + }, + "522": { + "op": "SWAP2" + }, + "523": { + "op": "AND" + }, + "524": { + "op": "DUP2" + }, + "525": { + "op": "MSTORE" + }, + "526": { + "op": "PUSH1", + "value": "0x20" + }, + "528": { + "op": "ADD" + }, + "529": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1B2" + }, + "532": { + "op": "JUMP" + }, + "533": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "534": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLVALUE", + "path": "17" + }, + "535": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "536": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "ISZERO", + "path": "17" + }, + "537": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x221" + }, + "540": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPI", + "path": "17" + }, + "541": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "543": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "DUP1", + "path": "17" + }, + "544": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "REVERT", + "path": "17" + }, + "545": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "546": { + "op": "POP" + }, + "547": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x235" + }, + "550": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x230" + }, + "553": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "554": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "556": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18CA" + }, + "559": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "560": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "561": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5FD" + }, + "564": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "565": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "566": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "STOP", + "path": "17" + }, + "567": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "568": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "CALLVALUE", + "path": "17" + }, + "569": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "570": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "ISZERO", + "path": "17" + }, + "571": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x243" + }, + "574": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPI", + "path": "17" + }, + "575": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "577": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "DUP1", + "path": "17" + }, + "578": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "REVERT", + "path": "17" + }, + "579": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "580": { + "op": "POP" + }, + "581": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "statement": 0, + "value": "0x1" + }, + "583": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "584": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "586": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "587": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "588": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "JUMPDEST", + "path": "17" + }, + "589": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "591": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "MLOAD", + "path": "17" + }, + "592": { + "op": "SWAP1" + }, + "593": { + "op": "DUP2" + }, + "594": { + "op": "MSTORE" + }, + "595": { + "op": "PUSH1", + "value": "0x20" + }, + "597": { + "op": "ADD" + }, + "598": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2684, + 2990 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1B2" + }, + "601": { + "op": "JUMP" + }, + "602": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "603": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLVALUE", + "path": "17" + }, + "604": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "605": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "ISZERO", + "path": "17" + }, + "606": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x266" + }, + "609": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPI", + "path": "17" + }, + "610": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "612": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "DUP1", + "path": "17" + }, + "613": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "REVERT", + "path": "17" + }, + "614": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "615": { + "op": "POP" + }, + "616": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x235" + }, + "619": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x275" + }, + "622": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "623": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "625": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18F4" + }, + "628": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "629": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "630": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "PUSH2", + "path": "17", + "value": "0x683" + }, + "633": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8821, + 8985 + ], + "op": "JUMP", + "path": "17" + }, + "634": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "JUMPDEST", + "path": "19" + }, + "635": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "CALLVALUE", + "path": "19" + }, + "636": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "DUP1", + "path": "19" + }, + "637": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "ISZERO", + "path": "19" + }, + "638": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "PUSH2", + "path": "19", + "value": "0x286" + }, + "641": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "JUMPI", + "path": "19" + }, + "642": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "644": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "DUP1", + "path": "19" + }, + "645": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "REVERT", + "path": "19" + }, + "646": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "JUMPDEST", + "path": "19" + }, + "647": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "POP", + "path": "19" + }, + "648": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "PUSH2", + "path": "19", + "value": "0x235" + }, + "651": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "PUSH2", + "path": "19", + "value": "0x68E" + }, + "654": { + "fn": "ERC721ExtensionSignature.withdraw", + "jump": "i", + "offset": [ + 6202, + 6306 + ], + "op": "JUMP", + "path": "19" + }, + "655": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "656": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLVALUE", + "path": "17" + }, + "657": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "658": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "ISZERO", + "path": "17" + }, + "659": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x29B" + }, + "662": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPI", + "path": "17" + }, + "663": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "665": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "DUP1", + "path": "17" + }, + "666": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "REVERT", + "path": "17" + }, + "667": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "668": { + "op": "POP" + }, + "669": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x235" + }, + "672": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2AA" + }, + "675": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "676": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "678": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x18F4" + }, + "681": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "682": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "683": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "PUSH2", + "path": "17", + "value": "0x6FD" + }, + "686": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9051, + 9230 + ], + "op": "JUMP", + "path": "17" + }, + "687": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "688": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLVALUE", + "path": "18" + }, + "689": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "690": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "ISZERO", + "path": "18" + }, + "691": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2BB" + }, + "694": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPI", + "path": "18" + }, + "695": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "697": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "DUP1", + "path": "18" + }, + "698": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "REVERT", + "path": "18" + }, + "699": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "700": { + "op": "POP" + }, + "701": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x235" + }, + "704": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x2CA" + }, + "707": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "708": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "710": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1895" + }, + "713": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "714": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "715": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "PUSH2", + "path": "18", + "value": "0x718" + }, + "718": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2834, + 2926 + ], + "op": "JUMP", + "path": "18" + }, + "719": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "720": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLVALUE", + "path": "17" + }, + "721": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "722": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "ISZERO", + "path": "17" + }, + "723": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2DB" + }, + "726": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPI", + "path": "17" + }, + "727": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "729": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "DUP1", + "path": "17" + }, + "730": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "REVERT", + "path": "17" + }, + "731": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "732": { + "op": "POP" + }, + "733": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1FD" + }, + "736": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x2EA" + }, + "739": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "740": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "742": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1895" + }, + "745": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "746": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "747": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "PUSH2", + "path": "17", + "value": "0x723" + }, + "750": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "751": { + "offset": [ + 884, + 911 + ], + "op": "JUMPDEST", + "path": "19" + }, + "752": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "CALLVALUE", + "path": "19" + }, + "753": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "DUP1", + "path": "19" + }, + "754": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "ISZERO", + "path": "19" + }, + "755": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "PUSH2", + "path": "19", + "value": "0x2FB" + }, + "758": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "JUMPI", + "path": "19" + }, + "759": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "761": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "DUP1", + "path": "19" + }, + "762": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "REVERT", + "path": "19" + }, + "763": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "JUMPDEST", + "path": "19" + }, + "764": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "POP", + "path": "19" + }, + "765": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "PUSH2", + "path": "19", + "value": "0x24C" + }, + "768": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "PUSH1", + "path": "19", + "value": "0xC" + }, + "770": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "SLOAD", + "path": "19" + }, + "771": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "DUP2", + "path": "19" + }, + "772": { + "fn": "ERC721A.ownerOf", + "offset": [ + 884, + 911 + ], + "op": "JUMP", + "path": "19" + }, + "773": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "774": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLVALUE", + "path": "17" + }, + "775": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "776": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "ISZERO", + "path": "17" + }, + "777": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x311" + }, + "780": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPI", + "path": "17" + }, + "781": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "783": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "DUP1", + "path": "17" + }, + "784": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "REVERT", + "path": "17" + }, + "785": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "786": { + "op": "POP" + }, + "787": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x24C" + }, + "790": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x320" + }, + "793": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "794": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "796": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1930" + }, + "799": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "800": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "801": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "PUSH2", + "path": "17", + "value": "0x735" + }, + "804": { + "fn": "ERC721A.balanceOf", + "jump": "i", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "805": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "806": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "CALLVALUE", + "path": "0" + }, + "807": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "DUP1", + "path": "0" + }, + "808": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "ISZERO", + "path": "0" + }, + "809": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x331" + }, + "812": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPI", + "path": "0" + }, + "813": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "815": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "DUP1", + "path": "0" + }, + "816": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "REVERT", + "path": "0" + }, + "817": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "818": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "POP", + "path": "0" + }, + "819": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x235" + }, + "822": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x783" + }, + "825": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "826": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "JUMPDEST", + "path": "19" + }, + "827": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "CALLVALUE", + "path": "19" + }, + "828": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "DUP1", + "path": "19" + }, + "829": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "ISZERO", + "path": "19" + }, + "830": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "PUSH2", + "path": "19", + "value": "0x346" + }, + "833": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "JUMPI", + "path": "19" + }, + "834": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "836": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "DUP1", + "path": "19" + }, + "837": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "REVERT", + "path": "19" + }, + "838": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "JUMPDEST", + "path": "19" + }, + "839": { + "op": "POP" + }, + "840": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "PUSH2", + "path": "19", + "value": "0x235" + }, + "843": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "PUSH2", + "path": "19", + "value": "0x355" + }, + "846": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "CALLDATASIZE", + "path": "19" + }, + "847": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "849": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1895" + }, + "852": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "jump": "i", + "offset": [ + 2308, + 2415 + ], + "op": "JUMP", + "path": "19" + }, + "853": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "JUMPDEST", + "path": "19" + }, + "854": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "PUSH2", + "path": "19", + "value": "0x7B9" + }, + "857": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "jump": "i", + "offset": [ + 2308, + 2415 + ], + "op": "JUMP", + "path": "19" + }, + "858": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "859": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "CALLVALUE", + "path": "0" + }, + "860": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "DUP1", + "path": "0" + }, + "861": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "ISZERO", + "path": "0" + }, + "862": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH2", + "path": "0", + "value": "0x366" + }, + "865": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPI", + "path": "0" + }, + "866": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "868": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "DUP1", + "path": "0" + }, + "869": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "REVERT", + "path": "0" + }, + "870": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "871": { + "op": "POP" + }, + "872": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "statement": 1, + "value": "0xA" + }, + "874": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "875": { + "op": "PUSH1", + "value": "0x1" + }, + "877": { + "op": "PUSH1", + "value": "0x1" + }, + "879": { + "op": "PUSH1", + "value": "0xA0" + }, + "881": { + "op": "SHL" + }, + "882": { + "op": "SUB" + }, + "883": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "884": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1FD" + }, + "887": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "888": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "889": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "CALLVALUE", + "path": "17" + }, + "890": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "891": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "ISZERO", + "path": "17" + }, + "892": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x384" + }, + "895": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPI", + "path": "17" + }, + "896": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "898": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "DUP1", + "path": "17" + }, + "899": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "REVERT", + "path": "17" + }, + "900": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "901": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "POP", + "path": "17" + }, + "902": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1D0" + }, + "905": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7E8" + }, + "908": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6666, + 6768 + ], + "op": "JUMP", + "path": "17" + }, + "909": { + "offset": [ + 1015, + 1050 + ], + "op": "JUMPDEST", + "path": "19" + }, + "910": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "CALLVALUE", + "path": "19" + }, + "911": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "DUP1", + "path": "19" + }, + "912": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "ISZERO", + "path": "19" + }, + "913": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "PUSH2", + "path": "19", + "value": "0x399" + }, + "916": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "JUMPI", + "path": "19" + }, + "917": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "919": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "DUP1", + "path": "19" + }, + "920": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "REVERT", + "path": "19" + }, + "921": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "JUMPDEST", + "path": "19" + }, + "922": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "POP", + "path": "19" + }, + "923": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "PUSH2", + "path": "19", + "value": "0x24C" + }, + "926": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "PUSH1", + "path": "19", + "value": "0xD" + }, + "928": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "SLOAD", + "path": "19" + }, + "929": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "DUP2", + "path": "19" + }, + "930": { + "fn": "ERC721A.symbol", + "offset": [ + 1015, + 1050 + ], + "op": "JUMP", + "path": "19" + }, + "931": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "932": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLVALUE", + "path": "17" + }, + "933": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "934": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "ISZERO", + "path": "17" + }, + "935": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3AF" + }, + "938": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPI", + "path": "17" + }, + "939": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "941": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "DUP1", + "path": "17" + }, + "942": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "REVERT", + "path": "17" + }, + "943": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "944": { + "op": "POP" + }, + "945": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x235" + }, + "948": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3BE" + }, + "951": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "952": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "954": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x194B" + }, + "957": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "958": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "959": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "PUSH2", + "path": "17", + "value": "0x7F7" + }, + "962": { + "fn": "ERC721A.setApprovalForAll", + "jump": "i", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "963": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "964": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLVALUE", + "path": "17" + }, + "965": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "966": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "ISZERO", + "path": "17" + }, + "967": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3CF" + }, + "970": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPI", + "path": "17" + }, + "971": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "973": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "DUP1", + "path": "17" + }, + "974": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "REVERT", + "path": "17" + }, + "975": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "976": { + "op": "POP" + }, + "977": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x235" + }, + "980": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x3DE" + }, + "983": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "984": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "986": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A29" + }, + "989": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "990": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "991": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "PUSH2", + "path": "17", + "value": "0x88C" + }, + "994": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "995": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "996": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLVALUE", + "path": "18" + }, + "997": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "998": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "ISZERO", + "path": "18" + }, + "999": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x3EF" + }, + "1002": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPI", + "path": "18" + }, + "1003": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "1005": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "DUP1", + "path": "18" + }, + "1006": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "REVERT", + "path": "18" + }, + "1007": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1008": { + "op": "POP" + }, + "1009": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1D0" + }, + "1012": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x3FE" + }, + "1015": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "CALLDATASIZE", + "path": "18" + }, + "1016": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "1018": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1895" + }, + "1021": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "1022": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1023": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8D6" + }, + "1026": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "1027": { + "offset": [ + 754, + 778 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1028": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "CALLVALUE", + "path": "19" + }, + "1029": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "DUP1", + "path": "19" + }, + "1030": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "ISZERO", + "path": "19" + }, + "1031": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "PUSH2", + "path": "19", + "value": "0x40F" + }, + "1034": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "JUMPI", + "path": "19" + }, + "1035": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "1037": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "DUP1", + "path": "19" + }, + "1038": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "REVERT", + "path": "19" + }, + "1039": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1040": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "POP", + "path": "19" + }, + "1041": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "PUSH2", + "path": "19", + "value": "0x24C" + }, + "1044": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "PUSH1", + "path": "19", + "value": "0xB" + }, + "1046": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "SLOAD", + "path": "19" + }, + "1047": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "DUP2", + "path": "19" + }, + "1048": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 754, + 778 + ], + "op": "JUMP", + "path": "19" + }, + "1049": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1050": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "PUSH2", + "path": "19", + "value": "0x24C" + }, + "1053": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "PUSH2", + "path": "19", + "value": "0x427" + }, + "1056": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "CALLDATASIZE", + "path": "19" + }, + "1057": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "1059": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1A90" + }, + "1062": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 2569, + 3455 + ], + "op": "JUMP", + "path": "19" + }, + "1063": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1064": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "PUSH2", + "path": "19", + "value": "0x9EA" + }, + "1067": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 2569, + 3455 + ], + "op": "JUMP", + "path": "19" + }, + "1068": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1069": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLVALUE", + "path": "17" + }, + "1070": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "1071": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "ISZERO", + "path": "17" + }, + "1072": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x438" + }, + "1075": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPI", + "path": "17" + }, + "1076": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1078": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "DUP1", + "path": "17" + }, + "1079": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "REVERT", + "path": "17" + }, + "1080": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1081": { + "op": "POP" + }, + "1082": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1A6" + }, + "1085": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x447" + }, + "1088": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "CALLDATASIZE", + "path": "17" + }, + "1089": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1091": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1AC4" + }, + "1094": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1095": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1096": { + "op": "PUSH1", + "value": "0x1" + }, + "1098": { + "op": "PUSH1", + "value": "0x1" + }, + "1100": { + "op": "PUSH1", + "value": "0xA0" + }, + "1102": { + "op": "SHL" + }, + "1103": { + "op": "SUB" + }, + "1104": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP2", + "path": "17", + "statement": 2 + }, + "1105": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP3", + "path": "17" + }, + "1106": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "AND", + "path": "17" + }, + "1107": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8694, + 8698 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1109": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "1110": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "1111": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "1112": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "1114": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1116": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "SWAP1", + "path": "17" + }, + "1117": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP2", + "path": "17" + }, + "1118": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "MSTORE", + "path": "17" + }, + "1119": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1121": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP1", + "path": "17" + }, + "1122": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "DUP4", + "path": "17" + }, + "1123": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8742 + ], + "op": "KECCAK256", + "path": "17" + }, + "1124": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP4", + "path": "17" + }, + "1125": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "1126": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP5", + "path": "17" + }, + "1127": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "1128": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "DUP3", + "path": "17" + }, + "1129": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "1130": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "1131": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "1132": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP2", + "path": "17" + }, + "1133": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "MSTORE", + "path": "17" + }, + "1134": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "KECCAK256", + "path": "17" + }, + "1135": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SLOAD", + "path": "17" + }, + "1136": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "1138": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "AND", + "path": "17" + }, + "1139": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8717, + 8752 + ], + "op": "SWAP1", + "path": "17" + }, + "1140": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1141": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1142": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "CALLVALUE", + "path": "19" + }, + "1143": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "DUP1", + "path": "19" + }, + "1144": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "ISZERO", + "path": "19" + }, + "1145": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "PUSH2", + "path": "19", + "value": "0x481" + }, + "1148": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "JUMPI", + "path": "19" + }, + "1149": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "1151": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "DUP1", + "path": "19" + }, + "1152": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "REVERT", + "path": "19" + }, + "1153": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1154": { + "op": "POP" + }, + "1155": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "PUSH2", + "path": "19", + "value": "0x235" + }, + "1158": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "PUSH2", + "path": "19", + "value": "0x490" + }, + "1161": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "CALLDATASIZE", + "path": "19" + }, + "1162": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "1164": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1895" + }, + "1167": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "jump": "i", + "offset": [ + 2113, + 2302 + ], + "op": "JUMP", + "path": "19" + }, + "1168": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1169": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "PUSH2", + "path": "19", + "value": "0xB3C" + }, + "1172": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "jump": "i", + "offset": [ + 2113, + 2302 + ], + "op": "JUMP", + "path": "19" + }, + "1173": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1174": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLVALUE", + "path": "0" + }, + "1175": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "DUP1", + "path": "0" + }, + "1176": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "ISZERO", + "path": "0" + }, + "1177": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x4A1" + }, + "1180": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPI", + "path": "0" + }, + "1181": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1183": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "DUP1", + "path": "0" + }, + "1184": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "REVERT", + "path": "0" + }, + "1185": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1186": { + "op": "POP" + }, + "1187": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x235" + }, + "1190": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x4B0" + }, + "1193": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "1194": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1196": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1930" + }, + "1199": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "1200": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1201": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0xBC2" + }, + "1204": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "1205": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1206": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "CALLVALUE", + "path": "19" + }, + "1207": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "DUP1", + "path": "19" + }, + "1208": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "ISZERO", + "path": "19" + }, + "1209": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "PUSH2", + "path": "19", + "value": "0x4C1" + }, + "1212": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "JUMPI", + "path": "19" + }, + "1213": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "1215": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "DUP1", + "path": "19" + }, + "1216": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "REVERT", + "path": "19" + }, + "1217": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1218": { + "op": "POP" + }, + "1219": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "PUSH2", + "path": "19", + "value": "0x235" + }, + "1222": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "PUSH2", + "path": "19", + "value": "0x4D0" + }, + "1225": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "CALLDATASIZE", + "path": "19" + }, + "1226": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "1228": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1AF7" + }, + "1231": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "jump": "i", + "offset": [ + 3680, + 5001 + ], + "op": "JUMP", + "path": "19" + }, + "1232": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1233": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "PUSH2", + "path": "19", + "value": "0xC5A" + }, + "1236": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "jump": "i", + "offset": [ + 3680, + 5001 + ], + "op": "JUMP", + "path": "19" + }, + "1237": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1238": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3524, + 3528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1240": { + "op": "PUSH1", + "value": "0x1" + }, + "1242": { + "op": "PUSH1", + "value": "0x1" + }, + "1244": { + "op": "PUSH1", + "value": "0xE0" + }, + "1246": { + "op": "SHL" + }, + "1247": { + "op": "SUB" + }, + "1248": { + "op": "NOT" + }, + "1249": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP3", + "path": "17", + "statement": 3 + }, + "1250": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "AND", + "path": "17" + }, + "1251": { + "op": "PUSH4", + "value": "0x80AC58CD" + }, + "1256": { + "op": "PUSH1", + "value": "0xE0" + }, + "1258": { + "op": "SHL" + }, + "1259": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "EQ", + "path": "17" + }, + "1260": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3587 + ], + "op": "DUP1", + "path": "17" + }, + "1261": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "PUSH2", + "path": "17", + "value": "0x506" + }, + "1264": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPI", + "path": "17" + }, + "1265": { + "op": "POP" + }, + "1266": { + "op": "PUSH1", + "value": "0x1" + }, + "1268": { + "op": "PUSH1", + "value": "0x1" + }, + "1270": { + "op": "PUSH1", + "value": "0xE0" + }, + "1272": { + "op": "SHL" + }, + "1273": { + "op": "SUB" + }, + "1274": { + "op": "NOT" + }, + "1275": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "DUP3", + "path": "17" + }, + "1276": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "AND", + "path": "17" + }, + "1277": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "1282": { + "op": "PUSH1", + "value": "0xE0" + }, + "1284": { + "op": "SHL" + }, + "1285": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3591, + 3639 + ], + "op": "EQ", + "path": "17" + }, + "1286": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3639 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1287": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "DUP1", + "path": "17" + }, + "1288": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "PUSH2", + "path": "17", + "value": "0x521" + }, + "1291": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3547, + 3679 + ], + "op": "JUMPI", + "path": "17" + }, + "1292": { + "op": "POP" + }, + "1293": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "1298": { + "op": "PUSH1", + "value": "0xE0" + }, + "1300": { + "op": "SHL" + }, + "1301": { + "op": "PUSH1", + "value": "0x1" + }, + "1303": { + "op": "PUSH1", + "value": "0x1" + }, + "1305": { + "op": "PUSH1", + "value": "0xE0" + }, + "1307": { + "op": "SHL" + }, + "1308": { + "op": "SUB" + }, + "1309": { + "op": "NOT" + }, + "1310": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "DUP4", + "path": "7", + "statement": 4 + }, + "1311": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "AND", + "path": "7" + }, + "1312": { + "fn": "ERC165.supportsInterface", + "offset": [ + 937, + 977 + ], + "op": "EQ", + "path": "7" + }, + "1313": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3643, + 3679 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1314": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3540, + 3679 + ], + "op": "SWAP3", + "path": "17" + }, + "1315": { + "fn": "ERC721A.supportsInterface", + "offset": [ + 3422, + 3686 + ], + "op": "SWAP2", + "path": "17" + }, + "1316": { + "op": "POP" + }, + "1317": { + "op": "POP" + }, + "1318": { + "fn": "ERC721A.supportsInterface", + "jump": "o", + "offset": [ + 3422, + 3686 + ], + "op": "JUMP", + "path": "17" + }, + "1319": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1320": { + "fn": "ERC721A.name", + "offset": [ + 6558, + 6571 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "1322": { + "fn": "ERC721A.name", + "offset": [ + 6590, + 6595 + ], + "op": "PUSH1", + "path": "17", + "statement": 5, + "value": "0x2" + }, + "1324": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1325": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1326": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x536" + }, + "1329": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1330": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1B68" + }, + "1333": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1334": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1335": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1336": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1338": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1339": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1341": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1342": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1343": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1344": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1345": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1347": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1348": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1350": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MLOAD", + "path": "17" + }, + "1351": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1352": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1353": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1354": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1356": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1357": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1358": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP3", + "path": "17" + }, + "1359": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1360": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1361": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1362": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1363": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1364": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1366": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1367": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1368": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1369": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1370": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x562" + }, + "1373": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1374": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1B68" + }, + "1377": { + "fn": "ERC721A.name", + "jump": "i", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1378": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1379": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1380": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ISZERO", + "path": "17" + }, + "1381": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5AF" + }, + "1384": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1385": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1386": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1388": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "LT", + "path": "17" + }, + "1389": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x584" + }, + "1392": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1393": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x100" + }, + "1396": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1397": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1398": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1399": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DIV", + "path": "17" + }, + "1400": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MUL", + "path": "17" + }, + "1401": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1402": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1403": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1404": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1406": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1407": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1408": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5AF" + }, + "1411": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMP", + "path": "17" + }, + "1412": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1413": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1414": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1415": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1416": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1417": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1419": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1420": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1422": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1424": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "KECCAK256", + "path": "17" + }, + "1425": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1426": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1427": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1428": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SLOAD", + "path": "17" + }, + "1429": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP2", + "path": "17" + }, + "1430": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "MSTORE", + "path": "17" + }, + "1431": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1432": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "1434": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1435": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1436": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1438": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1439": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP1", + "path": "17" + }, + "1440": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP4", + "path": "17" + }, + "1441": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "GT", + "path": "17" + }, + "1442": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH2", + "path": "17", + "value": "0x592" + }, + "1445": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPI", + "path": "17" + }, + "1446": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1447": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1448": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SUB", + "path": "17" + }, + "1449": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "1451": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "AND", + "path": "17" + }, + "1452": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "DUP3", + "path": "17" + }, + "1453": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "ADD", + "path": "17" + }, + "1454": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP2", + "path": "17" + }, + "1455": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1456": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1457": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1458": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1459": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1460": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1461": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "SWAP1", + "path": "17" + }, + "1462": { + "fn": "ERC721A.name", + "offset": [ + 6583, + 6595 + ], + "op": "POP", + "path": "17" + }, + "1463": { + "fn": "ERC721A.name", + "offset": [ + 6504, + 6602 + ], + "op": "SWAP1", + "path": "17" + }, + "1464": { + "fn": "ERC721A.name", + "jump": "o", + "offset": [ + 6504, + 6602 + ], + "op": "JUMP", + "path": "17" + }, + "1465": { + "fn": "ERC721A.getApproved", + "offset": [ + 7982, + 8182 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1466": { + "fn": "ERC721A.getApproved", + "offset": [ + 8050, + 8057 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1468": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "PUSH2", + "path": "17", + "statement": 6, + "value": "0x5C4" + }, + "1471": { + "fn": "ERC721A.getApproved", + "offset": [ + 8082, + 8089 + ], + "op": "DUP3", + "path": "17" + }, + "1472": { + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8081 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE63" + }, + "1475": { + "fn": "ERC721A.getApproved", + "jump": "i", + "offset": [ + 8074, + 8090 + ], + "op": "JUMP", + "path": "17" + }, + "1476": { + "branch": 101, + "fn": "ERC721A.getApproved", + "offset": [ + 8074, + 8090 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1477": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5E1" + }, + "1480": { + "branch": 101, + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPI", + "path": "17" + }, + "1481": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1483": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1484": { + "op": "PUSH4", + "value": "0x33D1C039" + }, + "1489": { + "op": "PUSH1", + "value": "0xE2" + }, + "1491": { + "op": "SHL" + }, + "1492": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP2", + "path": "17" + }, + "1493": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MSTORE", + "path": "17" + }, + "1494": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1496": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "ADD", + "path": "17" + }, + "1497": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1499": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "MLOAD", + "path": "17" + }, + "1500": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "DUP1", + "path": "17" + }, + "1501": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP2", + "path": "17" + }, + "1502": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SUB", + "path": "17" + }, + "1503": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "SWAP1", + "path": "17" + }, + "1504": { + "fn": "ERC721A.getApproved", + "offset": [ + 8099, + 8133 + ], + "op": "REVERT", + "path": "17" + }, + "1505": { + "fn": "ERC721A.getApproved", + "offset": [ + 8069, + 8133 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1506": { + "op": "POP" + }, + "1507": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "statement": 7, + "value": "0x0" + }, + "1509": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1510": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "DUP2", + "path": "17" + }, + "1511": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1512": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8166 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "1514": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1516": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "MSTORE", + "path": "17" + }, + "1517": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1519": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1520": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "KECCAK256", + "path": "17" + }, + "1521": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SLOAD", + "path": "17" + }, + "1522": { + "op": "PUSH1", + "value": "0x1" + }, + "1524": { + "op": "PUSH1", + "value": "0x1" + }, + "1526": { + "op": "PUSH1", + "value": "0xA0" + }, + "1528": { + "op": "SHL" + }, + "1529": { + "op": "SUB" + }, + "1530": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "AND", + "path": "17" + }, + "1531": { + "fn": "ERC721A.getApproved", + "offset": [ + 8151, + 8175 + ], + "op": "SWAP1", + "path": "17" + }, + "1532": { + "fn": "ERC721A.getApproved", + "jump": "o", + "offset": [ + 7982, + 8182 + ], + "op": "JUMP", + "path": "17" + }, + "1533": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1534": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7622 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1536": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "PUSH2", + "path": "17", + "value": "0x608" + }, + "1539": { + "fn": "ERC721A.approve", + "offset": [ + 7641, + 7648 + ], + "op": "DUP3", + "path": "17" + }, + "1540": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7640 + ], + "op": "PUSH2", + "path": "17", + "value": "0x723" + }, + "1543": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7625, + 7649 + ], + "op": "JUMP", + "path": "17" + }, + "1544": { + "fn": "ERC721A.approve", + "offset": [ + 7625, + 7649 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1545": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "SWAP1", + "path": "17" + }, + "1546": { + "fn": "ERC721A.approve", + "offset": [ + 7609, + 7649 + ], + "op": "POP", + "path": "17" + }, + "1547": { + "fn": "ERC721A.approve", + "offset": [ + 7669, + 7674 + ], + "op": "DUP1", + "path": "17", + "statement": 8 + }, + "1548": { + "op": "PUSH1", + "value": "0x1" + }, + "1550": { + "op": "PUSH1", + "value": "0x1" + }, + "1552": { + "op": "PUSH1", + "value": "0xA0" + }, + "1554": { + "op": "SHL" + }, + "1555": { + "op": "SUB" + }, + "1556": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1557": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7665 + ], + "op": "DUP4", + "path": "17" + }, + "1558": { + "op": "PUSH1", + "value": "0x1" + }, + "1560": { + "op": "PUSH1", + "value": "0x1" + }, + "1562": { + "op": "PUSH1", + "value": "0xA0" + }, + "1564": { + "op": "SHL" + }, + "1565": { + "op": "SUB" + }, + "1566": { + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "AND", + "path": "17" + }, + "1567": { + "branch": 102, + "fn": "ERC721A.approve", + "offset": [ + 7663, + 7674 + ], + "op": "SUB", + "path": "17" + }, + "1568": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "PUSH2", + "path": "17", + "value": "0x63C" + }, + "1571": { + "branch": 102, + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPI", + "path": "17" + }, + "1572": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1574": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1575": { + "op": "PUSH4", + "value": "0x250FDEE3" + }, + "1580": { + "op": "PUSH1", + "value": "0xE2" + }, + "1582": { + "op": "SHL" + }, + "1583": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP2", + "path": "17" + }, + "1584": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MSTORE", + "path": "17" + }, + "1585": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1587": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "ADD", + "path": "17" + }, + "1588": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1590": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "MLOAD", + "path": "17" + }, + "1591": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "DUP1", + "path": "17" + }, + "1592": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP2", + "path": "17" + }, + "1593": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SUB", + "path": "17" + }, + "1594": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "SWAP1", + "path": "17" + }, + "1595": { + "fn": "ERC721A.approve", + "offset": [ + 7683, + 7707 + ], + "op": "REVERT", + "path": "17" + }, + "1596": { + "fn": "ERC721A.approve", + "offset": [ + 7659, + 7707 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1597": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 9 + }, + "1598": { + "op": "PUSH1", + "value": "0x1" + }, + "1600": { + "op": "PUSH1", + "value": "0x1" + }, + "1602": { + "op": "PUSH1", + "value": "0xA0" + }, + "1604": { + "op": "SHL" + }, + "1605": { + "op": "SUB" + }, + "1606": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "DUP3", + "path": "17" + }, + "1607": { + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "AND", + "path": "17" + }, + "1608": { + "branch": 103, + "fn": "ERC721A.approve", + "offset": [ + 7722, + 7743 + ], + "op": "EQ", + "path": "17" + }, + "1609": { + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x673" + }, + "1612": { + "branch": 103, + "fn": "ERC721A.approve", + "offset": [ + 7718, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1613": { + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "PUSH2", + "path": "17", + "statement": 10, + "value": "0x656" + }, + "1616": { + "fn": "ERC721A.approve", + "offset": [ + 7779, + 7784 + ], + "op": "DUP2", + "path": "17" + }, + "1617": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1618": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x447" + }, + "1621": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "1622": { + "branch": 104, + "fn": "ERC721A.approve", + "offset": [ + 7762, + 7799 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1623": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "PUSH2", + "path": "17", + "value": "0x673" + }, + "1626": { + "branch": 104, + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPI", + "path": "17" + }, + "1627": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1629": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1630": { + "op": "PUSH4", + "value": "0x67D9DCA1" + }, + "1635": { + "op": "PUSH1", + "value": "0xE1" + }, + "1637": { + "op": "SHL" + }, + "1638": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP2", + "path": "17" + }, + "1639": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MSTORE", + "path": "17" + }, + "1640": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1642": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "ADD", + "path": "17" + }, + "1643": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1645": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "MLOAD", + "path": "17" + }, + "1646": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "DUP1", + "path": "17" + }, + "1647": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP2", + "path": "17" + }, + "1648": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SUB", + "path": "17" + }, + "1649": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "SWAP1", + "path": "17" + }, + "1650": { + "fn": "ERC721A.approve", + "offset": [ + 7826, + 7861 + ], + "op": "REVERT", + "path": "17" + }, + "1651": { + "fn": "ERC721A.approve", + "offset": [ + 7757, + 7876 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1652": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "PUSH2", + "path": "17", + "statement": 11, + "value": "0x67E" + }, + "1655": { + "fn": "ERC721A.approve", + "offset": [ + 7895, + 7897 + ], + "op": "DUP4", + "path": "17" + }, + "1656": { + "fn": "ERC721A.approve", + "offset": [ + 7899, + 7906 + ], + "op": "DUP4", + "path": "17" + }, + "1657": { + "fn": "ERC721A.approve", + "offset": [ + 7908, + 7913 + ], + "op": "DUP4", + "path": "17" + }, + "1658": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7894 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE8E" + }, + "1661": { + "fn": "ERC721A.approve", + "jump": "i", + "offset": [ + 7886, + 7914 + ], + "op": "JUMP", + "path": "17" + }, + "1662": { + "fn": "ERC721A.approve", + "offset": [ + 7886, + 7914 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1663": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1664": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1665": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "1666": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "1667": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8821, + 8985 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1668": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8978 + ], + "op": "PUSH2", + "path": "17", + "statement": 12, + "value": "0x67E" + }, + "1671": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8960, + 8964 + ], + "op": "DUP4", + "path": "17" + }, + "1672": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8966, + 8968 + ], + "op": "DUP4", + "path": "17" + }, + "1673": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8970, + 8977 + ], + "op": "DUP4", + "path": "17" + }, + "1674": { + "fn": "ERC721A.transferFrom", + "offset": [ + 8950, + 8959 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEEA" + }, + "1677": { + "fn": "ERC721A.transferFrom", + "jump": "i", + "offset": [ + 8950, + 8978 + ], + "op": "JUMP", + "path": "17" + }, + "1678": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6202, + 6306 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1679": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "1681": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1682": { + "op": "PUSH1", + "value": "0x1" + }, + "1684": { + "op": "PUSH1", + "value": "0x1" + }, + "1686": { + "op": "PUSH1", + "value": "0xA0" + }, + "1688": { + "op": "SHL" + }, + "1689": { + "op": "SUB" + }, + "1690": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1691": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1692": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1693": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6C1" + }, + "1696": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1697": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1699": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1700": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1704": { + "op": "PUSH1", + "value": "0xE5" + }, + "1706": { + "op": "SHL" + }, + "1707": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1708": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1709": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1711": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1712": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B8" + }, + "1715": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1716": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1BA2" + }, + "1719": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1720": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1721": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1723": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1724": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "DUP1", + "path": "0" + }, + "1725": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP2", + "path": "0" + }, + "1726": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SUB", + "path": "0" + }, + "1727": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1728": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "0" + }, + "1729": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1730": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "1732": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1733": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "PUSH1", + "path": "19", + "statement": 13, + "value": "0x40" + }, + "1735": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "MLOAD", + "path": "19" + }, + "1736": { + "op": "PUSH1", + "value": "0x1" + }, + "1738": { + "op": "PUSH1", + "value": "0x1" + }, + "1740": { + "op": "PUSH1", + "value": "0xA0" + }, + "1742": { + "op": "SHL" + }, + "1743": { + "op": "SUB" + }, + "1744": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SWAP1", + "path": "0" + }, + "1745": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SWAP2", + "path": "0" + }, + "1746": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1747": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SWAP1", + "path": "0" + }, + "1748": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6277, + 6298 + ], + "op": "SELFBALANCE", + "path": "19" + }, + "1749": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "DUP1", + "path": "19" + }, + "1750": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "ISZERO", + "path": "19" + }, + "1751": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "PUSH2", + "path": "19", + "value": "0x8FC" + }, + "1754": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "MUL", + "path": "19" + }, + "1755": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "SWAP2", + "path": "19" + }, + "1756": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "1758": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "DUP2", + "path": "19" + }, + "1759": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "DUP2", + "path": "19" + }, + "1760": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "DUP2", + "path": "19" + }, + "1761": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6277, + 6298 + ], + "op": "DUP6", + "path": "19" + }, + "1762": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "DUP9", + "path": "0" + }, + "1763": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "DUP9", + "path": "19" + }, + "1764": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "CALL", + "path": "19" + }, + "1765": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "SWAP4", + "path": "19" + }, + "1766": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "POP", + "path": "19" + }, + "1767": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "POP", + "path": "19" + }, + "1768": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "POP", + "path": "19" + }, + "1769": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "POP", + "path": "19" + }, + "1770": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "ISZERO", + "path": "19" + }, + "1771": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "DUP1", + "path": "19" + }, + "1772": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "ISZERO", + "path": "19" + }, + "1773": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6FA" + }, + "1776": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "JUMPI", + "path": "19" + }, + "1777": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "RETURNDATASIZE", + "path": "19" + }, + "1778": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "1780": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "DUP1", + "path": "19" + }, + "1781": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "RETURNDATACOPY", + "path": "19" + }, + "1782": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "RETURNDATASIZE", + "path": "19" + }, + "1783": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "1785": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "REVERT", + "path": "19" + }, + "1786": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1787": { + "fn": "ERC721ExtensionSignature.withdraw", + "offset": [ + 6251, + 6299 + ], + "op": "POP", + "path": "19" + }, + "1788": { + "fn": "ERC721ExtensionSignature.withdraw", + "jump": "o", + "offset": [ + 6202, + 6306 + ], + "op": "JUMP", + "path": "19" + }, + "1789": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9051, + 9230 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1790": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH2", + "path": "17", + "statement": 14, + "value": "0x67E" + }, + "1793": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9201, + 9205 + ], + "op": "DUP4", + "path": "17" + }, + "1794": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9207, + 9209 + ], + "op": "DUP4", + "path": "17" + }, + "1795": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9211, + 9218 + ], + "op": "DUP4", + "path": "17" + }, + "1796": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1798": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MLOAD", + "path": "17" + }, + "1799": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1800": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1802": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "ADD", + "path": "17" + }, + "1803": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1805": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1806": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP1", + "path": "17" + }, + "1807": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1809": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "DUP2", + "path": "17" + }, + "1810": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "MSTORE", + "path": "17" + }, + "1811": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9223 + ], + "op": "POP", + "path": "17" + }, + "1812": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9184, + 9200 + ], + "op": "PUSH2", + "path": "17", + "value": "0x88C" + }, + "1815": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9184, + 9223 + ], + "op": "JUMP", + "path": "17" + }, + "1816": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2834, + 2926 + ], + "op": "JUMPDEST", + "path": "18" + }, + "1817": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2919 + ], + "op": "PUSH2", + "path": "18", + "statement": 15, + "value": "0x6FA" + }, + "1820": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2905, + 2912 + ], + "op": "DUP2", + "path": "18" + }, + "1821": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2914, + 2918 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "1823": { + "fn": "ERC721ExtensionCore.burn", + "offset": [ + 2899, + 2904 + ], + "op": "PUSH2", + "path": "18", + "value": "0x10D7" + }, + "1826": { + "fn": "ERC721ExtensionCore.burn", + "jump": "i", + "offset": [ + 2899, + 2919 + ], + "op": "JUMP", + "path": "18" + }, + "1827": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1828": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6383, + 6390 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1830": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "PUSH2", + "path": "17", + "statement": 16, + "value": "0x72E" + }, + "1833": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6422, + 6429 + ], + "op": "DUP3", + "path": "17" + }, + "1834": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6421 + ], + "op": "PUSH2", + "path": "17", + "value": "0x129C" + }, + "1837": { + "fn": "ERC721A.ownerOf", + "jump": "i", + "offset": [ + 6409, + 6430 + ], + "op": "JUMP", + "path": "17" + }, + "1838": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6430 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1839": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "MLOAD", + "path": "17" + }, + "1840": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6409, + 6435 + ], + "op": "SWAP3", + "path": "17" + }, + "1841": { + "fn": "ERC721A.ownerOf", + "offset": [ + 6319, + 6442 + ], + "op": "SWAP2", + "path": "17" + }, + "1842": { + "op": "POP" + }, + "1843": { + "op": "POP" + }, + "1844": { + "fn": "ERC721A.ownerOf", + "jump": "o", + "offset": [ + 6319, + 6442 + ], + "op": "JUMP", + "path": "17" + }, + "1845": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3745, + 3948 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1846": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3809, + 3816 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1848": { + "op": "PUSH1", + "value": "0x1" + }, + "1850": { + "op": "PUSH1", + "value": "0x1" + }, + "1852": { + "op": "PUSH1", + "value": "0xA0" + }, + "1854": { + "op": "SHL" + }, + "1855": { + "op": "SUB" + }, + "1856": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "DUP3", + "path": "17", + "statement": 17 + }, + "1857": { + "branch": 105, + "fn": "ERC721A.balanceOf", + "offset": [ + 3832, + 3851 + ], + "op": "AND", + "path": "17" + }, + "1858": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "PUSH2", + "path": "17", + "value": "0x75E" + }, + "1861": { + "branch": 105, + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPI", + "path": "17" + }, + "1862": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1864": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1865": { + "op": "PUSH4", + "value": "0x23D3AD81" + }, + "1870": { + "op": "PUSH1", + "value": "0xE2" + }, + "1872": { + "op": "SHL" + }, + "1873": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP2", + "path": "17" + }, + "1874": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MSTORE", + "path": "17" + }, + "1875": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "1877": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "ADD", + "path": "17" + }, + "1878": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1880": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "MLOAD", + "path": "17" + }, + "1881": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "DUP1", + "path": "17" + }, + "1882": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP2", + "path": "17" + }, + "1883": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SUB", + "path": "17" + }, + "1884": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "SWAP1", + "path": "17" + }, + "1885": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3860, + 3888 + ], + "op": "REVERT", + "path": "17" + }, + "1886": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3828, + 3888 + ], + "op": "JUMPDEST", + "path": "17" + }, + "1887": { + "op": "POP" + }, + "1888": { + "op": "PUSH1", + "value": "0x1" + }, + "1890": { + "op": "PUSH1", + "value": "0x1" + }, + "1892": { + "op": "PUSH1", + "value": "0xA0" + }, + "1894": { + "op": "SHL" + }, + "1895": { + "op": "SUB" + }, + "1896": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "AND", + "path": "17", + "statement": 18 + }, + "1897": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "1899": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1900": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "DUP2", + "path": "17" + }, + "1901": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1902": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3925 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "1904": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "1906": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "MSTORE", + "path": "17" + }, + "1907": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "1909": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "SWAP1", + "path": "17" + }, + "1910": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3932 + ], + "op": "KECCAK256", + "path": "17" + }, + "1911": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SLOAD", + "path": "17" + }, + "1912": { + "op": "PUSH1", + "value": "0x1" + }, + "1914": { + "op": "PUSH1", + "value": "0x1" + }, + "1916": { + "op": "PUSH1", + "value": "0x40" + }, + "1918": { + "op": "SHL" + }, + "1919": { + "op": "SUB" + }, + "1920": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "AND", + "path": "17" + }, + "1921": { + "fn": "ERC721A.balanceOf", + "offset": [ + 3913, + 3940 + ], + "op": "SWAP1", + "path": "17" + }, + "1922": { + "fn": "ERC721A.balanceOf", + "jump": "o", + "offset": [ + 3745, + 3948 + ], + "op": "JUMP", + "path": "17" + }, + "1923": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1924": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "1926": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1927": { + "op": "PUSH1", + "value": "0x1" + }, + "1929": { + "op": "PUSH1", + "value": "0x1" + }, + "1931": { + "op": "PUSH1", + "value": "0xA0" + }, + "1933": { + "op": "SHL" + }, + "1934": { + "op": "SUB" + }, + "1935": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1936": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1937": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1938": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7AD" + }, + "1941": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1942": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1944": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1945": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1949": { + "op": "PUSH1", + "value": "0xE5" + }, + "1951": { + "op": "SHL" + }, + "1952": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1953": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1954": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1956": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1957": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B8" + }, + "1960": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1961": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1BA2" + }, + "1964": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1965": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1966": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH2", + "path": "0", + "statement": 19, + "value": "0x7B7" + }, + "1969": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1971": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH2", + "path": "0", + "value": "0x13B6" + }, + "1974": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "1975": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1976": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "1977": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2308, + 2415 + ], + "op": "JUMPDEST", + "path": "19" + }, + "1978": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "1980": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1981": { + "op": "PUSH1", + "value": "0x1" + }, + "1983": { + "op": "PUSH1", + "value": "0x1" + }, + "1985": { + "op": "PUSH1", + "value": "0xA0" + }, + "1987": { + "op": "SHL" + }, + "1988": { + "op": "SUB" + }, + "1989": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1990": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1991": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1992": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7E3" + }, + "1995": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1996": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1998": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1999": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2003": { + "op": "PUSH1", + "value": "0xE5" + }, + "2005": { + "op": "SHL" + }, + "2006": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "2007": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "2008": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2010": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "2011": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B8" + }, + "2014": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "2015": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1BA2" + }, + "2018": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "2019": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2020": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2379, + 2395 + ], + "op": "PUSH1", + "path": "19", + "statement": 20, + "value": "0xD" + }, + "2022": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "offset": [ + 2379, + 2408 + ], + "op": "SSTORE", + "path": "19" + }, + "2023": { + "fn": "ERC721ExtensionSignature.modifyTariff", + "jump": "o", + "offset": [ + 2308, + 2415 + ], + "op": "JUMP", + "path": "19" + }, + "2024": { + "fn": "ERC721A.symbol", + "offset": [ + 6666, + 6768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2025": { + "fn": "ERC721A.symbol", + "offset": [ + 6722, + 6735 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "2027": { + "fn": "ERC721A.symbol", + "offset": [ + 6754, + 6761 + ], + "op": "PUSH1", + "path": "17", + "statement": 21, + "value": "0x3" + }, + "2029": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "DUP1", + "path": "17" + }, + "2030": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SLOAD", + "path": "17" + }, + "2031": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x536" + }, + "2034": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "SWAP1", + "path": "17" + }, + "2035": { + "fn": "ERC721A.symbol", + "offset": [ + 6747, + 6761 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1B68" + }, + "2038": { + "fn": "ERC721A.symbol", + "jump": "i", + "offset": [ + 6747, + 6761 + ], + "op": "JUMP", + "path": "17" + }, + "2039": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2040": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2041": { + "op": "PUSH1", + "value": "0x1" + }, + "2043": { + "op": "PUSH1", + "value": "0x1" + }, + "2045": { + "op": "PUSH1", + "value": "0xA0" + }, + "2047": { + "op": "SHL" + }, + "2048": { + "op": "SUB" + }, + "2049": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "DUP4", + "path": "17", + "statement": 22 + }, + "2050": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "AND", + "path": "17" + }, + "2051": { + "branch": 106, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8347, + 8371 + ], + "op": "SUB", + "path": "17" + }, + "2052": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "PUSH2", + "path": "17", + "value": "0x820" + }, + "2055": { + "branch": 106, + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPI", + "path": "17" + }, + "2056": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2058": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "2059": { + "op": "PUSH4", + "value": "0xB06307DB" + }, + "2064": { + "op": "PUSH1", + "value": "0xE0" + }, + "2066": { + "op": "SHL" + }, + "2067": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP2", + "path": "17" + }, + "2068": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MSTORE", + "path": "17" + }, + "2069": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2071": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "ADD", + "path": "17" + }, + "2072": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2074": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "MLOAD", + "path": "17" + }, + "2075": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "DUP1", + "path": "17" + }, + "2076": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP2", + "path": "17" + }, + "2077": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SUB", + "path": "17" + }, + "2078": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "SWAP1", + "path": "17" + }, + "2079": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8380, + 8397 + ], + "op": "REVERT", + "path": "17" + }, + "2080": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8343, + 8397 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2081": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2082": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "statement": 23, + "value": "0x0" + }, + "2084": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "2085": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "2086": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "2087": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8426 + ], + "op": "PUSH1", + "path": "17", + "value": "0x7" + }, + "2089": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2091": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "SWAP1", + "path": "17" + }, + "2092": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP2", + "path": "17" + }, + "2093": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "MSTORE", + "path": "17" + }, + "2094": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2096": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP1", + "path": "17" + }, + "2097": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "DUP4", + "path": "17" + }, + "2098": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8440 + ], + "op": "KECCAK256", + "path": "17" + }, + "2099": { + "op": "PUSH1", + "value": "0x1" + }, + "2101": { + "op": "PUSH1", + "value": "0x1" + }, + "2103": { + "op": "PUSH1", + "value": "0xA0" + }, + "2105": { + "op": "SHL" + }, + "2106": { + "op": "SUB" + }, + "2107": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP8", + "path": "17" + }, + "2108": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "AND", + "path": "17" + }, + "2109": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP1", + "path": "17" + }, + "2110": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP6", + "path": "17" + }, + "2111": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "2112": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "2113": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP4", + "path": "17" + }, + "2114": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "MSTORE", + "path": "17" + }, + "2115": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "2116": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "DUP2", + "path": "17" + }, + "2117": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP1", + "path": "17" + }, + "2118": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "KECCAK256", + "path": "17" + }, + "2119": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP1", + "path": "17" + }, + "2120": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SLOAD", + "path": "17" + }, + "2121": { + "op": "PUSH1", + "value": "0xFF" + }, + "2123": { + "op": "NOT" + }, + "2124": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "AND", + "path": "17" + }, + "2125": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP7", + "path": "17" + }, + "2126": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "2127": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "ISZERO", + "path": "17" + }, + "2128": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "2129": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "DUP2", + "path": "17" + }, + "2130": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "OR", + "path": "17" + }, + "2131": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP1", + "path": "17" + }, + "2132": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SWAP2", + "path": "17" + }, + "2133": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8461 + ], + "op": "SSTORE", + "path": "17" + }, + "2134": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17", + "statement": 24 + }, + "2135": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "2136": { + "op": "SWAP1" + }, + "2137": { + "op": "DUP2" + }, + "2138": { + "op": "MSTORE" + }, + "2139": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP2", + "path": "17" + }, + "2140": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8408, + 8450 + ], + "op": "SWAP3", + "path": "17" + }, + "2141": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP2", + "path": "5" + }, + "2142": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH32", + "path": "17", + "value": "0x17307EAB39AB6107E8899845AD3D59BD9653F200F220920489CA2B5937696C31" + }, + "2175": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "2176": { + "op": "ADD" + }, + "2177": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2179": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "MLOAD", + "path": "17" + }, + "2180": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "DUP1", + "path": "17" + }, + "2181": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP2", + "path": "17" + }, + "2182": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SUB", + "path": "17" + }, + "2183": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "SWAP1", + "path": "17" + }, + "2184": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8476, + 8524 + ], + "op": "LOG3", + "path": "17" + }, + "2185": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "2186": { + "fn": "ERC721A.setApprovalForAll", + "offset": [ + 8249, + 8531 + ], + "op": "POP", + "path": "17" + }, + "2187": { + "fn": "ERC721A.setApprovalForAll", + "jump": "o", + "offset": [ + 8249, + 8531 + ], + "op": "JUMP", + "path": "17" + }, + "2188": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2189": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "PUSH2", + "path": "17", + "statement": 25, + "value": "0x897" + }, + "2192": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9467, + 9471 + ], + "op": "DUP5", + "path": "17" + }, + "2193": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9473, + 9475 + ], + "op": "DUP5", + "path": "17" + }, + "2194": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9477, + 9484 + ], + "op": "DUP5", + "path": "17" + }, + "2195": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9466 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEEA" + }, + "2198": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9457, + 9485 + ], + "op": "JUMP", + "path": "17" + }, + "2199": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9457, + 9485 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2200": { + "op": "PUSH1", + "value": "0x1" + }, + "2202": { + "op": "PUSH1", + "value": "0x1" + }, + "2204": { + "op": "PUSH1", + "value": "0xA0" + }, + "2206": { + "op": "SHL" + }, + "2207": { + "op": "SUB" + }, + "2208": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "DUP4", + "path": "17" + }, + "2209": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9499, + 9512 + ], + "op": "AND", + "path": "17" + }, + "2210": { + "op": "EXTCODESIZE" + }, + "2211": { + "op": "ISZERO" + }, + "2212": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8D0" + }, + "2215": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9495, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "2216": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "PUSH2", + "path": "17", + "statement": 26, + "value": "0x8B3" + }, + "2219": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9564, + 9568 + ], + "op": "DUP5", + "path": "17" + }, + "2220": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9570, + 9572 + ], + "op": "DUP5", + "path": "17" + }, + "2221": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9574, + 9581 + ], + "op": "DUP5", + "path": "17" + }, + "2222": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9583, + 9588 + ], + "op": "DUP5", + "path": "17" + }, + "2223": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9563 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1408" + }, + "2226": { + "fn": "ERC721A.safeTransferFrom", + "jump": "i", + "offset": [ + 9533, + 9589 + ], + "op": "JUMP", + "path": "17" + }, + "2227": { + "branch": 107, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9533, + 9589 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2228": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "PUSH2", + "path": "17", + "value": "0x8D0" + }, + "2231": { + "branch": 107, + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPI", + "path": "17" + }, + "2232": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2234": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "2235": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "2240": { + "op": "PUSH1", + "value": "0xE1" + }, + "2242": { + "op": "SHL" + }, + "2243": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP2", + "path": "17" + }, + "2244": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MSTORE", + "path": "17" + }, + "2245": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "2247": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "ADD", + "path": "17" + }, + "2248": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "2250": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "MLOAD", + "path": "17" + }, + "2251": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "DUP1", + "path": "17" + }, + "2252": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP2", + "path": "17" + }, + "2253": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SUB", + "path": "17" + }, + "2254": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "SWAP1", + "path": "17" + }, + "2255": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9616, + 9656 + ], + "op": "REVERT", + "path": "17" + }, + "2256": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9528, + 9671 + ], + "op": "JUMPDEST", + "path": "17" + }, + "2257": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2258": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2259": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2260": { + "fn": "ERC721A.safeTransferFrom", + "offset": [ + 9296, + 9677 + ], + "op": "POP", + "path": "17" + }, + "2261": { + "fn": "ERC721A.safeTransferFrom", + "jump": "o", + "offset": [ + 9296, + 9677 + ], + "op": "JUMP", + "path": "17" + }, + "2262": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2263": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1035, + 1048 + ], + "op": "PUSH1", + "path": "18", + "value": "0x60" + }, + "2265": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "PUSH2", + "path": "18", + "statement": 27, + "value": "0x8E1" + }, + "2268": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1073, + 1080 + ], + "op": "DUP3", + "path": "18" + }, + "2269": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1072 + ], + "op": "PUSH2", + "path": "18", + "value": "0xE63" + }, + "2272": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1065, + 1081 + ], + "op": "JUMP", + "path": "18" + }, + "2273": { + "branch": 120, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1065, + 1081 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2274": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "PUSH2", + "path": "18", + "value": "0x8FE" + }, + "2277": { + "branch": 120, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPI", + "path": "18" + }, + "2278": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2280": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "2281": { + "op": "PUSH4", + "value": "0xA14C4B5" + }, + "2286": { + "op": "PUSH1", + "value": "0xE4" + }, + "2288": { + "op": "SHL" + }, + "2289": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP2", + "path": "18" + }, + "2290": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MSTORE", + "path": "18" + }, + "2291": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "2293": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "ADD", + "path": "18" + }, + "2294": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2296": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "MLOAD", + "path": "18" + }, + "2297": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "DUP1", + "path": "18" + }, + "2298": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP2", + "path": "18" + }, + "2299": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SUB", + "path": "18" + }, + "2300": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "SWAP1", + "path": "18" + }, + "2301": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1090, + 1119 + ], + "op": "REVERT", + "path": "18" + }, + "2302": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1060, + 1119 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2303": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1153 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2305": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2306": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2307": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2308": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1166 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "2310": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2312": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2313": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2315": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2316": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1156, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "2317": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2318": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2319": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x917" + }, + "2322": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2323": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1B68" + }, + "2326": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2327": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2328": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2329": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2331": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2332": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2334": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2335": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2336": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "2337": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "2338": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2340": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2341": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2343": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MLOAD", + "path": "18" + }, + "2344": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2345": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2346": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2347": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2349": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2350": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2351": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP3", + "path": "18" + }, + "2352": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2353": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2354": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2355": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2356": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2357": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2359": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2360": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2361": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2362": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2363": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x943" + }, + "2366": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2367": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1B68" + }, + "2370": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2371": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2372": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2373": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ISZERO", + "path": "18" + }, + "2374": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x990" + }, + "2377": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2378": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2379": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2381": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "LT", + "path": "18" + }, + "2382": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x965" + }, + "2385": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2386": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x100" + }, + "2389": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2390": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2391": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2392": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DIV", + "path": "18" + }, + "2393": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MUL", + "path": "18" + }, + "2394": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2395": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2396": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2397": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2399": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2400": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2401": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x990" + }, + "2404": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMP", + "path": "18" + }, + "2405": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2406": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2407": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2408": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2409": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2410": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2412": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2413": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2415": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2417": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "KECCAK256", + "path": "18" + }, + "2418": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2419": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2420": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2421": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SLOAD", + "path": "18" + }, + "2422": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP2", + "path": "18" + }, + "2423": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "MSTORE", + "path": "18" + }, + "2424": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2425": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1" + }, + "2427": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2428": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2429": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2431": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2432": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP1", + "path": "18" + }, + "2433": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP4", + "path": "18" + }, + "2434": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "GT", + "path": "18" + }, + "2435": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH2", + "path": "18", + "value": "0x973" + }, + "2438": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPI", + "path": "18" + }, + "2439": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2440": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2441": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SUB", + "path": "18" + }, + "2442": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "PUSH1", + "path": "18", + "value": "0x1F" + }, + "2444": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "AND", + "path": "18" + }, + "2445": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "DUP3", + "path": "18" + }, + "2446": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "ADD", + "path": "18" + }, + "2447": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP2", + "path": "18" + }, + "2448": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2449": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2450": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2451": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2452": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2453": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2454": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "SWAP1", + "path": "18" + }, + "2455": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1130, + 1175 + ], + "op": "POP", + "path": "18" + }, + "2456": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1203 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2458": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "PUSH2", + "path": "18", + "value": "0x9AE" + }, + "2461": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "statement": 28, + "value": "0x40" + }, + "2463": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP1", + "path": "17" + }, + "2464": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MLOAD", + "path": "17" + }, + "2465": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "2467": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "2468": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "ADD", + "path": "17" + }, + "2469": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "2470": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP2", + "path": "17" + }, + "2471": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "2472": { + "op": "PUSH1", + "value": "0x0" + }, + "2474": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "DUP2", + "path": "17" + }, + "2475": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "MSTORE", + "path": "17" + }, + "2476": { + "fn": "ERC721A._baseURI", + "offset": [ + 7464, + 7473 + ], + "op": "SWAP1", + "path": "17" + }, + "2477": { + "fn": "ERC721A._baseURI", + "offset": [ + 7388, + 7480 + ], + "op": "JUMP", + "path": "17" + }, + "2478": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1206, + 1216 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2479": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "SWAP1", + "path": "18" + }, + "2480": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1185, + 1216 + ], + "op": "POP", + "path": "18" + }, + "2481": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1387, + 1391 + ], + "op": "DUP1", + "path": "18", + "statement": 29 + }, + "2482": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1399 + ], + "op": "MLOAD", + "path": "18" + }, + "2483": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1403, + 1404 + ], + "op": "PUSH1", + "path": "18", + "value": "0x0" + }, + "2485": { + "branch": 121, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1404 + ], + "op": "SUB", + "path": "18" + }, + "2486": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x9BF" + }, + "2489": { + "branch": 121, + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPI", + "path": "18" + }, + "2490": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1451, + 1460 + ], + "op": "DUP2", + "path": "18" + }, + "2491": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "PUSH2", + "path": "18", + "value": "0x9E2" + }, + "2494": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMP", + "path": "18" + }, + "2495": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2496": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1431, + 1435 + ], + "op": "DUP1", + "path": "18" + }, + "2497": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1437, + 1446 + ], + "op": "DUP3", + "path": "18" + }, + "2498": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2500": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "2501": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2503": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "ADD", + "path": "18" + }, + "2504": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x9D2" + }, + "2507": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP3", + "path": "18" + }, + "2508": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP2", + "path": "18" + }, + "2509": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "2510": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1BD7" + }, + "2513": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "i", + "offset": [ + 1414, + 1447 + ], + "op": "JUMP", + "path": "18" + }, + "2514": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2515": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2517": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MLOAD", + "path": "18" + }, + "2518": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "2520": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "2521": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP4", + "path": "18" + }, + "2522": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "2523": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SUB", + "path": "18" + }, + "2524": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "DUP2", + "path": "18" + }, + "2525": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "2526": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "SWAP1", + "path": "18" + }, + "2527": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "2529": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1414, + 1447 + ], + "op": "MSTORE", + "path": "18" + }, + "2530": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1381, + 1460 + ], + "op": "JUMPDEST", + "path": "18" + }, + "2531": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 1374, + 1460 + ], + "op": "SWAP5", + "path": "18" + }, + "2532": { + "fn": "ERC721ExtensionCore.tokenURI", + "offset": [ + 936, + 1467 + ], + "op": "SWAP4", + "path": "18" + }, + "2533": { + "op": "POP" + }, + "2534": { + "op": "POP" + }, + "2535": { + "op": "POP" + }, + "2536": { + "op": "POP" + }, + "2537": { + "fn": "ERC721ExtensionCore.tokenURI", + "jump": "o", + "offset": [ + 936, + 1467 + ], + "op": "JUMP", + "path": "18" + }, + "2538": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2539": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2651, + 2658 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "2541": { + "offset": [ + 797, + 803 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "2543": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 797, + 803 + ], + "op": "SLOAD", + "path": "20" + }, + "2544": { + "offset": [ + 807, + 808 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "2546": { + "offset": [ + 797, + 808 + ], + "op": "EQ", + "path": "20" + }, + "2547": { + "offset": [ + 789, + 823 + ], + "op": "PUSH2", + "path": "20", + "value": "0xA2B" + }, + "2550": { + "offset": [ + 789, + 823 + ], + "op": "JUMPI", + "path": "20" + }, + "2551": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "2553": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "2554": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2558": { + "op": "PUSH1", + "value": "0xE5" + }, + "2560": { + "op": "SHL" + }, + "2561": { + "offset": [ + 789, + 823 + ], + "op": "DUP2", + "path": "20" + }, + "2562": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 789, + 823 + ], + "op": "MSTORE", + "path": "20" + }, + "2563": { + "op": "PUSH1", + "value": "0x20" + }, + "2565": { + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x4" + }, + "2567": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 789, + 823 + ], + "op": "DUP3", + "path": "20" + }, + "2568": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 789, + 823 + ], + "op": "ADD", + "path": "20" + }, + "2569": { + "op": "MSTORE" + }, + "2570": { + "op": "PUSH1", + "value": "0xA" + }, + "2572": { + "op": "PUSH1", + "value": "0x24" + }, + "2574": { + "op": "DUP3" + }, + "2575": { + "op": "ADD" + }, + "2576": { + "op": "MSTORE" + }, + "2577": { + "op": "PUSH10", + "value": "0x5245454E5452414E4359" + }, + "2588": { + "op": "PUSH1", + "value": "0xB0" + }, + "2590": { + "op": "SHL" + }, + "2591": { + "op": "PUSH1", + "value": "0x44" + }, + "2593": { + "op": "DUP3" + }, + "2594": { + "op": "ADD" + }, + "2595": { + "op": "MSTORE" + }, + "2596": { + "op": "PUSH1", + "value": "0x64" + }, + "2598": { + "op": "ADD" + }, + "2599": { + "offset": [ + 789, + 823 + ], + "op": "PUSH2", + "path": "20", + "value": "0x6B8" + }, + "2602": { + "op": "JUMP" + }, + "2603": { + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "2604": { + "offset": [ + 843, + 844 + ], + "op": "PUSH1", + "path": "20", + "value": "0x2" + }, + "2606": { + "offset": [ + 834, + 840 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "2608": { + "offset": [ + 834, + 844 + ], + "op": "SSTORE", + "path": "20" + }, + "2609": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2742, + 2758 + ], + "op": "PUSH1", + "path": "19", + "statement": 30, + "value": "0xD" + }, + "2611": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2742, + 2758 + ], + "op": "SLOAD", + "path": "19" + }, + "2612": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2729, + 2738 + ], + "op": "CALLVALUE", + "path": "19" + }, + "2613": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2729, + 2758 + ], + "op": "LT", + "path": "19" + }, + "2614": { + "branch": 93, + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2729, + 2758 + ], + "op": "ISZERO", + "path": "19" + }, + "2615": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "PUSH2", + "path": "19", + "value": "0xA7B" + }, + "2618": { + "branch": 93, + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "JUMPI", + "path": "19" + }, + "2619": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "2621": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "MLOAD", + "path": "19" + }, + "2622": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2626": { + "op": "PUSH1", + "value": "0xE5" + }, + "2628": { + "op": "SHL" + }, + "2629": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "DUP2", + "path": "19" + }, + "2630": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "MSTORE", + "path": "19" + }, + "2631": { + "op": "PUSH1", + "value": "0x20" + }, + "2633": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "2635": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "DUP3", + "path": "19" + }, + "2636": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "ADD", + "path": "19" + }, + "2637": { + "op": "MSTORE" + }, + "2638": { + "op": "PUSH1", + "value": "0x16" + }, + "2640": { + "op": "PUSH1", + "value": "0x24" + }, + "2642": { + "op": "DUP3" + }, + "2643": { + "op": "ADD" + }, + "2644": { + "op": "MSTORE" + }, + "2645": { + "op": "PUSH22", + "value": "0x5B4578745369673A6D696E745D3A4E6F2066756E6473" + }, + "2668": { + "op": "PUSH1", + "value": "0x50" + }, + "2670": { + "op": "SHL" + }, + "2671": { + "op": "PUSH1", + "value": "0x44" + }, + "2673": { + "op": "DUP3" + }, + "2674": { + "op": "ADD" + }, + "2675": { + "op": "MSTORE" + }, + "2676": { + "op": "PUSH1", + "value": "0x64" + }, + "2678": { + "op": "ADD" + }, + "2679": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6B8" + }, + "2682": { + "op": "JUMP" + }, + "2683": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2721, + 2785 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2684": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2840, + 2870 + ], + "op": "PUSH2", + "path": "19", + "statement": 31, + "value": "0xA84" + }, + "2687": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2688": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2840, + 2856 + ], + "op": "PUSH2", + "path": "19", + "value": "0x14F3" + }, + "2691": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 2840, + 2870 + ], + "op": "JUMP", + "path": "19" + }, + "2692": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2840, + 2870 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2693": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2992, + 3014 + ], + "op": "PUSH2", + "path": "19", + "statement": 32, + "value": "0xA90" + }, + "2696": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2697": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2998, + 3010 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2698": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3012, + 3013 + ], + "op": "PUSH1", + "path": "19", + "value": "0x1" + }, + "2700": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2992, + 2997 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1598" + }, + "2703": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 2992, + 3014 + ], + "op": "JUMP", + "path": "19" + }, + "2704": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2992, + 3014 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2705": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3025, + 3043 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "2707": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3046, + 3059 + ], + "op": "SLOAD", + "path": "19" + }, + "2708": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3143, + 3178 + ], + "op": "PUSH2", + "path": "19", + "statement": 33, + "value": "0xA9D" + }, + "2711": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3046, + 3059 + ], + "op": "DUP2", + "path": "19" + }, + "2712": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3168, + 3177 + ], + "op": "DUP5", + "path": "19" + }, + "2713": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3143, + 3155 + ], + "op": "PUSH2", + "path": "19", + "value": "0x16CA" + }, + "2716": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 3143, + 3178 + ], + "op": "JUMP", + "path": "19" + }, + "2717": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3143, + 3178 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2718": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3245, + 3263 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "2720": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3298, + 3303 + ], + "op": "PUSH2", + "path": "19", + "value": "0x2710" + }, + "2723": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3267, + 3294 + ], + "op": "PUSH2", + "path": "19", + "value": "0xACC" + }, + "2726": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3279, + 3294 + ], + "op": "PUSH32", + "path": "19", + "value": "0x0" + }, + "2759": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3267, + 3276 + ], + "op": "CALLVALUE", + "path": "19" + }, + "2760": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3267, + 3294 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1C06" + }, + "2763": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 3267, + 3294 + ], + "op": "JUMP", + "path": "19" + }, + "2764": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3267, + 3294 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2765": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3266, + 3303 + ], + "op": "PUSH2", + "path": "19", + "value": "0xAD6" + }, + "2768": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3266, + 3303 + ], + "op": "SWAP2", + "path": "19" + }, + "2769": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3266, + 3303 + ], + "op": "SWAP1", + "path": "19" + }, + "2770": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3266, + 3303 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1C33" + }, + "2773": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 3266, + 3303 + ], + "op": "JUMP", + "path": "19" + }, + "2774": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3266, + 3303 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2775": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "PUSH1", + "path": "19", + "statement": 34, + "value": "0x40" + }, + "2777": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "MLOAD", + "path": "19" + }, + "2778": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3245, + 3303 + ], + "op": "SWAP1", + "path": "19" + }, + "2779": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3245, + 3303 + ], + "op": "SWAP2", + "path": "19" + }, + "2780": { + "op": "POP" + }, + "2781": { + "op": "PUSH1", + "value": "0x1" + }, + "2783": { + "op": "PUSH1", + "value": "0x1" + }, + "2785": { + "op": "PUSH1", + "value": "0xA0" + }, + "2787": { + "op": "SHL" + }, + "2788": { + "op": "SUB" + }, + "2789": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3382, + 3398 + ], + "op": "PUSH32", + "path": "19", + "value": "0x0" + }, + "2822": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3408 + ], + "op": "AND", + "path": "19" + }, + "2823": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3408 + ], + "op": "SWAP1", + "path": "19" + }, + "2824": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "DUP3", + "path": "19" + }, + "2825": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "ISZERO", + "path": "19" + }, + "2826": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "PUSH2", + "path": "19", + "value": "0x8FC" + }, + "2829": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "MUL", + "path": "19" + }, + "2830": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "SWAP1", + "path": "19" + }, + "2831": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3245, + 3303 + ], + "op": "DUP4", + "path": "19" + }, + "2832": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3245, + 3303 + ], + "op": "SWAP1", + "path": "19" + }, + "2833": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "2835": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "DUP2", + "path": "19" + }, + "2836": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "DUP2", + "path": "19" + }, + "2837": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "DUP2", + "path": "19" + }, + "2838": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3245, + 3303 + ], + "op": "DUP6", + "path": "19" + }, + "2839": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3408 + ], + "op": "DUP9", + "path": "19" + }, + "2840": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "DUP9", + "path": "19" + }, + "2841": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "CALL", + "path": "19" + }, + "2842": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "SWAP4", + "path": "19" + }, + "2843": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "POP", + "path": "19" + }, + "2844": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "POP", + "path": "19" + }, + "2845": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "POP", + "path": "19" + }, + "2846": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "POP", + "path": "19" + }, + "2847": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "ISZERO", + "path": "19" + }, + "2848": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "DUP1", + "path": "19" + }, + "2849": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "ISZERO", + "path": "19" + }, + "2850": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "PUSH2", + "path": "19", + "value": "0xB2F" + }, + "2853": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "JUMPI", + "path": "19" + }, + "2854": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "RETURNDATASIZE", + "path": "19" + }, + "2855": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "2857": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "DUP1", + "path": "19" + }, + "2858": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "RETURNDATACOPY", + "path": "19" + }, + "2859": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "RETURNDATASIZE", + "path": "19" + }, + "2860": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "2862": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "REVERT", + "path": "19" + }, + "2863": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3374, + 3420 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2864": { + "op": "POP" + }, + "2865": { + "op": "POP" + }, + "2866": { + "offset": [ + 876, + 877 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "2868": { + "offset": [ + 867, + 873 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "2870": { + "offset": [ + 867, + 877 + ], + "op": "SSTORE", + "path": "20" + }, + "2871": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 3438, + 3448 + ], + "op": "SWAP3", + "path": "19", + "statement": 35 + }, + "2872": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2569, + 3455 + ], + "op": "SWAP2", + "path": "19" + }, + "2873": { + "op": "POP" + }, + "2874": { + "op": "POP" + }, + "2875": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "o", + "offset": [ + 2569, + 3455 + ], + "op": "JUMP", + "path": "19" + }, + "2876": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2113, + 2302 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2877": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "2879": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "2880": { + "op": "PUSH1", + "value": "0x1" + }, + "2882": { + "op": "PUSH1", + "value": "0x1" + }, + "2884": { + "op": "PUSH1", + "value": "0xA0" + }, + "2886": { + "op": "SHL" + }, + "2887": { + "op": "SUB" + }, + "2888": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "2889": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2890": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "2891": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB66" + }, + "2894": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "2895": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2897": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "2898": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2902": { + "op": "PUSH1", + "value": "0xE5" + }, + "2904": { + "op": "SHL" + }, + "2905": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "2906": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "2907": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2909": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "2910": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B8" + }, + "2913": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "2914": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1BA2" + }, + "2917": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "2918": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2919": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2208, + 2209 + ], + "op": "PUSH1", + "path": "19", + "statement": 36, + "value": "0x0" + }, + "2921": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2195, + 2205 + ], + "op": "DUP2", + "path": "19" + }, + "2922": { + "branch": 94, + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2195, + 2209 + ], + "op": "GT", + "path": "19" + }, + "2923": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2195, + 2240 + ], + "op": "DUP1", + "path": "19" + }, + "2924": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2195, + 2240 + ], + "op": "ISZERO", + "path": "19" + }, + "2925": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2195, + 2240 + ], + "op": "PUSH2", + "path": "19", + "value": "0xB7C" + }, + "2928": { + "branch": 94, + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2195, + 2240 + ], + "op": "JUMPI", + "path": "19" + }, + "2929": { + "op": "POP" + }, + "2930": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "2932": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "2933": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "2935": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "2936": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "2937": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2213, + 2223 + ], + "op": "DUP2", + "path": "19" + }, + "2938": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2213, + 2240 + ], + "op": "LT", + "path": "19" + }, + "2939": { + "branch": 95, + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2213, + 2240 + ], + "op": "ISZERO", + "path": "19" + }, + "2940": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2195, + 2240 + ], + "op": "JUMPDEST", + "path": "19" + }, + "2941": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "PUSH2", + "path": "19", + "value": "0xBBD" + }, + "2944": { + "branch": 95, + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "JUMPI", + "path": "19" + }, + "2945": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "2947": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "MLOAD", + "path": "19" + }, + "2948": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2952": { + "op": "PUSH1", + "value": "0xE5" + }, + "2954": { + "op": "SHL" + }, + "2955": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "DUP2", + "path": "19" + }, + "2956": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "MSTORE", + "path": "19" + }, + "2957": { + "op": "PUSH1", + "value": "0x20" + }, + "2959": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "2961": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "DUP3", + "path": "19" + }, + "2962": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "ADD", + "path": "19" + }, + "2963": { + "op": "MSTORE" + }, + "2964": { + "op": "PUSH1", + "value": "0x12" + }, + "2966": { + "op": "PUSH1", + "value": "0x24" + }, + "2968": { + "op": "DUP3" + }, + "2969": { + "op": "ADD" + }, + "2970": { + "op": "MSTORE" + }, + "2971": { + "op": "PUSH18", + "value": "0x496E76616C6964206D617820737570706C79" + }, + "2990": { + "op": "PUSH1", + "value": "0x70" + }, + "2992": { + "op": "SHL" + }, + "2993": { + "op": "PUSH1", + "value": "0x44" + }, + "2995": { + "op": "DUP3" + }, + "2996": { + "op": "ADD" + }, + "2997": { + "op": "MSTORE" + }, + "2998": { + "op": "PUSH1", + "value": "0x64" + }, + "3000": { + "op": "ADD" + }, + "3001": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6B8" + }, + "3004": { + "op": "JUMP" + }, + "3005": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2187, + 2263 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3006": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2273, + 2282 + ], + "op": "PUSH1", + "path": "19", + "statement": 37, + "value": "0xB" + }, + "3008": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "offset": [ + 2273, + 2295 + ], + "op": "SSTORE", + "path": "19" + }, + "3009": { + "fn": "ERC721ExtensionSignature.updateMaxSupply", + "jump": "o", + "offset": [ + 2113, + 2302 + ], + "op": "JUMP", + "path": "19" + }, + "3010": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3011": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "3013": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "3014": { + "op": "PUSH1", + "value": "0x1" + }, + "3016": { + "op": "PUSH1", + "value": "0x1" + }, + "3018": { + "op": "PUSH1", + "value": "0xA0" + }, + "3020": { + "op": "SHL" + }, + "3021": { + "op": "SUB" + }, + "3022": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "3023": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3024": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "3025": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xBEC" + }, + "3028": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "3029": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "3031": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "3032": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3036": { + "op": "PUSH1", + "value": "0xE5" + }, + "3038": { + "op": "SHL" + }, + "3039": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "3040": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "3041": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "3043": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "3044": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B8" + }, + "3047": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "3048": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1BA2" + }, + "3051": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "3052": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3053": { + "op": "PUSH1", + "value": "0x1" + }, + "3055": { + "op": "PUSH1", + "value": "0x1" + }, + "3057": { + "op": "PUSH1", + "value": "0xA0" + }, + "3059": { + "op": "SHL" + }, + "3060": { + "op": "SUB" + }, + "3061": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 38 + }, + "3062": { + "branch": 124, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "3063": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC51" + }, + "3066": { + "branch": 124, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "3067": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "3069": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "3070": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3074": { + "op": "PUSH1", + "value": "0xE5" + }, + "3076": { + "op": "SHL" + }, + "3077": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "3078": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "3079": { + "op": "PUSH1", + "value": "0x20" + }, + "3081": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "3083": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "3084": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "3085": { + "op": "MSTORE" + }, + "3086": { + "op": "PUSH1", + "value": "0x26" + }, + "3088": { + "op": "PUSH1", + "value": "0x24" + }, + "3090": { + "op": "DUP3" + }, + "3091": { + "op": "ADD" + }, + "3092": { + "op": "MSTORE" + }, + "3093": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "3126": { + "op": "PUSH1", + "value": "0x44" + }, + "3128": { + "op": "DUP3" + }, + "3129": { + "op": "ADD" + }, + "3130": { + "op": "MSTORE" + }, + "3131": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "3138": { + "op": "PUSH1", + "value": "0xD0" + }, + "3140": { + "op": "SHL" + }, + "3141": { + "op": "PUSH1", + "value": "0x64" + }, + "3143": { + "op": "DUP3" + }, + "3144": { + "op": "ADD" + }, + "3145": { + "op": "MSTORE" + }, + "3146": { + "op": "PUSH1", + "value": "0x84" + }, + "3148": { + "op": "ADD" + }, + "3149": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B8" + }, + "3152": { + "op": "JUMP" + }, + "3153": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3154": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH2", + "path": "0", + "statement": 39, + "value": "0x6FA" + }, + "3157": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "3158": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH2", + "path": "0", + "value": "0x13B6" + }, + "3161": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "3162": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3680, + 5001 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3163": { + "offset": [ + 797, + 803 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "3165": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 797, + 803 + ], + "op": "SLOAD", + "path": "20" + }, + "3166": { + "offset": [ + 807, + 808 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "3168": { + "offset": [ + 797, + 808 + ], + "op": "EQ", + "path": "20" + }, + "3169": { + "offset": [ + 789, + 823 + ], + "op": "PUSH2", + "path": "20", + "value": "0xC99" + }, + "3172": { + "offset": [ + 789, + 823 + ], + "op": "JUMPI", + "path": "20" + }, + "3173": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x40" + }, + "3175": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 789, + 823 + ], + "op": "MLOAD", + "path": "20" + }, + "3176": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3180": { + "op": "PUSH1", + "value": "0xE5" + }, + "3182": { + "op": "SHL" + }, + "3183": { + "offset": [ + 789, + 823 + ], + "op": "DUP2", + "path": "20" + }, + "3184": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 789, + 823 + ], + "op": "MSTORE", + "path": "20" + }, + "3185": { + "op": "PUSH1", + "value": "0x20" + }, + "3187": { + "offset": [ + 789, + 823 + ], + "op": "PUSH1", + "path": "20", + "value": "0x4" + }, + "3189": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 789, + 823 + ], + "op": "DUP3", + "path": "20" + }, + "3190": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 789, + 823 + ], + "op": "ADD", + "path": "20" + }, + "3191": { + "op": "MSTORE" + }, + "3192": { + "op": "PUSH1", + "value": "0xA" + }, + "3194": { + "op": "PUSH1", + "value": "0x24" + }, + "3196": { + "op": "DUP3" + }, + "3197": { + "op": "ADD" + }, + "3198": { + "op": "MSTORE" + }, + "3199": { + "op": "PUSH10", + "value": "0x5245454E5452414E4359" + }, + "3210": { + "op": "PUSH1", + "value": "0xB0" + }, + "3212": { + "op": "SHL" + }, + "3213": { + "op": "PUSH1", + "value": "0x44" + }, + "3215": { + "op": "DUP3" + }, + "3216": { + "op": "ADD" + }, + "3217": { + "op": "MSTORE" + }, + "3218": { + "op": "PUSH1", + "value": "0x64" + }, + "3220": { + "op": "ADD" + }, + "3221": { + "offset": [ + 789, + 823 + ], + "op": "PUSH2", + "path": "20", + "value": "0x6B8" + }, + "3224": { + "op": "JUMP" + }, + "3225": { + "offset": [ + 789, + 823 + ], + "op": "JUMPDEST", + "path": "20" + }, + "3226": { + "offset": [ + 843, + 844 + ], + "op": "PUSH1", + "path": "20", + "value": "0x2" + }, + "3228": { + "offset": [ + 834, + 840 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "3230": { + "offset": [ + 834, + 844 + ], + "op": "SSTORE", + "path": "20" + }, + "3231": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "3233": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "3234": { + "op": "PUSH1", + "value": "0x1" + }, + "3236": { + "op": "PUSH1", + "value": "0x1" + }, + "3238": { + "op": "PUSH1", + "value": "0xA0" + }, + "3240": { + "op": "SHL" + }, + "3241": { + "op": "SUB" + }, + "3242": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "3243": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3244": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "3245": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xCC8" + }, + "3248": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "3249": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "3251": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "3252": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3256": { + "op": "PUSH1", + "value": "0xE5" + }, + "3258": { + "op": "SHL" + }, + "3259": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "3260": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "3261": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "3263": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "3264": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B8" + }, + "3267": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "3268": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1BA2" + }, + "3271": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "3272": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3273": { + "op": "PUSH1", + "value": "0x1" + }, + "3275": { + "op": "PUSH1", + "value": "0x1" + }, + "3277": { + "op": "PUSH1", + "value": "0xA0" + }, + "3279": { + "op": "SHL" + }, + "3280": { + "op": "SUB" + }, + "3281": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3926, + 3944 + ], + "op": "DUP5", + "path": "19", + "statement": 40 + }, + "3282": { + "branch": 96, + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3926, + 3944 + ], + "op": "AND", + "path": "19" + }, + "3283": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "PUSH2", + "path": "19", + "value": "0xD16" + }, + "3286": { + "branch": 96, + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "JUMPI", + "path": "19" + }, + "3287": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3289": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "MLOAD", + "path": "19" + }, + "3290": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3294": { + "op": "PUSH1", + "value": "0xE5" + }, + "3296": { + "op": "SHL" + }, + "3297": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "DUP2", + "path": "19" + }, + "3298": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "MSTORE", + "path": "19" + }, + "3299": { + "op": "PUSH1", + "value": "0x20" + }, + "3301": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "3303": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "DUP3", + "path": "19" + }, + "3304": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "ADD", + "path": "19" + }, + "3305": { + "op": "MSTORE" + }, + "3306": { + "op": "PUSH1", + "value": "0x15" + }, + "3308": { + "op": "PUSH1", + "value": "0x24" + }, + "3310": { + "op": "DUP3" + }, + "3311": { + "op": "ADD" + }, + "3312": { + "op": "MSTORE" + }, + "3313": { + "op": "PUSH21", + "value": "0x26B4B73A103A37903D32B9379030B2323932B9B997" + }, + "3335": { + "op": "PUSH1", + "value": "0x59" + }, + "3337": { + "op": "SHL" + }, + "3338": { + "op": "PUSH1", + "value": "0x44" + }, + "3340": { + "op": "DUP3" + }, + "3341": { + "op": "ADD" + }, + "3342": { + "op": "MSTORE" + }, + "3343": { + "op": "PUSH1", + "value": "0x64" + }, + "3345": { + "op": "ADD" + }, + "3346": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6B8" + }, + "3349": { + "op": "JUMP" + }, + "3350": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 3918, + 3970 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3351": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4205, + 4208 + ], + "op": "DUP2", + "path": "19", + "statement": 41 + }, + "3352": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4205, + 4215 + ], + "op": "MLOAD", + "path": "19" + }, + "3353": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4219, + 4221 + ], + "op": "PUSH1", + "path": "19", + "value": "0x41" + }, + "3355": { + "branch": 97, + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4205, + 4221 + ], + "op": "EQ", + "path": "19" + }, + "3356": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "PUSH2", + "path": "19", + "value": "0xD67" + }, + "3359": { + "branch": 97, + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "JUMPI", + "path": "19" + }, + "3360": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3362": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "MLOAD", + "path": "19" + }, + "3363": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3367": { + "op": "PUSH1", + "value": "0xE5" + }, + "3369": { + "op": "SHL" + }, + "3370": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "DUP2", + "path": "19" + }, + "3371": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "MSTORE", + "path": "19" + }, + "3372": { + "op": "PUSH1", + "value": "0x20" + }, + "3374": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "3376": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "DUP3", + "path": "19" + }, + "3377": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "ADD", + "path": "19" + }, + "3378": { + "op": "MSTORE" + }, + "3379": { + "op": "PUSH1", + "value": "0x18" + }, + "3381": { + "op": "PUSH1", + "value": "0x24" + }, + "3383": { + "op": "DUP3" + }, + "3384": { + "op": "ADD" + }, + "3385": { + "op": "MSTORE" + }, + "3386": { + "op": "PUSH32", + "value": "0x496E76616C6964207369676E6174757265206C656E6774680000000000000000" + }, + "3419": { + "op": "PUSH1", + "value": "0x44" + }, + "3421": { + "op": "DUP3" + }, + "3422": { + "op": "ADD" + }, + "3423": { + "op": "MSTORE" + }, + "3424": { + "op": "PUSH1", + "value": "0x64" + }, + "3426": { + "op": "ADD" + }, + "3427": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6B8" + }, + "3430": { + "op": "JUMP" + }, + "3431": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4197, + 4250 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3432": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4388 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "3434": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3436": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "MLOAD", + "path": "19" + }, + "3437": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "DUP1", + "path": "19" + }, + "3438": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3440": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "ADD", + "path": "19" + }, + "3441": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3443": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "MSTORE", + "path": "19" + }, + "3444": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "DUP1", + "path": "19" + }, + "3445": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "PUSH1", + "path": "19", + "value": "0x1C" + }, + "3447": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "DUP2", + "path": "19" + }, + "3448": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "MSTORE", + "path": "19" + }, + "3449": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "PUSH1", + "path": "19", + "value": "0x20" + }, + "3451": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "ADD", + "path": "19" + }, + "3452": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "PUSH32", + "path": "19", + "value": "0x19457468657265756D205369676E6564204D6573736167653A0A333200000000" + }, + "3485": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "DUP2", + "path": "19" + }, + "3486": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "MSTORE", + "path": "19" + }, + "3487": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "POP", + "path": "19" + }, + "3488": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "SWAP1", + "path": "19" + }, + "3489": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4369, + 4425 + ], + "op": "POP", + "path": "19" + }, + "3490": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4435, + 4462 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "3492": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4492, + 4498 + ], + "op": "DUP2", + "path": "19" + }, + "3493": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4500, + 4504 + ], + "op": "DUP6", + "path": "19" + }, + "3494": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3496": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "MLOAD", + "path": "19" + }, + "3497": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "PUSH1", + "path": "19", + "value": "0x20" + }, + "3499": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "ADD", + "path": "19" + }, + "3500": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "PUSH2", + "path": "19", + "value": "0xDB6" + }, + "3503": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "SWAP3", + "path": "19" + }, + "3504": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "SWAP2", + "path": "19" + }, + "3505": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "SWAP1", + "path": "19" + }, + "3506": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "PUSH2", + "path": "19", + "value": "0x1C55" + }, + "3509": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "jump": "i", + "offset": [ + 4475, + 4505 + ], + "op": "JUMP", + "path": "19" + }, + "3510": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3511": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3513": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "MLOAD", + "path": "19" + }, + "3514": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "PUSH1", + "path": "19", + "value": "0x20" + }, + "3516": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "DUP2", + "path": "19" + }, + "3517": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "DUP4", + "path": "19" + }, + "3518": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "SUB", + "path": "19" + }, + "3519": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "SUB", + "path": "19" + }, + "3520": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "DUP2", + "path": "19" + }, + "3521": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "MSTORE", + "path": "19" + }, + "3522": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "SWAP1", + "path": "19" + }, + "3523": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3525": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4475, + 4505 + ], + "op": "MSTORE", + "path": "19" + }, + "3526": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4465, + 4506 + ], + "op": "DUP1", + "path": "19" + }, + "3527": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4465, + 4506 + ], + "op": "MLOAD", + "path": "19" + }, + "3528": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4465, + 4506 + ], + "op": "SWAP1", + "path": "19" + }, + "3529": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4465, + 4506 + ], + "op": "PUSH1", + "path": "19", + "value": "0x20" + }, + "3531": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4465, + 4506 + ], + "op": "ADD", + "path": "19" + }, + "3532": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4465, + 4506 + ], + "op": "KECCAK256", + "path": "19" + }, + "3533": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4435, + 4506 + ], + "op": "SWAP1", + "path": "19" + }, + "3534": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4435, + 4506 + ], + "op": "POP", + "path": "19" + }, + "3535": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4524, + 4571 + ], + "op": "PUSH2", + "path": "19", + "statement": 42, + "value": "0xDEA" + }, + "3538": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4537, + 4544 + ], + "op": "PUSH2", + "path": "19", + "value": "0xDE3" + }, + "3541": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "3543": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "3544": { + "op": "PUSH1", + "value": "0x1" + }, + "3546": { + "op": "PUSH1", + "value": "0x1" + }, + "3548": { + "op": "PUSH1", + "value": "0xA0" + }, + "3550": { + "op": "SHL" + }, + "3551": { + "op": "SUB" + }, + "3552": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "3553": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SWAP1", + "path": "0" + }, + "3554": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "3555": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4537, + 4544 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3556": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4546, + 4565 + ], + "op": "DUP3", + "path": "19" + }, + "3557": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4567, + 4570 + ], + "op": "DUP7", + "path": "19" + }, + "3558": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4524, + 4536 + ], + "op": "PUSH2", + "path": "19", + "value": "0x175C" + }, + "3561": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "jump": "i", + "offset": [ + 4524, + 4571 + ], + "op": "JUMP", + "path": "19" + }, + "3562": { + "branch": 98, + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4524, + 4571 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3563": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "PUSH2", + "path": "19", + "value": "0xE36" + }, + "3566": { + "branch": 98, + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "JUMPI", + "path": "19" + }, + "3567": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "3569": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "MLOAD", + "path": "19" + }, + "3570": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3574": { + "op": "PUSH1", + "value": "0xE5" + }, + "3576": { + "op": "SHL" + }, + "3577": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "DUP2", + "path": "19" + }, + "3578": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "MSTORE", + "path": "19" + }, + "3579": { + "op": "PUSH1", + "value": "0x20" + }, + "3581": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "3583": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "DUP3", + "path": "19" + }, + "3584": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "ADD", + "path": "19" + }, + "3585": { + "op": "MSTORE" + }, + "3586": { + "op": "PUSH1", + "value": "0x19" + }, + "3588": { + "op": "PUSH1", + "value": "0x24" + }, + "3590": { + "op": "DUP3" + }, + "3591": { + "op": "ADD" + }, + "3592": { + "op": "MSTORE" + }, + "3593": { + "op": "PUSH32", + "value": "0x48617368206E6F74207369676E6564206279206F776E65722E00000000000000" + }, + "3626": { + "op": "PUSH1", + "value": "0x44" + }, + "3628": { + "op": "DUP3" + }, + "3629": { + "op": "ADD" + }, + "3630": { + "op": "MSTORE" + }, + "3631": { + "op": "PUSH1", + "value": "0x64" + }, + "3633": { + "op": "ADD" + }, + "3634": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6B8" + }, + "3637": { + "op": "JUMP" + }, + "3638": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4516, + 4601 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3639": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4656, + 4686 + ], + "op": "PUSH2", + "path": "19", + "statement": 43, + "value": "0xE3F" + }, + "3642": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3643": { + "fn": "ERC721ExtensionSignature.mint", + "offset": [ + 2840, + 2856 + ], + "op": "PUSH2", + "path": "19", + "value": "0x14F3" + }, + "3646": { + "fn": "ERC721ExtensionSignature.mint", + "jump": "i", + "offset": [ + 2840, + 2870 + ], + "op": "JUMP", + "path": "19" + }, + "3647": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4656, + 4686 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3648": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4808, + 4830 + ], + "op": "PUSH2", + "path": "19", + "statement": 44, + "value": "0xE48" + }, + "3651": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3652": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4814, + 4826 + ], + "op": "PUSH2", + "path": "19", + "value": "0xA89" + }, + "3655": { + "fn": "Context._msgSender", + "offset": [ + 640, + 736 + ], + "op": "JUMP", + "path": "5" + }, + "3656": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4808, + 4830 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3657": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4841, + 4859 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "3659": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4862, + 4875 + ], + "op": "SLOAD", + "path": "19" + }, + "3660": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4959, + 4994 + ], + "op": "PUSH2", + "path": "19", + "statement": 45, + "value": "0xE55" + }, + "3663": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4862, + 4875 + ], + "op": "DUP2", + "path": "19" + }, + "3664": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4984, + 4993 + ], + "op": "DUP6", + "path": "19" + }, + "3665": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4959, + 4971 + ], + "op": "PUSH2", + "path": "19", + "value": "0x16CA" + }, + "3668": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "jump": "i", + "offset": [ + 4959, + 4994 + ], + "op": "JUMP", + "path": "19" + }, + "3669": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "offset": [ + 4959, + 4994 + ], + "op": "JUMPDEST", + "path": "19" + }, + "3670": { + "op": "POP" + }, + "3671": { + "op": "POP" + }, + "3672": { + "offset": [ + 876, + 877 + ], + "op": "PUSH1", + "path": "20", + "value": "0x1" + }, + "3674": { + "offset": [ + 867, + 873 + ], + "op": "PUSH1", + "path": "20", + "value": "0x8" + }, + "3676": { + "offset": [ + 867, + 877 + ], + "op": "SSTORE", + "path": "20" + }, + "3677": { + "op": "POP" + }, + "3678": { + "op": "POP" + }, + "3679": { + "op": "POP" + }, + "3680": { + "op": "POP" + }, + "3681": { + "op": "POP" + }, + "3682": { + "fn": "ERC721ExtensionSignature.mintWithSignature", + "jump": "o", + "offset": [ + 3680, + 5001 + ], + "op": "JUMP", + "path": "19" + }, + "3683": { + "fn": "ERC721A._exists", + "offset": [ + 9923, + 10095 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3684": { + "fn": "ERC721A._exists", + "offset": [ + 9980, + 9984 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3686": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "DUP1", + "path": "17", + "statement": 46 + }, + "3687": { + "fn": "ERC721A._exists", + "offset": [ + 10043, + 10056 + ], + "op": "SLOAD", + "path": "17" + }, + "3688": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10040 + ], + "op": "DUP3", + "path": "17" + }, + "3689": { + "fn": "ERC721A._exists", + "offset": [ + 10033, + 10056 + ], + "op": "LT", + "path": "17" + }, + "3690": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "DUP1", + "path": "17" + }, + "3691": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "3692": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "PUSH2", + "path": "17", + "value": "0x521" + }, + "3695": { + "fn": "ERC721A._exists", + "offset": [ + 10003, + 10088 + ], + "op": "JUMPI", + "path": "17" + }, + "3696": { + "op": "POP" + }, + "3697": { + "op": "POP" + }, + "3698": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3700": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "3701": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "DUP2", + "path": "17" + }, + "3702": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "3703": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10072 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3705": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3707": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "MSTORE", + "path": "17" + }, + "3708": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3710": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "SWAP1", + "path": "17" + }, + "3711": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10081 + ], + "op": "KECCAK256", + "path": "17" + }, + "3712": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SLOAD", + "path": "17" + }, + "3713": { + "op": "PUSH1", + "value": "0x1" + }, + "3715": { + "op": "PUSH1", + "value": "0xE0" + }, + "3717": { + "op": "SHL" + }, + "3718": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "3719": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "DIV", + "path": "17" + }, + "3720": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "3722": { + "fn": "ERC721A._exists", + "offset": [ + 10061, + 10088 + ], + "op": "AND", + "path": "17" + }, + "3723": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "ISZERO", + "path": "17" + }, + "3724": { + "fn": "ERC721A._exists", + "offset": [ + 10060, + 10088 + ], + "op": "SWAP1", + "path": "17" + }, + "3725": { + "fn": "ERC721A._exists", + "jump": "o", + "offset": [ + 9923, + 10095 + ], + "op": "JUMP", + "path": "17" + }, + "3726": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3727": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "statement": 47, + "value": "0x0" + }, + "3729": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "3730": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP2", + "path": "17" + }, + "3731": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "3732": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18973 + ], + "op": "PUSH1", + "path": "17", + "value": "0x6" + }, + "3734": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "3736": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "MSTORE", + "path": "17" + }, + "3737": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3739": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP1", + "path": "17" + }, + "3740": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP3", + "path": "17" + }, + "3741": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "KECCAK256", + "path": "17" + }, + "3742": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP1", + "path": "17" + }, + "3743": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SLOAD", + "path": "17" + }, + "3744": { + "op": "PUSH1", + "value": "0x1" + }, + "3746": { + "op": "PUSH1", + "value": "0x1" + }, + "3748": { + "op": "PUSH1", + "value": "0xA0" + }, + "3750": { + "op": "SHL" + }, + "3751": { + "op": "SUB" + }, + "3752": { + "op": "NOT" + }, + "3753": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "3754": { + "op": "PUSH1", + "value": "0x1" + }, + "3756": { + "op": "PUSH1", + "value": "0x1" + }, + "3758": { + "op": "PUSH1", + "value": "0xA0" + }, + "3760": { + "op": "SHL" + }, + "3761": { + "op": "SUB" + }, + "3762": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP8", + "path": "17" + }, + "3763": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP2", + "path": "17" + }, + "3764": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "AND", + "path": "17" + }, + "3765": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP2", + "path": "17" + }, + "3766": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "DUP3", + "path": "17" + }, + "3767": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "OR", + "path": "17" + }, + "3768": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP1", + "path": "17" + }, + "3769": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SWAP3", + "path": "17" + }, + "3770": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18987 + ], + "op": "SSTORE", + "path": "17" + }, + "3771": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17", + "statement": 48 + }, + "3772": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "MLOAD", + "path": "17" + }, + "3773": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "DUP6", + "path": "17" + }, + "3774": { + "fn": "ERC721A._approve", + "offset": [ + 18958, + 18982 + ], + "op": "SWAP4", + "path": "17" + }, + "3775": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "3776": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "DUP6", + "path": "17" + }, + "3777": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "AND", + "path": "17" + }, + "3778": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "3779": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "PUSH32", + "path": "17", + "value": "0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925" + }, + "3812": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "SWAP2", + "path": "17" + }, + "3813": { + "fn": "ERC721A._approve", + "offset": [ + 19002, + 19030 + ], + "op": "LOG4", + "path": "17" + }, + "3814": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "3815": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "3816": { + "fn": "ERC721A._approve", + "offset": [ + 18848, + 19037 + ], + "op": "POP", + "path": "17" + }, + "3817": { + "fn": "ERC721A._approve", + "jump": "o", + "offset": [ + 18848, + 19037 + ], + "op": "JUMP", + "path": "17" + }, + "3818": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3819": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14124 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3821": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "PUSH2", + "path": "17", + "value": "0xEF5" + }, + "3824": { + "fn": "ERC721A._transfer", + "offset": [ + 14140, + 14147 + ], + "op": "DUP3", + "path": "17" + }, + "3825": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14139 + ], + "op": "PUSH2", + "path": "17", + "value": "0x129C" + }, + "3828": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14127, + 14148 + ], + "op": "JUMP", + "path": "17" + }, + "3829": { + "fn": "ERC721A._transfer", + "offset": [ + 14127, + 14148 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3830": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "SWAP1", + "path": "17" + }, + "3831": { + "fn": "ERC721A._transfer", + "offset": [ + 14089, + 14148 + ], + "op": "POP", + "path": "17" + }, + "3832": { + "fn": "ERC721A._transfer", + "offset": [ + 14185, + 14189 + ], + "op": "DUP4", + "path": "17", + "statement": 49 + }, + "3833": { + "op": "PUSH1", + "value": "0x1" + }, + "3835": { + "op": "PUSH1", + "value": "0x1" + }, + "3837": { + "op": "PUSH1", + "value": "0xA0" + }, + "3839": { + "op": "SHL" + }, + "3840": { + "op": "SUB" + }, + "3841": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "3842": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14176 + ], + "op": "DUP2", + "path": "17" + }, + "3843": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3845": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "ADD", + "path": "17" + }, + "3846": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14181 + ], + "op": "MLOAD", + "path": "17" + }, + "3847": { + "op": "PUSH1", + "value": "0x1" + }, + "3849": { + "op": "PUSH1", + "value": "0x1" + }, + "3851": { + "op": "PUSH1", + "value": "0xA0" + }, + "3853": { + "op": "SHL" + }, + "3854": { + "op": "SUB" + }, + "3855": { + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "AND", + "path": "17" + }, + "3856": { + "branch": 108, + "fn": "ERC721A._transfer", + "offset": [ + 14163, + 14189 + ], + "op": "EQ", + "path": "17" + }, + "3857": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF2C" + }, + "3860": { + "branch": 108, + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPI", + "path": "17" + }, + "3861": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3863": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "3864": { + "op": "PUSH3", + "value": "0xA11481" + }, + "3868": { + "op": "PUSH1", + "value": "0xE8" + }, + "3870": { + "op": "SHL" + }, + "3871": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP2", + "path": "17" + }, + "3872": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MSTORE", + "path": "17" + }, + "3873": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3875": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "ADD", + "path": "17" + }, + "3876": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3878": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "MLOAD", + "path": "17" + }, + "3879": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "DUP1", + "path": "17" + }, + "3880": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP2", + "path": "17" + }, + "3881": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SUB", + "path": "17" + }, + "3882": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "SWAP1", + "path": "17" + }, + "3883": { + "fn": "ERC721A._transfer", + "offset": [ + 14198, + 14226 + ], + "op": "REVERT", + "path": "17" + }, + "3884": { + "fn": "ERC721A._transfer", + "offset": [ + 14159, + 14226 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3885": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14259 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "3887": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3888": { + "op": "PUSH1", + "value": "0x1" + }, + "3890": { + "op": "PUSH1", + "value": "0x1" + }, + "3892": { + "op": "PUSH1", + "value": "0xA0" + }, + "3894": { + "op": "SHL" + }, + "3895": { + "op": "SUB" + }, + "3896": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP7", + "path": "17" + }, + "3897": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "AND", + "path": "17" + }, + "3898": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "EQ", + "path": "17" + }, + "3899": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14283 + ], + "op": "DUP1", + "path": "17" + }, + "3900": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF4A" + }, + "3903": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14323 + ], + "op": "JUMPI", + "path": "17" + }, + "3904": { + "op": "POP" + }, + "3905": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF4A" + }, + "3908": { + "fn": "ERC721A._transfer", + "offset": [ + 14304, + 14308 + ], + "op": "DUP6", + "path": "17" + }, + "3909": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3910": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x447" + }, + "3913": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "3914": { + "fn": "ERC721A._transfer", + "offset": [ + 14287, + 14323 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3915": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "DUP1", + "path": "17" + }, + "3916": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF65" + }, + "3919": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPI", + "path": "17" + }, + "3920": { + "op": "POP" + }, + "3921": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3922": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF5A" + }, + "3925": { + "fn": "ERC721A._transfer", + "offset": [ + 14339, + 14346 + ], + "op": "DUP5", + "path": "17" + }, + "3926": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14338 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5B9" + }, + "3929": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14327, + 14347 + ], + "op": "JUMP", + "path": "17" + }, + "3930": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14347 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3931": { + "op": "PUSH1", + "value": "0x1" + }, + "3933": { + "op": "PUSH1", + "value": "0x1" + }, + "3935": { + "op": "PUSH1", + "value": "0xA0" + }, + "3937": { + "op": "SHL" + }, + "3938": { + "op": "SUB" + }, + "3939": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "AND", + "path": "17" + }, + "3940": { + "fn": "ERC721A._transfer", + "offset": [ + 14327, + 14363 + ], + "op": "EQ", + "path": "17" + }, + "3941": { + "fn": "ERC721A._transfer", + "offset": [ + 14263, + 14363 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3942": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "SWAP1", + "path": "17" + }, + "3943": { + "fn": "ERC721A._transfer", + "offset": [ + 14237, + 14364 + ], + "op": "POP", + "path": "17" + }, + "3944": { + "branch": 109, + "fn": "ERC721A._transfer", + "offset": [ + 14380, + 14397 + ], + "op": "DUP1", + "path": "17", + "statement": 50 + }, + "3945": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "PUSH2", + "path": "17", + "value": "0xF85" + }, + "3948": { + "branch": 109, + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPI", + "path": "17" + }, + "3949": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3951": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "3952": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "3957": { + "op": "PUSH1", + "value": "0xE1" + }, + "3959": { + "op": "SHL" + }, + "3960": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP2", + "path": "17" + }, + "3961": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MSTORE", + "path": "17" + }, + "3962": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "3964": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "ADD", + "path": "17" + }, + "3965": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3967": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "MLOAD", + "path": "17" + }, + "3968": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "DUP1", + "path": "17" + }, + "3969": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP2", + "path": "17" + }, + "3970": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SUB", + "path": "17" + }, + "3971": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "SWAP1", + "path": "17" + }, + "3972": { + "fn": "ERC721A._transfer", + "offset": [ + 14406, + 14441 + ], + "op": "REVERT", + "path": "17" + }, + "3973": { + "fn": "ERC721A._transfer", + "offset": [ + 14375, + 14441 + ], + "op": "JUMPDEST", + "path": "17" + }, + "3974": { + "op": "PUSH1", + "value": "0x1" + }, + "3976": { + "op": "PUSH1", + "value": "0x1" + }, + "3978": { + "op": "PUSH1", + "value": "0xA0" + }, + "3980": { + "op": "SHL" + }, + "3981": { + "op": "SUB" + }, + "3982": { + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "DUP5", + "path": "17", + "statement": 51 + }, + "3983": { + "branch": 110, + "fn": "ERC721A._transfer", + "offset": [ + 14455, + 14471 + ], + "op": "AND", + "path": "17" + }, + "3984": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "PUSH2", + "path": "17", + "value": "0xFAC" + }, + "3987": { + "branch": 110, + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPI", + "path": "17" + }, + "3988": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "3990": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "3991": { + "op": "PUSH4", + "value": "0x3A954ECD" + }, + "3996": { + "op": "PUSH1", + "value": "0xE2" + }, + "3998": { + "op": "SHL" + }, + "3999": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP2", + "path": "17" + }, + "4000": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MSTORE", + "path": "17" + }, + "4001": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4003": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "ADD", + "path": "17" + }, + "4004": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4006": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "MLOAD", + "path": "17" + }, + "4007": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "DUP1", + "path": "17" + }, + "4008": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP2", + "path": "17" + }, + "4009": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SUB", + "path": "17" + }, + "4010": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "SWAP1", + "path": "17" + }, + "4011": { + "fn": "ERC721A._transfer", + "offset": [ + 14480, + 14503 + ], + "op": "REVERT", + "path": "17" + }, + "4012": { + "fn": "ERC721A._transfer", + "offset": [ + 14451, + 14503 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4013": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "PUSH2", + "path": "17", + "statement": 52, + "value": "0xFB8" + }, + "4016": { + "fn": "ERC721A._transfer", + "offset": [ + 14636, + 14637 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4018": { + "fn": "ERC721A._transfer", + "offset": [ + 14640, + 14647 + ], + "op": "DUP5", + "path": "17" + }, + "4019": { + "fn": "ERC721A._transfer", + "offset": [ + 14649, + 14653 + ], + "op": "DUP8", + "path": "17" + }, + "4020": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14627 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE8E" + }, + "4023": { + "fn": "ERC721A._transfer", + "jump": "i", + "offset": [ + 14619, + 14654 + ], + "op": "JUMP", + "path": "17" + }, + "4024": { + "fn": "ERC721A._transfer", + "offset": [ + 14619, + 14654 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4025": { + "op": "PUSH1", + "value": "0x1" + }, + "4027": { + "op": "PUSH1", + "value": "0x1" + }, + "4029": { + "op": "PUSH1", + "value": "0xA0" + }, + "4031": { + "op": "SHL" + }, + "4032": { + "op": "SUB" + }, + "4033": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP6", + "path": "17", + "statement": 53 + }, + "4034": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "4035": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "AND", + "path": "17" + }, + "4036": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4038": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "4039": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "4040": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "4041": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14956 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "4043": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4045": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "SWAP1", + "path": "17" + }, + "4046": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP2", + "path": "17" + }, + "4047": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "MSTORE", + "path": "17" + }, + "4048": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4050": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP1", + "path": "17" + }, + "4051": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "DUP4", + "path": "17" + }, + "4052": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14962 + ], + "op": "KECCAK256", + "path": "17" + }, + "4053": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "4054": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SLOAD", + "path": "17" + }, + "4055": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4064": { + "op": "NOT" + }, + "4065": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP1", + "path": "17" + }, + "4066": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP3", + "path": "17" + }, + "4067": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "4068": { + "op": "PUSH1", + "value": "0x1" + }, + "4070": { + "op": "PUSH1", + "value": "0x1" + }, + "4072": { + "op": "PUSH1", + "value": "0x40" + }, + "4074": { + "op": "SHL" + }, + "4075": { + "op": "SUB" + }, + "4076": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "4077": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "4078": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "4079": { + "op": "PUSH1", + "value": "0x0" + }, + "4081": { + "op": "NOT" + }, + "4082": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "ADD", + "path": "17" + }, + "4083": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "DUP4", + "path": "17" + }, + "4084": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "AND", + "path": "17" + }, + "4085": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "OR", + "path": "17" + }, + "4086": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP1", + "path": "17" + }, + "4087": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SWAP3", + "path": "17" + }, + "4088": { + "fn": "ERC721A._transfer", + "offset": [ + 14944, + 14975 + ], + "op": "SSTORE", + "path": "17" + }, + "4089": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP10", + "path": "17", + "statement": 54 + }, + "4090": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "4091": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "AND", + "path": "17" + }, + "4092": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP1", + "path": "17" + }, + "4093": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "4094": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "MSTORE", + "path": "17" + }, + "4095": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP4", + "path": "17" + }, + "4096": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "DUP7", + "path": "17" + }, + "4097": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15005 + ], + "op": "KECCAK256", + "path": "17" + }, + "4098": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP1", + "path": "17" + }, + "4099": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SLOAD", + "path": "17" + }, + "4100": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "4101": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "4102": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "4103": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP4", + "path": "17" + }, + "4104": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP4", + "path": "17" + }, + "4105": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "4106": { + "op": "PUSH1", + "value": "0x1" + }, + "4108": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "4109": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP2", + "path": "17" + }, + "4110": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "ADD", + "path": "17" + }, + "4111": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "DUP5", + "path": "17" + }, + "4112": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "AND", + "path": "17" + }, + "4113": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "4114": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "4115": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP5", + "path": "17" + }, + "4116": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "OR", + "path": "17" + }, + "4117": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SWAP1", + "path": "17" + }, + "4118": { + "fn": "ERC721A._transfer", + "offset": [ + 14989, + 15018 + ], + "op": "SSTORE", + "path": "17" + }, + "4119": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP10", + "path": "17" + }, + "4120": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP7", + "path": "17" + }, + "4121": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "4122": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15078 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4124": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP1", + "path": "17" + }, + "4125": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP5", + "path": "17" + }, + "4126": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "MSTORE", + "path": "17" + }, + "4127": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP3", + "path": "17" + }, + "4128": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "DUP6", + "path": "17" + }, + "4129": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "KECCAK256", + "path": "17" + }, + "4130": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "DUP1", + "path": "17", + "statement": 55 + }, + "4131": { + "fn": "ERC721A._transfer", + "offset": [ + 15101, + 15119 + ], + "op": "SLOAD", + "path": "17" + }, + "4132": { + "op": "PUSH1", + "value": "0x1" + }, + "4134": { + "op": "PUSH1", + "value": "0x1" + }, + "4136": { + "op": "PUSH1", + "value": "0xE0" + }, + "4138": { + "op": "SHL" + }, + "4139": { + "op": "SUB" + }, + "4140": { + "op": "NOT" + }, + "4141": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17", + "statement": 56 + }, + "4142": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "4143": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP5", + "path": "17" + }, + "4144": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "4145": { + "op": "PUSH1", + "value": "0x1" + }, + "4147": { + "op": "PUSH1", + "value": "0xA0" + }, + "4149": { + "op": "SHL" + }, + "4150": { + "fn": "ERC721A._transfer", + "offset": [ + 15166, + 15181 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "4151": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "4152": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP3", + "path": "17" + }, + "4153": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "AND", + "path": "17" + }, + "4154": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "4155": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP1", + "path": "17" + }, + "4156": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SWAP2", + "path": "17" + }, + "4157": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "MUL", + "path": "17" + }, + "4158": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "OR", + "path": "17" + }, + "4159": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "DUP4", + "path": "17" + }, + "4160": { + "fn": "ERC721A._transfer", + "offset": [ + 15133, + 15182 + ], + "op": "SSTORE", + "path": "17" + }, + "4161": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "DUP8", + "path": "17" + }, + "4162": { + "fn": "ERC721A._transfer", + "offset": [ + 15452, + 15463 + ], + "op": "ADD", + "path": "17" + }, + "4163": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP1", + "path": "17" + }, + "4164": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "DUP5", + "path": "17" + }, + "4165": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "MSTORE", + "path": "17" + }, + "4166": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP3", + "path": "17" + }, + "4167": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "KECCAK256", + "path": "17" + }, + "4168": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "DUP1", + "path": "17" + }, + "4169": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "SLOAD", + "path": "17" + }, + "4170": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP2", + "path": "17" + }, + "4171": { + "fn": "ERC721A._transfer", + "offset": [ + 15067, + 15087 + ], + "op": "SWAP4", + "path": "17" + }, + "4172": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP1", + "path": "17" + }, + "4173": { + "fn": "ERC721A._transfer", + "offset": [ + 15511, + 15535 + ], + "op": "SWAP2", + "path": "17" + }, + "4174": { + "fn": "ERC721A._transfer", + "offset": [ + 15553, + 15566 + ], + "op": "AND", + "path": "17" + }, + "4175": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "PUSH2", + "path": "17", + "value": "0x108C" + }, + "4178": { + "fn": "ERC721A._transfer", + "offset": [ + 15549, + 15926 + ], + "op": "JUMPI", + "path": "17" + }, + "4179": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4181": { + "fn": "ERC721A._transfer", + "offset": [ + 15760, + 15773 + ], + "op": "SLOAD", + "path": "17" + }, + "4182": { + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15756 + ], + "op": "DUP3", + "path": "17" + }, + "4183": { + "branch": 111, + "fn": "ERC721A._transfer", + "offset": [ + 15745, + 15773 + ], + "op": "EQ", + "path": "17" + }, + "4184": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "PUSH2", + "path": "17", + "value": "0x108C" + }, + "4187": { + "branch": 111, + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPI", + "path": "17" + }, + "4188": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP1", + "path": "17", + "statement": 57 + }, + "4189": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "SLOAD", + "path": "17" + }, + "4190": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "PUSH1", + "path": "17", + "statement": 58, + "value": "0x20" + }, + "4192": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "DUP7", + "path": "17" + }, + "4193": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "ADD", + "path": "17" + }, + "4194": { + "fn": "ERC721A._transfer", + "offset": [ + 15865, + 15893 + ], + "op": "MLOAD", + "path": "17" + }, + "4195": { + "op": "PUSH1", + "value": "0x1" + }, + "4197": { + "op": "PUSH1", + "value": "0x1" + }, + "4199": { + "op": "PUSH1", + "value": "0x40" + }, + "4201": { + "op": "SHL" + }, + "4202": { + "op": "SUB" + }, + "4203": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "4204": { + "op": "PUSH1", + "value": "0x1" + }, + "4206": { + "op": "PUSH1", + "value": "0xA0" + }, + "4208": { + "op": "SHL" + }, + "4209": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "MUL", + "path": "17" + }, + "4210": { + "op": "PUSH1", + "value": "0x1" + }, + "4212": { + "op": "PUSH1", + "value": "0x1" + }, + "4214": { + "op": "PUSH1", + "value": "0xE0" + }, + "4216": { + "op": "SHL" + }, + "4217": { + "op": "SUB" + }, + "4218": { + "op": "NOT" + }, + "4219": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP1", + "path": "17" + }, + "4220": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SWAP2", + "path": "17" + }, + "4221": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "AND", + "path": "17" + }, + "4222": { + "op": "PUSH1", + "value": "0x1" + }, + "4224": { + "op": "PUSH1", + "value": "0x1" + }, + "4226": { + "op": "PUSH1", + "value": "0xA0" + }, + "4228": { + "op": "SHL" + }, + "4229": { + "op": "SUB" + }, + "4230": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "DUP11", + "path": "17" + }, + "4231": { + "fn": "ERC721A._transfer", + "offset": [ + 15797, + 15817 + ], + "op": "AND", + "path": "17" + }, + "4232": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "4233": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "OR", + "path": "17" + }, + "4234": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "DUP2", + "path": "17" + }, + "4235": { + "fn": "ERC721A._transfer", + "offset": [ + 15839, + 15893 + ], + "op": "SSTORE", + "path": "17" + }, + "4236": { + "fn": "ERC721A._transfer", + "offset": [ + 15741, + 15912 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4237": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "4238": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "4239": { + "fn": "ERC721A._transfer", + "offset": [ + 14920, + 15936 + ], + "op": "POP", + "path": "17" + }, + "4240": { + "fn": "ERC721A._transfer", + "offset": [ + 15970, + 15977 + ], + "op": "DUP3", + "path": "17", + "statement": 59 + }, + "4241": { + "fn": "ERC721A._transfer", + "offset": [ + 15966, + 15968 + ], + "op": "DUP5", + "path": "17" + }, + "4242": { + "op": "PUSH1", + "value": "0x1" + }, + "4244": { + "op": "PUSH1", + "value": "0x1" + }, + "4246": { + "op": "PUSH1", + "value": "0xA0" + }, + "4248": { + "op": "SHL" + }, + "4249": { + "op": "SUB" + }, + "4250": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "4251": { + "fn": "ERC721A._transfer", + "offset": [ + 15960, + 15964 + ], + "op": "DUP7", + "path": "17" + }, + "4252": { + "op": "PUSH1", + "value": "0x1" + }, + "4254": { + "op": "PUSH1", + "value": "0x1" + }, + "4256": { + "op": "PUSH1", + "value": "0xA0" + }, + "4258": { + "op": "SHL" + }, + "4259": { + "op": "SUB" + }, + "4260": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "AND", + "path": "17" + }, + "4261": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH32", + "path": "17", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "4294": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4296": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "4297": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4299": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "MLOAD", + "path": "17" + }, + "4300": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "DUP1", + "path": "17" + }, + "4301": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP2", + "path": "17" + }, + "4302": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SUB", + "path": "17" + }, + "4303": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "SWAP1", + "path": "17" + }, + "4304": { + "fn": "ERC721A._transfer", + "offset": [ + 15951, + 15978 + ], + "op": "LOG4", + "path": "17" + }, + "4305": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "4306": { + "fn": "ERC721A._transfer", + "offset": [ + 14079, + 16037 + ], + "op": "POP", + "path": "17" + }, + "4307": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "4308": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "4309": { + "fn": "ERC721A._transfer", + "offset": [ + 13979, + 16037 + ], + "op": "POP", + "path": "17" + }, + "4310": { + "fn": "ERC721A._transfer", + "jump": "o", + "offset": [ + 13979, + 16037 + ], + "op": "JUMP", + "path": "17" + }, + "4311": { + "fn": "ERC721A._burn", + "offset": [ + 16414, + 18737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4312": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16528 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4314": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "PUSH2", + "path": "17", + "value": "0x10E2" + }, + "4317": { + "fn": "ERC721A._burn", + "offset": [ + 16544, + 16551 + ], + "op": "DUP4", + "path": "17" + }, + "4318": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16543 + ], + "op": "PUSH2", + "path": "17", + "value": "0x129C" + }, + "4321": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16531, + 16552 + ], + "op": "JUMP", + "path": "17" + }, + "4322": { + "fn": "ERC721A._burn", + "offset": [ + 16531, + 16552 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4323": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "DUP1", + "path": "17" + }, + "4324": { + "fn": "ERC721A._burn", + "offset": [ + 16578, + 16596 + ], + "op": "MLOAD", + "path": "17" + }, + "4325": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP1", + "path": "17" + }, + "4326": { + "fn": "ERC721A._burn", + "offset": [ + 16493, + 16552 + ], + "op": "SWAP2", + "path": "17" + }, + "4327": { + "op": "POP" + }, + "4328": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "DUP3", + "path": "17" + }, + "4329": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "ISZERO", + "path": "17" + }, + "4330": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1148" + }, + "4333": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPI", + "path": "17" + }, + "4334": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16662 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4336": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4337": { + "op": "PUSH1", + "value": "0x1" + }, + "4339": { + "op": "PUSH1", + "value": "0x1" + }, + "4341": { + "op": "PUSH1", + "value": "0xA0" + }, + "4343": { + "op": "SHL" + }, + "4344": { + "op": "SUB" + }, + "4345": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP4", + "path": "17" + }, + "4346": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "AND", + "path": "17" + }, + "4347": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "EQ", + "path": "17" + }, + "4348": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16686 + ], + "op": "DUP1", + "path": "17" + }, + "4349": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0x110B" + }, + "4352": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16726 + ], + "op": "JUMPI", + "path": "17" + }, + "4353": { + "op": "POP" + }, + "4354": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "PUSH2", + "path": "17", + "value": "0x110B" + }, + "4357": { + "fn": "ERC721A._burn", + "offset": [ + 16707, + 16711 + ], + "op": "DUP3", + "path": "17" + }, + "4358": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4359": { + "fn": "ERC721A.isApprovedForAll", + "offset": [ + 8597, + 8759 + ], + "op": "PUSH2", + "path": "17", + "value": "0x447" + }, + "4362": { + "fn": "ERC721A.isApprovedForAll", + "jump": "i", + "offset": [ + 8597, + 8759 + ], + "op": "JUMP", + "path": "17" + }, + "4363": { + "fn": "ERC721A._burn", + "offset": [ + 16690, + 16726 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4364": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "DUP1", + "path": "17" + }, + "4365": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1126" + }, + "4368": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPI", + "path": "17" + }, + "4369": { + "op": "POP" + }, + "4370": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4371": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "PUSH2", + "path": "17", + "value": "0x111B" + }, + "4374": { + "fn": "ERC721A._burn", + "offset": [ + 16742, + 16749 + ], + "op": "DUP7", + "path": "17" + }, + "4375": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16741 + ], + "op": "PUSH2", + "path": "17", + "value": "0x5B9" + }, + "4378": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16730, + 16750 + ], + "op": "JUMP", + "path": "17" + }, + "4379": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16750 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4380": { + "op": "PUSH1", + "value": "0x1" + }, + "4382": { + "op": "PUSH1", + "value": "0x1" + }, + "4384": { + "op": "PUSH1", + "value": "0xA0" + }, + "4386": { + "op": "SHL" + }, + "4387": { + "op": "SUB" + }, + "4388": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "AND", + "path": "17" + }, + "4389": { + "fn": "ERC721A._burn", + "offset": [ + 16730, + 16766 + ], + "op": "EQ", + "path": "17" + }, + "4390": { + "fn": "ERC721A._burn", + "offset": [ + 16666, + 16766 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4391": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "SWAP1", + "path": "17" + }, + "4392": { + "fn": "ERC721A._burn", + "offset": [ + 16640, + 16767 + ], + "op": "POP", + "path": "17" + }, + "4393": { + "branch": 112, + "fn": "ERC721A._burn", + "offset": [ + 16787, + 16804 + ], + "op": "DUP1", + "path": "17", + "statement": 60 + }, + "4394": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1146" + }, + "4397": { + "branch": 112, + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPI", + "path": "17" + }, + "4398": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4400": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "4401": { + "op": "PUSH4", + "value": "0x2CE44B5F" + }, + "4406": { + "op": "PUSH1", + "value": "0xE1" + }, + "4408": { + "op": "SHL" + }, + "4409": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP2", + "path": "17" + }, + "4410": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MSTORE", + "path": "17" + }, + "4411": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4413": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "ADD", + "path": "17" + }, + "4414": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4416": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "MLOAD", + "path": "17" + }, + "4417": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "DUP1", + "path": "17" + }, + "4418": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP2", + "path": "17" + }, + "4419": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SUB", + "path": "17" + }, + "4420": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "SWAP1", + "path": "17" + }, + "4421": { + "fn": "ERC721A._burn", + "offset": [ + 16813, + 16848 + ], + "op": "REVERT", + "path": "17" + }, + "4422": { + "fn": "ERC721A._burn", + "offset": [ + 16782, + 16848 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4423": { + "fn": "ERC721A._burn", + "offset": [ + 16626, + 16859 + ], + "op": "POP", + "path": "17" + }, + "4424": { + "fn": "ERC721A._burn", + "offset": [ + 16607, + 16859 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4425": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "PUSH2", + "path": "17", + "statement": 61, + "value": "0x1154" + }, + "4428": { + "fn": "ERC721A._burn", + "offset": [ + 16999, + 17000 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4430": { + "fn": "ERC721A._burn", + "offset": [ + 17003, + 17010 + ], + "op": "DUP6", + "path": "17" + }, + "4431": { + "fn": "ERC721A._burn", + "offset": [ + 17012, + 17016 + ], + "op": "DUP4", + "path": "17" + }, + "4432": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 16990 + ], + "op": "PUSH2", + "path": "17", + "value": "0xE8E" + }, + "4435": { + "fn": "ERC721A._burn", + "jump": "i", + "offset": [ + 16982, + 17017 + ], + "op": "JUMP", + "path": "17" + }, + "4436": { + "fn": "ERC721A._burn", + "offset": [ + 16982, + 17017 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4437": { + "op": "PUSH1", + "value": "0x1" + }, + "4439": { + "op": "PUSH1", + "value": "0x1" + }, + "4441": { + "op": "PUSH1", + "value": "0xA0" + }, + "4443": { + "op": "SHL" + }, + "4444": { + "op": "SUB" + }, + "4445": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "4446": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP3", + "path": "17" + }, + "4447": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "AND", + "path": "17" + }, + "4448": { + "fn": "ERC721A._burn", + "offset": [ + 17307, + 17338 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4450": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "4451": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "4452": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "4453": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17353 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "4455": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4457": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP1", + "path": "17" + }, + "4458": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP2", + "path": "17" + }, + "4459": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "MSTORE", + "path": "17" + }, + "4460": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4462": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP1", + "path": "17" + }, + "4463": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "DUP4", + "path": "17" + }, + "4464": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "KECCAK256", + "path": "17" + }, + "4465": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17", + "statement": 62 + }, + "4466": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SLOAD", + "path": "17" + }, + "4467": { + "op": "PUSH1", + "value": "0x1" + }, + "4469": { + "op": "PUSH1", + "value": "0x80" + }, + "4471": { + "op": "SHL" + }, + "4472": { + "op": "PUSH1", + "value": "0x0" + }, + "4474": { + "op": "NOT" + }, + "4475": { + "op": "PUSH1", + "value": "0x1" + }, + "4477": { + "op": "PUSH1", + "value": "0x1" + }, + "4479": { + "op": "PUSH1", + "value": "0x40" + }, + "4481": { + "op": "SHL" + }, + "4482": { + "op": "SUB" + }, + "4483": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP1", + "path": "17" + }, + "4484": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "4485": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "4486": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "4487": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP1", + "path": "17" + }, + "4488": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "SWAP2", + "path": "17" + }, + "4489": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "ADD", + "path": "17" + }, + "4490": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "4491": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "4492": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "4501": { + "op": "NOT" + }, + "4502": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP5", + "path": "17" + }, + "4503": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "AND", + "path": "17" + }, + "4504": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "DUP2", + "path": "17" + }, + "4505": { + "fn": "ERC721A._burn", + "offset": [ + 17373, + 17397 + ], + "op": "OR", + "path": "17" + }, + "4506": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17", + "statement": 63 + }, + "4507": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "4508": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DIV", + "path": "17" + }, + "4509": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP3", + "path": "17" + }, + "4510": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "4511": { + "fn": "ERC721A._burn", + "offset": [ + 17396, + 17397 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "4513": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "4514": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP2", + "path": "17" + }, + "4515": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "ADD", + "path": "17" + }, + "4516": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "4517": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "4518": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "4519": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP4", + "path": "17" + }, + "4520": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "MUL", + "path": "17" + }, + "4521": { + "op": "PUSH24", + "value": "0xFFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFF" + }, + "4546": { + "op": "NOT" + }, + "4547": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "4548": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP5", + "path": "17" + }, + "4549": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "AND", + "path": "17" + }, + "4550": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "4551": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "4552": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP1", + "path": "17" + }, + "4553": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SWAP3", + "path": "17" + }, + "4554": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "OR", + "path": "17" + }, + "4555": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "DUP4", + "path": "17" + }, + "4556": { + "fn": "ERC721A._burn", + "offset": [ + 17411, + 17440 + ], + "op": "SSTORE", + "path": "17" + }, + "4557": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP12", + "path": "17" + }, + "4558": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP7", + "path": "17" + }, + "4559": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "4560": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17581 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4562": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP1", + "path": "17" + }, + "4563": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "SWAP5", + "path": "17" + }, + "4564": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "MSTORE", + "path": "17" + }, + "4565": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP3", + "path": "17" + }, + "4566": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "DUP6", + "path": "17" + }, + "4567": { + "fn": "ERC721A._burn", + "offset": [ + 17570, + 17590 + ], + "op": "KECCAK256", + "path": "17" + }, + "4568": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "DUP1", + "path": "17", + "statement": 64 + }, + "4569": { + "fn": "ERC721A._burn", + "offset": [ + 17604, + 17624 + ], + "op": "SLOAD", + "path": "17" + }, + "4570": { + "op": "PUSH1", + "value": "0xFF" + }, + "4572": { + "op": "PUSH1", + "value": "0xE0" + }, + "4574": { + "op": "SHL" + }, + "4575": { + "op": "NOT" + }, + "4576": { + "fn": "ERC721A._burn", + "offset": [ + 17671, + 17686 + ], + "op": "TIMESTAMP", + "path": "17", + "statement": 65 + }, + "4577": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "4578": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP4", + "path": "17" + }, + "4579": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "4580": { + "op": "PUSH1", + "value": "0x1" + }, + "4582": { + "op": "PUSH1", + "value": "0xA0" + }, + "4584": { + "op": "SHL" + }, + "4585": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "MUL", + "path": "17" + }, + "4586": { + "op": "PUSH1", + "value": "0x1" + }, + "4588": { + "op": "PUSH1", + "value": "0x1" + }, + "4590": { + "op": "PUSH1", + "value": "0xE0" + }, + "4592": { + "op": "SHL" + }, + "4593": { + "op": "SUB" + }, + "4594": { + "op": "NOT" + }, + "4595": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "4596": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP2", + "path": "17" + }, + "4597": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "AND", + "path": "17" + }, + "4598": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "4599": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP8", + "path": "17" + }, + "4600": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "4601": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "4602": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP1", + "path": "17" + }, + "4603": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "SWAP7", + "path": "17" + }, + "4604": { + "fn": "ERC721A._burn", + "offset": [ + 17638, + 17687 + ], + "op": "OR", + "path": "17" + }, + "4605": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "AND", + "path": "17", + "statement": 66 + }, + "4606": { + "op": "PUSH1", + "value": "0x1" + }, + "4608": { + "op": "PUSH1", + "value": "0xE0" + }, + "4610": { + "op": "SHL" + }, + "4611": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "OR", + "path": "17" + }, + "4612": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "DUP6", + "path": "17" + }, + "4613": { + "fn": "ERC721A._burn", + "offset": [ + 17701, + 17723 + ], + "op": "SSTORE", + "path": "17" + }, + "4614": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "SWAP2", + "path": "17" + }, + "4615": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "DUP10", + "path": "17" + }, + "4616": { + "fn": "ERC721A._burn", + "offset": [ + 17989, + 18000 + ], + "op": "ADD", + "path": "17" + }, + "4617": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP1", + "path": "17" + }, + "4618": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "DUP5", + "path": "17" + }, + "4619": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "MSTORE", + "path": "17" + }, + "4620": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP3", + "path": "17" + }, + "4621": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "KECCAK256", + "path": "17" + }, + "4622": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "DUP1", + "path": "17" + }, + "4623": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "SLOAD", + "path": "17" + }, + "4624": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP2", + "path": "17" + }, + "4625": { + "fn": "ERC721A._burn", + "offset": [ + 17341, + 17359 + ], + "op": "SWAP5", + "path": "17" + }, + "4626": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP1", + "path": "17" + }, + "4627": { + "fn": "ERC721A._burn", + "offset": [ + 18048, + 18072 + ], + "op": "SWAP2", + "path": "17" + }, + "4628": { + "fn": "ERC721A._burn", + "offset": [ + 18090, + 18103 + ], + "op": "AND", + "path": "17" + }, + "4629": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1252" + }, + "4632": { + "fn": "ERC721A._burn", + "offset": [ + 18086, + 18463 + ], + "op": "JUMPI", + "path": "17" + }, + "4633": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4635": { + "fn": "ERC721A._burn", + "offset": [ + 18297, + 18310 + ], + "op": "SLOAD", + "path": "17" + }, + "4636": { + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18293 + ], + "op": "DUP3", + "path": "17" + }, + "4637": { + "branch": 113, + "fn": "ERC721A._burn", + "offset": [ + 18282, + 18310 + ], + "op": "EQ", + "path": "17" + }, + "4638": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1252" + }, + "4641": { + "branch": 113, + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPI", + "path": "17" + }, + "4642": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP1", + "path": "17", + "statement": 67 + }, + "4643": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "SLOAD", + "path": "17" + }, + "4644": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "PUSH1", + "path": "17", + "statement": 68, + "value": "0x20" + }, + "4646": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "DUP8", + "path": "17" + }, + "4647": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "ADD", + "path": "17" + }, + "4648": { + "fn": "ERC721A._burn", + "offset": [ + 18402, + 18430 + ], + "op": "MLOAD", + "path": "17" + }, + "4649": { + "op": "PUSH1", + "value": "0x1" + }, + "4651": { + "op": "PUSH1", + "value": "0x1" + }, + "4653": { + "op": "PUSH1", + "value": "0x40" + }, + "4655": { + "op": "SHL" + }, + "4656": { + "op": "SUB" + }, + "4657": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "4658": { + "op": "PUSH1", + "value": "0x1" + }, + "4660": { + "op": "PUSH1", + "value": "0xA0" + }, + "4662": { + "op": "SHL" + }, + "4663": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "MUL", + "path": "17" + }, + "4664": { + "op": "PUSH1", + "value": "0x1" + }, + "4666": { + "op": "PUSH1", + "value": "0x1" + }, + "4668": { + "op": "PUSH1", + "value": "0xE0" + }, + "4670": { + "op": "SHL" + }, + "4671": { + "op": "SUB" + }, + "4672": { + "op": "NOT" + }, + "4673": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP1", + "path": "17" + }, + "4674": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SWAP2", + "path": "17" + }, + "4675": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "AND", + "path": "17" + }, + "4676": { + "op": "PUSH1", + "value": "0x1" + }, + "4678": { + "op": "PUSH1", + "value": "0x1" + }, + "4680": { + "op": "PUSH1", + "value": "0xA0" + }, + "4682": { + "op": "SHL" + }, + "4683": { + "op": "SUB" + }, + "4684": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "DUP8", + "path": "17" + }, + "4685": { + "fn": "ERC721A._burn", + "offset": [ + 18334, + 18354 + ], + "op": "AND", + "path": "17" + }, + "4686": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "4687": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "OR", + "path": "17" + }, + "4688": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "DUP2", + "path": "17" + }, + "4689": { + "fn": "ERC721A._burn", + "offset": [ + 18376, + 18430 + ], + "op": "SSTORE", + "path": "17" + }, + "4690": { + "fn": "ERC721A._burn", + "offset": [ + 18278, + 18449 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4691": { + "op": "POP" + }, + "4692": { + "op": "POP" + }, + "4693": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH1", + "path": "17", + "statement": 69, + "value": "0x40" + }, + "4695": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "MLOAD", + "path": "17" + }, + "4696": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "DUP7", + "path": "17" + }, + "4697": { + "fn": "ERC721A._burn", + "offset": [ + 18515, + 18522 + ], + "op": "SWAP3", + "path": "17" + }, + "4698": { + "op": "POP" + }, + "4699": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4701": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP2", + "path": "17" + }, + "4702": { + "op": "POP" + }, + "4703": { + "op": "PUSH1", + "value": "0x1" + }, + "4705": { + "op": "PUSH1", + "value": "0x1" + }, + "4707": { + "op": "PUSH1", + "value": "0xA0" + }, + "4709": { + "op": "SHL" + }, + "4710": { + "op": "SUB" + }, + "4711": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "DUP5", + "path": "17" + }, + "4712": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "AND", + "path": "17" + }, + "4713": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "4714": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "PUSH32", + "path": "17", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "4747": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "SWAP1", + "path": "17" + }, + "4748": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "DUP4", + "path": "17" + }, + "4749": { + "fn": "ERC721A._burn", + "offset": [ + 18511, + 18512 + ], + "op": "SWAP1", + "path": "17" + }, + "4750": { + "fn": "ERC721A._burn", + "offset": [ + 18488, + 18523 + ], + "op": "LOG4", + "path": "17" + }, + "4751": { + "op": "POP" + }, + "4752": { + "op": "POP" + }, + "4753": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18718 + ], + "op": "PUSH1", + "path": "17", + "statement": 70, + "value": "0x1" + }, + "4755": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP1", + "path": "17" + }, + "4756": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SLOAD", + "path": "17" + }, + "4757": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "DUP2", + "path": "17" + }, + "4758": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "ADD", + "path": "17" + }, + "4759": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SWAP1", + "path": "17" + }, + "4760": { + "fn": "ERC721A._burn", + "offset": [ + 18706, + 18720 + ], + "op": "SSTORE", + "path": "17" + }, + "4761": { + "op": "POP" + }, + "4762": { + "op": "POP" + }, + "4763": { + "fn": "ERC721A._burn", + "jump": "o", + "offset": [ + 16414, + 18737 + ], + "op": "JUMP", + "path": "17" + }, + "4764": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4765": { + "op": "PUSH1", + "value": "0x40" + }, + "4767": { + "op": "DUP1" + }, + "4768": { + "op": "MLOAD" + }, + "4769": { + "op": "PUSH1", + "value": "0x60" + }, + "4771": { + "op": "DUP2" + }, + "4772": { + "op": "ADD" + }, + "4773": { + "op": "DUP3" + }, + "4774": { + "op": "MSTORE" + }, + "4775": { + "op": "PUSH1", + "value": "0x0" + }, + "4777": { + "op": "DUP1" + }, + "4778": { + "op": "DUP3" + }, + "4779": { + "op": "MSTORE" + }, + "4780": { + "op": "PUSH1", + "value": "0x20" + }, + "4782": { + "op": "DUP3" + }, + "4783": { + "op": "ADD" + }, + "4784": { + "op": "DUP2" + }, + "4785": { + "op": "SWAP1" + }, + "4786": { + "op": "MSTORE" + }, + "4787": { + "op": "SWAP2" + }, + "4788": { + "op": "DUP2" + }, + "4789": { + "op": "ADD" + }, + "4790": { + "op": "SWAP2" + }, + "4791": { + "op": "SWAP1" + }, + "4792": { + "op": "SWAP2" + }, + "4793": { + "op": "MSTORE" + }, + "4794": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5198, + 5205 + ], + "op": "DUP2", + "path": "17" + }, + "4795": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4797": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5296, + 5309 + ], + "op": "SLOAD", + "path": "17" + }, + "4798": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5293 + ], + "op": "DUP2", + "path": "17" + }, + "4799": { + "branch": 114, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5289, + 5309 + ], + "op": "LT", + "path": "17" + }, + "4800": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "ISZERO", + "path": "17" + }, + "4801": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "PUSH2", + "path": "17", + "value": "0x139D" + }, + "4804": { + "branch": 114, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPI", + "path": "17" + }, + "4805": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5364 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "4807": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "4808": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "4809": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "4810": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5378 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4812": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4814": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "4815": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "4816": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "4817": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4819": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "4820": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "4821": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "4822": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5367, + 5384 + ], + "op": "KECCAK256", + "path": "17" + }, + "4823": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "4824": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MLOAD", + "path": "17" + }, + "4825": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "4827": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "4828": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "4829": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP5", + "path": "17" + }, + "4830": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "4831": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "4832": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SLOAD", + "path": "17" + }, + "4833": { + "op": "PUSH1", + "value": "0x1" + }, + "4835": { + "op": "PUSH1", + "value": "0x1" + }, + "4837": { + "op": "PUSH1", + "value": "0xA0" + }, + "4839": { + "op": "SHL" + }, + "4840": { + "op": "SUB" + }, + "4841": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "4842": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "4843": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "4844": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "4845": { + "op": "PUSH1", + "value": "0x1" + }, + "4847": { + "op": "PUSH1", + "value": "0xA0" + }, + "4849": { + "op": "SHL" + }, + "4850": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "4851": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "4852": { + "op": "PUSH1", + "value": "0x1" + }, + "4854": { + "op": "PUSH1", + "value": "0x1" + }, + "4856": { + "op": "PUSH1", + "value": "0x40" + }, + "4858": { + "op": "SHL" + }, + "4859": { + "op": "SUB" + }, + "4860": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "4861": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "4862": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "4863": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "4864": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "4865": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "4866": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP3", + "path": "17" + }, + "4867": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "4868": { + "op": "PUSH1", + "value": "0x1" + }, + "4870": { + "op": "PUSH1", + "value": "0xE0" + }, + "4872": { + "op": "SHL" + }, + "4873": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "4874": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "4875": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DIV", + "path": "17" + }, + "4876": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "4878": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "AND", + "path": "17" + }, + "4879": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "4880": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ISZERO", + "path": "17" + }, + "4881": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP2", + "path": "17" + }, + "4882": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP2", + "path": "17" + }, + "4883": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "ADD", + "path": "17" + }, + "4884": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "DUP3", + "path": "17" + }, + "4885": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "4886": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "MSTORE", + "path": "17" + }, + "4887": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5333, + 5384 + ], + "op": "SWAP1", + "path": "17" + }, + "4888": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "PUSH2", + "path": "17", + "value": "0x139B" + }, + "4891": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5406, + 6180 + ], + "op": "JUMPI", + "path": "17" + }, + "4892": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "DUP1", + "path": "17" + }, + "4893": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5473 + ], + "op": "MLOAD", + "path": "17" + }, + "4894": { + "op": "PUSH1", + "value": "0x1" + }, + "4896": { + "op": "PUSH1", + "value": "0x1" + }, + "4898": { + "op": "PUSH1", + "value": "0xA0" + }, + "4900": { + "op": "SHL" + }, + "4901": { + "op": "SUB" + }, + "4902": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "AND", + "path": "17" + }, + "4903": { + "branch": 115, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5459, + 5487 + ], + "op": "ISZERO", + "path": "17" + }, + "4904": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1332" + }, + "4907": { + "branch": 115, + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPI", + "path": "17" + }, + "4908": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5526, + 5535 + ], + "op": "SWAP4", + "path": "17", + "statement": 71 + }, + "4909": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "4910": { + "op": "POP" + }, + "4911": { + "op": "POP" + }, + "4912": { + "op": "POP" + }, + "4913": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "4914": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5455, + 5562 + ], + "op": "JUMPDEST", + "path": "17" + }, + "4915": { + "op": "POP" + }, + "4916": { + "op": "PUSH1", + "value": "0x0" + }, + "4918": { + "op": "NOT" + }, + "4919": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5922, + 5928 + ], + "op": "ADD", + "path": "17", + "statement": 72 + }, + "4920": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "statement": 73, + "value": "0x0" + }, + "4922": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "4923": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "4924": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "4925": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5981 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "4927": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "4929": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "4930": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "4931": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "4932": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "4934": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP2", + "path": "17" + }, + "4935": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "4936": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "4937": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5970, + 5987 + ], + "op": "KECCAK256", + "path": "17" + }, + "4938": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "4939": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MLOAD", + "path": "17" + }, + "4940": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "4942": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "4943": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "4944": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP5", + "path": "17" + }, + "4945": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "4946": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "4947": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SLOAD", + "path": "17" + }, + "4948": { + "op": "PUSH1", + "value": "0x1" + }, + "4950": { + "op": "PUSH1", + "value": "0x1" + }, + "4952": { + "op": "PUSH1", + "value": "0xA0" + }, + "4954": { + "op": "SHL" + }, + "4955": { + "op": "SUB" + }, + "4956": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "4957": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "4958": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP1", + "path": "17" + }, + "4959": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "4960": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "4961": { + "op": "PUSH1", + "value": "0x1" + }, + "4963": { + "op": "PUSH1", + "value": "0xA0" + }, + "4965": { + "op": "SHL" + }, + "4966": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP3", + "path": "17" + }, + "4967": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "4968": { + "op": "PUSH1", + "value": "0x1" + }, + "4970": { + "op": "PUSH1", + "value": "0x1" + }, + "4972": { + "op": "PUSH1", + "value": "0x40" + }, + "4974": { + "op": "SHL" + }, + "4975": { + "op": "SUB" + }, + "4976": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "4977": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "4978": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP4", + "path": "17" + }, + "4979": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "4980": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "4981": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "4982": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP4", + "path": "17" + }, + "4983": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "4984": { + "op": "PUSH1", + "value": "0x1" + }, + "4986": { + "op": "PUSH1", + "value": "0xE0" + }, + "4988": { + "op": "SHL" + }, + "4989": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "4990": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DIV", + "path": "17" + }, + "4991": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "PUSH1", + "path": "17", + "value": "0xFF" + }, + "4993": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "AND", + "path": "17" + }, + "4994": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "4995": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ISZERO", + "path": "17" + }, + "4996": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "4997": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "DUP2", + "path": "17" + }, + "4998": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "ADD", + "path": "17" + }, + "4999": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "5000": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP1", + "path": "17" + }, + "5001": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "SWAP3", + "path": "17" + }, + "5002": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5958, + 5987 + ], + "op": "MSTORE", + "path": "17" + }, + "5003": { + "branch": 116, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6021, + 6049 + ], + "op": "ISZERO", + "path": "17" + }, + "5004": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1396" + }, + "5007": { + "branch": 116, + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPI", + "path": "17" + }, + "5008": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6092, + 6101 + ], + "op": "SWAP4", + "path": "17", + "statement": 74 + }, + "5009": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5088, + 6262 + ], + "op": "SWAP3", + "path": "17" + }, + "5010": { + "op": "POP" + }, + "5011": { + "op": "POP" + }, + "5012": { + "op": "POP" + }, + "5013": { + "fn": "ERC721A._ownershipOf", + "jump": "o", + "offset": [ + 5088, + 6262 + ], + "op": "JUMP", + "path": "17" + }, + "5014": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6017, + 6132 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5015": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1332" + }, + "5018": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMP", + "path": "17" + }, + "5019": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5879, + 6158 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5020": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5311, + 6198 + ], + "op": "POP", + "path": "17" + }, + "5021": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 5285, + 6198 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5022": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5024": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "5025": { + "op": "PUSH4", + "value": "0x6F96CDA1" + }, + "5030": { + "op": "PUSH1", + "value": "0xE1" + }, + "5032": { + "op": "SHL" + }, + "5033": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP2", + "path": "17" + }, + "5034": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MSTORE", + "path": "17" + }, + "5035": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "5037": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "ADD", + "path": "17" + }, + "5038": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5040": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "MLOAD", + "path": "17" + }, + "5041": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "DUP1", + "path": "17" + }, + "5042": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP2", + "path": "17" + }, + "5043": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SUB", + "path": "17" + }, + "5044": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "SWAP1", + "path": "17" + }, + "5045": { + "fn": "ERC721A._ownershipOf", + "offset": [ + 6224, + 6255 + ], + "op": "REVERT", + "path": "17" + }, + "5046": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "5047": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "PUSH1", + "path": "0", + "value": "0xA" + }, + "5049": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "5050": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "5051": { + "op": "PUSH1", + "value": "0x1" + }, + "5053": { + "op": "PUSH1", + "value": "0x1" + }, + "5055": { + "op": "PUSH1", + "value": "0xA0" + }, + "5057": { + "op": "SHL" + }, + "5058": { + "op": "SUB" + }, + "5059": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 75 + }, + "5060": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "5061": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "5062": { + "op": "PUSH1", + "value": "0x1" + }, + "5064": { + "op": "PUSH1", + "value": "0x1" + }, + "5066": { + "op": "PUSH1", + "value": "0xA0" + }, + "5068": { + "op": "SHL" + }, + "5069": { + "op": "SUB" + }, + "5070": { + "op": "NOT" + }, + "5071": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "5072": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "5073": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "5074": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "5075": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "5076": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP4", + "path": "0" + }, + "5077": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "5078": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 76, + "value": "0x40" + }, + "5080": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "5081": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "5082": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "5083": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "5084": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "5085": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP3", + "path": "0" + }, + "5086": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "5087": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "5120": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP1", + "path": "0" + }, + "5121": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "5123": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "5124": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "5125": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "5126": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "5127": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "5128": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5129": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5131": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "5132": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "5137": { + "op": "PUSH1", + "value": "0xE1" + }, + "5139": { + "op": "SHL" + }, + "5140": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "5141": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "5142": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5144": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19676, + 19680 + ], + "op": "SWAP1", + "path": "17" + }, + "5145": { + "op": "PUSH1", + "value": "0x1" + }, + "5147": { + "op": "PUSH1", + "value": "0x1" + }, + "5149": { + "op": "PUSH1", + "value": "0xA0" + }, + "5151": { + "op": "SHL" + }, + "5152": { + "op": "SUB" + }, + "5153": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "DUP6", + "path": "17" + }, + "5154": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "AND", + "path": "17" + }, + "5155": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "5156": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "PUSH4", + "path": "17", + "value": "0x150B7A02" + }, + "5161": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19732 + ], + "op": "SWAP1", + "path": "17" + }, + "5162": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x143D" + }, + "5165": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "5166": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "5167": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "SWAP1", + "path": "5" + }, + "5168": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "DUP10", + "path": "17" + }, + "5169": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19747, + 19751 + ], + "op": "SWAP1", + "path": "17" + }, + "5170": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "DUP9", + "path": "17" + }, + "5171": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19753, + 19760 + ], + "op": "SWAP1", + "path": "17" + }, + "5172": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "DUP9", + "path": "17" + }, + "5173": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19762, + 19767 + ], + "op": "SWAP1", + "path": "17" + }, + "5174": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "5176": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "5177": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1C77" + }, + "5180": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "5181": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5182": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "5184": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5186": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "5187": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "5188": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP4", + "path": "17" + }, + "5189": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SUB", + "path": "17" + }, + "5190": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "5191": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5193": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP8", + "path": "17" + }, + "5194": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "GAS", + "path": "17" + }, + "5195": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "CALL", + "path": "17" + }, + "5196": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "5197": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "5198": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "5199": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "POP", + "path": "17" + }, + "5200": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "5201": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ISZERO", + "path": "17" + }, + "5202": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1478" + }, + "5205": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPI", + "path": "17" + }, + "5206": { + "op": "POP" + }, + "5207": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5209": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP1", + "path": "17" + }, + "5210": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MLOAD", + "path": "17" + }, + "5211": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "5213": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "5214": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "5215": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "5216": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "5217": { + "op": "PUSH1", + "value": "0x1F" + }, + "5219": { + "op": "NOT" + }, + "5220": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "AND", + "path": "17" + }, + "5221": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP3", + "path": "17" + }, + "5222": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "5223": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "5224": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP3", + "path": "17" + }, + "5225": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "MSTORE", + "path": "17" + }, + "5226": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1475" + }, + "5229": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP2", + "path": "17" + }, + "5230": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "DUP2", + "path": "17" + }, + "5231": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "ADD", + "path": "17" + }, + "5232": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "SWAP1", + "path": "17" + }, + "5233": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH2", + "path": "17", + "value": "0x1CB4" + }, + "5236": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "i", + "offset": [ + 19696, + 19768 + ], + "op": "JUMP", + "path": "17" + }, + "5237": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5238": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "5240": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19696, + 19768 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5241": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14D6" + }, + "5244": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "5245": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "5246": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "5247": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP1", + "path": "17" + }, + "5248": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ISZERO", + "path": "17" + }, + "5249": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14A6" + }, + "5252": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPI", + "path": "17" + }, + "5253": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5255": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MLOAD", + "path": "17" + }, + "5256": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "5257": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "5258": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1F" + }, + "5260": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "NOT", + "path": "17" + }, + "5261": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x3F" + }, + "5263": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "5264": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "5265": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "AND", + "path": "17" + }, + "5266": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "5267": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "5268": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5270": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "5271": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "5272": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP3", + "path": "17" + }, + "5273": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "MSTORE", + "path": "17" + }, + "5274": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATASIZE", + "path": "17" + }, + "5275": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5277": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "5279": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "DUP5", + "path": "17" + }, + "5280": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "ADD", + "path": "17" + }, + "5281": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "RETURNDATACOPY", + "path": "17" + }, + "5282": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14AB" + }, + "5285": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMP", + "path": "17" + }, + "5286": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5287": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x60" + }, + "5289": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "SWAP2", + "path": "17" + }, + "5290": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "5291": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5292": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "POP", + "path": "17" + }, + "5293": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19933 + ], + "op": "DUP1", + "path": "17", + "statement": 77 + }, + "5294": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19940 + ], + "op": "MLOAD", + "path": "17" + }, + "5295": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19944, + 19945 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5297": { + "branch": 117, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19927, + 19945 + ], + "op": "SUB", + "path": "17" + }, + "5298": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "PUSH2", + "path": "17", + "value": "0x14CE" + }, + "5301": { + "branch": 117, + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPI", + "path": "17" + }, + "5302": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5304": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "5305": { + "op": "PUSH4", + "value": "0x68D2BF6B" + }, + "5310": { + "op": "PUSH1", + "value": "0xE1" + }, + "5312": { + "op": "SHL" + }, + "5313": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP2", + "path": "17" + }, + "5314": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MSTORE", + "path": "17" + }, + "5315": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "5317": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "ADD", + "path": "17" + }, + "5318": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5320": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "MLOAD", + "path": "17" + }, + "5321": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "DUP1", + "path": "17" + }, + "5322": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP2", + "path": "17" + }, + "5323": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SUB", + "path": "17" + }, + "5324": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "SWAP1", + "path": "17" + }, + "5325": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19972, + 20012 + ], + "op": "REVERT", + "path": "17" + }, + "5326": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19923, + 20152 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5327": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20112, + 20118 + ], + "op": "DUP1", + "path": "17" + }, + "5328": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20106, + 20119 + ], + "op": "MLOAD", + "path": "17" + }, + "5329": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20097, + 20103 + ], + "op": "DUP2", + "path": "17" + }, + "5330": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20093, + 20095 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "5332": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20089, + 20104 + ], + "op": "ADD", + "path": "17" + }, + "5333": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 20082, + 20120 + ], + "op": "REVERT", + "path": "17" + }, + "5334": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19692, + 20162 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5335": { + "op": "PUSH1", + "value": "0x1" + }, + "5337": { + "op": "PUSH1", + "value": "0x1" + }, + "5339": { + "op": "PUSH1", + "value": "0xE0" + }, + "5341": { + "op": "SHL" + }, + "5342": { + "op": "SUB" + }, + "5343": { + "op": "NOT" + }, + "5344": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "AND", + "path": "17", + "statement": 78 + }, + "5345": { + "op": "PUSH4", + "value": "0xA85BD01" + }, + "5350": { + "op": "PUSH1", + "value": "0xE1" + }, + "5352": { + "op": "SHL" + }, + "5353": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "EQ", + "path": "17" + }, + "5354": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19814, + 19869 + ], + "op": "SWAP1", + "path": "17" + }, + "5355": { + "op": "POP" + }, + "5356": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP5", + "path": "17" + }, + "5357": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "SWAP4", + "path": "17" + }, + "5358": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "5359": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "5360": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "5361": { + "fn": "ERC721A._checkContractOnERC721Received", + "offset": [ + 19518, + 20168 + ], + "op": "POP", + "path": "17" + }, + "5362": { + "fn": "ERC721A._checkContractOnERC721Received", + "jump": "o", + "offset": [ + 19518, + 20168 + ], + "op": "JUMP", + "path": "17" + }, + "5363": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3461, + 3674 + ], + "op": "JUMPDEST", + "path": "19" + }, + "5364": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3561, + 3573 + ], + "op": "PUSH1", + "path": "19", + "statement": 79, + "value": "0xC" + }, + "5366": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3561, + 3573 + ], + "op": "SLOAD", + "path": "19" + }, + "5367": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3538, + 3558 + ], + "op": "PUSH2", + "path": "19", + "value": "0x14FF" + }, + "5370": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3548, + 3557 + ], + "op": "DUP3", + "path": "19" + }, + "5371": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3538, + 3547 + ], + "op": "PUSH2", + "path": "19", + "value": "0x735" + }, + "5374": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "jump": "i", + "offset": [ + 3538, + 3558 + ], + "op": "JUMP", + "path": "19" + }, + "5375": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3538, + 3558 + ], + "op": "JUMPDEST", + "path": "19" + }, + "5376": { + "branch": 99, + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3538, + 3573 + ], + "op": "LT", + "path": "19" + }, + "5377": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "PUSH2", + "path": "19", + "value": "0x154C" + }, + "5380": { + "branch": 99, + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "JUMPI", + "path": "19" + }, + "5381": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "5383": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "MLOAD", + "path": "19" + }, + "5384": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5388": { + "op": "PUSH1", + "value": "0xE5" + }, + "5390": { + "op": "SHL" + }, + "5391": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "DUP2", + "path": "19" + }, + "5392": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "MSTORE", + "path": "19" + }, + "5393": { + "op": "PUSH1", + "value": "0x20" + }, + "5395": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "5397": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "DUP3", + "path": "19" + }, + "5398": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "ADD", + "path": "19" + }, + "5399": { + "op": "MSTORE" + }, + "5400": { + "op": "PUSH1", + "value": "0x17" + }, + "5402": { + "op": "PUSH1", + "value": "0x24" + }, + "5404": { + "op": "DUP3" + }, + "5405": { + "op": "ADD" + }, + "5406": { + "op": "MSTORE" + }, + "5407": { + "op": "PUSH32", + "value": "0x596F752063616E2774206D696E7420616E796D6F72652E000000000000000000" + }, + "5440": { + "op": "PUSH1", + "value": "0x44" + }, + "5442": { + "op": "DUP3" + }, + "5443": { + "op": "ADD" + }, + "5444": { + "op": "MSTORE" + }, + "5445": { + "op": "PUSH1", + "value": "0x64" + }, + "5447": { + "op": "ADD" + }, + "5448": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6B8" + }, + "5451": { + "op": "JUMP" + }, + "5452": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3530, + 3601 + ], + "op": "JUMPDEST", + "path": "19" + }, + "5453": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3635, + 3644 + ], + "op": "PUSH1", + "path": "19", + "statement": 80, + "value": "0xB" + }, + "5455": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3635, + 3644 + ], + "op": "SLOAD", + "path": "19" + }, + "5456": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "5458": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2943, + 2955 + ], + "op": "SLOAD", + "path": "17" + }, + "5459": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2737, + 2744 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5461": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2940 + ], + "op": "SLOAD", + "path": "17" + }, + "5462": { + "fn": "ERC721A.totalSupply", + "offset": [ + 2927, + 2955 + ], + "op": "SUB", + "path": "17" + }, + "5463": { + "branch": 100, + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3619, + 3644 + ], + "op": "LT", + "path": "19" + }, + "5464": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6FA" + }, + "5467": { + "branch": 100, + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "JUMPI", + "path": "19" + }, + "5468": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "5470": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "MLOAD", + "path": "19" + }, + "5471": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5475": { + "op": "PUSH1", + "value": "0xE5" + }, + "5477": { + "op": "SHL" + }, + "5478": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "DUP2", + "path": "19" + }, + "5479": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "MSTORE", + "path": "19" + }, + "5480": { + "op": "PUSH1", + "value": "0x20" + }, + "5482": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "PUSH1", + "path": "19", + "value": "0x4" + }, + "5484": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "DUP3", + "path": "19" + }, + "5485": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "ADD", + "path": "19" + }, + "5486": { + "op": "MSTORE" + }, + "5487": { + "op": "PUSH1", + "value": "0x12" + }, + "5489": { + "op": "PUSH1", + "value": "0x24" + }, + "5491": { + "op": "DUP3" + }, + "5492": { + "op": "ADD" + }, + "5493": { + "op": "MSTORE" + }, + "5494": { + "op": "PUSH18", + "value": "0x13585E081CDD5C1C1B1E481C995858DA1959" + }, + "5513": { + "op": "PUSH1", + "value": "0x72" + }, + "5515": { + "op": "SHL" + }, + "5516": { + "op": "PUSH1", + "value": "0x44" + }, + "5518": { + "op": "DUP3" + }, + "5519": { + "op": "ADD" + }, + "5520": { + "op": "MSTORE" + }, + "5521": { + "op": "PUSH1", + "value": "0x64" + }, + "5523": { + "op": "ADD" + }, + "5524": { + "fn": "ERC721ExtensionSignature._beforeTokenMint", + "offset": [ + 3611, + 3667 + ], + "op": "PUSH2", + "path": "19", + "value": "0x6B8" + }, + "5527": { + "op": "JUMP" + }, + "5528": { + "fn": "ERC721A._mint", + "offset": [ + 12591, + 13737 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5529": { + "fn": "ERC721A._mint", + "offset": [ + 12655, + 12675 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5531": { + "fn": "ERC721A._mint", + "offset": [ + 12678, + 12691 + ], + "op": "SLOAD", + "path": "17" + }, + "5532": { + "op": "PUSH1", + "value": "0x1" + }, + "5534": { + "op": "PUSH1", + "value": "0x1" + }, + "5536": { + "op": "PUSH1", + "value": "0xA0" + }, + "5538": { + "op": "SHL" + }, + "5539": { + "op": "SUB" + }, + "5540": { + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "DUP4", + "path": "17", + "statement": 81 + }, + "5541": { + "branch": 118, + "fn": "ERC721A._mint", + "offset": [ + 12705, + 12721 + ], + "op": "AND", + "path": "17" + }, + "5542": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15C1" + }, + "5545": { + "branch": 118, + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPI", + "path": "17" + }, + "5546": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5548": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "5549": { + "op": "PUSH3", + "value": "0x2E0763" + }, + "5553": { + "op": "PUSH1", + "value": "0xE8" + }, + "5555": { + "op": "SHL" + }, + "5556": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP2", + "path": "17" + }, + "5557": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MSTORE", + "path": "17" + }, + "5558": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "5560": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "ADD", + "path": "17" + }, + "5561": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5563": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "MLOAD", + "path": "17" + }, + "5564": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "DUP1", + "path": "17" + }, + "5565": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP2", + "path": "17" + }, + "5566": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SUB", + "path": "17" + }, + "5567": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "SWAP1", + "path": "17" + }, + "5568": { + "fn": "ERC721A._mint", + "offset": [ + 12730, + 12749 + ], + "op": "REVERT", + "path": "17" + }, + "5569": { + "fn": "ERC721A._mint", + "offset": [ + 12701, + 12749 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5570": { + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12771 + ], + "op": "DUP2", + "path": "17", + "statement": 82 + }, + "5571": { + "fn": "ERC721A._mint", + "offset": [ + 12775, + 12776 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5573": { + "branch": 119, + "fn": "ERC721A._mint", + "offset": [ + 12763, + 12776 + ], + "op": "SUB", + "path": "17" + }, + "5574": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "PUSH2", + "path": "17", + "value": "0x15E2" + }, + "5577": { + "branch": 119, + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPI", + "path": "17" + }, + "5578": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5580": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "5581": { + "op": "PUSH4", + "value": "0xB562E8DD" + }, + "5586": { + "op": "PUSH1", + "value": "0xE0" + }, + "5588": { + "op": "SHL" + }, + "5589": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP2", + "path": "17" + }, + "5590": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MSTORE", + "path": "17" + }, + "5591": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "5593": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "ADD", + "path": "17" + }, + "5594": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5596": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "MLOAD", + "path": "17" + }, + "5597": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "DUP1", + "path": "17" + }, + "5598": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP2", + "path": "17" + }, + "5599": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SUB", + "path": "17" + }, + "5600": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "SWAP1", + "path": "17" + }, + "5601": { + "fn": "ERC721A._mint", + "offset": [ + 12785, + 12803 + ], + "op": "REVERT", + "path": "17" + }, + "5602": { + "fn": "ERC721A._mint", + "offset": [ + 12759, + 12803 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5603": { + "op": "PUSH1", + "value": "0x1" + }, + "5605": { + "op": "PUSH1", + "value": "0x1" + }, + "5607": { + "op": "PUSH1", + "value": "0xA0" + }, + "5609": { + "op": "SHL" + }, + "5610": { + "op": "SUB" + }, + "5611": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17", + "statement": 83 + }, + "5612": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "AND", + "path": "17" + }, + "5613": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5615": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "5616": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "5617": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "5618": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13158 + ], + "op": "PUSH1", + "path": "17", + "value": "0x5" + }, + "5620": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x20" + }, + "5622": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "SWAP1", + "path": "17" + }, + "5623": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP2", + "path": "17" + }, + "5624": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "MSTORE", + "path": "17" + }, + "5625": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "PUSH1", + "path": "17", + "value": "0x40" + }, + "5627": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP1", + "path": "17" + }, + "5628": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "DUP4", + "path": "17" + }, + "5629": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13162 + ], + "op": "KECCAK256", + "path": "17" + }, + "5630": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "5631": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SLOAD", + "path": "17" + }, + "5632": { + "op": "PUSH16", + "value": "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + }, + "5649": { + "op": "NOT" + }, + "5650": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17", + "statement": 84 + }, + "5651": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "5652": { + "op": "PUSH1", + "value": "0x1" + }, + "5654": { + "op": "PUSH1", + "value": "0x1" + }, + "5656": { + "op": "PUSH1", + "value": "0x40" + }, + "5658": { + "op": "SHL" + }, + "5659": { + "op": "SUB" + }, + "5660": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP1", + "path": "17" + }, + "5661": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP4", + "path": "17" + }, + "5662": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "5663": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP11", + "path": "17" + }, + "5664": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "ADD", + "path": "17" + }, + "5665": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "DUP2", + "path": "17" + }, + "5666": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "5667": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "5668": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP3", + "path": "17" + }, + "5669": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "5670": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "PUSH9", + "path": "17", + "value": "0x10000000000000000" + }, + "5680": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5689": { + "op": "NOT" + }, + "5690": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "5691": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP5", + "path": "17" + }, + "5692": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "AND", + "path": "17" + }, + "5693": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP1", + "path": "17" + }, + "5694": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "SWAP3", + "path": "17" + }, + "5695": { + "fn": "ERC721A._mint", + "offset": [ + 13146, + 13190 + ], + "op": "OR", + "path": "17" + }, + "5696": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP4", + "path": "17" + }, + "5697": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "5698": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DIV", + "path": "17" + }, + "5699": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "5700": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "5701": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP11", + "path": "17" + }, + "5702": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "ADD", + "path": "17" + }, + "5703": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "DUP2", + "path": "17" + }, + "5704": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "AND", + "path": "17" + }, + "5705": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "5706": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP3", + "path": "17" + }, + "5707": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "MUL", + "path": "17" + }, + "5708": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "OR", + "path": "17" + }, + "5709": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP1", + "path": "17" + }, + "5710": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SWAP2", + "path": "17" + }, + "5711": { + "fn": "ERC721A._mint", + "offset": [ + 13204, + 13253 + ], + "op": "SSTORE", + "path": "17" + }, + "5712": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP6", + "path": "17", + "statement": 85 + }, + "5713": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP5", + "path": "17" + }, + "5714": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "5715": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13279 + ], + "op": "PUSH1", + "path": "17", + "value": "0x4" + }, + "5717": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "5718": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP3", + "path": "17" + }, + "5719": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "MSTORE", + "path": "17" + }, + "5720": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP1", + "path": "17" + }, + "5721": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "SWAP2", + "path": "17" + }, + "5722": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "KECCAK256", + "path": "17" + }, + "5723": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "DUP1", + "path": "17" + }, + "5724": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13303 + ], + "op": "SLOAD", + "path": "17" + }, + "5725": { + "op": "PUSH1", + "value": "0x1" + }, + "5727": { + "op": "PUSH1", + "value": "0x1" + }, + "5729": { + "op": "PUSH1", + "value": "0xE0" + }, + "5731": { + "op": "SHL" + }, + "5732": { + "op": "SUB" + }, + "5733": { + "op": "NOT" + }, + "5734": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17", + "statement": 86 + }, + "5735": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "5736": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "5737": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "5738": { + "op": "PUSH1", + "value": "0x1" + }, + "5740": { + "op": "PUSH1", + "value": "0xA0" + }, + "5742": { + "op": "SHL" + }, + "5743": { + "fn": "ERC721A._mint", + "offset": [ + 13367, + 13382 + ], + "op": "TIMESTAMP", + "path": "17" + }, + "5744": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "5745": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP3", + "path": "17" + }, + "5746": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "AND", + "path": "17" + }, + "5747": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "5748": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "5749": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP2", + "path": "17" + }, + "5750": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "MUL", + "path": "17" + }, + "5751": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "OR", + "path": "17" + }, + "5752": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SWAP1", + "path": "17" + }, + "5753": { + "fn": "ERC721A._mint", + "offset": [ + 13317, + 13383 + ], + "op": "SSTORE", + "path": "17" + }, + "5754": { + "fn": "ERC721A._mint", + "offset": [ + 13268, + 13293 + ], + "op": "DUP1", + "path": "17" + }, + "5755": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP1", + "path": "17" + }, + "5756": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "DUP4", + "path": "17" + }, + "5757": { + "fn": "ERC721A._mint", + "offset": [ + 13461, + 13484 + ], + "op": "ADD", + "path": "17" + }, + "5758": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPDEST", + "path": "17" + }, + "5759": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH1", + "path": "17", + "statement": 87, + "value": "0x40" + }, + "5761": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "MLOAD", + "path": "17" + }, + "5762": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "PUSH1", + "path": "17", + "value": "0x1" + }, + "5764": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "DUP4", + "path": "17" + }, + "5765": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "ADD", + "path": "17" + }, + "5766": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP3", + "path": "17" + }, + "5767": { + "fn": "ERC721A._mint", + "offset": [ + 13550, + 13564 + ], + "op": "SWAP1", + "path": "17" + }, + "5768": { + "op": "PUSH1", + "value": "0x1" + }, + "5770": { + "op": "PUSH1", + "value": "0x1" + }, + "5772": { + "op": "PUSH1", + "value": "0xA0" + }, + "5774": { + "op": "SHL" + }, + "5775": { + "op": "SUB" + }, + "5776": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "DUP8", + "path": "17" + }, + "5777": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "AND", + "path": "17" + }, + "5778": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "5779": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "PUSH1", + "path": "17", + "value": "0x0" + }, + "5781": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "5782": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "PUSH32", + "path": "17", + "value": "0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF" + }, + "5815": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "SWAP1", + "path": "17" + }, + "5816": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "DUP3", + "path": "17" + }, + "5817": { + "fn": "ERC721A._mint", + "offset": [ + 13542, + 13543 + ], + "op": "SWAP1", + "path": "17" + }, + "5818": { + "fn": "ERC721A._mint", + "offset": [ + 13525, + 13565 + ], + "op": "LOG4", + "path": "17" + }, + "5819": { + "fn": "ERC721A._mint", + "offset": [ + 13603, + 13606 + ], + "op": "DUP1", + "path": "17" + }, + "5820": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13600 + ], + "op": "DUP3", + "path": "17" + }, + "5821": { + "fn": "ERC721A._mint", + "offset": [ + 13588, + 13606 + ], + "op": "LT", + "path": "17" + }, + "5822": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "PUSH2", + "path": "17", + "value": "0x167E" + }, + "5825": { + "fn": "ERC721A._mint", + "offset": [ + 13499, + 13608 + ], + "op": "JUMPI", + "path": "17" + }, + "5826": { + "op": "POP" + }, + "5827": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13635 + ], + "op": "PUSH1", + "path": "17", + "statement": 88, + "value": "0x0" + }, + "5829": { + "fn": "ERC721A._mint", + "offset": [ + 13622, + 13650 + ], + "op": "SSTORE", + "path": "17" + }, + "5830": { + "fn": "ERC721A.approve", + "offset": [ + 7599, + 7921 + ], + "op": "POP", + "path": "17" + }, + "5831": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "5832": { + "fn": "ERC721A.approve", + "offset": [ + 7537, + 7921 + ], + "op": "POP", + "path": "17" + }, + "5833": { + "fn": "ERC721A.approve", + "jump": "o", + "offset": [ + 7537, + 7921 + ], + "op": "JUMP", + "path": "17" + }, + "5834": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1614, + 1920 + ], + "op": "JUMPDEST", + "path": "18" + }, + "5835": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "DUP1", + "path": "18", + "statement": 89 + }, + "5836": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1732 + ], + "op": "MLOAD", + "path": "18" + }, + "5837": { + "branch": 122, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1709, + 1737 + ], + "op": "ISZERO", + "path": "18" + }, + "5838": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0x170B" + }, + "5841": { + "branch": 122, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPI", + "path": "18" + }, + "5842": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "5844": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MLOAD", + "path": "18" + }, + "5845": { + "op": "PUSH4", + "value": "0x193C4E6D" + }, + "5850": { + "op": "PUSH1", + "value": "0xE3" + }, + "5852": { + "op": "SHL" + }, + "5853": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP2", + "path": "18" + }, + "5854": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "MSTORE", + "path": "18" + }, + "5855": { + "op": "PUSH1", + "value": "0x20" + }, + "5857": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "5859": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "DUP3", + "path": "18" + }, + "5860": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "ADD", + "path": "18" + }, + "5861": { + "op": "MSTORE" + }, + "5862": { + "op": "PUSH1", + "value": "0xE" + }, + "5864": { + "op": "PUSH1", + "value": "0x24" + }, + "5866": { + "op": "DUP3" + }, + "5867": { + "op": "ADD" + }, + "5868": { + "op": "MSTORE" + }, + "5869": { + "op": "PUSH14", + "value": "0x656D70747920746F6B656E555249" + }, + "5884": { + "op": "PUSH1", + "value": "0x90" + }, + "5886": { + "op": "SHL" + }, + "5887": { + "op": "PUSH1", + "value": "0x44" + }, + "5889": { + "op": "DUP3" + }, + "5890": { + "op": "ADD" + }, + "5891": { + "op": "MSTORE" + }, + "5892": { + "op": "PUSH1", + "value": "0x64" + }, + "5894": { + "op": "ADD" + }, + "5895": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1746, + 1783 + ], + "op": "PUSH2", + "path": "18", + "value": "0x6B8" + }, + "5898": { + "op": "JUMP" + }, + "5899": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1705, + 1783 + ], + "op": "JUMPDEST", + "path": "18" + }, + "5900": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "statement": 90, + "value": "0x0" + }, + "5902": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP3", + "path": "18" + }, + "5903": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "DUP2", + "path": "18" + }, + "5904": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "5905": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1813 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "5907": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "5909": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "MSTORE", + "path": "18" + }, + "5910": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "5912": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "SWAP1", + "path": "18" + }, + "5913": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1803, + 1822 + ], + "op": "KECCAK256", + "path": "18" + }, + "5914": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "DUP1", + "path": "18" + }, + "5915": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SLOAD", + "path": "18" + }, + "5916": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1724" + }, + "5919": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "SWAP1", + "path": "18" + }, + "5920": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1B68" + }, + "5923": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1797, + 1830 + ], + "op": "JUMP", + "path": "18" + }, + "5924": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1830 + ], + "op": "JUMPDEST", + "path": "18" + }, + "5925": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "ISZERO", + "path": "18" + }, + "5926": { + "branch": 123, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1797, + 1835 + ], + "op": "SWAP1", + "path": "18" + }, + "5927": { + "op": "POP" + }, + "5928": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1744" + }, + "5931": { + "branch": 123, + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPI", + "path": "18" + }, + "5932": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "5934": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "5935": { + "op": "PUSH4", + "value": "0x162134B" + }, + "5940": { + "op": "PUSH1", + "value": "0xE1" + }, + "5942": { + "op": "SHL" + }, + "5943": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP2", + "path": "18" + }, + "5944": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MSTORE", + "path": "18" + }, + "5945": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x4" + }, + "5947": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "ADD", + "path": "18" + }, + "5948": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "5950": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "MLOAD", + "path": "18" + }, + "5951": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "DUP1", + "path": "18" + }, + "5952": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP2", + "path": "18" + }, + "5953": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SUB", + "path": "18" + }, + "5954": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "SWAP1", + "path": "18" + }, + "5955": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1844, + 1872 + ], + "op": "REVERT", + "path": "18" + }, + "5956": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1793, + 1872 + ], + "op": "JUMPDEST", + "path": "18" + }, + "5957": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "statement": 91, + "value": "0x0" + }, + "5959": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "5960": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP2", + "path": "18" + }, + "5961": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "5962": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1892 + ], + "op": "PUSH1", + "path": "18", + "value": "0x9" + }, + "5964": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x20" + }, + "5966": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "MSTORE", + "path": "18" + }, + "5967": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "PUSH1", + "path": "18", + "value": "0x40" + }, + "5969": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "SWAP1", + "path": "18" + }, + "5970": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "KECCAK256", + "path": "18" + }, + "5971": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x67E" + }, + "5974": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1904, + 1913 + ], + "op": "DUP3", + "path": "18" + }, + "5975": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1901 + ], + "op": "DUP3", + "path": "18" + }, + "5976": { + "fn": "ERC721ExtensionCore._setTokenURI", + "offset": [ + 1882, + 1913 + ], + "op": "PUSH2", + "path": "18", + "value": "0x1D1F" + }, + "5979": { + "fn": "ERC721ExtensionCore._setTokenURI", + "jump": "i", + "offset": [ + 1882, + 1913 + ], + "op": "JUMP", + "path": "18" + }, + "5980": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5007, + 5277 + ], + "op": "JUMPDEST", + "path": "19" + }, + "5981": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 5988, + 5990 + ], + "op": "PUSH1", + "path": "19", + "value": "0x20" + }, + "5983": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 5979, + 5991 + ], + "op": "DUP2", + "path": "19" + }, + "5984": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 5979, + 5991 + ], + "op": "DUP2", + "path": "19" + }, + "5985": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 5979, + 5991 + ], + "op": "ADD", + "path": "19" + }, + "5986": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 5973, + 5992 + ], + "op": "MLOAD", + "path": "19" + }, + "5987": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6063, + 6065 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "5989": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6054, + 6066 + ], + "op": "DUP1", + "path": "19" + }, + "5990": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6054, + 6066 + ], + "op": "DUP5", + "path": "19" + }, + "5991": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6054, + 6066 + ], + "op": "ADD", + "path": "19" + }, + "5992": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6048, + 6067 + ], + "op": "MLOAD", + "path": "19" + }, + "5993": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6175, + 6177 + ], + "op": "PUSH1", + "path": "19", + "value": "0x60" + }, + "5995": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6166, + 6178 + ], + "op": "DUP1", + "path": "19" + }, + "5996": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6166, + 6178 + ], + "op": "DUP7", + "path": "19" + }, + "5997": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6166, + 6178 + ], + "op": "ADD", + "path": "19" + }, + "5998": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6160, + 6179 + ], + "op": "MLOAD", + "path": "19" + }, + "5999": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP4", + "path": "19", + "statement": 92 + }, + "6000": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "MLOAD", + "path": "19" + }, + "6001": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5139, + 5143 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "6003": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP1", + "path": "19" + }, + "6004": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP3", + "path": "19" + }, + "6005": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "MSTORE", + "path": "19" + }, + "6006": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP2", + "path": "19" + }, + "6007": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP9", + "path": "19" + }, + "6008": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "ADD", + "path": "19" + }, + "6009": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP1", + "path": "19" + }, + "6010": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP8", + "path": "19" + }, + "6011": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "MSTORE", + "path": "19" + }, + "6012": { + "op": "DUP11" + }, + "6013": { + "op": "SWAP1" + }, + "6014": { + "op": "MSTORE" + }, + "6015": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6152, + 6180 + ], + "op": "SWAP2", + "path": "19" + }, + "6016": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6152, + 6180 + ], + "op": "DUP3", + "path": "19" + }, + "6017": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6152, + 6180 + ], + "op": "BYTE", + "path": "19" + }, + "6018": { + "op": "DUP2" + }, + "6019": { + "op": "DUP7" + }, + "6020": { + "op": "ADD" + }, + "6021": { + "op": "DUP2" + }, + "6022": { + "op": "SWAP1" + }, + "6023": { + "op": "MSTORE" + }, + "6024": { + "op": "SWAP3" + }, + "6025": { + "op": "DUP2" + }, + "6026": { + "op": "ADD" + }, + "6027": { + "op": "DUP7" + }, + "6028": { + "op": "SWAP1" + }, + "6029": { + "op": "MSTORE" + }, + "6030": { + "op": "PUSH1", + "value": "0x80" + }, + "6032": { + "op": "DUP2" + }, + "6033": { + "op": "ADD" + }, + "6034": { + "op": "DUP5" + }, + "6035": { + "op": "SWAP1" + }, + "6036": { + "op": "MSTORE" + }, + "6037": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SWAP4", + "path": "19" + }, + "6038": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "MLOAD", + "path": "19" + }, + "6039": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5139, + 5143 + ], + "op": "SWAP1", + "path": "19" + }, + "6040": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5139, + 5143 + ], + "op": "SWAP6", + "path": "19" + }, + "6041": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6048, + 6067 + ], + "op": "SWAP3", + "path": "19" + }, + "6042": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6048, + 6067 + ], + "op": "SWAP4", + "path": "19" + }, + "6043": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6152, + 6180 + ], + "op": "SWAP2", + "path": "19" + }, + "6044": { + "fn": "ERC721ExtensionSignature.splitSignature", + "offset": [ + 6152, + 6180 + ], + "op": "SWAP3", + "path": "19" + }, + "6045": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "PUSH1", + "path": "19", + "value": "0x1" + }, + "6047": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SWAP3", + "path": "19" + }, + "6048": { + "op": "PUSH1", + "value": "0xA0" + }, + "6050": { + "op": "DUP1" + }, + "6051": { + "op": "DUP3" + }, + "6052": { + "op": "ADD" + }, + "6053": { + "op": "SWAP4" + }, + "6054": { + "op": "PUSH1", + "value": "0x1F" + }, + "6056": { + "op": "NOT" + }, + "6057": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP2", + "path": "19" + }, + "6058": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "ADD", + "path": "19" + }, + "6059": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SWAP3", + "path": "19" + }, + "6060": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP2", + "path": "19" + }, + "6061": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SWAP1", + "path": "19" + }, + "6062": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SUB", + "path": "19" + }, + "6063": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SWAP1", + "path": "19" + }, + "6064": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SWAP2", + "path": "19" + }, + "6065": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "ADD", + "path": "19" + }, + "6066": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SWAP1", + "path": "19" + }, + "6067": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP6", + "path": "19" + }, + "6068": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "GAS", + "path": "19" + }, + "6069": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "STATICCALL", + "path": "19" + }, + "6070": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "ISZERO", + "path": "19" + }, + "6071": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP1", + "path": "19" + }, + "6072": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "ISZERO", + "path": "19" + }, + "6073": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "PUSH2", + "path": "19", + "value": "0x17C6" + }, + "6076": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "JUMPI", + "path": "19" + }, + "6077": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "RETURNDATASIZE", + "path": "19" + }, + "6078": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "6080": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "DUP1", + "path": "19" + }, + "6081": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "RETURNDATACOPY", + "path": "19" + }, + "6082": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "RETURNDATASIZE", + "path": "19" + }, + "6083": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "PUSH1", + "path": "19", + "value": "0x0" + }, + "6085": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "REVERT", + "path": "19" + }, + "6086": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "JUMPDEST", + "path": "19" + }, + "6087": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "POP", + "path": "19" + }, + "6088": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "POP", + "path": "19" + }, + "6089": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "POP", + "path": "19" + }, + "6090": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "PUSH1", + "path": "19", + "value": "0x20" + }, + "6092": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "PUSH1", + "path": "19", + "value": "0x40" + }, + "6094": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "MLOAD", + "path": "19" + }, + "6095": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "SUB", + "path": "19" + }, + "6096": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5244, + 5269 + ], + "op": "MLOAD", + "path": "19" + }, + "6097": { + "op": "PUSH1", + "value": "0x1" + }, + "6099": { + "op": "PUSH1", + "value": "0x1" + }, + "6101": { + "op": "PUSH1", + "value": "0xA0" + }, + "6103": { + "op": "SHL" + }, + "6104": { + "op": "SUB" + }, + "6105": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5233, + 5269 + ], + "op": "AND", + "path": "19" + }, + "6106": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5233, + 5240 + ], + "op": "DUP8", + "path": "19" + }, + "6107": { + "op": "PUSH1", + "value": "0x1" + }, + "6109": { + "op": "PUSH1", + "value": "0x1" + }, + "6111": { + "op": "PUSH1", + "value": "0xA0" + }, + "6113": { + "op": "SHL" + }, + "6114": { + "op": "SUB" + }, + "6115": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5233, + 5269 + ], + "op": "AND", + "path": "19" + }, + "6116": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5233, + 5269 + ], + "op": "EQ", + "path": "19" + }, + "6117": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5225, + 5270 + ], + "op": "SWAP4", + "path": "19" + }, + "6118": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5225, + 5270 + ], + "op": "POP", + "path": "19" + }, + "6119": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5225, + 5270 + ], + "op": "POP", + "path": "19" + }, + "6120": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5225, + 5270 + ], + "op": "POP", + "path": "19" + }, + "6121": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5225, + 5270 + ], + "op": "POP", + "path": "19" + }, + "6122": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5007, + 5277 + ], + "op": "SWAP4", + "path": "19" + }, + "6123": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5007, + 5277 + ], + "op": "SWAP3", + "path": "19" + }, + "6124": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5007, + 5277 + ], + "op": "POP", + "path": "19" + }, + "6125": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5007, + 5277 + ], + "op": "POP", + "path": "19" + }, + "6126": { + "fn": "ERC721ExtensionSignature.verifySigner", + "offset": [ + 5007, + 5277 + ], + "op": "POP", + "path": "19" + }, + "6127": { + "fn": "ERC721ExtensionSignature.verifySigner", + "jump": "o", + "offset": [ + 5007, + 5277 + ], + "op": "JUMP", + "path": "19" + }, + "6128": { + "op": "JUMPDEST" + }, + "6129": { + "op": "PUSH1", + "value": "0x1" + }, + "6131": { + "op": "PUSH1", + "value": "0x1" + }, + "6133": { + "op": "PUSH1", + "value": "0xE0" + }, + "6135": { + "op": "SHL" + }, + "6136": { + "op": "SUB" + }, + "6137": { + "op": "NOT" + }, + "6138": { + "op": "DUP2" + }, + "6139": { + "op": "AND" + }, + "6140": { + "op": "DUP2" + }, + "6141": { + "op": "EQ" + }, + "6142": { + "op": "PUSH2", + "value": "0x6FA" + }, + "6145": { + "op": "JUMPI" + }, + "6146": { + "op": "PUSH1", + "value": "0x0" + }, + "6148": { + "op": "DUP1" + }, + "6149": { + "op": "REVERT" + }, + "6150": { + "op": "JUMPDEST" + }, + "6151": { + "op": "PUSH1", + "value": "0x0" + }, + "6153": { + "op": "PUSH1", + "value": "0x20" + }, + "6155": { + "op": "DUP3" + }, + "6156": { + "op": "DUP5" + }, + "6157": { + "op": "SUB" + }, + "6158": { + "op": "SLT" + }, + "6159": { + "op": "ISZERO" + }, + "6160": { + "op": "PUSH2", + "value": "0x1818" + }, + "6163": { + "op": "JUMPI" + }, + "6164": { + "op": "PUSH1", + "value": "0x0" + }, + "6166": { + "op": "DUP1" + }, + "6167": { + "op": "REVERT" + }, + "6168": { + "op": "JUMPDEST" + }, + "6169": { + "op": "DUP2" + }, + "6170": { + "op": "CALLDATALOAD" + }, + "6171": { + "op": "PUSH2", + "value": "0x1823" + }, + "6174": { + "op": "DUP2" + }, + "6175": { + "op": "PUSH2", + "value": "0x17F0" + }, + "6178": { + "jump": "i", + "op": "JUMP" + }, + "6179": { + "op": "JUMPDEST" + }, + "6180": { + "op": "SWAP4" + }, + "6181": { + "op": "SWAP3" + }, + "6182": { + "op": "POP" + }, + "6183": { + "op": "POP" + }, + "6184": { + "op": "POP" + }, + "6185": { + "jump": "o", + "op": "JUMP" + }, + "6186": { + "op": "JUMPDEST" + }, + "6187": { + "op": "PUSH1", + "value": "0x0" + }, + "6189": { + "op": "JUMPDEST" + }, + "6190": { + "op": "DUP4" + }, + "6191": { + "op": "DUP2" + }, + "6192": { + "op": "LT" + }, + "6193": { + "op": "ISZERO" + }, + "6194": { + "op": "PUSH2", + "value": "0x1845" + }, + "6197": { + "op": "JUMPI" + }, + "6198": { + "op": "DUP2" + }, + "6199": { + "op": "DUP2" + }, + "6200": { + "op": "ADD" + }, + "6201": { + "op": "MLOAD" + }, + "6202": { + "op": "DUP4" + }, + "6203": { + "op": "DUP3" + }, + "6204": { + "op": "ADD" + }, + "6205": { + "op": "MSTORE" + }, + "6206": { + "op": "PUSH1", + "value": "0x20" + }, + "6208": { + "op": "ADD" + }, + "6209": { + "op": "PUSH2", + "value": "0x182D" + }, + "6212": { + "op": "JUMP" + }, + "6213": { + "op": "JUMPDEST" + }, + "6214": { + "op": "DUP4" + }, + "6215": { + "op": "DUP2" + }, + "6216": { + "op": "GT" + }, + "6217": { + "op": "ISZERO" + }, + "6218": { + "op": "PUSH2", + "value": "0x8D0" + }, + "6221": { + "op": "JUMPI" + }, + "6222": { + "op": "POP" + }, + "6223": { + "op": "POP" + }, + "6224": { + "op": "PUSH1", + "value": "0x0" + }, + "6226": { + "op": "SWAP2" + }, + "6227": { + "op": "ADD" + }, + "6228": { + "op": "MSTORE" + }, + "6229": { + "jump": "o", + "op": "JUMP" + }, + "6230": { + "op": "JUMPDEST" + }, + "6231": { + "op": "PUSH1", + "value": "0x0" + }, + "6233": { + "op": "DUP2" + }, + "6234": { + "op": "MLOAD" + }, + "6235": { + "op": "DUP1" + }, + "6236": { + "op": "DUP5" + }, + "6237": { + "op": "MSTORE" + }, + "6238": { + "op": "PUSH2", + "value": "0x186E" + }, + "6241": { + "op": "DUP2" + }, + "6242": { + "op": "PUSH1", + "value": "0x20" + }, + "6244": { + "op": "DUP7" + }, + "6245": { + "op": "ADD" + }, + "6246": { + "op": "PUSH1", + "value": "0x20" + }, + "6248": { + "op": "DUP7" + }, + "6249": { + "op": "ADD" + }, + "6250": { + "op": "PUSH2", + "value": "0x182A" + }, + "6253": { + "jump": "i", + "op": "JUMP" + }, + "6254": { + "op": "JUMPDEST" + }, + "6255": { + "op": "PUSH1", + "value": "0x1F" + }, + "6257": { + "op": "ADD" + }, + "6258": { + "op": "PUSH1", + "value": "0x1F" + }, + "6260": { + "op": "NOT" + }, + "6261": { + "op": "AND" + }, + "6262": { + "op": "SWAP3" + }, + "6263": { + "op": "SWAP1" + }, + "6264": { + "op": "SWAP3" + }, + "6265": { + "op": "ADD" + }, + "6266": { + "op": "PUSH1", + "value": "0x20" + }, + "6268": { + "op": "ADD" + }, + "6269": { + "op": "SWAP3" + }, + "6270": { + "op": "SWAP2" + }, + "6271": { + "op": "POP" + }, + "6272": { + "op": "POP" + }, + "6273": { + "jump": "o", + "op": "JUMP" + }, + "6274": { + "op": "JUMPDEST" + }, + "6275": { + "op": "PUSH1", + "value": "0x20" + }, + "6277": { + "op": "DUP2" + }, + "6278": { + "op": "MSTORE" + }, + "6279": { + "op": "PUSH1", + "value": "0x0" + }, + "6281": { + "op": "PUSH2", + "value": "0x1823" + }, + "6284": { + "op": "PUSH1", + "value": "0x20" + }, + "6286": { + "op": "DUP4" + }, + "6287": { + "op": "ADD" + }, + "6288": { + "op": "DUP5" + }, + "6289": { + "op": "PUSH2", + "value": "0x1856" + }, + "6292": { + "jump": "i", + "op": "JUMP" + }, + "6293": { + "op": "JUMPDEST" + }, + "6294": { + "op": "PUSH1", + "value": "0x0" + }, + "6296": { + "op": "PUSH1", + "value": "0x20" + }, + "6298": { + "op": "DUP3" + }, + "6299": { + "op": "DUP5" + }, + "6300": { + "op": "SUB" + }, + "6301": { + "op": "SLT" + }, + "6302": { + "op": "ISZERO" + }, + "6303": { + "op": "PUSH2", + "value": "0x18A7" + }, + "6306": { + "op": "JUMPI" + }, + "6307": { + "op": "PUSH1", + "value": "0x0" + }, + "6309": { + "op": "DUP1" + }, + "6310": { + "op": "REVERT" + }, + "6311": { + "op": "JUMPDEST" + }, + "6312": { + "op": "POP" + }, + "6313": { + "op": "CALLDATALOAD" + }, + "6314": { + "op": "SWAP2" + }, + "6315": { + "op": "SWAP1" + }, + "6316": { + "op": "POP" + }, + "6317": { + "jump": "o", + "op": "JUMP" + }, + "6318": { + "op": "JUMPDEST" + }, + "6319": { + "op": "DUP1" + }, + "6320": { + "op": "CALLDATALOAD" + }, + "6321": { + "op": "PUSH1", + "value": "0x1" + }, + "6323": { + "op": "PUSH1", + "value": "0x1" + }, + "6325": { + "op": "PUSH1", + "value": "0xA0" + }, + "6327": { + "op": "SHL" + }, + "6328": { + "op": "SUB" + }, + "6329": { + "op": "DUP2" + }, + "6330": { + "op": "AND" + }, + "6331": { + "op": "DUP2" + }, + "6332": { + "op": "EQ" + }, + "6333": { + "op": "PUSH2", + "value": "0x18C5" + }, + "6336": { + "op": "JUMPI" + }, + "6337": { + "op": "PUSH1", + "value": "0x0" + }, + "6339": { + "op": "DUP1" + }, + "6340": { + "op": "REVERT" + }, + "6341": { + "op": "JUMPDEST" + }, + "6342": { + "op": "SWAP2" + }, + "6343": { + "op": "SWAP1" + }, + "6344": { + "op": "POP" + }, + "6345": { + "jump": "o", + "op": "JUMP" + }, + "6346": { + "op": "JUMPDEST" + }, + "6347": { + "op": "PUSH1", + "value": "0x0" + }, + "6349": { + "op": "DUP1" + }, + "6350": { + "op": "PUSH1", + "value": "0x40" + }, + "6352": { + "op": "DUP4" + }, + "6353": { + "op": "DUP6" + }, + "6354": { + "op": "SUB" + }, + "6355": { + "op": "SLT" + }, + "6356": { + "op": "ISZERO" + }, + "6357": { + "op": "PUSH2", + "value": "0x18DD" + }, + "6360": { + "op": "JUMPI" + }, + "6361": { + "op": "PUSH1", + "value": "0x0" + }, + "6363": { + "op": "DUP1" + }, + "6364": { + "op": "REVERT" + }, + "6365": { + "op": "JUMPDEST" + }, + "6366": { + "op": "PUSH2", + "value": "0x18E6" + }, + "6369": { + "op": "DUP4" + }, + "6370": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6373": { + "jump": "i", + "op": "JUMP" + }, + "6374": { + "op": "JUMPDEST" + }, + "6375": { + "op": "SWAP5" + }, + "6376": { + "op": "PUSH1", + "value": "0x20" + }, + "6378": { + "op": "SWAP4" + }, + "6379": { + "op": "SWAP1" + }, + "6380": { + "op": "SWAP4" + }, + "6381": { + "op": "ADD" + }, + "6382": { + "op": "CALLDATALOAD" + }, + "6383": { + "op": "SWAP4" + }, + "6384": { + "op": "POP" + }, + "6385": { + "op": "POP" + }, + "6386": { + "op": "POP" + }, + "6387": { + "jump": "o", + "op": "JUMP" + }, + "6388": { + "op": "JUMPDEST" + }, + "6389": { + "op": "PUSH1", + "value": "0x0" + }, + "6391": { + "op": "DUP1" + }, + "6392": { + "op": "PUSH1", + "value": "0x0" + }, + "6394": { + "op": "PUSH1", + "value": "0x60" + }, + "6396": { + "op": "DUP5" + }, + "6397": { + "op": "DUP7" + }, + "6398": { + "op": "SUB" + }, + "6399": { + "op": "SLT" + }, + "6400": { + "op": "ISZERO" + }, + "6401": { + "op": "PUSH2", + "value": "0x1909" + }, + "6404": { + "op": "JUMPI" + }, + "6405": { + "op": "PUSH1", + "value": "0x0" + }, + "6407": { + "op": "DUP1" + }, + "6408": { + "op": "REVERT" + }, + "6409": { + "op": "JUMPDEST" + }, + "6410": { + "op": "PUSH2", + "value": "0x1912" + }, + "6413": { + "op": "DUP5" + }, + "6414": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6417": { + "jump": "i", + "op": "JUMP" + }, + "6418": { + "op": "JUMPDEST" + }, + "6419": { + "op": "SWAP3" + }, + "6420": { + "op": "POP" + }, + "6421": { + "op": "PUSH2", + "value": "0x1920" + }, + "6424": { + "op": "PUSH1", + "value": "0x20" + }, + "6426": { + "op": "DUP6" + }, + "6427": { + "op": "ADD" + }, + "6428": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6431": { + "jump": "i", + "op": "JUMP" + }, + "6432": { + "op": "JUMPDEST" + }, + "6433": { + "op": "SWAP2" + }, + "6434": { + "op": "POP" + }, + "6435": { + "op": "PUSH1", + "value": "0x40" + }, + "6437": { + "op": "DUP5" + }, + "6438": { + "op": "ADD" + }, + "6439": { + "op": "CALLDATALOAD" + }, + "6440": { + "op": "SWAP1" + }, + "6441": { + "op": "POP" + }, + "6442": { + "op": "SWAP3" + }, + "6443": { + "op": "POP" + }, + "6444": { + "op": "SWAP3" + }, + "6445": { + "op": "POP" + }, + "6446": { + "op": "SWAP3" + }, + "6447": { + "jump": "o", + "op": "JUMP" + }, + "6448": { + "op": "JUMPDEST" + }, + "6449": { + "op": "PUSH1", + "value": "0x0" + }, + "6451": { + "op": "PUSH1", + "value": "0x20" + }, + "6453": { + "op": "DUP3" + }, + "6454": { + "op": "DUP5" + }, + "6455": { + "op": "SUB" + }, + "6456": { + "op": "SLT" + }, + "6457": { + "op": "ISZERO" + }, + "6458": { + "op": "PUSH2", + "value": "0x1942" + }, + "6461": { + "op": "JUMPI" + }, + "6462": { + "op": "PUSH1", + "value": "0x0" + }, + "6464": { + "op": "DUP1" + }, + "6465": { + "op": "REVERT" + }, + "6466": { + "op": "JUMPDEST" + }, + "6467": { + "op": "PUSH2", + "value": "0x1823" + }, + "6470": { + "op": "DUP3" + }, + "6471": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6474": { + "jump": "i", + "op": "JUMP" + }, + "6475": { + "op": "JUMPDEST" + }, + "6476": { + "op": "PUSH1", + "value": "0x0" + }, + "6478": { + "op": "DUP1" + }, + "6479": { + "op": "PUSH1", + "value": "0x40" + }, + "6481": { + "op": "DUP4" + }, + "6482": { + "op": "DUP6" + }, + "6483": { + "op": "SUB" + }, + "6484": { + "op": "SLT" + }, + "6485": { + "op": "ISZERO" + }, + "6486": { + "op": "PUSH2", + "value": "0x195E" + }, + "6489": { + "op": "JUMPI" + }, + "6490": { + "op": "PUSH1", + "value": "0x0" + }, + "6492": { + "op": "DUP1" + }, + "6493": { + "op": "REVERT" + }, + "6494": { + "op": "JUMPDEST" + }, + "6495": { + "op": "PUSH2", + "value": "0x1967" + }, + "6498": { + "op": "DUP4" + }, + "6499": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6502": { + "jump": "i", + "op": "JUMP" + }, + "6503": { + "op": "JUMPDEST" + }, + "6504": { + "op": "SWAP2" + }, + "6505": { + "op": "POP" + }, + "6506": { + "op": "PUSH1", + "value": "0x20" + }, + "6508": { + "op": "DUP4" + }, + "6509": { + "op": "ADD" + }, + "6510": { + "op": "CALLDATALOAD" + }, + "6511": { + "op": "DUP1" + }, + "6512": { + "op": "ISZERO" + }, + "6513": { + "op": "ISZERO" + }, + "6514": { + "op": "DUP2" + }, + "6515": { + "op": "EQ" + }, + "6516": { + "op": "PUSH2", + "value": "0x197C" + }, + "6519": { + "op": "JUMPI" + }, + "6520": { + "op": "PUSH1", + "value": "0x0" + }, + "6522": { + "op": "DUP1" + }, + "6523": { + "op": "REVERT" + }, + "6524": { + "op": "JUMPDEST" + }, + "6525": { + "op": "DUP1" + }, + "6526": { + "op": "SWAP2" + }, + "6527": { + "op": "POP" + }, + "6528": { + "op": "POP" + }, + "6529": { + "op": "SWAP3" + }, + "6530": { + "op": "POP" + }, + "6531": { + "op": "SWAP3" + }, + "6532": { + "op": "SWAP1" + }, + "6533": { + "op": "POP" + }, + "6534": { + "jump": "o", + "op": "JUMP" + }, + "6535": { + "op": "JUMPDEST" + }, + "6536": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6541": { + "op": "PUSH1", + "value": "0xE0" + }, + "6543": { + "op": "SHL" + }, + "6544": { + "op": "PUSH1", + "value": "0x0" + }, + "6546": { + "op": "MSTORE" + }, + "6547": { + "op": "PUSH1", + "value": "0x41" + }, + "6549": { + "op": "PUSH1", + "value": "0x4" + }, + "6551": { + "op": "MSTORE" + }, + "6552": { + "op": "PUSH1", + "value": "0x24" + }, + "6554": { + "op": "PUSH1", + "value": "0x0" + }, + "6556": { + "op": "REVERT" + }, + "6557": { + "op": "JUMPDEST" + }, + "6558": { + "op": "PUSH1", + "value": "0x0" + }, + "6560": { + "op": "DUP3" + }, + "6561": { + "op": "PUSH1", + "value": "0x1F" + }, + "6563": { + "op": "DUP4" + }, + "6564": { + "op": "ADD" + }, + "6565": { + "op": "SLT" + }, + "6566": { + "op": "PUSH2", + "value": "0x19AE" + }, + "6569": { + "op": "JUMPI" + }, + "6570": { + "op": "PUSH1", + "value": "0x0" + }, + "6572": { + "op": "DUP1" + }, + "6573": { + "op": "REVERT" + }, + "6574": { + "op": "JUMPDEST" + }, + "6575": { + "op": "DUP2" + }, + "6576": { + "op": "CALLDATALOAD" + }, + "6577": { + "op": "PUSH1", + "value": "0x1" + }, + "6579": { + "op": "PUSH1", + "value": "0x1" + }, + "6581": { + "op": "PUSH1", + "value": "0x40" + }, + "6583": { + "op": "SHL" + }, + "6584": { + "op": "SUB" + }, + "6585": { + "op": "DUP1" + }, + "6586": { + "op": "DUP3" + }, + "6587": { + "op": "GT" + }, + "6588": { + "op": "ISZERO" + }, + "6589": { + "op": "PUSH2", + "value": "0x19C8" + }, + "6592": { + "op": "JUMPI" + }, + "6593": { + "op": "PUSH2", + "value": "0x19C8" + }, + "6596": { + "op": "PUSH2", + "value": "0x1987" + }, + "6599": { + "jump": "i", + "op": "JUMP" + }, + "6600": { + "op": "JUMPDEST" + }, + "6601": { + "op": "PUSH1", + "value": "0x40" + }, + "6603": { + "op": "MLOAD" + }, + "6604": { + "op": "PUSH1", + "value": "0x1F" + }, + "6606": { + "op": "DUP4" + }, + "6607": { + "op": "ADD" + }, + "6608": { + "op": "PUSH1", + "value": "0x1F" + }, + "6610": { + "op": "NOT" + }, + "6611": { + "op": "SWAP1" + }, + "6612": { + "op": "DUP2" + }, + "6613": { + "op": "AND" + }, + "6614": { + "op": "PUSH1", + "value": "0x3F" + }, + "6616": { + "op": "ADD" + }, + "6617": { + "op": "AND" + }, + "6618": { + "op": "DUP2" + }, + "6619": { + "op": "ADD" + }, + "6620": { + "op": "SWAP1" + }, + "6621": { + "op": "DUP3" + }, + "6622": { + "op": "DUP3" + }, + "6623": { + "op": "GT" + }, + "6624": { + "op": "DUP2" + }, + "6625": { + "op": "DUP4" + }, + "6626": { + "op": "LT" + }, + "6627": { + "op": "OR" + }, + "6628": { + "op": "ISZERO" + }, + "6629": { + "op": "PUSH2", + "value": "0x19F0" + }, + "6632": { + "op": "JUMPI" + }, + "6633": { + "op": "PUSH2", + "value": "0x19F0" + }, + "6636": { + "op": "PUSH2", + "value": "0x1987" + }, + "6639": { + "jump": "i", + "op": "JUMP" + }, + "6640": { + "op": "JUMPDEST" + }, + "6641": { + "op": "DUP2" + }, + "6642": { + "op": "PUSH1", + "value": "0x40" + }, + "6644": { + "op": "MSTORE" + }, + "6645": { + "op": "DUP4" + }, + "6646": { + "op": "DUP2" + }, + "6647": { + "op": "MSTORE" + }, + "6648": { + "op": "DUP7" + }, + "6649": { + "op": "PUSH1", + "value": "0x20" + }, + "6651": { + "op": "DUP6" + }, + "6652": { + "op": "DUP9" + }, + "6653": { + "op": "ADD" + }, + "6654": { + "op": "ADD" + }, + "6655": { + "op": "GT" + }, + "6656": { + "op": "ISZERO" + }, + "6657": { + "op": "PUSH2", + "value": "0x1A09" + }, + "6660": { + "op": "JUMPI" + }, + "6661": { + "op": "PUSH1", + "value": "0x0" + }, + "6663": { + "op": "DUP1" + }, + "6664": { + "op": "REVERT" + }, + "6665": { + "op": "JUMPDEST" + }, + "6666": { + "op": "DUP4" + }, + "6667": { + "op": "PUSH1", + "value": "0x20" + }, + "6669": { + "op": "DUP8" + }, + "6670": { + "op": "ADD" + }, + "6671": { + "op": "PUSH1", + "value": "0x20" + }, + "6673": { + "op": "DUP4" + }, + "6674": { + "op": "ADD" + }, + "6675": { + "op": "CALLDATACOPY" + }, + "6676": { + "op": "PUSH1", + "value": "0x0" + }, + "6678": { + "op": "PUSH1", + "value": "0x20" + }, + "6680": { + "op": "DUP6" + }, + "6681": { + "op": "DUP4" + }, + "6682": { + "op": "ADD" + }, + "6683": { + "op": "ADD" + }, + "6684": { + "op": "MSTORE" + }, + "6685": { + "op": "DUP1" + }, + "6686": { + "op": "SWAP5" + }, + "6687": { + "op": "POP" + }, + "6688": { + "op": "POP" + }, + "6689": { + "op": "POP" + }, + "6690": { + "op": "POP" + }, + "6691": { + "op": "POP" + }, + "6692": { + "op": "SWAP3" + }, + "6693": { + "op": "SWAP2" + }, + "6694": { + "op": "POP" + }, + "6695": { + "op": "POP" + }, + "6696": { + "jump": "o", + "op": "JUMP" + }, + "6697": { + "op": "JUMPDEST" + }, + "6698": { + "op": "PUSH1", + "value": "0x0" + }, + "6700": { + "op": "DUP1" + }, + "6701": { + "op": "PUSH1", + "value": "0x0" + }, + "6703": { + "op": "DUP1" + }, + "6704": { + "op": "PUSH1", + "value": "0x80" + }, + "6706": { + "op": "DUP6" + }, + "6707": { + "op": "DUP8" + }, + "6708": { + "op": "SUB" + }, + "6709": { + "op": "SLT" + }, + "6710": { + "op": "ISZERO" + }, + "6711": { + "op": "PUSH2", + "value": "0x1A3F" + }, + "6714": { + "op": "JUMPI" + }, + "6715": { + "op": "PUSH1", + "value": "0x0" + }, + "6717": { + "op": "DUP1" + }, + "6718": { + "op": "REVERT" + }, + "6719": { + "op": "JUMPDEST" + }, + "6720": { + "op": "PUSH2", + "value": "0x1A48" + }, + "6723": { + "op": "DUP6" + }, + "6724": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6727": { + "jump": "i", + "op": "JUMP" + }, + "6728": { + "op": "JUMPDEST" + }, + "6729": { + "op": "SWAP4" + }, + "6730": { + "op": "POP" + }, + "6731": { + "op": "PUSH2", + "value": "0x1A56" + }, + "6734": { + "op": "PUSH1", + "value": "0x20" + }, + "6736": { + "op": "DUP7" + }, + "6737": { + "op": "ADD" + }, + "6738": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6741": { + "jump": "i", + "op": "JUMP" + }, + "6742": { + "op": "JUMPDEST" + }, + "6743": { + "op": "SWAP3" + }, + "6744": { + "op": "POP" + }, + "6745": { + "op": "PUSH1", + "value": "0x40" + }, + "6747": { + "op": "DUP6" + }, + "6748": { + "op": "ADD" + }, + "6749": { + "op": "CALLDATALOAD" + }, + "6750": { + "op": "SWAP2" + }, + "6751": { + "op": "POP" + }, + "6752": { + "op": "PUSH1", + "value": "0x60" + }, + "6754": { + "op": "DUP6" + }, + "6755": { + "op": "ADD" + }, + "6756": { + "op": "CALLDATALOAD" + }, + "6757": { + "op": "PUSH1", + "value": "0x1" + }, + "6759": { + "op": "PUSH1", + "value": "0x1" + }, + "6761": { + "op": "PUSH1", + "value": "0x40" + }, + "6763": { + "op": "SHL" + }, + "6764": { + "op": "SUB" + }, + "6765": { + "op": "DUP2" + }, + "6766": { + "op": "GT" + }, + "6767": { + "op": "ISZERO" + }, + "6768": { + "op": "PUSH2", + "value": "0x1A78" + }, + "6771": { + "op": "JUMPI" + }, + "6772": { + "op": "PUSH1", + "value": "0x0" + }, + "6774": { + "op": "DUP1" + }, + "6775": { + "op": "REVERT" + }, + "6776": { + "op": "JUMPDEST" + }, + "6777": { + "op": "PUSH2", + "value": "0x1A84" + }, + "6780": { + "op": "DUP8" + }, + "6781": { + "op": "DUP3" + }, + "6782": { + "op": "DUP9" + }, + "6783": { + "op": "ADD" + }, + "6784": { + "op": "PUSH2", + "value": "0x199D" + }, + "6787": { + "jump": "i", + "op": "JUMP" + }, + "6788": { + "op": "JUMPDEST" + }, + "6789": { + "op": "SWAP2" + }, + "6790": { + "op": "POP" + }, + "6791": { + "op": "POP" + }, + "6792": { + "op": "SWAP3" + }, + "6793": { + "op": "SWAP6" + }, + "6794": { + "op": "SWAP2" + }, + "6795": { + "op": "SWAP5" + }, + "6796": { + "op": "POP" + }, + "6797": { + "op": "SWAP3" + }, + "6798": { + "op": "POP" + }, + "6799": { + "jump": "o", + "op": "JUMP" + }, + "6800": { + "op": "JUMPDEST" + }, + "6801": { + "op": "PUSH1", + "value": "0x0" + }, + "6803": { + "op": "PUSH1", + "value": "0x20" + }, + "6805": { + "op": "DUP3" + }, + "6806": { + "op": "DUP5" + }, + "6807": { + "op": "SUB" + }, + "6808": { + "op": "SLT" + }, + "6809": { + "op": "ISZERO" + }, + "6810": { + "op": "PUSH2", + "value": "0x1AA2" + }, + "6813": { + "op": "JUMPI" + }, + "6814": { + "op": "PUSH1", + "value": "0x0" + }, + "6816": { + "op": "DUP1" + }, + "6817": { + "op": "REVERT" + }, + "6818": { + "op": "JUMPDEST" + }, + "6819": { + "op": "DUP2" + }, + "6820": { + "op": "CALLDATALOAD" + }, + "6821": { + "op": "PUSH1", + "value": "0x1" + }, + "6823": { + "op": "PUSH1", + "value": "0x1" + }, + "6825": { + "op": "PUSH1", + "value": "0x40" + }, + "6827": { + "op": "SHL" + }, + "6828": { + "op": "SUB" + }, + "6829": { + "op": "DUP2" + }, + "6830": { + "op": "GT" + }, + "6831": { + "op": "ISZERO" + }, + "6832": { + "op": "PUSH2", + "value": "0x1AB8" + }, + "6835": { + "op": "JUMPI" + }, + "6836": { + "op": "PUSH1", + "value": "0x0" + }, + "6838": { + "op": "DUP1" + }, + "6839": { + "op": "REVERT" + }, + "6840": { + "op": "JUMPDEST" + }, + "6841": { + "op": "PUSH2", + "value": "0x9E2" + }, + "6844": { + "op": "DUP5" + }, + "6845": { + "op": "DUP3" + }, + "6846": { + "op": "DUP6" + }, + "6847": { + "op": "ADD" + }, + "6848": { + "op": "PUSH2", + "value": "0x199D" + }, + "6851": { + "jump": "i", + "op": "JUMP" + }, + "6852": { + "op": "JUMPDEST" + }, + "6853": { + "op": "PUSH1", + "value": "0x0" + }, + "6855": { + "op": "DUP1" + }, + "6856": { + "op": "PUSH1", + "value": "0x40" + }, + "6858": { + "op": "DUP4" + }, + "6859": { + "op": "DUP6" + }, + "6860": { + "op": "SUB" + }, + "6861": { + "op": "SLT" + }, + "6862": { + "op": "ISZERO" + }, + "6863": { + "op": "PUSH2", + "value": "0x1AD7" + }, + "6866": { + "op": "JUMPI" + }, + "6867": { + "op": "PUSH1", + "value": "0x0" + }, + "6869": { + "op": "DUP1" + }, + "6870": { + "op": "REVERT" + }, + "6871": { + "op": "JUMPDEST" + }, + "6872": { + "op": "PUSH2", + "value": "0x1AE0" + }, + "6875": { + "op": "DUP4" + }, + "6876": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6879": { + "jump": "i", + "op": "JUMP" + }, + "6880": { + "op": "JUMPDEST" + }, + "6881": { + "op": "SWAP2" + }, + "6882": { + "op": "POP" + }, + "6883": { + "op": "PUSH2", + "value": "0x1AEE" + }, + "6886": { + "op": "PUSH1", + "value": "0x20" + }, + "6888": { + "op": "DUP5" + }, + "6889": { + "op": "ADD" + }, + "6890": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6893": { + "jump": "i", + "op": "JUMP" + }, + "6894": { + "op": "JUMPDEST" + }, + "6895": { + "op": "SWAP1" + }, + "6896": { + "op": "POP" + }, + "6897": { + "op": "SWAP3" + }, + "6898": { + "op": "POP" + }, + "6899": { + "op": "SWAP3" + }, + "6900": { + "op": "SWAP1" + }, + "6901": { + "op": "POP" + }, + "6902": { + "jump": "o", + "op": "JUMP" + }, + "6903": { + "op": "JUMPDEST" + }, + "6904": { + "op": "PUSH1", + "value": "0x0" + }, + "6906": { + "op": "DUP1" + }, + "6907": { + "op": "PUSH1", + "value": "0x0" + }, + "6909": { + "op": "DUP1" + }, + "6910": { + "op": "PUSH1", + "value": "0x80" + }, + "6912": { + "op": "DUP6" + }, + "6913": { + "op": "DUP8" + }, + "6914": { + "op": "SUB" + }, + "6915": { + "op": "SLT" + }, + "6916": { + "op": "ISZERO" + }, + "6917": { + "op": "PUSH2", + "value": "0x1B0D" + }, + "6920": { + "op": "JUMPI" + }, + "6921": { + "op": "PUSH1", + "value": "0x0" + }, + "6923": { + "op": "DUP1" + }, + "6924": { + "op": "REVERT" + }, + "6925": { + "op": "JUMPDEST" + }, + "6926": { + "op": "PUSH2", + "value": "0x1B16" + }, + "6929": { + "op": "DUP6" + }, + "6930": { + "op": "PUSH2", + "value": "0x18AE" + }, + "6933": { + "jump": "i", + "op": "JUMP" + }, + "6934": { + "op": "JUMPDEST" + }, + "6935": { + "op": "SWAP4" + }, + "6936": { + "op": "POP" + }, + "6937": { + "op": "PUSH1", + "value": "0x20" + }, + "6939": { + "op": "DUP6" + }, + "6940": { + "op": "ADD" + }, + "6941": { + "op": "CALLDATALOAD" + }, + "6942": { + "op": "SWAP3" + }, + "6943": { + "op": "POP" + }, + "6944": { + "op": "PUSH1", + "value": "0x40" + }, + "6946": { + "op": "DUP6" + }, + "6947": { + "op": "ADD" + }, + "6948": { + "op": "CALLDATALOAD" + }, + "6949": { + "op": "PUSH1", + "value": "0x1" + }, + "6951": { + "op": "PUSH1", + "value": "0x1" + }, + "6953": { + "op": "PUSH1", + "value": "0x40" + }, + "6955": { + "op": "SHL" + }, + "6956": { + "op": "SUB" + }, + "6957": { + "op": "DUP1" + }, + "6958": { + "op": "DUP3" + }, + "6959": { + "op": "GT" + }, + "6960": { + "op": "ISZERO" + }, + "6961": { + "op": "PUSH2", + "value": "0x1B39" + }, + "6964": { + "op": "JUMPI" + }, + "6965": { + "op": "PUSH1", + "value": "0x0" + }, + "6967": { + "op": "DUP1" + }, + "6968": { + "op": "REVERT" + }, + "6969": { + "op": "JUMPDEST" + }, + "6970": { + "op": "PUSH2", + "value": "0x1B45" + }, + "6973": { + "op": "DUP9" + }, + "6974": { + "op": "DUP4" + }, + "6975": { + "op": "DUP10" + }, + "6976": { + "op": "ADD" + }, + "6977": { + "op": "PUSH2", + "value": "0x199D" + }, + "6980": { + "jump": "i", + "op": "JUMP" + }, + "6981": { + "op": "JUMPDEST" + }, + "6982": { + "op": "SWAP4" + }, + "6983": { + "op": "POP" + }, + "6984": { + "op": "PUSH1", + "value": "0x60" + }, + "6986": { + "op": "DUP8" + }, + "6987": { + "op": "ADD" + }, + "6988": { + "op": "CALLDATALOAD" + }, + "6989": { + "op": "SWAP2" + }, + "6990": { + "op": "POP" + }, + "6991": { + "op": "DUP1" + }, + "6992": { + "op": "DUP3" + }, + "6993": { + "op": "GT" + }, + "6994": { + "op": "ISZERO" + }, + "6995": { + "op": "PUSH2", + "value": "0x1B5B" + }, + "6998": { + "op": "JUMPI" + }, + "6999": { + "op": "PUSH1", + "value": "0x0" + }, + "7001": { + "op": "DUP1" + }, + "7002": { + "op": "REVERT" + }, + "7003": { + "op": "JUMPDEST" + }, + "7004": { + "op": "POP" + }, + "7005": { + "op": "PUSH2", + "value": "0x1A84" + }, + "7008": { + "op": "DUP8" + }, + "7009": { + "op": "DUP3" + }, + "7010": { + "op": "DUP9" + }, + "7011": { + "op": "ADD" + }, + "7012": { + "op": "PUSH2", + "value": "0x199D" + }, + "7015": { + "jump": "i", + "op": "JUMP" + }, + "7016": { + "op": "JUMPDEST" + }, + "7017": { + "op": "PUSH1", + "value": "0x1" + }, + "7019": { + "op": "DUP2" + }, + "7020": { + "op": "DUP2" + }, + "7021": { + "op": "SHR" + }, + "7022": { + "op": "SWAP1" + }, + "7023": { + "op": "DUP3" + }, + "7024": { + "op": "AND" + }, + "7025": { + "op": "DUP1" + }, + "7026": { + "op": "PUSH2", + "value": "0x1B7C" + }, + "7029": { + "op": "JUMPI" + }, + "7030": { + "op": "PUSH1", + "value": "0x7F" + }, + "7032": { + "op": "DUP3" + }, + "7033": { + "op": "AND" + }, + "7034": { + "op": "SWAP2" + }, + "7035": { + "op": "POP" + }, + "7036": { + "op": "JUMPDEST" + }, + "7037": { + "op": "PUSH1", + "value": "0x20" + }, + "7039": { + "op": "DUP3" + }, + "7040": { + "op": "LT" + }, + "7041": { + "op": "DUP2" + }, + "7042": { + "op": "SUB" + }, + "7043": { + "op": "PUSH2", + "value": "0x1B9C" + }, + "7046": { + "op": "JUMPI" + }, + "7047": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "7052": { + "op": "PUSH1", + "value": "0xE0" + }, + "7054": { + "op": "SHL" + }, + "7055": { + "op": "PUSH1", + "value": "0x0" + }, + "7057": { + "op": "MSTORE" + }, + "7058": { + "op": "PUSH1", + "value": "0x22" + }, + "7060": { + "op": "PUSH1", + "value": "0x4" + }, + "7062": { + "op": "MSTORE" + }, + "7063": { + "op": "PUSH1", + "value": "0x24" + }, + "7065": { + "op": "PUSH1", + "value": "0x0" + }, + "7067": { + "op": "REVERT" + }, + "7068": { + "op": "JUMPDEST" + }, + "7069": { + "op": "POP" + }, + "7070": { + "op": "SWAP2" + }, + "7071": { + "op": "SWAP1" + }, + "7072": { + "op": "POP" + }, + "7073": { + "jump": "o", + "op": "JUMP" + }, + "7074": { + "op": "JUMPDEST" + }, + "7075": { + "op": "PUSH1", + "value": "0x20" + }, + "7077": { + "op": "DUP1" + }, + "7078": { + "op": "DUP3" + }, + "7079": { + "op": "MSTORE" + }, + "7080": { + "op": "DUP2" + }, + "7081": { + "op": "DUP2" + }, + "7082": { + "op": "ADD" + }, + "7083": { + "op": "MSTORE" + }, + "7084": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "7117": { + "op": "PUSH1", + "value": "0x40" + }, + "7119": { + "op": "DUP3" + }, + "7120": { + "op": "ADD" + }, + "7121": { + "op": "MSTORE" + }, + "7122": { + "op": "PUSH1", + "value": "0x60" + }, + "7124": { + "op": "ADD" + }, + "7125": { + "op": "SWAP1" + }, + "7126": { + "jump": "o", + "op": "JUMP" + }, + "7127": { + "op": "JUMPDEST" + }, + "7128": { + "op": "PUSH1", + "value": "0x0" + }, + "7130": { + "op": "DUP4" + }, + "7131": { + "op": "MLOAD" + }, + "7132": { + "op": "PUSH2", + "value": "0x1BE9" + }, + "7135": { + "op": "DUP2" + }, + "7136": { + "op": "DUP5" + }, + "7137": { + "op": "PUSH1", + "value": "0x20" + }, + "7139": { + "op": "DUP9" + }, + "7140": { + "op": "ADD" + }, + "7141": { + "op": "PUSH2", + "value": "0x182A" + }, + "7144": { + "jump": "i", + "op": "JUMP" + }, + "7145": { + "op": "JUMPDEST" + }, + "7146": { + "op": "DUP4" + }, + "7147": { + "op": "MLOAD" + }, + "7148": { + "op": "SWAP1" + }, + "7149": { + "op": "DUP4" + }, + "7150": { + "op": "ADD" + }, + "7151": { + "op": "SWAP1" + }, + "7152": { + "op": "PUSH2", + "value": "0x1BFD" + }, + "7155": { + "op": "DUP2" + }, + "7156": { + "op": "DUP4" + }, + "7157": { + "op": "PUSH1", + "value": "0x20" + }, + "7159": { + "op": "DUP9" + }, + "7160": { + "op": "ADD" + }, + "7161": { + "op": "PUSH2", + "value": "0x182A" + }, + "7164": { + "jump": "i", + "op": "JUMP" + }, + "7165": { + "op": "JUMPDEST" + }, + "7166": { + "op": "ADD" + }, + "7167": { + "op": "SWAP5" + }, + "7168": { + "op": "SWAP4" + }, + "7169": { + "op": "POP" + }, + "7170": { + "op": "POP" + }, + "7171": { + "op": "POP" + }, + "7172": { + "op": "POP" + }, + "7173": { + "jump": "o", + "op": "JUMP" + }, + "7174": { + "op": "JUMPDEST" + }, + "7175": { + "op": "PUSH1", + "value": "0x0" + }, + "7177": { + "op": "DUP2" + }, + "7178": { + "op": "PUSH1", + "value": "0x0" + }, + "7180": { + "op": "NOT" + }, + "7181": { + "op": "DIV" + }, + "7182": { + "op": "DUP4" + }, + "7183": { + "op": "GT" + }, + "7184": { + "op": "DUP3" + }, + "7185": { + "op": "ISZERO" + }, + "7186": { + "op": "ISZERO" + }, + "7187": { + "op": "AND" + }, + "7188": { + "op": "ISZERO" + }, + "7189": { + "op": "PUSH2", + "value": "0x1C2E" + }, + "7192": { + "op": "JUMPI" + }, + "7193": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "7198": { + "op": "PUSH1", + "value": "0xE0" + }, + "7200": { + "op": "SHL" + }, + "7201": { + "op": "PUSH1", + "value": "0x0" + }, + "7203": { + "op": "MSTORE" + }, + "7204": { + "op": "PUSH1", + "value": "0x11" + }, + "7206": { + "op": "PUSH1", + "value": "0x4" + }, + "7208": { + "op": "MSTORE" + }, + "7209": { + "op": "PUSH1", + "value": "0x24" + }, + "7211": { + "op": "PUSH1", + "value": "0x0" + }, + "7213": { + "op": "REVERT" + }, + "7214": { + "op": "JUMPDEST" + }, + "7215": { + "op": "POP" + }, + "7216": { + "op": "MUL" + }, + "7217": { + "op": "SWAP1" + }, + "7218": { + "jump": "o", + "op": "JUMP" + }, + "7219": { + "op": "JUMPDEST" + }, + "7220": { + "op": "PUSH1", + "value": "0x0" + }, + "7222": { + "op": "DUP3" + }, + "7223": { + "op": "PUSH2", + "value": "0x1C50" + }, + "7226": { + "op": "JUMPI" + }, + "7227": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "7232": { + "op": "PUSH1", + "value": "0xE0" + }, + "7234": { + "op": "SHL" + }, + "7235": { + "op": "PUSH1", + "value": "0x0" + }, + "7237": { + "op": "MSTORE" + }, + "7238": { + "op": "PUSH1", + "value": "0x12" + }, + "7240": { + "op": "PUSH1", + "value": "0x4" + }, + "7242": { + "op": "MSTORE" + }, + "7243": { + "op": "PUSH1", + "value": "0x24" + }, + "7245": { + "op": "PUSH1", + "value": "0x0" + }, + "7247": { + "op": "REVERT" + }, + "7248": { + "op": "JUMPDEST" + }, + "7249": { + "op": "POP" + }, + "7250": { + "op": "DIV" + }, + "7251": { + "op": "SWAP1" + }, + "7252": { + "jump": "o", + "op": "JUMP" + }, + "7253": { + "op": "JUMPDEST" + }, + "7254": { + "op": "PUSH1", + "value": "0x0" + }, + "7256": { + "op": "DUP4" + }, + "7257": { + "op": "MLOAD" + }, + "7258": { + "op": "PUSH2", + "value": "0x1C67" + }, + "7261": { + "op": "DUP2" + }, + "7262": { + "op": "DUP5" + }, + "7263": { + "op": "PUSH1", + "value": "0x20" + }, + "7265": { + "op": "DUP9" + }, + "7266": { + "op": "ADD" + }, + "7267": { + "op": "PUSH2", + "value": "0x182A" + }, + "7270": { + "jump": "i", + "op": "JUMP" + }, + "7271": { + "op": "JUMPDEST" + }, + "7272": { + "op": "SWAP2" + }, + "7273": { + "op": "SWAP1" + }, + "7274": { + "op": "SWAP2" + }, + "7275": { + "op": "ADD" + }, + "7276": { + "op": "SWAP2" + }, + "7277": { + "op": "DUP3" + }, + "7278": { + "op": "MSTORE" + }, + "7279": { + "op": "POP" + }, + "7280": { + "op": "PUSH1", + "value": "0x20" + }, + "7282": { + "op": "ADD" + }, + "7283": { + "op": "SWAP2" + }, + "7284": { + "op": "SWAP1" + }, + "7285": { + "op": "POP" + }, + "7286": { + "jump": "o", + "op": "JUMP" + }, + "7287": { + "op": "JUMPDEST" + }, + "7288": { + "op": "PUSH1", + "value": "0x1" + }, + "7290": { + "op": "PUSH1", + "value": "0x1" + }, + "7292": { + "op": "PUSH1", + "value": "0xA0" + }, + "7294": { + "op": "SHL" + }, + "7295": { + "op": "SUB" + }, + "7296": { + "op": "DUP6" + }, + "7297": { + "op": "DUP2" + }, + "7298": { + "op": "AND" + }, + "7299": { + "op": "DUP3" + }, + "7300": { + "op": "MSTORE" + }, + "7301": { + "op": "DUP5" + }, + "7302": { + "op": "AND" + }, + "7303": { + "op": "PUSH1", + "value": "0x20" + }, + "7305": { + "op": "DUP3" + }, + "7306": { + "op": "ADD" + }, + "7307": { + "op": "MSTORE" + }, + "7308": { + "op": "PUSH1", + "value": "0x40" + }, + "7310": { + "op": "DUP2" + }, + "7311": { + "op": "ADD" + }, + "7312": { + "op": "DUP4" + }, + "7313": { + "op": "SWAP1" + }, + "7314": { + "op": "MSTORE" + }, + "7315": { + "op": "PUSH1", + "value": "0x80" + }, + "7317": { + "op": "PUSH1", + "value": "0x60" + }, + "7319": { + "op": "DUP3" + }, + "7320": { + "op": "ADD" + }, + "7321": { + "op": "DUP2" + }, + "7322": { + "op": "SWAP1" + }, + "7323": { + "op": "MSTORE" + }, + "7324": { + "op": "PUSH1", + "value": "0x0" + }, + "7326": { + "op": "SWAP1" + }, + "7327": { + "op": "PUSH2", + "value": "0x1CAA" + }, + "7330": { + "op": "SWAP1" + }, + "7331": { + "op": "DUP4" + }, + "7332": { + "op": "ADD" + }, + "7333": { + "op": "DUP5" + }, + "7334": { + "op": "PUSH2", + "value": "0x1856" + }, + "7337": { + "jump": "i", + "op": "JUMP" + }, + "7338": { + "op": "JUMPDEST" + }, + "7339": { + "op": "SWAP7" + }, + "7340": { + "op": "SWAP6" + }, + "7341": { + "op": "POP" + }, + "7342": { + "op": "POP" + }, + "7343": { + "op": "POP" + }, + "7344": { + "op": "POP" + }, + "7345": { + "op": "POP" + }, + "7346": { + "op": "POP" + }, + "7347": { + "jump": "o", + "op": "JUMP" + }, + "7348": { + "op": "JUMPDEST" + }, + "7349": { + "op": "PUSH1", + "value": "0x0" + }, + "7351": { + "op": "PUSH1", + "value": "0x20" + }, + "7353": { + "op": "DUP3" + }, + "7354": { + "op": "DUP5" + }, + "7355": { + "op": "SUB" + }, + "7356": { + "op": "SLT" + }, + "7357": { + "op": "ISZERO" + }, + "7358": { + "op": "PUSH2", + "value": "0x1CC6" + }, + "7361": { + "op": "JUMPI" + }, + "7362": { + "op": "PUSH1", + "value": "0x0" + }, + "7364": { + "op": "DUP1" + }, + "7365": { + "op": "REVERT" + }, + "7366": { + "op": "JUMPDEST" + }, + "7367": { + "op": "DUP2" + }, + "7368": { + "op": "MLOAD" + }, + "7369": { + "op": "PUSH2", + "value": "0x1823" + }, + "7372": { + "op": "DUP2" + }, + "7373": { + "op": "PUSH2", + "value": "0x17F0" + }, + "7376": { + "jump": "i", + "op": "JUMP" + }, + "7377": { + "op": "JUMPDEST" + }, + "7378": { + "op": "PUSH1", + "value": "0x1F" + }, + "7380": { + "op": "DUP3" + }, + "7381": { + "op": "GT" + }, + "7382": { + "op": "ISZERO" + }, + "7383": { + "op": "PUSH2", + "value": "0x67E" + }, + "7386": { + "op": "JUMPI" + }, + "7387": { + "op": "PUSH1", + "value": "0x0" + }, + "7389": { + "op": "DUP2" + }, + "7390": { + "op": "DUP2" + }, + "7391": { + "op": "MSTORE" + }, + "7392": { + "op": "PUSH1", + "value": "0x20" + }, + "7394": { + "op": "DUP2" + }, + "7395": { + "op": "KECCAK256" + }, + "7396": { + "op": "PUSH1", + "value": "0x1F" + }, + "7398": { + "op": "DUP6" + }, + "7399": { + "op": "ADD" + }, + "7400": { + "op": "PUSH1", + "value": "0x5" + }, + "7402": { + "op": "SHR" + }, + "7403": { + "op": "DUP2" + }, + "7404": { + "op": "ADD" + }, + "7405": { + "op": "PUSH1", + "value": "0x20" + }, + "7407": { + "op": "DUP7" + }, + "7408": { + "op": "LT" + }, + "7409": { + "op": "ISZERO" + }, + "7410": { + "op": "PUSH2", + "value": "0x1CF8" + }, + "7413": { + "op": "JUMPI" + }, + "7414": { + "op": "POP" + }, + "7415": { + "op": "DUP1" + }, + "7416": { + "op": "JUMPDEST" + }, + "7417": { + "op": "PUSH1", + "value": "0x1F" + }, + "7419": { + "op": "DUP6" + }, + "7420": { + "op": "ADD" + }, + "7421": { + "op": "PUSH1", + "value": "0x5" + }, + "7423": { + "op": "SHR" + }, + "7424": { + "op": "DUP3" + }, + "7425": { + "op": "ADD" + }, + "7426": { + "op": "SWAP2" + }, + "7427": { + "op": "POP" + }, + "7428": { + "op": "JUMPDEST" + }, + "7429": { + "op": "DUP2" + }, + "7430": { + "op": "DUP2" + }, + "7431": { + "op": "LT" + }, + "7432": { + "op": "ISZERO" + }, + "7433": { + "op": "PUSH2", + "value": "0x1D17" + }, + "7436": { + "op": "JUMPI" + }, + "7437": { + "op": "DUP3" + }, + "7438": { + "op": "DUP2" + }, + "7439": { + "op": "SSTORE" + }, + "7440": { + "op": "PUSH1", + "value": "0x1" + }, + "7442": { + "op": "ADD" + }, + "7443": { + "op": "PUSH2", + "value": "0x1D04" + }, + "7446": { + "op": "JUMP" + }, + "7447": { + "op": "JUMPDEST" + }, + "7448": { + "op": "POP" + }, + "7449": { + "op": "POP" + }, + "7450": { + "op": "POP" + }, + "7451": { + "op": "POP" + }, + "7452": { + "op": "POP" + }, + "7453": { + "op": "POP" + }, + "7454": { + "jump": "o", + "op": "JUMP" + }, + "7455": { + "op": "JUMPDEST" + }, + "7456": { + "op": "DUP2" + }, + "7457": { + "op": "MLOAD" + }, + "7458": { + "op": "PUSH1", + "value": "0x1" + }, + "7460": { + "op": "PUSH1", + "value": "0x1" + }, + "7462": { + "op": "PUSH1", + "value": "0x40" + }, + "7464": { + "op": "SHL" + }, + "7465": { + "op": "SUB" + }, + "7466": { + "op": "DUP2" + }, + "7467": { + "op": "GT" + }, + "7468": { + "op": "ISZERO" + }, + "7469": { + "op": "PUSH2", + "value": "0x1D38" + }, + "7472": { + "op": "JUMPI" + }, + "7473": { + "op": "PUSH2", + "value": "0x1D38" + }, + "7476": { + "op": "PUSH2", + "value": "0x1987" + }, + "7479": { + "jump": "i", + "op": "JUMP" + }, + "7480": { + "op": "JUMPDEST" + }, + "7481": { + "op": "PUSH2", + "value": "0x1D4C" + }, + "7484": { + "op": "DUP2" + }, + "7485": { + "op": "PUSH2", + "value": "0x1D46" + }, + "7488": { + "op": "DUP5" + }, + "7489": { + "op": "SLOAD" + }, + "7490": { + "op": "PUSH2", + "value": "0x1B68" + }, + "7493": { + "jump": "i", + "op": "JUMP" + }, + "7494": { + "op": "JUMPDEST" + }, + "7495": { + "op": "DUP5" + }, + "7496": { + "op": "PUSH2", + "value": "0x1CD1" + }, + "7499": { + "jump": "i", + "op": "JUMP" + }, + "7500": { + "op": "JUMPDEST" + }, + "7501": { + "op": "PUSH1", + "value": "0x20" + }, + "7503": { + "op": "DUP1" + }, + "7504": { + "op": "PUSH1", + "value": "0x1F" + }, + "7506": { + "op": "DUP4" + }, + "7507": { + "op": "GT" + }, + "7508": { + "op": "PUSH1", + "value": "0x1" + }, + "7510": { + "op": "DUP2" + }, + "7511": { + "op": "EQ" + }, + "7512": { + "op": "PUSH2", + "value": "0x1D81" + }, + "7515": { + "op": "JUMPI" + }, + "7516": { + "op": "PUSH1", + "value": "0x0" + }, + "7518": { + "op": "DUP5" + }, + "7519": { + "op": "ISZERO" + }, + "7520": { + "op": "PUSH2", + "value": "0x1D69" + }, + "7523": { + "op": "JUMPI" + }, + "7524": { + "op": "POP" + }, + "7525": { + "op": "DUP6" + }, + "7526": { + "op": "DUP4" + }, + "7527": { + "op": "ADD" + }, + "7528": { + "op": "MLOAD" + }, + "7529": { + "op": "JUMPDEST" + }, + "7530": { + "op": "PUSH1", + "value": "0x0" + }, + "7532": { + "op": "NOT" + }, + "7533": { + "op": "PUSH1", + "value": "0x3" + }, + "7535": { + "op": "DUP7" + }, + "7536": { + "op": "SWAP1" + }, + "7537": { + "op": "SHL" + }, + "7538": { + "op": "SHR" + }, + "7539": { + "op": "NOT" + }, + "7540": { + "op": "AND" + }, + "7541": { + "op": "PUSH1", + "value": "0x1" + }, + "7543": { + "op": "DUP6" + }, + "7544": { + "op": "SWAP1" + }, + "7545": { + "op": "SHL" + }, + "7546": { + "op": "OR" + }, + "7547": { + "op": "DUP6" + }, + "7548": { + "op": "SSTORE" + }, + "7549": { + "op": "PUSH2", + "value": "0x1D17" + }, + "7552": { + "op": "JUMP" + }, + "7553": { + "op": "JUMPDEST" + }, + "7554": { + "op": "PUSH1", + "value": "0x0" + }, + "7556": { + "op": "DUP6" + }, + "7557": { + "op": "DUP2" + }, + "7558": { + "op": "MSTORE" + }, + "7559": { + "op": "PUSH1", + "value": "0x20" + }, + "7561": { + "op": "DUP2" + }, + "7562": { + "op": "KECCAK256" + }, + "7563": { + "op": "PUSH1", + "value": "0x1F" + }, + "7565": { + "op": "NOT" + }, + "7566": { + "op": "DUP7" + }, + "7567": { + "op": "AND" + }, + "7568": { + "op": "SWAP2" + }, + "7569": { + "op": "JUMPDEST" + }, + "7570": { + "op": "DUP3" + }, + "7571": { + "op": "DUP2" + }, + "7572": { + "op": "LT" + }, + "7573": { + "op": "ISZERO" + }, + "7574": { + "op": "PUSH2", + "value": "0x1DB0" + }, + "7577": { + "op": "JUMPI" + }, + "7578": { + "op": "DUP9" + }, + "7579": { + "op": "DUP7" + }, + "7580": { + "op": "ADD" + }, + "7581": { + "op": "MLOAD" + }, + "7582": { + "op": "DUP3" + }, + "7583": { + "op": "SSTORE" + }, + "7584": { + "op": "SWAP5" + }, + "7585": { + "op": "DUP5" + }, + "7586": { + "op": "ADD" + }, + "7587": { + "op": "SWAP5" + }, + "7588": { + "op": "PUSH1", + "value": "0x1" + }, + "7590": { + "op": "SWAP1" + }, + "7591": { + "op": "SWAP2" + }, + "7592": { + "op": "ADD" + }, + "7593": { + "op": "SWAP1" + }, + "7594": { + "op": "DUP5" + }, + "7595": { + "op": "ADD" + }, + "7596": { + "op": "PUSH2", + "value": "0x1D91" + }, + "7599": { + "op": "JUMP" + }, + "7600": { + "op": "JUMPDEST" + }, + "7601": { + "op": "POP" + }, + "7602": { + "op": "DUP6" + }, + "7603": { + "op": "DUP3" + }, + "7604": { + "op": "LT" + }, + "7605": { + "op": "ISZERO" + }, + "7606": { + "op": "PUSH2", + "value": "0x1DCE" + }, + "7609": { + "op": "JUMPI" + }, + "7610": { + "op": "DUP8" + }, + "7611": { + "op": "DUP6" + }, + "7612": { + "op": "ADD" + }, + "7613": { + "op": "MLOAD" + }, + "7614": { + "op": "PUSH1", + "value": "0x0" + }, + "7616": { + "op": "NOT" + }, + "7617": { + "op": "PUSH1", + "value": "0x3" + }, + "7619": { + "op": "DUP9" + }, + "7620": { + "op": "SWAP1" + }, + "7621": { + "op": "SHL" + }, + "7622": { + "op": "PUSH1", + "value": "0xF8" + }, + "7624": { + "op": "AND" + }, + "7625": { + "op": "SHR" + }, + "7626": { + "op": "NOT" + }, + "7627": { + "op": "AND" + }, + "7628": { + "op": "DUP2" + }, + "7629": { + "op": "SSTORE" + }, + "7630": { + "op": "JUMPDEST" + }, + "7631": { + "op": "POP" + }, + "7632": { + "op": "POP" + }, + "7633": { + "op": "POP" + }, + "7634": { + "op": "POP" + }, + "7635": { + "op": "POP" + }, + "7636": { + "op": "PUSH1", + "value": "0x1" + }, + "7638": { + "op": "SWAP1" + }, + "7639": { + "op": "DUP2" + }, + "7640": { + "op": "SHL" + }, + "7641": { + "op": "ADD" + }, + "7642": { + "op": "SWAP1" + }, + "7643": { + "op": "SSTORE" + }, + "7644": { + "op": "POP" + }, + "7645": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "04ce5b25c3f721472f65ca4fd4244c57733a0b82", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"./Guard.sol\";\nimport \"./ERC721ExtensionCore.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\ncontract ERC721ExtensionSignature is Guarded, ERC721ExtensionCore, Ownable {\n /// @dev max supply is the max number of token IDs\n /// @dev that can be minted in this contract\n uint256 public maxSupply;\n\n /// @dev Capped supply is a limitation on the\n /// @dev number of tokens a user can mint\n uint256 public cappedSupply;\n\n ///@dev if the deployers require users to pay to mint,\n /// @dev they charge a tarriff\n uint256 public redemptionTariff = 0;\n\n /* ----------------------- */\n /* DACCRED CONFIGURATIONS */\n /* --------------------- */\n uint256 immutable __COMMISSIONS__; // 1.5% // !important set correct dev wallet before launch\n address immutable __COMMISSIONER__; // daccred multi-sig // !important set correct dev wallet before launch\n\n constructor(\n string memory _name,\n string memory _symbol,\n address _comissioner,\n uint256 _maxSupply,\n uint256 _commissions,\n uint256 _cappedSupply,\n uint256 _redemptionTariff\n ) ERC721ExtensionCore(_name, _symbol) {\n require(_maxSupply > 0, \"[Ext721Sig]: NaN\");\n require(_cappedSupply > 0, \"[Ext721Sig]: NaN\");\n require(_redemptionTariff > 0, \"[Ext721Sig]: NaN\");\n\n /// @dev initialize immutable variables\n __COMMISSIONER__ = _comissioner;\n __COMMISSIONS__ = _commissions;\n\n /// @dev setup internal config variables\n redemptionTariff = _redemptionTariff;\n cappedSupply = _cappedSupply;\n maxSupply = _maxSupply;\n }\n\n function updateMaxSupply(uint256 _maxSupply) external onlyOwner {\n require(_maxSupply > 0 && _maxSupply >= totalSupply(), \"Invalid max supply\");\n maxSupply = _maxSupply;\n }\n\n function modifyTariff(uint256 _newTariff) external onlyOwner {\n redemptionTariff = _newTariff;\n }\n\n /// @dev Override the ERC721ExtensionCore.mint function to handle payable mints.\n /// @dev requires the caller to pay the redemptionTariff.\n\n function mint(string memory _tokenURI) external payable override guarded returns (uint256) {\n /// @dev ensure this transaction is funded\n require(msg.value >= redemptionTariff, \"[ExtSig:mint]:No funds\");\n\n /// @dev hook to run before minting\n _beforeTokenMint(_msgSender());\n\n /// @dev we do not regard the principle of quantity,\n /// @dev everyone mints only one token\n _mint(_msgSender(), 1);\n\n uint256 newTokenId = _currentIndex;\n\n /// @dev we can now set the tokenURI of the token we just minted\n _setTokenURI(newTokenId, _tokenURI);\n\n /// @dev we calculate the commissions for admin\n uint256 commission = (msg.value * __COMMISSIONS__) / 10000;\n\n /// @dev we send the commission to the commissioner\n payable(__COMMISSIONER__).transfer(commission);\n\n return newTokenId;\n }\n\n function _beforeTokenMint(address recipient) internal view {\n require(balanceOf(recipient) < cappedSupply, \"You can't mint anymore.\");\n require(totalSupply() < maxSupply, \"Max supply reached\");\n }\n\n function mintWithSignature(\n address addr,\n bytes32 hash,\n bytes memory sig,\n string memory _tokenURI\n ) external guarded onlyOwner {\n /// @dev Require that the address is not a zero address.\n require(addr != address(0), \"Mint to zero address.\");\n /// @dev Require that the hash is actually 32 [64 characters]\n /// in length.\n require(hash.length == 32, \"Invalid hash.\");\n /// @dev Require the length of the signature is 65.\n require(sig.length == 65, \"Invalid signature length\");\n /// @dev Verifies that the address was actually signed by the\n /// allowlistOwner.\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixedHashMessage = keccak256(abi.encodePacked(prefix, hash));\n require(verifySigner(owner(), prefixedHashMessage, sig), \"Hash not signed by owner.\");\n\n /// @dev hook to run before minting\n _beforeTokenMint(_msgSender());\n\n /// @dev we do not regard the principle of quantity,\n /// @dev everyone mints only one token\n _mint(_msgSender(), 1);\n\n uint256 newTokenId = _currentIndex;\n\n /// @dev we can now set the tokenURI of the token we just minted\n _setTokenURI(newTokenId, _tokenURI);\n }\n\n function verifySigner(\n address _signer,\n bytes32 _hash,\n bytes memory _signature\n ) internal pure returns (bool) {\n (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature);\n return (_signer == ecrecover(_hash, v, r, s));\n }\n\n function splitSignature(bytes memory sig)\n private\n pure\n returns (\n bytes32 r,\n bytes32 s,\n uint8 v\n )\n {\n assembly {\n /**\n * @dev Copied from https://solidity-by-example.org/signature.\n * First 32 bytes stores the length of the signature\n * add(sig, 32) = pointer of sig + 32\n * effectively, skips first 32 bytes of signature\n * mload(p) loads next 32 bytes starting at the memory\n * address p into memory.\n */\n\n /// @dev First 32 bytes, after the length prefix.\n r := mload(add(sig, 32))\n /// @dev Second 32 bytes.\n s := mload(add(sig, 64))\n /// @dev Final byte (first byte of the next 32 bytes).\n v := byte(0, mload(add(sig, 96)))\n }\n }\n\n function withdraw() external onlyOwner {\n payable(owner()).transfer(address(this).balance);\n }\n}\n", + "sourceMap": "566:5742:19:-:0;;;744:1:20;719:26;;1049:1:19;1015:35;;1367:740;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1619:5;1626:7;1619:5;1626:7;2285:5:17;:13;1619:5:19;2285::17;:13;:::i;:::-;-1:-1:-1;2308:7:17;:17;2318:7;2308;:17;:::i;:::-;-1:-1:-1;;2521:7:17;2335:31;;-1:-1:-1;921:32:0;;-1:-1:-1;719:10:5;;-1:-1:-1;921:18:0;:32::i;:::-;1666:1:19::1;1653:10;:14;1645:43;;;::::0;-1:-1:-1;;;1645:43:19;;4809:2:43;1645:43:19::1;::::0;::::1;4791:21:43::0;4848:2;4828:18;;;4821:30;-1:-1:-1;;;4867:18:43;;;4860:46;4923:18;;1645:43:19::1;;;;;;;;;1722:1;1706:13;:17;1698:46;;;::::0;-1:-1:-1;;;1698:46:19;;4809:2:43;1698:46:19::1;::::0;::::1;4791:21:43::0;4848:2;4828:18;;;4821:30;-1:-1:-1;;;4867:18:43;;;4860:46;4923:18;;1698:46:19::1;4607:340:43::0;1698:46:19::1;1782:1;1762:17;:21;1754:50;;;::::0;-1:-1:-1;;;1754:50:19;;4809:2:43;1754:50:19::1;::::0;::::1;4791:21:43::0;4848:2;4828:18;;;4821:30;-1:-1:-1;;;4867:18:43;;;4860:46;4923:18;;1754:50:19::1;4607:340:43::0;1754:50:19::1;-1:-1:-1::0;;;;;1863:31:19;;::::1;;::::0;1904:30:::1;::::0;;;;1994:16:::1;:36:::0;;;;2040:12:::1;:28:::0;;;;2078:9:::1;:22:::0;-1:-1:-1;566:5742:19;;-1:-1:-1;566:5742:19;2270:187:0;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;14:127:43:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:977::-;1180:6;1188;1196;1204;1212;1220;1228;1281:3;1269:9;1260:7;1256:23;1252:33;1249:53;;;1298:1;1295;1288:12;1249:53;1325:16;;-1:-1:-1;;;;;1390:14:43;;;1387:34;;;1417:1;1414;1407:12;1387:34;1440:61;1493:7;1484:6;1473:9;1469:22;1440:61;:::i;:::-;1430:71;;1547:2;1536:9;1532:18;1526:25;1510:41;;1576:2;1566:8;1563:16;1560:36;;;1592:1;1589;1582:12;1560:36;;1615:63;1670:7;1659:8;1648:9;1644:24;1615:63;:::i;:::-;1721:2;1706:18;;1700:25;1605:73;;-1:-1:-1;1700:25:43;-1:-1:-1;;;;;;1754:31:43;;1744:42;;1734:70;;1800:1;1797;1790:12;1734:70;1823:5;1813:15;;;1868:2;1857:9;1853:18;1847:25;1837:35;;1912:3;1901:9;1897:19;1891:26;1881:36;;1957:3;1946:9;1942:19;1936:26;1926:36;;2002:3;1991:9;1987:19;1981:26;1971:36;;1036:977;;;;;;;;;;:::o;2018:380::-;2097:1;2093:12;;;;2140;;;2161:61;;2215:4;2207:6;2203:17;2193:27;;2161:61;2268:2;2260:6;2257:14;2237:18;2234:38;2231:161;;2314:10;2309:3;2305:20;2302:1;2295:31;2349:4;2346:1;2339:15;2377:4;2374:1;2367:15;2231:161;;2018:380;;;:::o;2529:545::-;2631:2;2626:3;2623:11;2620:448;;;2667:1;2692:5;2688:2;2681:17;2737:4;2733:2;2723:19;2807:2;2795:10;2791:19;2788:1;2784:27;2778:4;2774:38;2843:4;2831:10;2828:20;2825:47;;;-1:-1:-1;2866:4:43;2825:47;2921:2;2916:3;2912:12;2909:1;2905:20;2899:4;2895:31;2885:41;;2976:82;2994:2;2987:5;2984:13;2976:82;;;3039:17;;;3020:1;3009:13;2976:82;;;2980:3;;;2620:448;2529:545;;;:::o;3250:1352::-;3370:10;;-1:-1:-1;;;;;3392:30:43;;3389:56;;;3425:18;;:::i;:::-;3454:97;3544:6;3504:38;3536:4;3530:11;3504:38;:::i;:::-;3498:4;3454:97;:::i;:::-;3606:4;;3670:2;3659:14;;3687:1;3682:663;;;;4389:1;4406:6;4403:89;;;-1:-1:-1;4458:19:43;;;4452:26;4403:89;-1:-1:-1;;3207:1:43;3203:11;;;3199:24;3195:29;3185:40;3231:1;3227:11;;;3182:57;4505:81;;3652:944;;3682:663;2476:1;2469:14;;;2513:4;2500:18;;-1:-1:-1;;3718:20:43;;;3836:236;3850:7;3847:1;3844:14;3836:236;;;3939:19;;;3933:26;3918:42;;4031:27;;;;3999:1;3987:14;;;;3866:19;;3836:236;;;3840:3;4100:6;4091:7;4088:19;4085:201;;;4161:19;;;4155:26;-1:-1:-1;;4244:1:43;4240:14;;;4256:3;4236:24;4232:37;4228:42;4213:58;4198:74;;4085:201;-1:-1:-1;;;;;4332:1:43;4316:14;;;4312:22;4299:36;;-1:-1:-1;3250:1352:43:o;4607:340::-;566:5742:19;;;;;;;;;;;;;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/ERC721ReceiverMock.json b/tests/build/contracts/ERC721ReceiverMock.json new file mode 100644 index 0000000..5577cdb --- /dev/null +++ b/tests/build/contracts/ERC721ReceiverMock.json @@ -0,0 +1,2707 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "retval", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "gas", + "type": "uint256" + } + ], + "name": "Received", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "2": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721Receiver.sol", + "34": "contracts/contracts/packages/nft/contracts/mocks/ERC721ReceiverMock.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721ReceiverMock.sol", + "exportedSymbols": { + "ERC721ReceiverMock": [ + 4005 + ], + "IERC721Receiver": [ + 6093 + ] + }, + "id": 4006, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3947, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:34" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721Receiver.sol", + "file": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", + "id": 3948, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4006, + "sourceUnit": 6094, + "src": "454:66:34", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3949, + "name": "IERC721Receiver", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6093, + "src": "553:15:34" + }, + "id": 3950, + "nodeType": "InheritanceSpecifier", + "src": "553:15:34" + } + ], + "canonicalName": "ERC721ReceiverMock", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 4005, + "linearizedBaseContracts": [ + 4005, + 6093 + ], + "name": "ERC721ReceiverMock", + "nameLocation": "531:18:34", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "ERC721ReceiverMock.Error", + "id": 3955, + "members": [ + { + "id": 3951, + "name": "None", + "nameLocation": "596:4:34", + "nodeType": "EnumValue", + "src": "596:4:34" + }, + { + "id": 3952, + "name": "RevertWithMessage", + "nameLocation": "610:17:34", + "nodeType": "EnumValue", + "src": "610:17:34" + }, + { + "id": 3953, + "name": "RevertWithoutMessage", + "nameLocation": "637:20:34", + "nodeType": "EnumValue", + "src": "637:20:34" + }, + { + "id": 3954, + "name": "Panic", + "nameLocation": "667:5:34", + "nodeType": "EnumValue", + "src": "667:5:34" + } + ], + "name": "Error", + "nameLocation": "580:5:34", + "nodeType": "EnumDefinition", + "src": "575:103:34" + }, + { + "constant": false, + "id": 3957, + "mutability": "immutable", + "name": "_retval", + "nameLocation": "709:7:34", + "nodeType": "VariableDeclaration", + "scope": 4005, + "src": "684:32:34", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3956, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "684:6:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "eventSelector": "28fa6e16458f9c24aa59ddd4085264573006dbe30304837873c7deafc702b038", + "id": 3969, + "name": "Received", + "nameLocation": "729:8:34", + "nodeType": "EventDefinition", + "parameters": { + "id": 3968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3959, + "indexed": false, + "mutability": "mutable", + "name": "operator", + "nameLocation": "746:8:34", + "nodeType": "VariableDeclaration", + "scope": 3969, + "src": "738:16:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "738:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3961, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "764:4:34", + "nodeType": "VariableDeclaration", + "scope": 3969, + "src": "756:12:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "756:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3963, + "indexed": false, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "778:7:34", + "nodeType": "VariableDeclaration", + "scope": 3969, + "src": "770:15:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "770:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3965, + "indexed": false, + "mutability": "mutable", + "name": "data", + "nameLocation": "793:4:34", + "nodeType": "VariableDeclaration", + "scope": 3969, + "src": "787:10:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3964, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "787:5:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3967, + "indexed": false, + "mutability": "mutable", + "name": "gas", + "nameLocation": "807:3:34", + "nodeType": "VariableDeclaration", + "scope": 3969, + "src": "799:11:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "799:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "737:74:34" + }, + "src": "723:89:34" + }, + { + "body": { + "id": 3978, + "nodeType": "Block", + "src": "845:33:34", + "statements": [ + { + "expression": { + "id": 3976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3974, + "name": "_retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "855:7:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3975, + "name": "retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3971, + "src": "865:6:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "855:16:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "id": 3977, + "nodeType": "ExpressionStatement", + "src": "855:16:34" + } + ] + }, + "id": 3979, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3971, + "mutability": "mutable", + "name": "retval", + "nameLocation": "837:6:34", + "nodeType": "VariableDeclaration", + "scope": 3979, + "src": "830:13:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3970, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "830:6:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "829:15:34" + }, + "returnParameters": { + "id": 3973, + "nodeType": "ParameterList", + "parameters": [], + "src": "845:0:34" + }, + "scope": 4005, + "src": "818:60:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 6092 + ], + "body": { + "id": 4003, + "nodeType": "Block", + "src": "1049:92:34", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "id": 3994, + "name": "operator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3981, + "src": "1073:8:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3995, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3983, + "src": "1083:4:34", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3996, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3985, + "src": "1089:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3997, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3987, + "src": "1098:4:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "3230303030", + "id": 3998, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1104:5:34", + "typeDescriptions": { + "typeIdentifier": "t_rational_20000_by_1", + "typeString": "int_const 20000" + }, + "value": "20000" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_20000_by_1", + "typeString": "int_const 20000" + } + ], + "id": 3993, + "name": "Received", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3969, + "src": "1064:8:34", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,bytes memory,uint256)" + } + }, + "id": 3999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1064:46:34", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4000, + "nodeType": "EmitStatement", + "src": "1059:51:34" + }, + { + "expression": { + "id": 4001, + "name": "_retval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3957, + "src": "1127:7:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "functionReturnParameters": 3992, + "id": 4002, + "nodeType": "Return", + "src": "1120:14:34" + } + ] + }, + "functionSelector": "150b7a02", + "id": 4004, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "onERC721Received", + "nameLocation": "893:16:34", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3989, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1023:8:34" + }, + "parameters": { + "id": 3988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3981, + "mutability": "mutable", + "name": "operator", + "nameLocation": "927:8:34", + "nodeType": "VariableDeclaration", + "scope": 4004, + "src": "919:16:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3980, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "919:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3983, + "mutability": "mutable", + "name": "from", + "nameLocation": "953:4:34", + "nodeType": "VariableDeclaration", + "scope": 4004, + "src": "945:12:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "945:7:34", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3985, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "975:7:34", + "nodeType": "VariableDeclaration", + "scope": 4004, + "src": "967:15:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3984, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "967:7:34", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3987, + "mutability": "mutable", + "name": "data", + "nameLocation": "1005:4:34", + "nodeType": "VariableDeclaration", + "scope": 4004, + "src": "992:17:34", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3986, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "992:5:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "909:106:34" + }, + "returnParameters": { + "id": 3992, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3991, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4004, + "src": "1041:6:34", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3990, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1041:6:34", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1040:8:34" + }, + "scope": 4005, + "src": "884:257:34", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 4006, + "src": "522:621:34", + "usedErrors": [] + } + ], + "src": "429:715:34" + }, + "bytecode": "60a060405234801561001057600080fd5b5060405161031d38038061031d83398101604081905261002f91610041565b6001600160e01b031916608052610072565b60006020828403121561005357600080fd5b81516001600160e01b03198116811461006b57600080fd5b9392505050565b60805161029161008c600039600060a601526102916000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004361003e3660046100ff565b610060565b6040516001600160e01b0319909116815260200160405180910390f35b60007f28fa6e16458f9c24aa59ddd4085264573006dbe30304837873c7deafc702b03885858585614e2060405161009b9594939291906101db565b60405180910390a1507f0000000000000000000000000000000000000000000000000000000000000000949350505050565b80356001600160a01b03811681146100e457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561011557600080fd5b61011e856100cd565b935061012c602086016100cd565b925060408501359150606085013567ffffffffffffffff8082111561015057600080fd5b818701915087601f83011261016457600080fd5b813581811115610176576101766100e9565b604051601f8201601f19908116603f0116810190838211818310171561019e5761019e6100e9565b816040528281528a60208487010111156101b757600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600060018060a01b03808816835260208188168185015286604085015260a06060850152855191508160a085015260005b828110156102285786810182015185820160c00152810161020c565b8281111561023a57600060c084870101525b5050608083019390935250601f91909101601f19160160c00194935050505056fea2646970667358221220c04bf79dcd3e574a7327ba1549e04534d39a3554788fd6e7c4cba259e377f24664736f6c634300080f0033", + "bytecodeSha1": "1a2d4ef8bc83532324ce1e896d26ba872a18d280", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC721ReceiverMock", + "coverageMap": { + "branches": { + "2": {}, + "34": {} + }, + "statements": { + "2": {}, + "34": { + "ERC721ReceiverMock.onERC721Received": { + "0": [ + 1059, + 1110 + ], + "1": [ + 1120, + 1134 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Receiver" + ], + "deployedBytecode": "608060405234801561001057600080fd5b506004361061002b5760003560e01c8063150b7a0214610030575b600080fd5b61004361003e3660046100ff565b610060565b6040516001600160e01b0319909116815260200160405180910390f35b60007f28fa6e16458f9c24aa59ddd4085264573006dbe30304837873c7deafc702b03885858585614e2060405161009b9594939291906101db565b60405180910390a1507f0000000000000000000000000000000000000000000000000000000000000000949350505050565b80356001600160a01b03811681146100e457600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561011557600080fd5b61011e856100cd565b935061012c602086016100cd565b925060408501359150606085013567ffffffffffffffff8082111561015057600080fd5b818701915087601f83011261016457600080fd5b813581811115610176576101766100e9565b604051601f8201601f19908116603f0116810190838211818310171561019e5761019e6100e9565b816040528281528a60208487010111156101b757600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b600060018060a01b03808816835260208188168185015286604085015260a06060850152855191508160a085015260005b828110156102285786810182015185820160c00152810161020c565b8281111561023a57600060c084870101525b5050608083019390935250601f91909101601f19160160c00194935050505056fea2646970667358221220c04bf79dcd3e574a7327ba1549e04534d39a3554788fd6e7c4cba259e377f24664736f6c634300080f0033", + "deployedSourceMap": "522:621:34:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;884:257;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;1629:33:43;;;1611:52;;1599:2;1584:18;884:257:34;;;;;;;;1041:6;1064:46;1073:8;1083:4;1089:7;1098:4;1104:5;1064:46;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;1127:7:34;884:257;;;;;;:::o;14:173:43:-;82:20;;-1:-1:-1;;;;;131:31:43;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:127::-;253:10;248:3;244:20;241:1;234:31;284:4;281:1;274:15;308:4;305:1;298:15;324:1138;419:6;427;435;443;496:3;484:9;475:7;471:23;467:33;464:53;;;513:1;510;503:12;464:53;536:29;555:9;536:29;:::i;:::-;526:39;;584:38;618:2;607:9;603:18;584:38;:::i;:::-;574:48;;669:2;658:9;654:18;641:32;631:42;;724:2;713:9;709:18;696:32;747:18;788:2;780:6;777:14;774:34;;;804:1;801;794:12;774:34;842:6;831:9;827:22;817:32;;887:7;880:4;876:2;872:13;868:27;858:55;;909:1;906;899:12;858:55;945:2;932:16;967:2;963;960:10;957:36;;;973:18;;:::i;:::-;1048:2;1042:9;1016:2;1102:13;;-1:-1:-1;;1098:22:43;;;1122:2;1094:31;1090:40;1078:53;;;1146:18;;;1166:22;;;1143:46;1140:72;;;1192:18;;:::i;:::-;1232:10;1228:2;1221:22;1267:2;1259:6;1252:18;1307:7;1302:2;1297;1293;1289:11;1285:20;1282:33;1279:53;;;1328:1;1325;1318:12;1279:53;1384:2;1379;1375;1371:11;1366:2;1358:6;1354:15;1341:46;1429:1;1424:2;1419;1411:6;1407:15;1403:24;1396:35;1450:6;1440:16;;;;;;;324:1138;;;;;;;:::o;1674:953::-;1908:4;1954:1;1950;1945:3;1941:11;1937:19;1995:2;1987:6;1983:15;1972:9;1965:34;2018:2;2068;2060:6;2056:15;2051:2;2040:9;2036:18;2029:43;2108:6;2103:2;2092:9;2088:18;2081:34;2151:3;2146:2;2135:9;2131:18;2124:31;2184:6;2178:13;2164:27;;2228:6;2222:3;2211:9;2207:19;2200:35;2253:1;2263:141;2277:6;2274:1;2271:13;2263:141;;;2373:14;;;2369:23;;2363:30;2338:17;;;2357:3;2334:27;2327:67;2292:10;;2263:141;;;2422:6;2419:1;2416:13;2413:92;;;2493:1;2487:3;2478:6;2467:9;2463:22;2459:32;2452:43;2413:92;-1:-1:-1;;2608:3:43;2593:19;;2586:35;;;;-1:-1:-1;2566:2:43;2545:15;;;;-1:-1:-1;;2541:29:43;2526:45;2573:3;2522:55;;1674:953;-1:-1:-1;;;;1674:953:43:o", + "language": "Solidity", + "natspec": { + "kind": "dev", + "methods": { + "onERC721Received(address,address,uint256,bytes)": { + "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." + } + }, + "version": 1 + }, + "offset": [ + 522, + 1143 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x150B7A02 EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0xFF JUMP JUMPDEST PUSH2 0x60 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH32 0x28FA6E16458F9C24AA59DDD4085264573006DBE30304837873C7DEAFC702B038 DUP6 DUP6 DUP6 DUP6 PUSH2 0x4E20 PUSH1 0x40 MLOAD PUSH2 0x9B SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x1DB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP PUSH32 0x0 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x115 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x11E DUP6 PUSH2 0xCD JUMP JUMPDEST SWAP4 POP PUSH2 0x12C PUSH1 0x20 DUP7 ADD PUSH2 0xCD JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x150 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP8 ADD SWAP2 POP DUP8 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x176 JUMPI PUSH2 0x176 PUSH2 0xE9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x19E JUMPI PUSH2 0x19E PUSH2 0xE9 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP11 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP9 AND DUP4 MSTORE PUSH1 0x20 DUP2 DUP9 AND DUP2 DUP6 ADD MSTORE DUP7 PUSH1 0x40 DUP6 ADD MSTORE PUSH1 0xA0 PUSH1 0x60 DUP6 ADD MSTORE DUP6 MLOAD SWAP2 POP DUP2 PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x228 JUMPI DUP7 DUP2 ADD DUP3 ADD MLOAD DUP6 DUP3 ADD PUSH1 0xC0 ADD MSTORE DUP2 ADD PUSH2 0x20C JUMP JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x23A JUMPI PUSH1 0x0 PUSH1 0xC0 DUP5 DUP8 ADD ADD MSTORE JUMPDEST POP POP PUSH1 0x80 DUP4 ADD SWAP4 SWAP1 SWAP4 MSTORE POP PUSH1 0x1F SWAP2 SWAP1 SWAP2 ADD PUSH1 0x1F NOT AND ADD PUSH1 0xC0 ADD SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC0 0x4B 0xF7 SWAP14 0xCD RETURNDATACOPY JUMPI 0x4A PUSH20 0x27BA1549E04534D39A3554788FD6E7C4CBA259E3 PUSH24 0xF24664736F6C634300080F00330000000000000000000000 ", + "pcMap": { + "0": { + "offset": [ + 522, + 1143 + ], + "op": "PUSH1", + "path": "34", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH1", + "path": "34", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "MSTORE", + "path": "34" + }, + "5": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "CALLVALUE", + "path": "34" + }, + "6": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "DUP1", + "path": "34" + }, + "7": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "ISZERO", + "path": "34" + }, + "8": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH2", + "path": "34", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "JUMPI", + "path": "34" + }, + "12": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH1", + "path": "34", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "DUP1", + "path": "34" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "REVERT", + "path": "34" + }, + "16": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "JUMPDEST", + "path": "34" + }, + "17": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "POP", + "path": "34" + }, + "18": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH1", + "path": "34", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "CALLDATASIZE", + "path": "34" + }, + "21": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "LT", + "path": "34" + }, + "22": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH2", + "path": "34", + "value": "0x2B" + }, + "25": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "JUMPI", + "path": "34" + }, + "26": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH1", + "path": "34", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "CALLDATALOAD", + "path": "34" + }, + "29": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH1", + "path": "34", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "SHR", + "path": "34" + }, + "32": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "DUP1", + "path": "34" + }, + "33": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH4", + "path": "34", + "value": "0x150B7A02" + }, + "38": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "EQ", + "path": "34" + }, + "39": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH2", + "path": "34", + "value": "0x30" + }, + "42": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "JUMPI", + "path": "34" + }, + "43": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "JUMPDEST", + "path": "34" + }, + "44": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "PUSH1", + "path": "34", + "value": "0x0" + }, + "46": { + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "DUP1", + "path": "34" + }, + "47": { + "first_revert": true, + "fn": null, + "offset": [ + 522, + 1143 + ], + "op": "REVERT", + "path": "34" + }, + "48": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "JUMPDEST", + "path": "34" + }, + "49": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "PUSH2", + "path": "34", + "value": "0x43" + }, + "52": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "PUSH2", + "path": "34", + "value": "0x3E" + }, + "55": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "CALLDATASIZE", + "path": "34" + }, + "56": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "PUSH1", + "path": "34", + "value": "0x4" + }, + "58": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "PUSH2", + "path": "34", + "value": "0xFF" + }, + "61": { + "fn": "ERC721ReceiverMock.onERC721Received", + "jump": "i", + "offset": [ + 884, + 1141 + ], + "op": "JUMP", + "path": "34" + }, + "62": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "JUMPDEST", + "path": "34" + }, + "63": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "PUSH2", + "path": "34", + "value": "0x60" + }, + "66": { + "fn": "ERC721ReceiverMock.onERC721Received", + "jump": "i", + "offset": [ + 884, + 1141 + ], + "op": "JUMP", + "path": "34" + }, + "67": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "JUMPDEST", + "path": "34" + }, + "68": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "PUSH1", + "path": "34", + "value": "0x40" + }, + "70": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "MLOAD", + "path": "34" + }, + "71": { + "op": "PUSH1", + "value": "0x1" + }, + "73": { + "op": "PUSH1", + "value": "0x1" + }, + "75": { + "op": "PUSH1", + "value": "0xE0" + }, + "77": { + "op": "SHL" + }, + "78": { + "op": "SUB" + }, + "79": { + "op": "NOT" + }, + "80": { + "op": "SWAP1" + }, + "81": { + "op": "SWAP2" + }, + "82": { + "op": "AND" + }, + "83": { + "op": "DUP2" + }, + "84": { + "op": "MSTORE" + }, + "85": { + "op": "PUSH1", + "value": "0x20" + }, + "87": { + "op": "ADD" + }, + "88": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "PUSH1", + "path": "34", + "value": "0x40" + }, + "90": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "MLOAD", + "path": "34" + }, + "91": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "DUP1", + "path": "34" + }, + "92": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "SWAP2", + "path": "34" + }, + "93": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "SUB", + "path": "34" + }, + "94": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "SWAP1", + "path": "34" + }, + "95": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "RETURN", + "path": "34" + }, + "96": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "JUMPDEST", + "path": "34" + }, + "97": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1041, + 1047 + ], + "op": "PUSH1", + "path": "34", + "value": "0x0" + }, + "99": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "PUSH32", + "path": "34", + "statement": 0, + "value": "0x28FA6E16458F9C24AA59DDD4085264573006DBE30304837873C7DEAFC702B038" + }, + "132": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1073, + 1081 + ], + "op": "DUP6", + "path": "34" + }, + "133": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1083, + 1087 + ], + "op": "DUP6", + "path": "34" + }, + "134": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1089, + 1096 + ], + "op": "DUP6", + "path": "34" + }, + "135": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1098, + 1102 + ], + "op": "DUP6", + "path": "34" + }, + "136": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1104, + 1109 + ], + "op": "PUSH2", + "path": "34", + "value": "0x4E20" + }, + "139": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "PUSH1", + "path": "34", + "value": "0x40" + }, + "141": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "MLOAD", + "path": "34" + }, + "142": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "PUSH2", + "path": "34", + "value": "0x9B" + }, + "145": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP6", + "path": "34" + }, + "146": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP5", + "path": "34" + }, + "147": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP4", + "path": "34" + }, + "148": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP3", + "path": "34" + }, + "149": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP2", + "path": "34" + }, + "150": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP1", + "path": "34" + }, + "151": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "PUSH2", + "path": "34", + "value": "0x1DB" + }, + "154": { + "fn": "ERC721ReceiverMock.onERC721Received", + "jump": "i", + "offset": [ + 1064, + 1110 + ], + "op": "JUMP", + "path": "34" + }, + "155": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "JUMPDEST", + "path": "34" + }, + "156": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "PUSH1", + "path": "34", + "value": "0x40" + }, + "158": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "MLOAD", + "path": "34" + }, + "159": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "DUP1", + "path": "34" + }, + "160": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP2", + "path": "34" + }, + "161": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SUB", + "path": "34" + }, + "162": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "SWAP1", + "path": "34" + }, + "163": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1064, + 1110 + ], + "op": "LOG1", + "path": "34" + }, + "164": { + "op": "POP" + }, + "165": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 1127, + 1134 + ], + "op": "PUSH32", + "path": "34", + "statement": 1, + "value": "0x0" + }, + "198": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "SWAP5", + "path": "34" + }, + "199": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "SWAP4", + "path": "34" + }, + "200": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "POP", + "path": "34" + }, + "201": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "POP", + "path": "34" + }, + "202": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "POP", + "path": "34" + }, + "203": { + "fn": "ERC721ReceiverMock.onERC721Received", + "offset": [ + 884, + 1141 + ], + "op": "POP", + "path": "34" + }, + "204": { + "fn": "ERC721ReceiverMock.onERC721Received", + "jump": "o", + "offset": [ + 884, + 1141 + ], + "op": "JUMP", + "path": "34" + }, + "205": { + "op": "JUMPDEST" + }, + "206": { + "op": "DUP1" + }, + "207": { + "op": "CALLDATALOAD" + }, + "208": { + "op": "PUSH1", + "value": "0x1" + }, + "210": { + "op": "PUSH1", + "value": "0x1" + }, + "212": { + "op": "PUSH1", + "value": "0xA0" + }, + "214": { + "op": "SHL" + }, + "215": { + "op": "SUB" + }, + "216": { + "op": "DUP2" + }, + "217": { + "op": "AND" + }, + "218": { + "op": "DUP2" + }, + "219": { + "op": "EQ" + }, + "220": { + "op": "PUSH2", + "value": "0xE4" + }, + "223": { + "op": "JUMPI" + }, + "224": { + "op": "PUSH1", + "value": "0x0" + }, + "226": { + "op": "DUP1" + }, + "227": { + "op": "REVERT" + }, + "228": { + "op": "JUMPDEST" + }, + "229": { + "op": "SWAP2" + }, + "230": { + "op": "SWAP1" + }, + "231": { + "op": "POP" + }, + "232": { + "jump": "o", + "op": "JUMP" + }, + "233": { + "op": "JUMPDEST" + }, + "234": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "239": { + "op": "PUSH1", + "value": "0xE0" + }, + "241": { + "op": "SHL" + }, + "242": { + "op": "PUSH1", + "value": "0x0" + }, + "244": { + "op": "MSTORE" + }, + "245": { + "op": "PUSH1", + "value": "0x41" + }, + "247": { + "op": "PUSH1", + "value": "0x4" + }, + "249": { + "op": "MSTORE" + }, + "250": { + "op": "PUSH1", + "value": "0x24" + }, + "252": { + "op": "PUSH1", + "value": "0x0" + }, + "254": { + "op": "REVERT" + }, + "255": { + "op": "JUMPDEST" + }, + "256": { + "op": "PUSH1", + "value": "0x0" + }, + "258": { + "op": "DUP1" + }, + "259": { + "op": "PUSH1", + "value": "0x0" + }, + "261": { + "op": "DUP1" + }, + "262": { + "op": "PUSH1", + "value": "0x80" + }, + "264": { + "op": "DUP6" + }, + "265": { + "op": "DUP8" + }, + "266": { + "op": "SUB" + }, + "267": { + "op": "SLT" + }, + "268": { + "op": "ISZERO" + }, + "269": { + "op": "PUSH2", + "value": "0x115" + }, + "272": { + "op": "JUMPI" + }, + "273": { + "op": "PUSH1", + "value": "0x0" + }, + "275": { + "op": "DUP1" + }, + "276": { + "op": "REVERT" + }, + "277": { + "op": "JUMPDEST" + }, + "278": { + "op": "PUSH2", + "value": "0x11E" + }, + "281": { + "op": "DUP6" + }, + "282": { + "op": "PUSH2", + "value": "0xCD" + }, + "285": { + "jump": "i", + "op": "JUMP" + }, + "286": { + "op": "JUMPDEST" + }, + "287": { + "op": "SWAP4" + }, + "288": { + "op": "POP" + }, + "289": { + "op": "PUSH2", + "value": "0x12C" + }, + "292": { + "op": "PUSH1", + "value": "0x20" + }, + "294": { + "op": "DUP7" + }, + "295": { + "op": "ADD" + }, + "296": { + "op": "PUSH2", + "value": "0xCD" + }, + "299": { + "jump": "i", + "op": "JUMP" + }, + "300": { + "op": "JUMPDEST" + }, + "301": { + "op": "SWAP3" + }, + "302": { + "op": "POP" + }, + "303": { + "op": "PUSH1", + "value": "0x40" + }, + "305": { + "op": "DUP6" + }, + "306": { + "op": "ADD" + }, + "307": { + "op": "CALLDATALOAD" + }, + "308": { + "op": "SWAP2" + }, + "309": { + "op": "POP" + }, + "310": { + "op": "PUSH1", + "value": "0x60" + }, + "312": { + "op": "DUP6" + }, + "313": { + "op": "ADD" + }, + "314": { + "op": "CALLDATALOAD" + }, + "315": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "324": { + "op": "DUP1" + }, + "325": { + "op": "DUP3" + }, + "326": { + "op": "GT" + }, + "327": { + "op": "ISZERO" + }, + "328": { + "op": "PUSH2", + "value": "0x150" + }, + "331": { + "op": "JUMPI" + }, + "332": { + "op": "PUSH1", + "value": "0x0" + }, + "334": { + "op": "DUP1" + }, + "335": { + "op": "REVERT" + }, + "336": { + "op": "JUMPDEST" + }, + "337": { + "op": "DUP2" + }, + "338": { + "op": "DUP8" + }, + "339": { + "op": "ADD" + }, + "340": { + "op": "SWAP2" + }, + "341": { + "op": "POP" + }, + "342": { + "op": "DUP8" + }, + "343": { + "op": "PUSH1", + "value": "0x1F" + }, + "345": { + "op": "DUP4" + }, + "346": { + "op": "ADD" + }, + "347": { + "op": "SLT" + }, + "348": { + "op": "PUSH2", + "value": "0x164" + }, + "351": { + "op": "JUMPI" + }, + "352": { + "op": "PUSH1", + "value": "0x0" + }, + "354": { + "op": "DUP1" + }, + "355": { + "op": "REVERT" + }, + "356": { + "op": "JUMPDEST" + }, + "357": { + "op": "DUP2" + }, + "358": { + "op": "CALLDATALOAD" + }, + "359": { + "op": "DUP2" + }, + "360": { + "op": "DUP2" + }, + "361": { + "op": "GT" + }, + "362": { + "op": "ISZERO" + }, + "363": { + "op": "PUSH2", + "value": "0x176" + }, + "366": { + "op": "JUMPI" + }, + "367": { + "op": "PUSH2", + "value": "0x176" + }, + "370": { + "op": "PUSH2", + "value": "0xE9" + }, + "373": { + "jump": "i", + "op": "JUMP" + }, + "374": { + "op": "JUMPDEST" + }, + "375": { + "op": "PUSH1", + "value": "0x40" + }, + "377": { + "op": "MLOAD" + }, + "378": { + "op": "PUSH1", + "value": "0x1F" + }, + "380": { + "op": "DUP3" + }, + "381": { + "op": "ADD" + }, + "382": { + "op": "PUSH1", + "value": "0x1F" + }, + "384": { + "op": "NOT" + }, + "385": { + "op": "SWAP1" + }, + "386": { + "op": "DUP2" + }, + "387": { + "op": "AND" + }, + "388": { + "op": "PUSH1", + "value": "0x3F" + }, + "390": { + "op": "ADD" + }, + "391": { + "op": "AND" + }, + "392": { + "op": "DUP2" + }, + "393": { + "op": "ADD" + }, + "394": { + "op": "SWAP1" + }, + "395": { + "op": "DUP4" + }, + "396": { + "op": "DUP3" + }, + "397": { + "op": "GT" + }, + "398": { + "op": "DUP2" + }, + "399": { + "op": "DUP4" + }, + "400": { + "op": "LT" + }, + "401": { + "op": "OR" + }, + "402": { + "op": "ISZERO" + }, + "403": { + "op": "PUSH2", + "value": "0x19E" + }, + "406": { + "op": "JUMPI" + }, + "407": { + "op": "PUSH2", + "value": "0x19E" + }, + "410": { + "op": "PUSH2", + "value": "0xE9" + }, + "413": { + "jump": "i", + "op": "JUMP" + }, + "414": { + "op": "JUMPDEST" + }, + "415": { + "op": "DUP2" + }, + "416": { + "op": "PUSH1", + "value": "0x40" + }, + "418": { + "op": "MSTORE" + }, + "419": { + "op": "DUP3" + }, + "420": { + "op": "DUP2" + }, + "421": { + "op": "MSTORE" + }, + "422": { + "op": "DUP11" + }, + "423": { + "op": "PUSH1", + "value": "0x20" + }, + "425": { + "op": "DUP5" + }, + "426": { + "op": "DUP8" + }, + "427": { + "op": "ADD" + }, + "428": { + "op": "ADD" + }, + "429": { + "op": "GT" + }, + "430": { + "op": "ISZERO" + }, + "431": { + "op": "PUSH2", + "value": "0x1B7" + }, + "434": { + "op": "JUMPI" + }, + "435": { + "op": "PUSH1", + "value": "0x0" + }, + "437": { + "op": "DUP1" + }, + "438": { + "op": "REVERT" + }, + "439": { + "op": "JUMPDEST" + }, + "440": { + "op": "DUP3" + }, + "441": { + "op": "PUSH1", + "value": "0x20" + }, + "443": { + "op": "DUP7" + }, + "444": { + "op": "ADD" + }, + "445": { + "op": "PUSH1", + "value": "0x20" + }, + "447": { + "op": "DUP4" + }, + "448": { + "op": "ADD" + }, + "449": { + "op": "CALLDATACOPY" + }, + "450": { + "op": "PUSH1", + "value": "0x0" + }, + "452": { + "op": "PUSH1", + "value": "0x20" + }, + "454": { + "op": "DUP5" + }, + "455": { + "op": "DUP4" + }, + "456": { + "op": "ADD" + }, + "457": { + "op": "ADD" + }, + "458": { + "op": "MSTORE" + }, + "459": { + "op": "DUP1" + }, + "460": { + "op": "SWAP6" + }, + "461": { + "op": "POP" + }, + "462": { + "op": "POP" + }, + "463": { + "op": "POP" + }, + "464": { + "op": "POP" + }, + "465": { + "op": "POP" + }, + "466": { + "op": "POP" + }, + "467": { + "op": "SWAP3" + }, + "468": { + "op": "SWAP6" + }, + "469": { + "op": "SWAP2" + }, + "470": { + "op": "SWAP5" + }, + "471": { + "op": "POP" + }, + "472": { + "op": "SWAP3" + }, + "473": { + "op": "POP" + }, + "474": { + "jump": "o", + "op": "JUMP" + }, + "475": { + "op": "JUMPDEST" + }, + "476": { + "op": "PUSH1", + "value": "0x0" + }, + "478": { + "op": "PUSH1", + "value": "0x1" + }, + "480": { + "op": "DUP1" + }, + "481": { + "op": "PUSH1", + "value": "0xA0" + }, + "483": { + "op": "SHL" + }, + "484": { + "op": "SUB" + }, + "485": { + "op": "DUP1" + }, + "486": { + "op": "DUP9" + }, + "487": { + "op": "AND" + }, + "488": { + "op": "DUP4" + }, + "489": { + "op": "MSTORE" + }, + "490": { + "op": "PUSH1", + "value": "0x20" + }, + "492": { + "op": "DUP2" + }, + "493": { + "op": "DUP9" + }, + "494": { + "op": "AND" + }, + "495": { + "op": "DUP2" + }, + "496": { + "op": "DUP6" + }, + "497": { + "op": "ADD" + }, + "498": { + "op": "MSTORE" + }, + "499": { + "op": "DUP7" + }, + "500": { + "op": "PUSH1", + "value": "0x40" + }, + "502": { + "op": "DUP6" + }, + "503": { + "op": "ADD" + }, + "504": { + "op": "MSTORE" + }, + "505": { + "op": "PUSH1", + "value": "0xA0" + }, + "507": { + "op": "PUSH1", + "value": "0x60" + }, + "509": { + "op": "DUP6" + }, + "510": { + "op": "ADD" + }, + "511": { + "op": "MSTORE" + }, + "512": { + "op": "DUP6" + }, + "513": { + "op": "MLOAD" + }, + "514": { + "op": "SWAP2" + }, + "515": { + "op": "POP" + }, + "516": { + "op": "DUP2" + }, + "517": { + "op": "PUSH1", + "value": "0xA0" + }, + "519": { + "op": "DUP6" + }, + "520": { + "op": "ADD" + }, + "521": { + "op": "MSTORE" + }, + "522": { + "op": "PUSH1", + "value": "0x0" + }, + "524": { + "op": "JUMPDEST" + }, + "525": { + "op": "DUP3" + }, + "526": { + "op": "DUP2" + }, + "527": { + "op": "LT" + }, + "528": { + "op": "ISZERO" + }, + "529": { + "op": "PUSH2", + "value": "0x228" + }, + "532": { + "op": "JUMPI" + }, + "533": { + "op": "DUP7" + }, + "534": { + "op": "DUP2" + }, + "535": { + "op": "ADD" + }, + "536": { + "op": "DUP3" + }, + "537": { + "op": "ADD" + }, + "538": { + "op": "MLOAD" + }, + "539": { + "op": "DUP6" + }, + "540": { + "op": "DUP3" + }, + "541": { + "op": "ADD" + }, + "542": { + "op": "PUSH1", + "value": "0xC0" + }, + "544": { + "op": "ADD" + }, + "545": { + "op": "MSTORE" + }, + "546": { + "op": "DUP2" + }, + "547": { + "op": "ADD" + }, + "548": { + "op": "PUSH2", + "value": "0x20C" + }, + "551": { + "op": "JUMP" + }, + "552": { + "op": "JUMPDEST" + }, + "553": { + "op": "DUP3" + }, + "554": { + "op": "DUP2" + }, + "555": { + "op": "GT" + }, + "556": { + "op": "ISZERO" + }, + "557": { + "op": "PUSH2", + "value": "0x23A" + }, + "560": { + "op": "JUMPI" + }, + "561": { + "op": "PUSH1", + "value": "0x0" + }, + "563": { + "op": "PUSH1", + "value": "0xC0" + }, + "565": { + "op": "DUP5" + }, + "566": { + "op": "DUP8" + }, + "567": { + "op": "ADD" + }, + "568": { + "op": "ADD" + }, + "569": { + "op": "MSTORE" + }, + "570": { + "op": "JUMPDEST" + }, + "571": { + "op": "POP" + }, + "572": { + "op": "POP" + }, + "573": { + "op": "PUSH1", + "value": "0x80" + }, + "575": { + "op": "DUP4" + }, + "576": { + "op": "ADD" + }, + "577": { + "op": "SWAP4" + }, + "578": { + "op": "SWAP1" + }, + "579": { + "op": "SWAP4" + }, + "580": { + "op": "MSTORE" + }, + "581": { + "op": "POP" + }, + "582": { + "op": "PUSH1", + "value": "0x1F" + }, + "584": { + "op": "SWAP2" + }, + "585": { + "op": "SWAP1" + }, + "586": { + "op": "SWAP2" + }, + "587": { + "op": "ADD" + }, + "588": { + "op": "PUSH1", + "value": "0x1F" + }, + "590": { + "op": "NOT" + }, + "591": { + "op": "AND" + }, + "592": { + "op": "ADD" + }, + "593": { + "op": "PUSH1", + "value": "0xC0" + }, + "595": { + "op": "ADD" + }, + "596": { + "op": "SWAP5" + }, + "597": { + "op": "SWAP4" + }, + "598": { + "op": "POP" + }, + "599": { + "op": "POP" + }, + "600": { + "op": "POP" + }, + "601": { + "op": "POP" + }, + "602": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "f2d7953799ed6df82f500365dbe0b6f136e8def5", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\";\n\ncontract ERC721ReceiverMock is IERC721Receiver {\n enum Error {\n None,\n RevertWithMessage,\n RevertWithoutMessage,\n Panic\n }\n\n bytes4 private immutable _retval;\n\n event Received(address operator, address from, uint256 tokenId, bytes data, uint256 gas);\n\n constructor(bytes4 retval) {\n _retval = retval;\n }\n\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes memory data\n ) public override returns (bytes4) {\n emit Received(operator, from, tokenId, data, 20000);\n return _retval;\n }\n}\n", + "sourceMap": "522:621:34:-:0;;;818:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;855:16:34;;;522:621;;14:290:43;83:6;136:2;124:9;115:7;111:23;107:32;104:52;;;152:1;149;142:12;104:52;178:16;;-1:-1:-1;;;;;;223:32:43;;213:43;;203:71;;270:1;267;260:12;203:71;293:5;14:290;-1:-1:-1;;;14:290:43:o;:::-;522:621:34;;;;;;;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/mocks/ERC721ReceiverMock.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/Guarded.json b/tests/build/contracts/Guarded.json new file mode 100644 index 0000000..a3736f6 --- /dev/null +++ b/tests/build/contracts/Guarded.json @@ -0,0 +1,368 @@ +{ + "abi": [], + "allSourcePaths": { + "20": "contracts/contracts/packages/nft/contracts/Guard.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/Guard.sol", + "exportedSymbols": { + "Guarded": [ + 3259 + ] + }, + "id": 3260, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3235, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:20" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Guarded", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 3236, + "nodeType": "StructuredDocumentation", + "src": "454:233:20", + "text": "@notice Gas optimized reentrancy protection for smart contracts.\n @author Daccred (https://github.com/daccred/contracts)\n @author derived (https://github.com/transmissions11/solmate/blob/main/src/utils/ReentrancyGuard.sol)" + }, + "fullyImplemented": true, + "id": 3259, + "linearizedBaseContracts": [ + 3259 + ], + "name": "Guarded", + "nameLocation": "705:7:20", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3239, + "mutability": "mutable", + "name": "locked", + "nameLocation": "735:6:20", + "nodeType": "VariableDeclaration", + "scope": 3259, + "src": "719:26:20", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3237, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "719:7:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "31", + "id": 3238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "744:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "visibility": "private" + }, + { + "body": { + "id": 3257, + "nodeType": "Block", + "src": "779:105:20", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3242, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3239, + "src": "797:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 3243, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "807:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "797:11:20", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5245454e5452414e4359", + "id": 3245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "810:12:20", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_180a23d5434c537ca84b1e47f534d18e25bd055e02a65ce20bae4afd9c835f59", + "typeString": "literal_string \"REENTRANCY\"" + }, + "value": "REENTRANCY" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_180a23d5434c537ca84b1e47f534d18e25bd055e02a65ce20bae4afd9c835f59", + "typeString": "literal_string \"REENTRANCY\"" + } + ], + "id": 3241, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "789:7:20", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "789:34:20", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3247, + "nodeType": "ExpressionStatement", + "src": "789:34:20" + }, + { + "expression": { + "id": 3250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3248, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3239, + "src": "834:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "32", + "id": 3249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "843:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "834:10:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3251, + "nodeType": "ExpressionStatement", + "src": "834:10:20" + }, + { + "id": 3252, + "nodeType": "PlaceholderStatement", + "src": "855:1:20" + }, + { + "expression": { + "id": 3255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3253, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3239, + "src": "867:6:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 3254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "876:1:20", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "867:10:20", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3256, + "nodeType": "ExpressionStatement", + "src": "867:10:20" + } + ] + }, + "id": 3258, + "name": "guarded", + "nameLocation": "761:7:20", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3240, + "nodeType": "ParameterList", + "parameters": [], + "src": "768:2:20" + }, + "src": "752:132:20", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 3260, + "src": "687:199:20", + "usedErrors": [] + } + ], + "src": "429:458:20" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Guarded", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred (https://github.com/daccred/contracts)derived (https://github.com/transmissions11/solmate/blob/main/src/utils/ReentrancyGuard.sol)", + "kind": "dev", + "methods": {}, + "notice": "Gas optimized reentrancy protection for smart contracts.", + "version": 1 + }, + "offset": [ + 687, + 886 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "3d7e139037ea884d175519613ab91b3e0c15b099", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/// @notice Gas optimized reentrancy protection for smart contracts.\n/// @author Daccred (https://github.com/daccred/contracts)\n/// @author derived (https://github.com/transmissions11/solmate/blob/main/src/utils/ReentrancyGuard.sol)\nabstract contract Guarded {\n uint256 private locked = 1;\n\n modifier guarded() virtual {\n require(locked == 1, \"REENTRANCY\");\n\n locked = 2;\n\n _;\n\n locked = 1;\n }\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/Guard.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/IAllowlist.json b/tests/build/contracts/IAllowlist.json new file mode 100644 index 0000000..bce5b5b --- /dev/null +++ b/tests/build/contracts/IAllowlist.json @@ -0,0 +1,633 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Unsigned", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Signed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Verified", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "15": "contracts/contracts/packages/common/IAllowlist.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/common/IAllowlist.sol", + "exportedSymbols": { + "IAllowlist": [ + 1161 + ] + }, + "id": 1162, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1122, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:15" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAllowlist", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1123, + "nodeType": "StructuredDocumentation", + "src": "61:709:15", + "text": " @title IAllowlist Interface.\n @author Daccred.\n @dev\n Whitelist or Allowlists are popular gating mechanisms when minting NFTs.\n It allows NFTs to be minted by or to some specific addresses that have been \"Whitelisted\".\n To make sure that the minting addresses are verified, there are some validation methods put in place.\n The one to be used here is the Public Signature Mechanics Method (ECDSA).\n [Ref:: https://medium.com/donkeverse/hardcore-gas-savings-in-nft-minting-part-2-signatures-vs-merkle-trees-917c43c59b07].\n This interface contains functions that verifies that the caller [contract] has signed the whitelisted address.\n This is more gas efficient. [Ref:: Link above]." + }, + "fullyImplemented": false, + "id": 1161, + "linearizedBaseContracts": [ + 1161 + ], + "name": "IAllowlist", + "nameLocation": "782:10:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 1124, + "nodeType": "StructuredDocumentation", + "src": "831:43:15", + "text": "@dev Emitted when an address is signed." + }, + "eventSelector": "568aebae0f7dc6c96727fb4cdfdf7add45fec43fffd69b3fa71ea0898a27f8cc", + "id": 1128, + "name": "Signed", + "nameLocation": "885:6:15", + "nodeType": "EventDefinition", + "parameters": { + "id": 1127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1126, + "indexed": true, + "mutability": "mutable", + "name": "_address", + "nameLocation": "908:8:15", + "nodeType": "VariableDeclaration", + "scope": 1128, + "src": "892:24:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "892:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "891:26:15" + }, + "src": "879:39:15" + }, + { + "anonymous": false, + "documentation": { + "id": 1129, + "nodeType": "StructuredDocumentation", + "src": "923:77:15", + "text": "@dev Emitted when the address passed to the verify function returns true." + }, + "eventSelector": "6a6455914f452787eb3985452aceedc1000fb545e394eb3b370e3d08958e0a5b", + "id": 1133, + "name": "Verified", + "nameLocation": "1011:8:15", + "nodeType": "EventDefinition", + "parameters": { + "id": 1132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1131, + "indexed": true, + "mutability": "mutable", + "name": "_address", + "nameLocation": "1036:8:15", + "nodeType": "VariableDeclaration", + "scope": 1133, + "src": "1020:24:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1130, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1020:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1019:26:15" + }, + "src": "1005:41:15" + }, + { + "documentation": { + "id": 1134, + "nodeType": "StructuredDocumentation", + "src": "1051:77:15", + "text": "@dev Thrown when the address passed to the verify function is not signed." + }, + "errorSelector": "a5303a41", + "id": 1138, + "name": "Unsigned", + "nameLocation": "1139:8:15", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1136, + "mutability": "mutable", + "name": "_address", + "nameLocation": "1156:8:15", + "nodeType": "VariableDeclaration", + "scope": 1138, + "src": "1148:16:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1148:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1147:18:15" + }, + "src": "1133:33:15" + }, + { + "documentation": { + "id": 1139, + "nodeType": "StructuredDocumentation", + "src": "1204:394:15", + "text": " @dev Verifies that the public key that signed `_signature` is the caller of the function.\n Emits the {Verified} event.\n In error cases, throw the {Unsigned} error.\n @param\n _hash, hash of the address signed off-chain.\n _signature, signature to verify.\n @return bool, true if the signer is the contract and false if otherwise." + }, + "functionSelector": "daca6f78", + "id": 1148, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "verifySignature", + "nameLocation": "1612:15:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1141, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "1636:5:15", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1628:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1140, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1628:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1143, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "1656:10:15", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1643:23:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1142, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1643:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1627:40:15" + }, + "returnParameters": { + "id": 1147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1146, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1148, + "src": "1702:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1145, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1702:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1701:6:15" + }, + "scope": 1161, + "src": "1603:105:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1149, + "nodeType": "StructuredDocumentation", + "src": "1714:421:15", + "text": " @dev Verifies that the public key that signed `_signature` is the `_signer`.\n Emits the {Verified} event.\n In error cases, throw the {Unsigned} error.\n @param\n _signer, address to be verified.\n _hash, hash of the address signed off-chain.\n _signature, signature to verify.\n @return bool, true if the signer is the contract and false if otherwise." + }, + "functionSelector": "e92b0842", + "id": 1160, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "verifySigner", + "nameLocation": "2149:12:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1151, + "mutability": "mutable", + "name": "_signer", + "nameLocation": "2179:7:15", + "nodeType": "VariableDeclaration", + "scope": 1160, + "src": "2171:15:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1150, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2171:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1153, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "2204:5:15", + "nodeType": "VariableDeclaration", + "scope": 1160, + "src": "2196:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1152, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2196:7:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1155, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "2232:10:15", + "nodeType": "VariableDeclaration", + "scope": 1160, + "src": "2219:23:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1154, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2219:5:15", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2161:87:15" + }, + "returnParameters": { + "id": 1159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1158, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1160, + "src": "2267:4:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1157, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2267:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2266:6:15" + }, + "scope": 1161, + "src": "2140:133:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1162, + "src": "772:1503:15", + "usedErrors": [ + 1138 + ] + } + ], + "src": "36:2240:15" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IAllowlist", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "Whitelist or Allowlists are popular gating mechanisms when minting NFTs. It allows NFTs to be minted by or to some specific addresses that have been \"Whitelisted\". To make sure that the minting addresses are verified, there are some validation methods put in place. The one to be used here is the Public Signature Mechanics Method (ECDSA). [Ref:: https://medium.com/donkeverse/hardcore-gas-savings-in-nft-minting-part-2-signatures-vs-merkle-trees-917c43c59b07]. This interface contains functions that verifies that the caller [contract] has signed the whitelisted address. This is more gas efficient. [Ref:: Link above].", + "errors": { + "Unsigned(address)": [ + { + "details": "Thrown when the address passed to the verify function is not signed." + } + ] + }, + "events": { + "Signed(address)": { + "details": "Emitted when an address is signed." + }, + "Verified(address)": { + "details": "Emitted when the address passed to the verify function returns true." + } + }, + "kind": "dev", + "methods": { + "verifySignature(bytes32,bytes)": { + "details": "Verifies that the public key that signed `_signature` is the caller of the function. Emits the {Verified} event. In error cases, throw the {Unsigned} error.", + "params": { + "_hash": ", hash of the address signed off-chain. _signature, signature to verify." + }, + "returns": { + "_0": "bool, true if the signer is the contract and false if otherwise." + } + }, + "verifySigner(address,bytes32,bytes)": { + "details": "Verifies that the public key that signed `_signature` is the `_signer`. Emits the {Verified} event. In error cases, throw the {Unsigned} error.", + "params": { + "_signer": ", address to be verified. _hash, hash of the address signed off-chain. _signature, signature to verify." + }, + "returns": { + "_0": "bool, true if the signer is the contract and false if otherwise." + } + } + }, + "title": "IAllowlist Interface.", + "version": 1 + }, + "offset": [ + 772, + 2275 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "15ab68bf911bdfe08b91673083d7f94168953b4f", + "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.8;\n\n/**\n * @title IAllowlist Interface.\n * @author Daccred.\n * @dev\n * Whitelist or Allowlists are popular gating mechanisms when minting NFTs.\n * It allows NFTs to be minted by or to some specific addresses that have been \"Whitelisted\".\n * To make sure that the minting addresses are verified, there are some validation methods put in place.\n * The one to be used here is the Public Signature Mechanics Method (ECDSA).\n * [Ref:: https://medium.com/donkeverse/hardcore-gas-savings-in-nft-minting-part-2-signatures-vs-merkle-trees-917c43c59b07].\n * This interface contains functions that verifies that the caller [contract] has signed the whitelisted address.\n * This is more gas efficient. [Ref:: Link above].\n */\n\ninterface IAllowlist {\n // ===== E V E N T S =====\n\n /// @dev Emitted when an address is signed.\n event Signed(address indexed _address);\n /// @dev Emitted when the address passed to the verify function returns true.\n event Verified(address indexed _address);\n /// @dev Thrown when the address passed to the verify function is not signed.\n error Unsigned(address _address);\n\n // ===== E V E N T S =====\n\n /**\n * @dev Verifies that the public key that signed `_signature` is the caller of the function.\n * Emits the {Verified} event.\n * In error cases, throw the {Unsigned} error.\n *\n * @param\n * _hash, hash of the address signed off-chain.\n * _signature, signature to verify.\n *\n * @return bool, true if the signer is the contract and false if otherwise.\n */\n function verifySignature(bytes32 _hash, bytes memory _signature)\n external\n returns (bool);\n\n /**\n * @dev Verifies that the public key that signed `_signature` is the `_signer`.\n * Emits the {Verified} event.\n * In error cases, throw the {Unsigned} error.\n *\n * @param\n * _signer, address to be verified.\n * _hash, hash of the address signed off-chain.\n * _signature, signature to verify.\n *\n * @return bool, true if the signer is the contract and false if otherwise.\n */\n function verifySigner(\n address _signer,\n bytes32 _hash,\n bytes memory _signature\n ) external returns (bool);\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/common/IAllowlist.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IERC165.json b/tests/build/contracts/IERC165.json new file mode 100644 index 0000000..344b31f --- /dev/null +++ b/tests/build/contracts/IERC165.json @@ -0,0 +1,4449 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "exportedSymbols": { + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ] + }, + "id": 5877, + "license": "CC0-1.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5518, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:41" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5519, + "nodeType": "StructuredDocumentation", + "src": "196:279:41", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 5528, + "linearizedBaseContracts": [ + 5528 + ], + "name": "IERC165", + "nameLocation": "486:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 5520, + "nodeType": "StructuredDocumentation", + "src": "500:340:41", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 5527, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "854:17:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5522, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "879:11:41", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "872:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5521, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "872:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "871:20:41" + }, + "returnParameters": { + "id": 5526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "915:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "915:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "914:6:41" + }, + "scope": 5528, + "src": "845:76:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "476:447:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5530, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5528, + "src": "1530:7:41" + }, + "id": 5531, + "nodeType": "InheritanceSpecifier", + "src": "1530:7:41" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5529, + "nodeType": "StructuredDocumentation", + "src": "925:576:41", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 5549, + "linearizedBaseContracts": [ + 5549, + 5528 + ], + "name": "ERC165", + "nameLocation": "1520:6:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 5527 + ], + "body": { + "id": 5547, + "nodeType": "Block", + "src": "1740:64:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5540, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5534, + "src": "1757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5542, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5528, + "src": "1777:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 5541, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1772:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1772:13:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$5528", + "typeString": "type(contract IERC165)" + } + }, + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1772:25:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1757:40:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5539, + "id": 5546, + "nodeType": "Return", + "src": "1750:47:41" + } + ] + }, + "documentation": { + "id": 5532, + "nodeType": "StructuredDocumentation", + "src": "1544:56:41", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 5548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1614:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5536, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1704:8:41" + }, + "parameters": { + "id": 5535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5534, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1639:11:41", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1632:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5533, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1632:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1631:20:41" + }, + "returnParameters": { + "id": 5539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5538, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1730:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1730:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1729:6:41" + }, + "scope": 5549, + "src": "1605:199:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 5877, + "src": "1502:304:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Metadata", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 5567, + "linearizedBaseContracts": [ + 5567 + ], + "name": "IERC721Metadata", + "nameLocation": "1818:15:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "06fdde03", + "id": 5554, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1849:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5550, + "nodeType": "ParameterList", + "parameters": [], + "src": "1853:2:41" + }, + "returnParameters": { + "id": 5553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5552, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5554, + "src": "1879:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1879:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1878:15:41" + }, + "scope": 5567, + "src": "1840:54:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "95d89b41", + "id": 5559, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "1909:6:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5555, + "nodeType": "ParameterList", + "parameters": [], + "src": "1915:2:41" + }, + "returnParameters": { + "id": 5558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5557, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5559, + "src": "1941:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5556, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1940:15:41" + }, + "scope": 5567, + "src": "1900:56:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c87b56dd", + "id": 5566, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1971:8:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5561, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1988:7:41", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "1980:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1980:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1979:17:41" + }, + "returnParameters": { + "id": 5565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5564, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "2020:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2020:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2019:15:41" + }, + "scope": 5567, + "src": "1962:73:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "1808:229:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC4973", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5568, + "nodeType": "StructuredDocumentation", + "src": "2039:151:41", + "text": "@title Account-bound tokens\n @dev See https://eips.ethereum.org/EIPS/eip-4973\n Note: the ERC-165 identifier for this interface is 0x5164cf47" + }, + "fullyImplemented": false, + "id": 5605, + "linearizedBaseContracts": [ + 5605 + ], + "name": "IERC4973", + "nameLocation": "2200:8:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 5569, + "nodeType": "StructuredDocumentation", + "src": "2215:207:41", + "text": "@dev This emits when a new token is created and bound to an account by\n any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "e9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a27", + "id": 5575, + "name": "Attest", + "nameLocation": "2433:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5571, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2456:2:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2440:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5573, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2476:7:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2460:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2460:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:45:41" + }, + "src": "2427:58:41" + }, + { + "anonymous": false, + "documentation": { + "id": 5576, + "nodeType": "StructuredDocumentation", + "src": "2490:217:41", + "text": "@dev This emits when an existing ABT is revoked from an account and\n destroyed by any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "ec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b", + "id": 5582, + "name": "Revoke", + "nameLocation": "2718:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5578, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2741:2:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2725:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2725:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5580, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2761:7:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2745:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2724:45:41" + }, + "src": "2712:58:41" + }, + { + "documentation": { + "id": 5583, + "nodeType": "StructuredDocumentation", + "src": "2776:317:41", + "text": "@notice Count all ABTs assigned to an owner\n @dev ABTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param owner An address for whom to query the balance\n @return The number of ABTs owned by `owner`, possibly zero" + }, + "functionSelector": "70a08231", + "id": 5590, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3107:9:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5585, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3125:5:41", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3117:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3117:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3116:15:41" + }, + "returnParameters": { + "id": 5589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5588, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3155:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:9:41" + }, + "scope": 5605, + "src": "3098:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5591, + "nodeType": "StructuredDocumentation", + "src": "3170:284:41", + "text": "@notice Find the address bound to an ERC4973 account-bound token\n @dev ABTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param tokenId The identifier for an ABT\n @return The address of the owner bound to the ABT" + }, + "functionSelector": "6352211e", + "id": 5598, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3468:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5593, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3484:7:41", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3476:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3476:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3475:17:41" + }, + "returnParameters": { + "id": 5597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5596, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3516:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3516:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3515:9:41" + }, + "scope": 5605, + "src": "3459:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5599, + "nodeType": "StructuredDocumentation", + "src": "3531:326:41", + "text": "@notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n disassociate themselves from an ABT publicly through calling this\n function.\n @dev Must emit a `event Revoke` with the `address to` field pointing to\n the zero address.\n @param tokenId The identifier for an ABT" + }, + "functionSelector": "42966c68", + "id": 5604, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "3871:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5601, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3884:7:41", + "nodeType": "VariableDeclaration", + "scope": 5604, + "src": "3876:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3876:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3875:17:41" + }, + "returnParameters": { + "id": 5603, + "nodeType": "ParameterList", + "parameters": [], + "src": "3901:0:41" + }, + "scope": 5605, + "src": "3862:40:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "2190:1714:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5607, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5549, + "src": "4082:6:41" + }, + "id": 5608, + "nodeType": "InheritanceSpecifier", + "src": "4082:6:41" + }, + { + "baseName": { + "id": 5609, + "name": "IERC721Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5567, + "src": "4090:15:41" + }, + "id": 5610, + "nodeType": "InheritanceSpecifier", + "src": "4090:15:41" + }, + { + "baseName": { + "id": 5611, + "name": "IERC4973", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5605, + "src": "4107:8:41" + }, + "id": 5612, + "nodeType": "InheritanceSpecifier", + "src": "4107:8:41" + } + ], + "canonicalName": "ERC4973", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5606, + "nodeType": "StructuredDocumentation", + "src": "3906:147:41", + "text": "@notice Reference implementation of EIP-4973 tokens.\n @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)" + }, + "fullyImplemented": true, + "id": 5876, + "linearizedBaseContracts": [ + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "ERC4973", + "nameLocation": "4071:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5614, + "mutability": "mutable", + "name": "_name", + "nameLocation": "4137:5:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4122:20:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4122:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5616, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "4163:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4148:22:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5615, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4148:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5620, + "mutability": "mutable", + "name": "_owners", + "nameLocation": "4213:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4177:43:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 5619, + "keyType": { + "id": 5617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4185:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4177:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 5618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4196:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5624, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "4261:10:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4226:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 5623, + "keyType": { + "id": 5621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4234:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4226:26:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 5622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4245:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5628, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "4313:9:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4277:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5627, + "keyType": { + "id": 5625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4285:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "4277:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4296:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 5643, + "nodeType": "Block", + "src": "4385:57:41", + "statements": [ + { + "expression": { + "id": 5637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5635, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4395:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5636, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5630, + "src": "4403:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4395:13:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5638, + "nodeType": "ExpressionStatement", + "src": "4395:13:41" + }, + { + "expression": { + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5639, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4418:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5640, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5632, + "src": "4428:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4418:17:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5642, + "nodeType": "ExpressionStatement", + "src": "4418:17:41" + } + ] + }, + "id": 5644, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5630, + "mutability": "mutable", + "name": "name_", + "nameLocation": "4355:5:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4341:19:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4341:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5632, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "4376:7:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4362:21:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5631, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4362:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4340:44:41" + }, + "returnParameters": { + "id": 5634, + "nodeType": "ParameterList", + "parameters": [], + "src": "4385:0:41" + }, + "scope": 5876, + "src": "4329:113:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 5548 + ], + "body": { + "id": 5671, + "nodeType": "Block", + "src": "4583:193:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5652, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4612:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5654, + "name": "IERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5567, + "src": "4632:15:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + ], + "id": 5653, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4627:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4627:21:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$5567", + "typeString": "type(contract IERC721Metadata)" + } + }, + "id": 5656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4627:33:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4612:48:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5658, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4676:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5660, + "name": "IERC4973", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "4696:8:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + ], + "id": 5659, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4691:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC4973_$5605", + "typeString": "type(contract IERC4973)" + } + }, + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4691:26:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4676:41:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:105:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 5667, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 5665, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "4733:5:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC4973_$5876_$", + "typeString": "type(contract super ERC4973)" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 5548, + "src": "4733:23:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4733:36:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:157:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5651, + "id": 5670, + "nodeType": "Return", + "src": "4593:176:41" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 5672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4457:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5648, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4547:8:41" + }, + "parameters": { + "id": 5647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5646, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4482:11:41", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4475:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5645, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4475:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4474:20:41" + }, + "returnParameters": { + "id": 5651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5650, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4573:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4573:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4572:6:41" + }, + "scope": 5876, + "src": "4448:328:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5554 + ], + "body": { + "id": 5680, + "nodeType": "Block", + "src": "4851:29:41", + "statements": [ + { + "expression": { + "id": 5678, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4868:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5677, + "id": 5679, + "nodeType": "Return", + "src": "4861:12:41" + } + ] + }, + "functionSelector": "06fdde03", + "id": 5681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "4791:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5674, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4818:8:41" + }, + "parameters": { + "id": 5673, + "nodeType": "ParameterList", + "parameters": [], + "src": "4795:2:41" + }, + "returnParameters": { + "id": 5677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5676, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5681, + "src": "4836:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5675, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4836:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4835:15:41" + }, + "scope": 5876, + "src": "4782:98:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5559 + ], + "body": { + "id": 5689, + "nodeType": "Block", + "src": "4957:31:41", + "statements": [ + { + "expression": { + "id": 5687, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4974:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5686, + "id": 5688, + "nodeType": "Return", + "src": "4967:14:41" + } + ] + }, + "functionSelector": "95d89b41", + "id": 5690, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "4895:6:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5683, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4924:8:41" + }, + "parameters": { + "id": 5682, + "nodeType": "ParameterList", + "parameters": [], + "src": "4901:2:41" + }, + "returnParameters": { + "id": 5686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5690, + "src": "4942:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5684, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4942:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4941:15:41" + }, + "scope": 5876, + "src": "4886:102:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5566 + ], + "body": { + "id": 5709, + "nodeType": "Block", + "src": "5126:111:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5700, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5152:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5699, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "5144:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5144:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e5552493a20746f6b656e20646f65736e2774206578697374", + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5162:31:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + }, + "value": "tokenURI: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + } + ], + "id": 5698, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5136:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5136:58:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5704, + "nodeType": "ExpressionStatement", + "src": "5136:58:41" + }, + { + "expression": { + "baseExpression": { + "id": 5705, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "5211:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5707, + "indexExpression": { + "id": 5706, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5222:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5211:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5697, + "id": 5708, + "nodeType": "Return", + "src": "5204:26:41" + } + ] + }, + "functionSelector": "c87b56dd", + "id": 5710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "5003:8:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5694, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5081:8:41" + }, + "parameters": { + "id": 5693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5692, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5020:7:41", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5012:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5011:17:41" + }, + "returnParameters": { + "id": 5697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5107:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5107:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5106:15:41" + }, + "scope": 5876, + "src": "4994:243:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5604 + ], + "body": { + "id": 5730, + "nodeType": "Block", + "src": "5298:110:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5717, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5316:3:41", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5316:10:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 5720, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5338:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5719, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "5330:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5330:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5316:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6275726e3a2073656e646572206d757374206265206f776e6572", + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5348:28:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + }, + "value": "burn: sender must be owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + } + ], + "id": 5716, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5308:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5308:69:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5725, + "nodeType": "ExpressionStatement", + "src": "5308:69:41" + }, + { + "expression": { + "arguments": [ + { + "id": 5727, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5393:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5726, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5875, + "src": "5387:5:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5387:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5729, + "nodeType": "ExpressionStatement", + "src": "5387:14:41" + } + ] + }, + "functionSelector": "42966c68", + "id": 5731, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "5252:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5714, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5289:8:41" + }, + "parameters": { + "id": 5713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5712, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5265:7:41", + "nodeType": "VariableDeclaration", + "scope": 5731, + "src": "5257:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5257:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5256:17:41" + }, + "returnParameters": { + "id": 5715, + "nodeType": "ParameterList", + "parameters": [], + "src": "5298:0:41" + }, + "scope": 5876, + "src": "5243:165:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5590 + ], + "body": { + "id": 5753, + "nodeType": "Block", + "src": "5539:160:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5740, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5570:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5587:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5579:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5579:7:41", + "typeDescriptions": {} + } + }, + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5570:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "62616c616e63654f663a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5603:46:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + }, + "value": "balanceOf: address zero is not a valid owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + } + ], + "id": 5739, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5549:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5549:110:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5748, + "nodeType": "ExpressionStatement", + "src": "5549:110:41" + }, + { + "expression": { + "baseExpression": { + "id": 5749, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "5676:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5751, + "indexExpression": { + "id": 5750, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5686:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5676:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5738, + "id": 5752, + "nodeType": "Return", + "src": "5669:23:41" + } + ] + }, + "functionSelector": "70a08231", + "id": 5754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "5423:9:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5735, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5500:8:41" + }, + "parameters": { + "id": 5734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5733, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5441:5:41", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5433:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5433:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5432:15:41" + }, + "returnParameters": { + "id": 5738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5526:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5526:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5525:9:41" + }, + "scope": 5876, + "src": "5414:285:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5598 + ], + "body": { + "id": 5779, + "nodeType": "Block", + "src": "5777:141:41", + "statements": [ + { + "assignments": [ + 5762 + ], + "declarations": [ + { + "constant": false, + "id": 5762, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5795:5:41", + "nodeType": "VariableDeclaration", + "scope": 5779, + "src": "5787:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5787:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5766, + "initialValue": { + "baseExpression": { + "id": 5763, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "5803:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5765, + "indexExpression": { + "id": 5764, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5756, + "src": "5811:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5803:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5787:32:41" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5768, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5837:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5854:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5846:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5846:7:41", + "typeDescriptions": {} + } + }, + "id": 5772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5846:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5837:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6f776e65724f663a20746f6b656e20646f65736e2774206578697374", + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5858:30:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + }, + "value": "ownerOf: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + } + ], + "id": 5767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5829:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5829:60:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "5829:60:41" + }, + { + "expression": { + "id": 5777, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5906:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5760, + "id": 5778, + "nodeType": "Return", + "src": "5899:12:41" + } + ] + }, + "functionSelector": "6352211e", + "id": 5780, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "5714:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5756, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5730:7:41", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5722:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5722:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5721:17:41" + }, + "returnParameters": { + "id": 5760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5759, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5768:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5768:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5767:9:41" + }, + "scope": 5876, + "src": "5705:213:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 5796, + "nodeType": "Block", + "src": "5995:54:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5787, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5789, + "indexExpression": { + "id": 5788, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5782, + "src": "6020:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6012:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6040:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6032:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6032:7:41", + "typeDescriptions": {} + } + }, + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6012:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5786, + "id": 5795, + "nodeType": "Return", + "src": "6005:37:41" + } + ] + }, + "id": 5797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nameLocation": "5933:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5782, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5949:7:41", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5941:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5941:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5940:17:41" + }, + "returnParameters": { + "id": 5786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5989:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5989:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5988:6:41" + }, + "scope": 5876, + "src": "5924:125:41", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5841, + "nodeType": "Block", + "src": "6183:219:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6201:17:41", + "subExpression": { + "arguments": [ + { + "id": 5810, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6210:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5809, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "6202:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6202:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d696e743a20746f6b656e494420657869737473", + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6220:22:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + }, + "value": "mint: tokenID exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + } + ], + "id": 5808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6193:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6193:50:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5815, + "nodeType": "ExpressionStatement", + "src": "6193:50:41" + }, + { + "expression": { + "id": 5820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5816, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6253:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5818, + "indexExpression": { + "id": 5817, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6263:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6253:13:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 5819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6270:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6253:18:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5821, + "nodeType": "ExpressionStatement", + "src": "6253:18:41" + }, + { + "expression": { + "id": 5826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5822, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6281:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5824, + "indexExpression": { + "id": 5823, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6289:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6281:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5825, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6300:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6281:21:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5827, + "nodeType": "ExpressionStatement", + "src": "6281:21:41" + }, + { + "expression": { + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5828, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6312:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5830, + "indexExpression": { + "id": 5829, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6323:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6312:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5831, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5803, + "src": "6334:3:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6312:25:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5833, + "nodeType": "ExpressionStatement", + "src": "6312:25:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5835, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6359:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5836, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6363:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5834, + "name": "Attest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5575, + "src": "6352:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6352:19:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5838, + "nodeType": "EmitStatement", + "src": "6347:24:41" + }, + { + "expression": { + "id": 5839, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6388:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5807, + "id": 5840, + "nodeType": "Return", + "src": "6381:14:41" + } + ] + }, + "id": 5842, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "6064:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5799, + "mutability": "mutable", + "name": "to", + "nameLocation": "6087:2:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6079:10:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6079:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5801, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6107:7:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6099:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6099:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5803, + "mutability": "mutable", + "name": "uri", + "nameLocation": "6138:3:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6124:17:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6124:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6069:78:41" + }, + "returnParameters": { + "id": 5807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5806, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6174:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6174:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6173:9:41" + }, + "scope": 5876, + "src": "6055:347:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5874, + "nodeType": "Block", + "src": "6457:188:41", + "statements": [ + { + "assignments": [ + 5848 + ], + "declarations": [ + { + "constant": false, + "id": 5848, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6475:5:41", + "nodeType": "VariableDeclaration", + "scope": 5874, + "src": "6467:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6467:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5852, + "initialValue": { + "arguments": [ + { + "id": 5850, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6491:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5849, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6483:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6483:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6467:32:41" + }, + { + "expression": { + "id": 5857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5853, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6510:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5855, + "indexExpression": { + "id": 5854, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6520:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6510:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6530:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6510:21:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5858, + "nodeType": "ExpressionStatement", + "src": "6510:21:41" + }, + { + "expression": { + "id": 5862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6541:23:41", + "subExpression": { + "baseExpression": { + "id": 5859, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6548:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5861, + "indexExpression": { + "id": 5860, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6556:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6548:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5863, + "nodeType": "ExpressionStatement", + "src": "6541:23:41" + }, + { + "expression": { + "id": 5867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6574:26:41", + "subExpression": { + "baseExpression": { + "id": 5864, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6581:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5866, + "indexExpression": { + "id": 5865, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6592:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6581:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5868, + "nodeType": "ExpressionStatement", + "src": "6574:26:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6623:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5871, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6630:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5869, + "name": "Revoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "6616:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6616:22:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5873, + "nodeType": "EmitStatement", + "src": "6611:27:41" + } + ] + }, + "id": 5875, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "6417:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5844, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6431:7:41", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "6423:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6423:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6422:17:41" + }, + "returnParameters": { + "id": 5846, + "nodeType": "ParameterList", + "parameters": [], + "src": "6457:0:41" + }, + "scope": 5876, + "src": "6408:237:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 5877, + "src": "4053:2594:41", + "usedErrors": [] + } + ], + "src": "36:6612:41" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC165", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.", + "kind": "dev", + "methods": { + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." + } + }, + "version": 1 + }, + "offset": [ + 476, + 923 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "38ba42158af6f3e3b85639052b00f6ff9e032829", + "source": "// SPDX-License-Identifier: CC0-1.0\npragma solidity ^0.8.8;\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n\ninterface IERC721Metadata {\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n\n/// @title Account-bound tokens\n/// @dev See https://eips.ethereum.org/EIPS/eip-4973\n/// Note: the ERC-165 identifier for this interface is 0x5164cf47\ninterface IERC4973 {\n /// @dev This emits when a new token is created and bound to an account by\n /// any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Attest(address indexed to, uint256 indexed tokenId);\n /// @dev This emits when an existing ABT is revoked from an account and\n /// destroyed by any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Revoke(address indexed to, uint256 indexed tokenId);\n\n /// @notice Count all ABTs assigned to an owner\n /// @dev ABTs assigned to the zero address are considered invalid, and this\n /// function throws for queries about the zero address.\n /// @param owner An address for whom to query the balance\n /// @return The number of ABTs owned by `owner`, possibly zero\n function balanceOf(address owner) external view returns (uint256);\n\n /// @notice Find the address bound to an ERC4973 account-bound token\n /// @dev ABTs assigned to zero address are considered invalid, and queries\n /// about them do throw.\n /// @param tokenId The identifier for an ABT\n /// @return The address of the owner bound to the ABT\n function ownerOf(uint256 tokenId) external view returns (address);\n\n /// @notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n /// disassociate themselves from an ABT publicly through calling this\n /// function.\n /// @dev Must emit a `event Revoke` with the `address to` field pointing to\n /// the zero address.\n /// @param tokenId The identifier for an ABT\n function burn(uint256 tokenId) external;\n}\n\n/// @notice Reference implementation of EIP-4973 tokens.\n/// @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)\nabstract contract ERC4973 is ERC165, IERC721Metadata, IERC4973 {\n string private _name;\n string private _symbol;\n\n mapping(uint256 => address) private _owners;\n mapping(uint256 => string) private _tokenURIs;\n mapping(address => uint256) private _balances;\n\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return\n interfaceId == type(IERC721Metadata).interfaceId ||\n interfaceId == type(IERC4973).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n function tokenURI(uint256 tokenId)\n public\n view\n virtual\n override\n returns (string memory)\n {\n require(_exists(tokenId), \"tokenURI: token doesn't exist\");\n return _tokenURIs[tokenId];\n }\n\n function burn(uint256 tokenId) public virtual override {\n require(msg.sender == ownerOf(tokenId), \"burn: sender must be owner\");\n _burn(tokenId);\n }\n\n function balanceOf(address owner)\n public\n view\n virtual\n override\n returns (uint256)\n {\n require(\n owner != address(0),\n \"balanceOf: address zero is not a valid owner\"\n );\n return _balances[owner];\n }\n\n function ownerOf(uint256 tokenId) public view virtual returns (address) {\n address owner = _owners[tokenId];\n require(owner != address(0), \"ownerOf: token doesn't exist\");\n return owner;\n }\n\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _owners[tokenId] != address(0);\n }\n\n function _mint(\n address to,\n uint256 tokenId,\n string memory uri\n ) internal virtual returns (uint256) {\n require(!_exists(tokenId), \"mint: tokenID exists\");\n _balances[to] += 1;\n _owners[tokenId] = to;\n _tokenURIs[tokenId] = uri;\n emit Attest(to, tokenId);\n return tokenId;\n }\n\n function _burn(uint256 tokenId) internal virtual {\n address owner = ownerOf(tokenId);\n\n _balances[owner] -= 1;\n delete _owners[tokenId];\n delete _tokenURIs[tokenId];\n\n emit Revoke(owner, tokenId);\n }\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IERC4973.json b/tests/build/contracts/IERC4973.json new file mode 100644 index 0000000..6cb53e0 --- /dev/null +++ b/tests/build/contracts/IERC4973.json @@ -0,0 +1,4552 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Attest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Revoke", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "exportedSymbols": { + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ] + }, + "id": 5877, + "license": "CC0-1.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5518, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:41" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5519, + "nodeType": "StructuredDocumentation", + "src": "196:279:41", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 5528, + "linearizedBaseContracts": [ + 5528 + ], + "name": "IERC165", + "nameLocation": "486:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 5520, + "nodeType": "StructuredDocumentation", + "src": "500:340:41", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 5527, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "854:17:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5522, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "879:11:41", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "872:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5521, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "872:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "871:20:41" + }, + "returnParameters": { + "id": 5526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "915:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "915:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "914:6:41" + }, + "scope": 5528, + "src": "845:76:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "476:447:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5530, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5528, + "src": "1530:7:41" + }, + "id": 5531, + "nodeType": "InheritanceSpecifier", + "src": "1530:7:41" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5529, + "nodeType": "StructuredDocumentation", + "src": "925:576:41", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 5549, + "linearizedBaseContracts": [ + 5549, + 5528 + ], + "name": "ERC165", + "nameLocation": "1520:6:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 5527 + ], + "body": { + "id": 5547, + "nodeType": "Block", + "src": "1740:64:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5540, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5534, + "src": "1757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5542, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5528, + "src": "1777:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 5541, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1772:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1772:13:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$5528", + "typeString": "type(contract IERC165)" + } + }, + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1772:25:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1757:40:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5539, + "id": 5546, + "nodeType": "Return", + "src": "1750:47:41" + } + ] + }, + "documentation": { + "id": 5532, + "nodeType": "StructuredDocumentation", + "src": "1544:56:41", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 5548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1614:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5536, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1704:8:41" + }, + "parameters": { + "id": 5535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5534, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1639:11:41", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1632:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5533, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1632:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1631:20:41" + }, + "returnParameters": { + "id": 5539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5538, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1730:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1730:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1729:6:41" + }, + "scope": 5549, + "src": "1605:199:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 5877, + "src": "1502:304:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Metadata", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 5567, + "linearizedBaseContracts": [ + 5567 + ], + "name": "IERC721Metadata", + "nameLocation": "1818:15:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "06fdde03", + "id": 5554, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1849:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5550, + "nodeType": "ParameterList", + "parameters": [], + "src": "1853:2:41" + }, + "returnParameters": { + "id": 5553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5552, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5554, + "src": "1879:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1879:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1878:15:41" + }, + "scope": 5567, + "src": "1840:54:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "95d89b41", + "id": 5559, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "1909:6:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5555, + "nodeType": "ParameterList", + "parameters": [], + "src": "1915:2:41" + }, + "returnParameters": { + "id": 5558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5557, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5559, + "src": "1941:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5556, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1940:15:41" + }, + "scope": 5567, + "src": "1900:56:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c87b56dd", + "id": 5566, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1971:8:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5561, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1988:7:41", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "1980:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1980:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1979:17:41" + }, + "returnParameters": { + "id": 5565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5564, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "2020:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2020:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2019:15:41" + }, + "scope": 5567, + "src": "1962:73:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "1808:229:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC4973", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5568, + "nodeType": "StructuredDocumentation", + "src": "2039:151:41", + "text": "@title Account-bound tokens\n @dev See https://eips.ethereum.org/EIPS/eip-4973\n Note: the ERC-165 identifier for this interface is 0x5164cf47" + }, + "fullyImplemented": false, + "id": 5605, + "linearizedBaseContracts": [ + 5605 + ], + "name": "IERC4973", + "nameLocation": "2200:8:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 5569, + "nodeType": "StructuredDocumentation", + "src": "2215:207:41", + "text": "@dev This emits when a new token is created and bound to an account by\n any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "e9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a27", + "id": 5575, + "name": "Attest", + "nameLocation": "2433:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5571, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2456:2:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2440:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5573, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2476:7:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2460:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2460:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:45:41" + }, + "src": "2427:58:41" + }, + { + "anonymous": false, + "documentation": { + "id": 5576, + "nodeType": "StructuredDocumentation", + "src": "2490:217:41", + "text": "@dev This emits when an existing ABT is revoked from an account and\n destroyed by any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "ec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b", + "id": 5582, + "name": "Revoke", + "nameLocation": "2718:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5578, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2741:2:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2725:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2725:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5580, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2761:7:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2745:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2724:45:41" + }, + "src": "2712:58:41" + }, + { + "documentation": { + "id": 5583, + "nodeType": "StructuredDocumentation", + "src": "2776:317:41", + "text": "@notice Count all ABTs assigned to an owner\n @dev ABTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param owner An address for whom to query the balance\n @return The number of ABTs owned by `owner`, possibly zero" + }, + "functionSelector": "70a08231", + "id": 5590, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3107:9:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5585, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3125:5:41", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3117:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3117:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3116:15:41" + }, + "returnParameters": { + "id": 5589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5588, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3155:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:9:41" + }, + "scope": 5605, + "src": "3098:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5591, + "nodeType": "StructuredDocumentation", + "src": "3170:284:41", + "text": "@notice Find the address bound to an ERC4973 account-bound token\n @dev ABTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param tokenId The identifier for an ABT\n @return The address of the owner bound to the ABT" + }, + "functionSelector": "6352211e", + "id": 5598, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3468:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5593, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3484:7:41", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3476:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3476:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3475:17:41" + }, + "returnParameters": { + "id": 5597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5596, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3516:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3516:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3515:9:41" + }, + "scope": 5605, + "src": "3459:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5599, + "nodeType": "StructuredDocumentation", + "src": "3531:326:41", + "text": "@notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n disassociate themselves from an ABT publicly through calling this\n function.\n @dev Must emit a `event Revoke` with the `address to` field pointing to\n the zero address.\n @param tokenId The identifier for an ABT" + }, + "functionSelector": "42966c68", + "id": 5604, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "3871:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5601, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3884:7:41", + "nodeType": "VariableDeclaration", + "scope": 5604, + "src": "3876:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3876:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3875:17:41" + }, + "returnParameters": { + "id": 5603, + "nodeType": "ParameterList", + "parameters": [], + "src": "3901:0:41" + }, + "scope": 5605, + "src": "3862:40:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "2190:1714:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5607, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5549, + "src": "4082:6:41" + }, + "id": 5608, + "nodeType": "InheritanceSpecifier", + "src": "4082:6:41" + }, + { + "baseName": { + "id": 5609, + "name": "IERC721Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5567, + "src": "4090:15:41" + }, + "id": 5610, + "nodeType": "InheritanceSpecifier", + "src": "4090:15:41" + }, + { + "baseName": { + "id": 5611, + "name": "IERC4973", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5605, + "src": "4107:8:41" + }, + "id": 5612, + "nodeType": "InheritanceSpecifier", + "src": "4107:8:41" + } + ], + "canonicalName": "ERC4973", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5606, + "nodeType": "StructuredDocumentation", + "src": "3906:147:41", + "text": "@notice Reference implementation of EIP-4973 tokens.\n @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)" + }, + "fullyImplemented": true, + "id": 5876, + "linearizedBaseContracts": [ + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "ERC4973", + "nameLocation": "4071:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5614, + "mutability": "mutable", + "name": "_name", + "nameLocation": "4137:5:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4122:20:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4122:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5616, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "4163:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4148:22:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5615, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4148:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5620, + "mutability": "mutable", + "name": "_owners", + "nameLocation": "4213:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4177:43:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 5619, + "keyType": { + "id": 5617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4185:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4177:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 5618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4196:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5624, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "4261:10:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4226:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 5623, + "keyType": { + "id": 5621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4234:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4226:26:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 5622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4245:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5628, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "4313:9:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4277:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5627, + "keyType": { + "id": 5625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4285:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "4277:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4296:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 5643, + "nodeType": "Block", + "src": "4385:57:41", + "statements": [ + { + "expression": { + "id": 5637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5635, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4395:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5636, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5630, + "src": "4403:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4395:13:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5638, + "nodeType": "ExpressionStatement", + "src": "4395:13:41" + }, + { + "expression": { + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5639, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4418:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5640, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5632, + "src": "4428:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4418:17:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5642, + "nodeType": "ExpressionStatement", + "src": "4418:17:41" + } + ] + }, + "id": 5644, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5630, + "mutability": "mutable", + "name": "name_", + "nameLocation": "4355:5:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4341:19:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4341:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5632, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "4376:7:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4362:21:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5631, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4362:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4340:44:41" + }, + "returnParameters": { + "id": 5634, + "nodeType": "ParameterList", + "parameters": [], + "src": "4385:0:41" + }, + "scope": 5876, + "src": "4329:113:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 5548 + ], + "body": { + "id": 5671, + "nodeType": "Block", + "src": "4583:193:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5652, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4612:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5654, + "name": "IERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5567, + "src": "4632:15:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + ], + "id": 5653, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4627:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4627:21:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$5567", + "typeString": "type(contract IERC721Metadata)" + } + }, + "id": 5656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4627:33:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4612:48:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5658, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4676:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5660, + "name": "IERC4973", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "4696:8:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + ], + "id": 5659, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4691:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC4973_$5605", + "typeString": "type(contract IERC4973)" + } + }, + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4691:26:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4676:41:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:105:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 5667, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 5665, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "4733:5:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC4973_$5876_$", + "typeString": "type(contract super ERC4973)" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 5548, + "src": "4733:23:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4733:36:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:157:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5651, + "id": 5670, + "nodeType": "Return", + "src": "4593:176:41" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 5672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4457:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5648, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4547:8:41" + }, + "parameters": { + "id": 5647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5646, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4482:11:41", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4475:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5645, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4475:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4474:20:41" + }, + "returnParameters": { + "id": 5651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5650, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4573:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4573:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4572:6:41" + }, + "scope": 5876, + "src": "4448:328:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5554 + ], + "body": { + "id": 5680, + "nodeType": "Block", + "src": "4851:29:41", + "statements": [ + { + "expression": { + "id": 5678, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4868:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5677, + "id": 5679, + "nodeType": "Return", + "src": "4861:12:41" + } + ] + }, + "functionSelector": "06fdde03", + "id": 5681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "4791:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5674, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4818:8:41" + }, + "parameters": { + "id": 5673, + "nodeType": "ParameterList", + "parameters": [], + "src": "4795:2:41" + }, + "returnParameters": { + "id": 5677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5676, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5681, + "src": "4836:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5675, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4836:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4835:15:41" + }, + "scope": 5876, + "src": "4782:98:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5559 + ], + "body": { + "id": 5689, + "nodeType": "Block", + "src": "4957:31:41", + "statements": [ + { + "expression": { + "id": 5687, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4974:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5686, + "id": 5688, + "nodeType": "Return", + "src": "4967:14:41" + } + ] + }, + "functionSelector": "95d89b41", + "id": 5690, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "4895:6:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5683, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4924:8:41" + }, + "parameters": { + "id": 5682, + "nodeType": "ParameterList", + "parameters": [], + "src": "4901:2:41" + }, + "returnParameters": { + "id": 5686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5690, + "src": "4942:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5684, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4942:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4941:15:41" + }, + "scope": 5876, + "src": "4886:102:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5566 + ], + "body": { + "id": 5709, + "nodeType": "Block", + "src": "5126:111:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5700, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5152:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5699, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "5144:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5144:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e5552493a20746f6b656e20646f65736e2774206578697374", + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5162:31:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + }, + "value": "tokenURI: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + } + ], + "id": 5698, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5136:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5136:58:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5704, + "nodeType": "ExpressionStatement", + "src": "5136:58:41" + }, + { + "expression": { + "baseExpression": { + "id": 5705, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "5211:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5707, + "indexExpression": { + "id": 5706, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5222:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5211:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5697, + "id": 5708, + "nodeType": "Return", + "src": "5204:26:41" + } + ] + }, + "functionSelector": "c87b56dd", + "id": 5710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "5003:8:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5694, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5081:8:41" + }, + "parameters": { + "id": 5693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5692, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5020:7:41", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5012:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5011:17:41" + }, + "returnParameters": { + "id": 5697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5107:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5107:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5106:15:41" + }, + "scope": 5876, + "src": "4994:243:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5604 + ], + "body": { + "id": 5730, + "nodeType": "Block", + "src": "5298:110:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5717, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5316:3:41", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5316:10:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 5720, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5338:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5719, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "5330:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5330:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5316:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6275726e3a2073656e646572206d757374206265206f776e6572", + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5348:28:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + }, + "value": "burn: sender must be owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + } + ], + "id": 5716, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5308:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5308:69:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5725, + "nodeType": "ExpressionStatement", + "src": "5308:69:41" + }, + { + "expression": { + "arguments": [ + { + "id": 5727, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5393:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5726, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5875, + "src": "5387:5:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5387:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5729, + "nodeType": "ExpressionStatement", + "src": "5387:14:41" + } + ] + }, + "functionSelector": "42966c68", + "id": 5731, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "5252:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5714, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5289:8:41" + }, + "parameters": { + "id": 5713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5712, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5265:7:41", + "nodeType": "VariableDeclaration", + "scope": 5731, + "src": "5257:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5257:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5256:17:41" + }, + "returnParameters": { + "id": 5715, + "nodeType": "ParameterList", + "parameters": [], + "src": "5298:0:41" + }, + "scope": 5876, + "src": "5243:165:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5590 + ], + "body": { + "id": 5753, + "nodeType": "Block", + "src": "5539:160:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5740, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5570:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5587:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5579:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5579:7:41", + "typeDescriptions": {} + } + }, + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5570:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "62616c616e63654f663a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5603:46:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + }, + "value": "balanceOf: address zero is not a valid owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + } + ], + "id": 5739, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5549:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5549:110:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5748, + "nodeType": "ExpressionStatement", + "src": "5549:110:41" + }, + { + "expression": { + "baseExpression": { + "id": 5749, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "5676:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5751, + "indexExpression": { + "id": 5750, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5686:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5676:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5738, + "id": 5752, + "nodeType": "Return", + "src": "5669:23:41" + } + ] + }, + "functionSelector": "70a08231", + "id": 5754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "5423:9:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5735, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5500:8:41" + }, + "parameters": { + "id": 5734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5733, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5441:5:41", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5433:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5433:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5432:15:41" + }, + "returnParameters": { + "id": 5738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5526:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5526:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5525:9:41" + }, + "scope": 5876, + "src": "5414:285:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5598 + ], + "body": { + "id": 5779, + "nodeType": "Block", + "src": "5777:141:41", + "statements": [ + { + "assignments": [ + 5762 + ], + "declarations": [ + { + "constant": false, + "id": 5762, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5795:5:41", + "nodeType": "VariableDeclaration", + "scope": 5779, + "src": "5787:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5787:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5766, + "initialValue": { + "baseExpression": { + "id": 5763, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "5803:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5765, + "indexExpression": { + "id": 5764, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5756, + "src": "5811:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5803:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5787:32:41" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5768, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5837:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5854:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5846:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5846:7:41", + "typeDescriptions": {} + } + }, + "id": 5772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5846:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5837:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6f776e65724f663a20746f6b656e20646f65736e2774206578697374", + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5858:30:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + }, + "value": "ownerOf: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + } + ], + "id": 5767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5829:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5829:60:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "5829:60:41" + }, + { + "expression": { + "id": 5777, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5906:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5760, + "id": 5778, + "nodeType": "Return", + "src": "5899:12:41" + } + ] + }, + "functionSelector": "6352211e", + "id": 5780, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "5714:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5756, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5730:7:41", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5722:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5722:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5721:17:41" + }, + "returnParameters": { + "id": 5760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5759, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5768:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5768:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5767:9:41" + }, + "scope": 5876, + "src": "5705:213:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 5796, + "nodeType": "Block", + "src": "5995:54:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5787, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5789, + "indexExpression": { + "id": 5788, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5782, + "src": "6020:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6012:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6040:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6032:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6032:7:41", + "typeDescriptions": {} + } + }, + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6012:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5786, + "id": 5795, + "nodeType": "Return", + "src": "6005:37:41" + } + ] + }, + "id": 5797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nameLocation": "5933:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5782, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5949:7:41", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5941:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5941:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5940:17:41" + }, + "returnParameters": { + "id": 5786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5989:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5989:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5988:6:41" + }, + "scope": 5876, + "src": "5924:125:41", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5841, + "nodeType": "Block", + "src": "6183:219:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6201:17:41", + "subExpression": { + "arguments": [ + { + "id": 5810, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6210:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5809, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "6202:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6202:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d696e743a20746f6b656e494420657869737473", + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6220:22:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + }, + "value": "mint: tokenID exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + } + ], + "id": 5808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6193:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6193:50:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5815, + "nodeType": "ExpressionStatement", + "src": "6193:50:41" + }, + { + "expression": { + "id": 5820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5816, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6253:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5818, + "indexExpression": { + "id": 5817, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6263:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6253:13:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 5819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6270:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6253:18:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5821, + "nodeType": "ExpressionStatement", + "src": "6253:18:41" + }, + { + "expression": { + "id": 5826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5822, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6281:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5824, + "indexExpression": { + "id": 5823, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6289:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6281:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5825, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6300:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6281:21:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5827, + "nodeType": "ExpressionStatement", + "src": "6281:21:41" + }, + { + "expression": { + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5828, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6312:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5830, + "indexExpression": { + "id": 5829, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6323:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6312:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5831, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5803, + "src": "6334:3:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6312:25:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5833, + "nodeType": "ExpressionStatement", + "src": "6312:25:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5835, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6359:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5836, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6363:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5834, + "name": "Attest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5575, + "src": "6352:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6352:19:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5838, + "nodeType": "EmitStatement", + "src": "6347:24:41" + }, + { + "expression": { + "id": 5839, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6388:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5807, + "id": 5840, + "nodeType": "Return", + "src": "6381:14:41" + } + ] + }, + "id": 5842, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "6064:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5799, + "mutability": "mutable", + "name": "to", + "nameLocation": "6087:2:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6079:10:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6079:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5801, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6107:7:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6099:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6099:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5803, + "mutability": "mutable", + "name": "uri", + "nameLocation": "6138:3:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6124:17:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6124:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6069:78:41" + }, + "returnParameters": { + "id": 5807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5806, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6174:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6174:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6173:9:41" + }, + "scope": 5876, + "src": "6055:347:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5874, + "nodeType": "Block", + "src": "6457:188:41", + "statements": [ + { + "assignments": [ + 5848 + ], + "declarations": [ + { + "constant": false, + "id": 5848, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6475:5:41", + "nodeType": "VariableDeclaration", + "scope": 5874, + "src": "6467:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6467:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5852, + "initialValue": { + "arguments": [ + { + "id": 5850, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6491:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5849, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6483:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6483:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6467:32:41" + }, + { + "expression": { + "id": 5857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5853, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6510:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5855, + "indexExpression": { + "id": 5854, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6520:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6510:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6530:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6510:21:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5858, + "nodeType": "ExpressionStatement", + "src": "6510:21:41" + }, + { + "expression": { + "id": 5862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6541:23:41", + "subExpression": { + "baseExpression": { + "id": 5859, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6548:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5861, + "indexExpression": { + "id": 5860, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6556:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6548:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5863, + "nodeType": "ExpressionStatement", + "src": "6541:23:41" + }, + { + "expression": { + "id": 5867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6574:26:41", + "subExpression": { + "baseExpression": { + "id": 5864, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6581:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5866, + "indexExpression": { + "id": 5865, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6592:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6581:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5868, + "nodeType": "ExpressionStatement", + "src": "6574:26:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6623:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5871, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6630:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5869, + "name": "Revoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "6616:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6616:22:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5873, + "nodeType": "EmitStatement", + "src": "6611:27:41" + } + ] + }, + "id": 5875, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "6417:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5844, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6431:7:41", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "6423:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6423:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6422:17:41" + }, + "returnParameters": { + "id": 5846, + "nodeType": "ParameterList", + "parameters": [], + "src": "6457:0:41" + }, + "scope": 5876, + "src": "6408:237:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 5877, + "src": "4053:2594:41", + "usedErrors": [] + } + ], + "src": "36:6612:41" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC4973", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "See https://eips.ethereum.org/EIPS/eip-4973 Note: the ERC-165 identifier for this interface is 0x5164cf47", + "events": { + "Attest(address,uint256)": { + "details": "This emits when a new token is created and bound to an account by any mechanism. Note: For a reliable `from` parameter, retrieve the transaction's authenticated `from` field." + }, + "Revoke(address,uint256)": { + "details": "This emits when an existing ABT is revoked from an account and destroyed by any mechanism. Note: For a reliable `from` parameter, retrieve the transaction's authenticated `from` field." + } + }, + "kind": "dev", + "methods": { + "balanceOf(address)": { + "details": "ABTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.", + "notice": "Count all ABTs assigned to an owner", + "params": { + "owner": "An address for whom to query the balance" + }, + "returns": { + "_0": "The number of ABTs owned by `owner`, possibly zero" + } + }, + "burn(uint256)": { + "details": "Must emit a `event Revoke` with the `address to` field pointing to the zero address.", + "notice": "Destroys `tokenId`. At any time, an ABT receiver must be able to disassociate themselves from an ABT publicly through calling this function.", + "params": { + "tokenId": "The identifier for an ABT" + } + }, + "ownerOf(uint256)": { + "details": "ABTs assigned to zero address are considered invalid, and queries about them do throw.", + "notice": "Find the address bound to an ERC4973 account-bound token", + "params": { + "tokenId": "The identifier for an ABT" + }, + "returns": { + "_0": "The address of the owner bound to the ABT" + } + } + }, + "title": "Account-bound tokens", + "version": 1 + }, + "offset": [ + 2190, + 3904 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "38ba42158af6f3e3b85639052b00f6ff9e032829", + "source": "// SPDX-License-Identifier: CC0-1.0\npragma solidity ^0.8.8;\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n\ninterface IERC721Metadata {\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n\n/// @title Account-bound tokens\n/// @dev See https://eips.ethereum.org/EIPS/eip-4973\n/// Note: the ERC-165 identifier for this interface is 0x5164cf47\ninterface IERC4973 {\n /// @dev This emits when a new token is created and bound to an account by\n /// any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Attest(address indexed to, uint256 indexed tokenId);\n /// @dev This emits when an existing ABT is revoked from an account and\n /// destroyed by any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Revoke(address indexed to, uint256 indexed tokenId);\n\n /// @notice Count all ABTs assigned to an owner\n /// @dev ABTs assigned to the zero address are considered invalid, and this\n /// function throws for queries about the zero address.\n /// @param owner An address for whom to query the balance\n /// @return The number of ABTs owned by `owner`, possibly zero\n function balanceOf(address owner) external view returns (uint256);\n\n /// @notice Find the address bound to an ERC4973 account-bound token\n /// @dev ABTs assigned to zero address are considered invalid, and queries\n /// about them do throw.\n /// @param tokenId The identifier for an ABT\n /// @return The address of the owner bound to the ABT\n function ownerOf(uint256 tokenId) external view returns (address);\n\n /// @notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n /// disassociate themselves from an ABT publicly through calling this\n /// function.\n /// @dev Must emit a `event Revoke` with the `address to` field pointing to\n /// the zero address.\n /// @param tokenId The identifier for an ABT\n function burn(uint256 tokenId) external;\n}\n\n/// @notice Reference implementation of EIP-4973 tokens.\n/// @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)\nabstract contract ERC4973 is ERC165, IERC721Metadata, IERC4973 {\n string private _name;\n string private _symbol;\n\n mapping(uint256 => address) private _owners;\n mapping(uint256 => string) private _tokenURIs;\n mapping(address => uint256) private _balances;\n\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return\n interfaceId == type(IERC721Metadata).interfaceId ||\n interfaceId == type(IERC4973).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n function tokenURI(uint256 tokenId)\n public\n view\n virtual\n override\n returns (string memory)\n {\n require(_exists(tokenId), \"tokenURI: token doesn't exist\");\n return _tokenURIs[tokenId];\n }\n\n function burn(uint256 tokenId) public virtual override {\n require(msg.sender == ownerOf(tokenId), \"burn: sender must be owner\");\n _burn(tokenId);\n }\n\n function balanceOf(address owner)\n public\n view\n virtual\n override\n returns (uint256)\n {\n require(\n owner != address(0),\n \"balanceOf: address zero is not a valid owner\"\n );\n return _balances[owner];\n }\n\n function ownerOf(uint256 tokenId) public view virtual returns (address) {\n address owner = _owners[tokenId];\n require(owner != address(0), \"ownerOf: token doesn't exist\");\n return owner;\n }\n\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _owners[tokenId] != address(0);\n }\n\n function _mint(\n address to,\n uint256 tokenId,\n string memory uri\n ) internal virtual returns (uint256) {\n require(!_exists(tokenId), \"mint: tokenID exists\");\n _balances[to] += 1;\n _owners[tokenId] = to;\n _tokenURIs[tokenId] = uri;\n emit Attest(to, tokenId);\n return tokenId;\n }\n\n function _burn(uint256 tokenId) internal virtual {\n address owner = ownerOf(tokenId);\n\n _balances[owner] -= 1;\n delete _owners[tokenId];\n delete _tokenURIs[tokenId];\n\n emit Revoke(owner, tokenId);\n }\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IERC721A.json b/tests/build/contracts/IERC721A.json new file mode 100644 index 0000000..03aaf0e --- /dev/null +++ b/tests/build/contracts/IERC721A.json @@ -0,0 +1,1229 @@ +{ + "abi": [ + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "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": "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "exportedSymbols": { + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721Metadata": [ + 6780 + ] + }, + "id": 3391, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3321, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:22" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "file": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "id": 3322, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3391, + "sourceUnit": 6754, + "src": "585:58:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "id": 3323, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3391, + "sourceUnit": 6781, + "src": "644:77:22", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3325, + "name": "IERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6753, + "src": "805:7:22" + }, + "id": 3326, + "nodeType": "InheritanceSpecifier", + "src": "805:7:22" + }, + { + "baseName": { + "id": 3327, + "name": "IERC721Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6780, + "src": "814:15:22" + }, + "id": 3328, + "nodeType": "InheritanceSpecifier", + "src": "814:15:22" + } + ], + "canonicalName": "IERC721A", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3324, + "nodeType": "StructuredDocumentation", + "src": "723:59:22", + "text": " @dev Interface of an ERC721A compliant contract." + }, + "fullyImplemented": false, + "id": 3390, + "linearizedBaseContracts": [ + 3390, + 6780, + 6753, + 6792 + ], + "name": "IERC721A", + "nameLocation": "793:8:22", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 3329, + "nodeType": "StructuredDocumentation", + "src": "836:76:22", + "text": " The caller must own the token or be an approved operator." + }, + "errorSelector": "cfb3b942", + "id": 3331, + "name": "ApprovalCallerNotOwnerNorApproved", + "nameLocation": "923:33:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3330, + "nodeType": "ParameterList", + "parameters": [], + "src": "956:2:22" + }, + "src": "917:42:22" + }, + { + "documentation": { + "id": 3332, + "nodeType": "StructuredDocumentation", + "src": "965:44:22", + "text": " The token does not exist." + }, + "errorSelector": "cf4700e4", + "id": 3334, + "name": "ApprovalQueryForNonexistentToken", + "nameLocation": "1020:32:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3333, + "nodeType": "ParameterList", + "parameters": [], + "src": "1052:2:22" + }, + "src": "1014:41:22" + }, + { + "documentation": { + "id": 3335, + "nodeType": "StructuredDocumentation", + "src": "1061:66:22", + "text": " The caller cannot approve to their own address." + }, + "errorSelector": "b06307db", + "id": 3337, + "name": "ApproveToCaller", + "nameLocation": "1138:15:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3336, + "nodeType": "ParameterList", + "parameters": [], + "src": "1153:2:22" + }, + "src": "1132:24:22" + }, + { + "documentation": { + "id": 3338, + "nodeType": "StructuredDocumentation", + "src": "1162:66:22", + "text": " The caller cannot approve to the current owner." + }, + "errorSelector": "943f7b8c", + "id": 3340, + "name": "ApprovalToCurrentOwner", + "nameLocation": "1239:22:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3339, + "nodeType": "ParameterList", + "parameters": [], + "src": "1261:2:22" + }, + "src": "1233:31:22" + }, + { + "documentation": { + "id": 3341, + "nodeType": "StructuredDocumentation", + "src": "1270:65:22", + "text": " Cannot query the balance for the zero address." + }, + "errorSelector": "8f4eb604", + "id": 3343, + "name": "BalanceQueryForZeroAddress", + "nameLocation": "1346:26:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3342, + "nodeType": "ParameterList", + "parameters": [], + "src": "1372:2:22" + }, + "src": "1340:35:22" + }, + { + "documentation": { + "id": 3344, + "nodeType": "StructuredDocumentation", + "src": "1381:51:22", + "text": " Cannot mint to the zero address." + }, + "errorSelector": "2e076300", + "id": 3346, + "name": "MintToZeroAddress", + "nameLocation": "1443:17:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3345, + "nodeType": "ParameterList", + "parameters": [], + "src": "1460:2:22" + }, + "src": "1437:26:22" + }, + { + "documentation": { + "id": 3347, + "nodeType": "StructuredDocumentation", + "src": "1469:72:22", + "text": " The quantity of tokens minted must be more than zero." + }, + "errorSelector": "b562e8dd", + "id": 3349, + "name": "MintZeroQuantity", + "nameLocation": "1552:16:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3348, + "nodeType": "ParameterList", + "parameters": [], + "src": "1568:2:22" + }, + "src": "1546:25:22" + }, + { + "documentation": { + "id": 3350, + "nodeType": "StructuredDocumentation", + "src": "1577:44:22", + "text": " The token does not exist." + }, + "errorSelector": "df2d9b42", + "id": 3352, + "name": "OwnerQueryForNonexistentToken", + "nameLocation": "1632:29:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3351, + "nodeType": "ParameterList", + "parameters": [], + "src": "1661:2:22" + }, + "src": "1626:38:22" + }, + { + "documentation": { + "id": 3353, + "nodeType": "StructuredDocumentation", + "src": "1670:76:22", + "text": " The caller must own the token or be an approved operator." + }, + "errorSelector": "59c896be", + "id": 3355, + "name": "TransferCallerNotOwnerNorApproved", + "nameLocation": "1757:33:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3354, + "nodeType": "ParameterList", + "parameters": [], + "src": "1790:2:22" + }, + "src": "1751:42:22" + }, + { + "documentation": { + "id": 3356, + "nodeType": "StructuredDocumentation", + "src": "1799:53:22", + "text": " The token must be owned by `from`." + }, + "errorSelector": "a1148100", + "id": 3358, + "name": "TransferFromIncorrectOwner", + "nameLocation": "1863:26:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3357, + "nodeType": "ParameterList", + "parameters": [], + "src": "1889:2:22" + }, + "src": "1857:35:22" + }, + { + "documentation": { + "id": 3359, + "nodeType": "StructuredDocumentation", + "src": "1898:109:22", + "text": " Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + }, + "errorSelector": "d1a57ed6", + "id": 3361, + "name": "TransferToNonERC721ReceiverImplementer", + "nameLocation": "2018:38:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3360, + "nodeType": "ParameterList", + "parameters": [], + "src": "2056:2:22" + }, + "src": "2012:47:22" + }, + { + "documentation": { + "id": 3362, + "nodeType": "StructuredDocumentation", + "src": "2065:55:22", + "text": " Cannot transfer to the zero address." + }, + "errorSelector": "ea553b34", + "id": 3364, + "name": "TransferToZeroAddress", + "nameLocation": "2131:21:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3363, + "nodeType": "ParameterList", + "parameters": [], + "src": "2152:2:22" + }, + "src": "2125:30:22" + }, + { + "documentation": { + "id": 3365, + "nodeType": "StructuredDocumentation", + "src": "2161:44:22", + "text": " The token does not exist." + }, + "errorSelector": "a14c4b50", + "id": 3367, + "name": "URIQueryForNonexistentToken", + "nameLocation": "2216:27:22", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3366, + "nodeType": "ParameterList", + "parameters": [], + "src": "2243:2:22" + }, + "src": "2210:36:22" + }, + { + "canonicalName": "IERC721A.TokenOwnership", + "id": 3374, + "members": [ + { + "constant": false, + "id": 3369, + "mutability": "mutable", + "name": "addr", + "nameLocation": "2387:4:22", + "nodeType": "VariableDeclaration", + "scope": 3374, + "src": "2379:12:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2379:7:22", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3371, + "mutability": "mutable", + "name": "startTimestamp", + "nameLocation": "2500:14:22", + "nodeType": "VariableDeclaration", + "scope": 3374, + "src": "2493:21:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3370, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2493:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3373, + "mutability": "mutable", + "name": "burned", + "nameLocation": "2575:6:22", + "nodeType": "VariableDeclaration", + "scope": 3374, + "src": "2570:11:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2570:4:22", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "TokenOwnership", + "nameLocation": "2317:14:22", + "nodeType": "StructDefinition", + "scope": 3390, + "src": "2310:278:22", + "visibility": "public" + }, + { + "canonicalName": "IERC721A.AddressData", + "id": 3383, + "members": [ + { + "constant": false, + "id": 3376, + "mutability": "mutable", + "name": "balance", + "nameLocation": "2743:7:22", + "nodeType": "VariableDeclaration", + "scope": 3383, + "src": "2736:14:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3375, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2736:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3378, + "mutability": "mutable", + "name": "numberMinted", + "nameLocation": "2842:12:22", + "nodeType": "VariableDeclaration", + "scope": 3383, + "src": "2835:19:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3377, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2835:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3380, + "mutability": "mutable", + "name": "numberBurned", + "nameLocation": "2946:12:22", + "nodeType": "VariableDeclaration", + "scope": 3383, + "src": "2939:19:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3379, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2939:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3382, + "mutability": "mutable", + "name": "aux", + "nameLocation": "3173:3:22", + "nodeType": "VariableDeclaration", + "scope": 3383, + "src": "3166:10:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 3381, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3166:6:22", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "name": "AddressData", + "nameLocation": "2659:11:22", + "nodeType": "StructDefinition", + "scope": 3390, + "src": "2652:531:22", + "visibility": "public" + }, + { + "documentation": { + "id": 3384, + "nodeType": "StructuredDocumentation", + "src": "3189:193:22", + "text": " @dev Returns the total amount of tokens stored by the contract.\n Burned tokens are calculated here, use `_totalMinted()` if you want to count just minted tokens." + }, + "functionSelector": "18160ddd", + "id": 3389, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "3396:11:22", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3385, + "nodeType": "ParameterList", + "parameters": [], + "src": "3407:2:22" + }, + "returnParameters": { + "id": 3388, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3387, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3389, + "src": "3433:7:22", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3386, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3433:7:22", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3432:9:22" + }, + "scope": 3390, + "src": "3387:55:22", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3391, + "src": "783:2661:22", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367 + ] + } + ], + "src": "429:3016:22" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC721A", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Interface of an ERC721A compliant contract.", + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" + }, + "name()": { + "details": "Returns the token collection name." + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." + }, + "symbol()": { + "details": "Returns the token collection symbol." + }, + "tokenURI(uint256)": { + "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "totalSupply()": { + "details": "Returns the total amount of tokens stored by the contract. Burned tokens are calculated here, use `_totalMinted()` if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." + } + }, + "version": 1 + }, + "offset": [ + 783, + 3444 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "5808c45f9cb748174c5a9c4859ed5409336e1d28", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/**\n * @title IERC721 Extension.\n * @author Daccred.\n * @dev IERC721 Extensions giving us access to ERC721 core capabilities.\n */\n\nimport \"@openzeppelin/contracts/token/ERC721/IERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\";\n\n/**\n * @dev Interface of an ERC721A compliant contract.\n */\ninterface IERC721A is IERC721, IERC721Metadata {\n /**\n * The caller must own the token or be an approved operator.\n */\n error ApprovalCallerNotOwnerNorApproved();\n\n /**\n * The token does not exist.\n */\n error ApprovalQueryForNonexistentToken();\n\n /**\n * The caller cannot approve to their own address.\n */\n error ApproveToCaller();\n\n /**\n * The caller cannot approve to the current owner.\n */\n error ApprovalToCurrentOwner();\n\n /**\n * Cannot query the balance for the zero address.\n */\n error BalanceQueryForZeroAddress();\n\n /**\n * Cannot mint to the zero address.\n */\n error MintToZeroAddress();\n\n /**\n * The quantity of tokens minted must be more than zero.\n */\n error MintZeroQuantity();\n\n /**\n * The token does not exist.\n */\n error OwnerQueryForNonexistentToken();\n\n /**\n * The caller must own the token or be an approved operator.\n */\n error TransferCallerNotOwnerNorApproved();\n\n /**\n * The token must be owned by `from`.\n */\n error TransferFromIncorrectOwner();\n\n /**\n * Cannot safely transfer to a contract that does not implement the ERC721Receiver interface.\n */\n error TransferToNonERC721ReceiverImplementer();\n\n /**\n * Cannot transfer to the zero address.\n */\n error TransferToZeroAddress();\n\n /**\n * The token does not exist.\n */\n error URIQueryForNonexistentToken();\n\n // Compiler will pack this into a single 256bit word.\n struct TokenOwnership {\n // The address of the owner.\n address addr;\n // Keeps track of the start time of ownership with minimal overhead for tokenomics.\n uint64 startTimestamp;\n // Whether the token has been burned.\n bool burned;\n }\n\n // Compiler will pack this into a single 256bit word.\n struct AddressData {\n // Realistically, 2**64-1 is more than enough.\n uint64 balance;\n // Keeps track of mint count with minimal overhead for tokenomics.\n uint64 numberMinted;\n // Keeps track of burn count with minimal overhead for tokenomics.\n uint64 numberBurned;\n // For miscellaneous variable(s) pertaining to the address\n // (e.g. number of whitelist mint slots used).\n // If there are multiple variables, please pack them into a uint64.\n uint64 aux;\n }\n\n /**\n * @dev Returns the total amount of tokens stored by the contract.\n *\n * Burned tokens are calculated here, use `_totalMinted()` if you want to count just minted tokens.\n */\n function totalSupply() external view returns (uint256);\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IERC721ExtensionCore.json b/tests/build/contracts/IERC721ExtensionCore.json new file mode 100644 index 0000000..55f6c00 --- /dev/null +++ b/tests/build/contracts/IERC721ExtensionCore.json @@ -0,0 +1,851 @@ +{ + "abi": [ + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "SetURICannotBeEmpty", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "URIRequestForExistentToken", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "23": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "exportedSymbols": { + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721ExtensionCore": [ + 3411 + ], + "IERC721Metadata": [ + 6780 + ] + }, + "id": 3412, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3392, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:23" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "file": "./IERC721A.sol", + "id": 3393, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3412, + "sourceUnit": 3391, + "src": "453:24:23", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3395, + "name": "IERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3390, + "src": "760:8:23" + }, + "id": 3396, + "nodeType": "InheritanceSpecifier", + "src": "760:8:23" + } + ], + "canonicalName": "IERC721ExtensionCore", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3394, + "nodeType": "StructuredDocumentation", + "src": "479:245:23", + "text": " @title ERC721 Core Extension\n @author Daccred.\n @dev Interface of an ERC721ExtensionCore contract.\n This Extension enables the ability to set custom URI storage and also includes core features like burn into the ERC-721 Contract" + }, + "fullyImplemented": false, + "id": 3411, + "linearizedBaseContracts": [ + 3411, + 3390, + 6780, + 6753, + 6792 + ], + "name": "IERC721ExtensionCore", + "nameLocation": "736:20:23", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 3397, + "nodeType": "StructuredDocumentation", + "src": "775:52:23", + "text": " The token already has an existing" + }, + "errorSelector": "c9e27368", + "id": 3401, + "name": "SetURICannotBeEmpty", + "nameLocation": "838:19:23", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3400, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3399, + "mutability": "mutable", + "name": "reason", + "nameLocation": "865:6:23", + "nodeType": "VariableDeclaration", + "scope": 3401, + "src": "858:13:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3398, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "858:6:23", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "857:15:23" + }, + "src": "832:41:23" + }, + { + "documentation": { + "id": 3402, + "nodeType": "StructuredDocumentation", + "src": "879:52:23", + "text": " The token already has an existing" + }, + "errorSelector": "02c42696", + "id": 3404, + "name": "URIRequestForExistentToken", + "nameLocation": "942:26:23", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3403, + "nodeType": "ParameterList", + "parameters": [], + "src": "968:2:23" + }, + "src": "936:35:23" + }, + { + "documentation": { + "id": 3405, + "nodeType": "StructuredDocumentation", + "src": "977:163:23", + "text": " @dev Burns `tokenId`. See {ERC721A-_burn}.\n Requirements:\n - The caller must own `tokenId` or be an approved operator." + }, + "functionSelector": "42966c68", + "id": 3410, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "1154:4:23", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3408, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3407, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1167:7:23", + "nodeType": "VariableDeclaration", + "scope": 3410, + "src": "1159:15:23", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3406, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1159:7:23", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1158:17:23" + }, + "returnParameters": { + "id": 3409, + "nodeType": "ParameterList", + "parameters": [], + "src": "1184:0:23" + }, + "scope": 3411, + "src": "1145:40:23", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3412, + "src": "726:461:23", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367, + 3401, + 3404 + ] + } + ], + "src": "429:759:23" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC721ExtensionCore", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "Interface of an ERC721ExtensionCore contract. This Extension enables the ability to set custom URI storage and also includes core features like burn into the ERC-721 Contract", + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "SetURICannotBeEmpty(string)": [ + { + "notice": "The token already has an existing" + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "URIRequestForExistentToken()": [ + { + "notice": "The token already has an existing" + } + ] + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "burn(uint256)": { + "details": "Burns `tokenId`. See {ERC721A-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" + }, + "name()": { + "details": "Returns the token collection name." + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." + }, + "symbol()": { + "details": "Returns the token collection symbol." + }, + "tokenURI(uint256)": { + "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "totalSupply()": { + "details": "Returns the total amount of tokens stored by the contract. Burned tokens are calculated here, use `_totalMinted()` if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." + } + }, + "title": "ERC721 Core Extension", + "version": 1 + }, + "offset": [ + 726, + 1187 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "4168023a02749270b0845a177d7afded763a7472", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\nimport \"./IERC721A.sol\";\n\n/**\n * @title ERC721 Core Extension\n * @author Daccred.\n * @dev Interface of an ERC721ExtensionCore contract.\n * This Extension enables the ability to set custom URI storage and also includes core features like burn into the ERC-721 Contract\n */\n\ninterface IERC721ExtensionCore is IERC721A {\n /**\n * The token already has an existing\n */\n error SetURICannotBeEmpty(string reason);\n\n /**\n * The token already has an existing\n */\n error URIRequestForExistentToken();\n\n /**\n * @dev Burns `tokenId`. See {ERC721A-_burn}.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(uint256 tokenId) external;\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IERC721Metadata.json b/tests/build/contracts/IERC721Metadata.json new file mode 100644 index 0000000..2c60250 --- /dev/null +++ b/tests/build/contracts/IERC721Metadata.json @@ -0,0 +1,4470 @@ +{ + "abi": [ + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "exportedSymbols": { + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ] + }, + "id": 5877, + "license": "CC0-1.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5518, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:41" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5519, + "nodeType": "StructuredDocumentation", + "src": "196:279:41", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 5528, + "linearizedBaseContracts": [ + 5528 + ], + "name": "IERC165", + "nameLocation": "486:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 5520, + "nodeType": "StructuredDocumentation", + "src": "500:340:41", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 5527, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "854:17:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5522, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "879:11:41", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "872:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5521, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "872:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "871:20:41" + }, + "returnParameters": { + "id": 5526, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5527, + "src": "915:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5524, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "915:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "914:6:41" + }, + "scope": 5528, + "src": "845:76:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "476:447:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5530, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5528, + "src": "1530:7:41" + }, + "id": 5531, + "nodeType": "InheritanceSpecifier", + "src": "1530:7:41" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5529, + "nodeType": "StructuredDocumentation", + "src": "925:576:41", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 5549, + "linearizedBaseContracts": [ + 5549, + 5528 + ], + "name": "ERC165", + "nameLocation": "1520:6:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 5527 + ], + "body": { + "id": 5547, + "nodeType": "Block", + "src": "1740:64:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5540, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5534, + "src": "1757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5542, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5528, + "src": "1777:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$5528_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 5541, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "1772:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1772:13:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$5528", + "typeString": "type(contract IERC165)" + } + }, + "id": 5544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "1772:25:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "1757:40:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5539, + "id": 5546, + "nodeType": "Return", + "src": "1750:47:41" + } + ] + }, + "documentation": { + "id": 5532, + "nodeType": "StructuredDocumentation", + "src": "1544:56:41", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 5548, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "1614:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5536, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1704:8:41" + }, + "parameters": { + "id": 5535, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5534, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "1639:11:41", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1632:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5533, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1632:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1631:20:41" + }, + "returnParameters": { + "id": 5539, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5538, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5548, + "src": "1730:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1730:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1729:6:41" + }, + "scope": 5549, + "src": "1605:199:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 5877, + "src": "1502:304:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Metadata", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 5567, + "linearizedBaseContracts": [ + 5567 + ], + "name": "IERC721Metadata", + "nameLocation": "1818:15:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "functionSelector": "06fdde03", + "id": 5554, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "1849:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5550, + "nodeType": "ParameterList", + "parameters": [], + "src": "1853:2:41" + }, + "returnParameters": { + "id": 5553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5552, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5554, + "src": "1879:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5551, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1879:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1878:15:41" + }, + "scope": 5567, + "src": "1840:54:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "95d89b41", + "id": 5559, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "1909:6:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5555, + "nodeType": "ParameterList", + "parameters": [], + "src": "1915:2:41" + }, + "returnParameters": { + "id": 5558, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5557, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5559, + "src": "1941:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5556, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1941:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1940:15:41" + }, + "scope": 5567, + "src": "1900:56:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c87b56dd", + "id": 5566, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "1971:8:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5561, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1988:7:41", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "1980:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1980:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1979:17:41" + }, + "returnParameters": { + "id": 5565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5564, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5566, + "src": "2020:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5563, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2020:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2019:15:41" + }, + "scope": 5567, + "src": "1962:73:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "1808:229:41", + "usedErrors": [] + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC4973", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5568, + "nodeType": "StructuredDocumentation", + "src": "2039:151:41", + "text": "@title Account-bound tokens\n @dev See https://eips.ethereum.org/EIPS/eip-4973\n Note: the ERC-165 identifier for this interface is 0x5164cf47" + }, + "fullyImplemented": false, + "id": 5605, + "linearizedBaseContracts": [ + 5605 + ], + "name": "IERC4973", + "nameLocation": "2200:8:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 5569, + "nodeType": "StructuredDocumentation", + "src": "2215:207:41", + "text": "@dev This emits when a new token is created and bound to an account by\n any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "e9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a27", + "id": 5575, + "name": "Attest", + "nameLocation": "2433:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5571, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2456:2:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2440:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5570, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2440:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5573, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2476:7:41", + "nodeType": "VariableDeclaration", + "scope": 5575, + "src": "2460:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5572, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2460:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2439:45:41" + }, + "src": "2427:58:41" + }, + { + "anonymous": false, + "documentation": { + "id": 5576, + "nodeType": "StructuredDocumentation", + "src": "2490:217:41", + "text": "@dev This emits when an existing ABT is revoked from an account and\n destroyed by any mechanism.\n Note: For a reliable `from` parameter, retrieve the transaction's\n authenticated `from` field." + }, + "eventSelector": "ec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b", + "id": 5582, + "name": "Revoke", + "nameLocation": "2718:6:41", + "nodeType": "EventDefinition", + "parameters": { + "id": 5581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5578, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2741:2:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2725:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2725:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5580, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2761:7:41", + "nodeType": "VariableDeclaration", + "scope": 5582, + "src": "2745:23:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2745:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2724:45:41" + }, + "src": "2712:58:41" + }, + { + "documentation": { + "id": 5583, + "nodeType": "StructuredDocumentation", + "src": "2776:317:41", + "text": "@notice Count all ABTs assigned to an owner\n @dev ABTs assigned to the zero address are considered invalid, and this\n function throws for queries about the zero address.\n @param owner An address for whom to query the balance\n @return The number of ABTs owned by `owner`, possibly zero" + }, + "functionSelector": "70a08231", + "id": 5590, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3107:9:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5585, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3125:5:41", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3117:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3117:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3116:15:41" + }, + "returnParameters": { + "id": 5589, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5588, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5590, + "src": "3155:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5587, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3155:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3154:9:41" + }, + "scope": 5605, + "src": "3098:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5591, + "nodeType": "StructuredDocumentation", + "src": "3170:284:41", + "text": "@notice Find the address bound to an ERC4973 account-bound token\n @dev ABTs assigned to zero address are considered invalid, and queries\n about them do throw.\n @param tokenId The identifier for an ABT\n @return The address of the owner bound to the ABT" + }, + "functionSelector": "6352211e", + "id": 5598, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3468:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5593, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3484:7:41", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3476:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5592, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3476:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3475:17:41" + }, + "returnParameters": { + "id": 5597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5596, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5598, + "src": "3516:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5595, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3516:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3515:9:41" + }, + "scope": 5605, + "src": "3459:66:41", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5599, + "nodeType": "StructuredDocumentation", + "src": "3531:326:41", + "text": "@notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n disassociate themselves from an ABT publicly through calling this\n function.\n @dev Must emit a `event Revoke` with the `address to` field pointing to\n the zero address.\n @param tokenId The identifier for an ABT" + }, + "functionSelector": "42966c68", + "id": 5604, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "3871:4:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5601, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3884:7:41", + "nodeType": "VariableDeclaration", + "scope": 5604, + "src": "3876:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3876:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3875:17:41" + }, + "returnParameters": { + "id": 5603, + "nodeType": "ParameterList", + "parameters": [], + "src": "3901:0:41" + }, + "scope": 5605, + "src": "3862:40:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5877, + "src": "2190:1714:41", + "usedErrors": [] + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5607, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5549, + "src": "4082:6:41" + }, + "id": 5608, + "nodeType": "InheritanceSpecifier", + "src": "4082:6:41" + }, + { + "baseName": { + "id": 5609, + "name": "IERC721Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5567, + "src": "4090:15:41" + }, + "id": 5610, + "nodeType": "InheritanceSpecifier", + "src": "4090:15:41" + }, + { + "baseName": { + "id": 5611, + "name": "IERC4973", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5605, + "src": "4107:8:41" + }, + "id": 5612, + "nodeType": "InheritanceSpecifier", + "src": "4107:8:41" + } + ], + "canonicalName": "ERC4973", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5606, + "nodeType": "StructuredDocumentation", + "src": "3906:147:41", + "text": "@notice Reference implementation of EIP-4973 tokens.\n @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)" + }, + "fullyImplemented": true, + "id": 5876, + "linearizedBaseContracts": [ + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "ERC4973", + "nameLocation": "4071:7:41", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5614, + "mutability": "mutable", + "name": "_name", + "nameLocation": "4137:5:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4122:20:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4122:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5616, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "4163:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4148:22:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 5615, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4148:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5620, + "mutability": "mutable", + "name": "_owners", + "nameLocation": "4213:7:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4177:43:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 5619, + "keyType": { + "id": 5617, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4185:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4177:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 5618, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4196:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5624, + "mutability": "mutable", + "name": "_tokenURIs", + "nameLocation": "4261:10:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4226:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "typeName": { + "id": 5623, + "keyType": { + "id": 5621, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4234:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "4226:26:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string)" + }, + "valueType": { + "id": 5622, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4245:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 5628, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "4313:9:41", + "nodeType": "VariableDeclaration", + "scope": 5876, + "src": "4277:45:41", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 5627, + "keyType": { + "id": 5625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4285:7:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "4277:27:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 5626, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4296:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 5643, + "nodeType": "Block", + "src": "4385:57:41", + "statements": [ + { + "expression": { + "id": 5637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5635, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4395:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5636, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5630, + "src": "4403:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4395:13:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5638, + "nodeType": "ExpressionStatement", + "src": "4395:13:41" + }, + { + "expression": { + "id": 5641, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5639, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4418:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5640, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5632, + "src": "4428:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4418:17:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5642, + "nodeType": "ExpressionStatement", + "src": "4418:17:41" + } + ] + }, + "id": 5644, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5630, + "mutability": "mutable", + "name": "name_", + "nameLocation": "4355:5:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4341:19:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5629, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4341:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5632, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "4376:7:41", + "nodeType": "VariableDeclaration", + "scope": 5644, + "src": "4362:21:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5631, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4362:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4340:44:41" + }, + "returnParameters": { + "id": 5634, + "nodeType": "ParameterList", + "parameters": [], + "src": "4385:0:41" + }, + "scope": 5876, + "src": "4329:113:41", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 5548 + ], + "body": { + "id": 5671, + "nodeType": "Block", + "src": "4583:193:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5664, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5657, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5652, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4612:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5654, + "name": "IERC721Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5567, + "src": "4632:15:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC721Metadata_$5567_$", + "typeString": "type(contract IERC721Metadata)" + } + ], + "id": 5653, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4627:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4627:21:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC721Metadata_$5567", + "typeString": "type(contract IERC721Metadata)" + } + }, + "id": 5656, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4627:33:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4612:48:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 5663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5658, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4676:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 5660, + "name": "IERC4973", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5605, + "src": "4696:8:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC4973_$5605_$", + "typeString": "type(contract IERC4973)" + } + ], + "id": 5659, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "4691:4:41", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 5661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC4973_$5605", + "typeString": "type(contract IERC4973)" + } + }, + "id": 5662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "4691:26:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "4676:41:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:105:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 5667, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5646, + "src": "4757:11:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 5665, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "4733:5:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC4973_$5876_$", + "typeString": "type(contract super ERC4973)" + } + }, + "id": 5666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 5548, + "src": "4733:23:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 5668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4733:36:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4612:157:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5651, + "id": 5670, + "nodeType": "Return", + "src": "4593:176:41" + } + ] + }, + "functionSelector": "01ffc9a7", + "id": 5672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "4457:17:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5648, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4547:8:41" + }, + "parameters": { + "id": 5647, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5646, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "4482:11:41", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4475:18:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 5645, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "4475:6:41", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "4474:20:41" + }, + "returnParameters": { + "id": 5651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5650, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5672, + "src": "4573:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5649, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4573:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4572:6:41" + }, + "scope": 5876, + "src": "4448:328:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5554 + ], + "body": { + "id": 5680, + "nodeType": "Block", + "src": "4851:29:41", + "statements": [ + { + "expression": { + "id": 5678, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5614, + "src": "4868:5:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5677, + "id": 5679, + "nodeType": "Return", + "src": "4861:12:41" + } + ] + }, + "functionSelector": "06fdde03", + "id": 5681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "4791:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5674, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4818:8:41" + }, + "parameters": { + "id": 5673, + "nodeType": "ParameterList", + "parameters": [], + "src": "4795:2:41" + }, + "returnParameters": { + "id": 5677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5676, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5681, + "src": "4836:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5675, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4836:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4835:15:41" + }, + "scope": 5876, + "src": "4782:98:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5559 + ], + "body": { + "id": 5689, + "nodeType": "Block", + "src": "4957:31:41", + "statements": [ + { + "expression": { + "id": 5687, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5616, + "src": "4974:7:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5686, + "id": 5688, + "nodeType": "Return", + "src": "4967:14:41" + } + ] + }, + "functionSelector": "95d89b41", + "id": 5690, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "4895:6:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5683, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4924:8:41" + }, + "parameters": { + "id": 5682, + "nodeType": "ParameterList", + "parameters": [], + "src": "4901:2:41" + }, + "returnParameters": { + "id": 5686, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5685, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5690, + "src": "4942:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5684, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4942:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4941:15:41" + }, + "scope": 5876, + "src": "4886:102:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5566 + ], + "body": { + "id": 5709, + "nodeType": "Block", + "src": "5126:111:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5700, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5152:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5699, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "5144:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5144:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e5552493a20746f6b656e20646f65736e2774206578697374", + "id": 5702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5162:31:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + }, + "value": "tokenURI: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d49689b870a95cadb83b0e891174567b9e5ac59da423b3727d5bc6422c516f24", + "typeString": "literal_string \"tokenURI: token doesn't exist\"" + } + ], + "id": 5698, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5136:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5703, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5136:58:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5704, + "nodeType": "ExpressionStatement", + "src": "5136:58:41" + }, + { + "expression": { + "baseExpression": { + "id": 5705, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "5211:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5707, + "indexExpression": { + "id": 5706, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5692, + "src": "5222:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5211:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 5697, + "id": 5708, + "nodeType": "Return", + "src": "5204:26:41" + } + ] + }, + "functionSelector": "c87b56dd", + "id": 5710, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "5003:8:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5694, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5081:8:41" + }, + "parameters": { + "id": 5693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5692, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5020:7:41", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5012:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5691, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5011:17:41" + }, + "returnParameters": { + "id": 5697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5696, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5710, + "src": "5107:13:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5695, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5107:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5106:15:41" + }, + "scope": 5876, + "src": "4994:243:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5604 + ], + "body": { + "id": 5730, + "nodeType": "Block", + "src": "5298:110:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5717, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5316:3:41", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5316:10:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "id": 5720, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5338:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5719, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "5330:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5330:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5316:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6275726e3a2073656e646572206d757374206265206f776e6572", + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5348:28:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + }, + "value": "burn: sender must be owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a1d6a49e9687b46cd7f276dbdf96186f2c7b76758779fa15b583d62b7780a542", + "typeString": "literal_string \"burn: sender must be owner\"" + } + ], + "id": 5716, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5308:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5308:69:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5725, + "nodeType": "ExpressionStatement", + "src": "5308:69:41" + }, + { + "expression": { + "arguments": [ + { + "id": 5727, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5712, + "src": "5393:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5726, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5875, + "src": "5387:5:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5728, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5387:14:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5729, + "nodeType": "ExpressionStatement", + "src": "5387:14:41" + } + ] + }, + "functionSelector": "42966c68", + "id": 5731, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burn", + "nameLocation": "5252:4:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5714, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5289:8:41" + }, + "parameters": { + "id": 5713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5712, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5265:7:41", + "nodeType": "VariableDeclaration", + "scope": 5731, + "src": "5257:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5257:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5256:17:41" + }, + "returnParameters": { + "id": 5715, + "nodeType": "ParameterList", + "parameters": [], + "src": "5298:0:41" + }, + "scope": 5876, + "src": "5243:165:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5590 + ], + "body": { + "id": 5753, + "nodeType": "Block", + "src": "5539:160:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5740, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5570:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5587:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5579:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5579:7:41", + "typeDescriptions": {} + } + }, + "id": 5744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5570:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "62616c616e63654f663a2061646472657373207a65726f206973206e6f7420612076616c6964206f776e6572", + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5603:46:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + }, + "value": "balanceOf: address zero is not a valid owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a3539ae6c73493dd6fb418ce64868f5350f143ba221a6bc3004b947c160cbbed", + "typeString": "literal_string \"balanceOf: address zero is not a valid owner\"" + } + ], + "id": 5739, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5549:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5549:110:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5748, + "nodeType": "ExpressionStatement", + "src": "5549:110:41" + }, + { + "expression": { + "baseExpression": { + "id": 5749, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "5676:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5751, + "indexExpression": { + "id": 5750, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5733, + "src": "5686:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5676:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5738, + "id": 5752, + "nodeType": "Return", + "src": "5669:23:41" + } + ] + }, + "functionSelector": "70a08231", + "id": 5754, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "5423:9:41", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 5735, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5500:8:41" + }, + "parameters": { + "id": 5734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5733, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5441:5:41", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5433:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5732, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5433:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5432:15:41" + }, + "returnParameters": { + "id": 5738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5737, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5754, + "src": "5526:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5526:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5525:9:41" + }, + "scope": 5876, + "src": "5414:285:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 5598 + ], + "body": { + "id": 5779, + "nodeType": "Block", + "src": "5777:141:41", + "statements": [ + { + "assignments": [ + 5762 + ], + "declarations": [ + { + "constant": false, + "id": 5762, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5795:5:41", + "nodeType": "VariableDeclaration", + "scope": 5779, + "src": "5787:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5761, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5787:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5766, + "initialValue": { + "baseExpression": { + "id": 5763, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "5803:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5765, + "indexExpression": { + "id": 5764, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5756, + "src": "5811:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5803:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5787:32:41" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5768, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5837:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5854:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5846:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5846:7:41", + "typeDescriptions": {} + } + }, + "id": 5772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5846:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5837:19:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6f776e65724f663a20746f6b656e20646f65736e2774206578697374", + "id": 5774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5858:30:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + }, + "value": "ownerOf: token doesn't exist" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3c2abb636b98d71deaa3493733642e2b9fab8280d057fc37caa94aed771615c", + "typeString": "literal_string \"ownerOf: token doesn't exist\"" + } + ], + "id": 5767, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5829:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5829:60:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5776, + "nodeType": "ExpressionStatement", + "src": "5829:60:41" + }, + { + "expression": { + "id": 5777, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5762, + "src": "5906:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5760, + "id": 5778, + "nodeType": "Return", + "src": "5899:12:41" + } + ] + }, + "functionSelector": "6352211e", + "id": 5780, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "5714:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5757, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5756, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5730:7:41", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5722:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5755, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5722:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5721:17:41" + }, + "returnParameters": { + "id": 5760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5759, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5780, + "src": "5768:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5768:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5767:9:41" + }, + "scope": 5876, + "src": "5705:213:41", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 5796, + "nodeType": "Block", + "src": "5995:54:41", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5787, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6012:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5789, + "indexExpression": { + "id": 5788, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5782, + "src": "6020:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6012:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6040:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6032:7:41", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6032:7:41", + "typeDescriptions": {} + } + }, + "id": 5793, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6032:10:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6012:30:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 5786, + "id": 5795, + "nodeType": "Return", + "src": "6005:37:41" + } + ] + }, + "id": 5797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_exists", + "nameLocation": "5933:7:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5782, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5949:7:41", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5941:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5781, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5941:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5940:17:41" + }, + "returnParameters": { + "id": 5786, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5785, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5797, + "src": "5989:4:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5784, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5989:4:41", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5988:6:41" + }, + "scope": 5876, + "src": "5924:125:41", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5841, + "nodeType": "Block", + "src": "6183:219:41", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 5812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6201:17:41", + "subExpression": { + "arguments": [ + { + "id": 5810, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6210:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5809, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "6202:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6202:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "6d696e743a20746f6b656e494420657869737473", + "id": 5813, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6220:22:41", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + }, + "value": "mint: tokenID exists" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_62ec1ee03f7d784de0a12b8b9e84e9eeae4e4492ea8b78a2884561dcc5006b1e", + "typeString": "literal_string \"mint: tokenID exists\"" + } + ], + "id": 5808, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6193:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6193:50:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5815, + "nodeType": "ExpressionStatement", + "src": "6193:50:41" + }, + { + "expression": { + "id": 5820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5816, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6253:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5818, + "indexExpression": { + "id": 5817, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6263:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6253:13:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 5819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6270:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6253:18:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5821, + "nodeType": "ExpressionStatement", + "src": "6253:18:41" + }, + { + "expression": { + "id": 5826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5822, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6281:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5824, + "indexExpression": { + "id": 5823, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6289:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6281:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5825, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6300:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6281:21:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5827, + "nodeType": "ExpressionStatement", + "src": "6281:21:41" + }, + { + "expression": { + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5828, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6312:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5830, + "indexExpression": { + "id": 5829, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6323:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6312:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 5831, + "name": "uri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5803, + "src": "6334:3:41", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6312:25:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 5833, + "nodeType": "ExpressionStatement", + "src": "6312:25:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5835, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "6359:2:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5836, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6363:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5834, + "name": "Attest", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5575, + "src": "6352:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6352:19:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5838, + "nodeType": "EmitStatement", + "src": "6347:24:41" + }, + { + "expression": { + "id": 5839, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "6388:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 5807, + "id": 5840, + "nodeType": "Return", + "src": "6381:14:41" + } + ] + }, + "id": 5842, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "6064:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5799, + "mutability": "mutable", + "name": "to", + "nameLocation": "6087:2:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6079:10:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6079:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5801, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6107:7:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6099:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5800, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6099:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5803, + "mutability": "mutable", + "name": "uri", + "nameLocation": "6138:3:41", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6124:17:41", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6124:6:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6069:78:41" + }, + "returnParameters": { + "id": 5807, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5806, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5842, + "src": "6174:7:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5805, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6174:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6173:9:41" + }, + "scope": 5876, + "src": "6055:347:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 5874, + "nodeType": "Block", + "src": "6457:188:41", + "statements": [ + { + "assignments": [ + 5848 + ], + "declarations": [ + { + "constant": false, + "id": 5848, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6475:5:41", + "nodeType": "VariableDeclaration", + "scope": 5874, + "src": "6467:13:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5847, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6467:7:41", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 5852, + "initialValue": { + "arguments": [ + { + "id": 5850, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6491:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5849, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6483:7:41", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6483:16:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6467:32:41" + }, + { + "expression": { + "id": 5857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5853, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5628, + "src": "6510:9:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5855, + "indexExpression": { + "id": 5854, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6520:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6510:16:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 5856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6530:1:41", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "6510:21:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5858, + "nodeType": "ExpressionStatement", + "src": "6510:21:41" + }, + { + "expression": { + "id": 5862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6541:23:41", + "subExpression": { + "baseExpression": { + "id": 5859, + "name": "_owners", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5620, + "src": "6548:7:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5861, + "indexExpression": { + "id": 5860, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6556:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6548:16:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5863, + "nodeType": "ExpressionStatement", + "src": "6541:23:41" + }, + { + "expression": { + "id": 5867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6574:26:41", + "subExpression": { + "baseExpression": { + "id": 5864, + "name": "_tokenURIs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5624, + "src": "6581:10:41", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", + "typeString": "mapping(uint256 => string storage ref)" + } + }, + "id": 5866, + "indexExpression": { + "id": 5865, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6592:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6581:19:41", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5868, + "nodeType": "ExpressionStatement", + "src": "6574:26:41" + }, + { + "eventCall": { + "arguments": [ + { + "id": 5870, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5848, + "src": "6623:5:41", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5871, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5844, + "src": "6630:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5869, + "name": "Revoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5582, + "src": "6616:6:41", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 5872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6616:22:41", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5873, + "nodeType": "EmitStatement", + "src": "6611:27:41" + } + ] + }, + "id": 5875, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "6417:5:41", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5844, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6431:7:41", + "nodeType": "VariableDeclaration", + "scope": 5875, + "src": "6423:15:41", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5843, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6423:7:41", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6422:17:41" + }, + "returnParameters": { + "id": 5846, + "nodeType": "ParameterList", + "parameters": [], + "src": "6457:0:41" + }, + "scope": 5876, + "src": "6408:237:41", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 5877, + "src": "4053:2594:41", + "usedErrors": [] + } + ], + "src": "36:6612:41" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC721Metadata", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "kind": "dev", + "methods": {}, + "version": 1 + }, + "offset": [ + 1808, + 2037 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "38ba42158af6f3e3b85639052b00f6ff9e032829", + "source": "// SPDX-License-Identifier: CC0-1.0\npragma solidity ^0.8.8;\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n\ninterface IERC721Metadata {\n function name() external view returns (string memory);\n\n function symbol() external view returns (string memory);\n\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n\n/// @title Account-bound tokens\n/// @dev See https://eips.ethereum.org/EIPS/eip-4973\n/// Note: the ERC-165 identifier for this interface is 0x5164cf47\ninterface IERC4973 {\n /// @dev This emits when a new token is created and bound to an account by\n /// any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Attest(address indexed to, uint256 indexed tokenId);\n /// @dev This emits when an existing ABT is revoked from an account and\n /// destroyed by any mechanism.\n /// Note: For a reliable `from` parameter, retrieve the transaction's\n /// authenticated `from` field.\n event Revoke(address indexed to, uint256 indexed tokenId);\n\n /// @notice Count all ABTs assigned to an owner\n /// @dev ABTs assigned to the zero address are considered invalid, and this\n /// function throws for queries about the zero address.\n /// @param owner An address for whom to query the balance\n /// @return The number of ABTs owned by `owner`, possibly zero\n function balanceOf(address owner) external view returns (uint256);\n\n /// @notice Find the address bound to an ERC4973 account-bound token\n /// @dev ABTs assigned to zero address are considered invalid, and queries\n /// about them do throw.\n /// @param tokenId The identifier for an ABT\n /// @return The address of the owner bound to the ABT\n function ownerOf(uint256 tokenId) external view returns (address);\n\n /// @notice Destroys `tokenId`. At any time, an ABT receiver must be able to\n /// disassociate themselves from an ABT publicly through calling this\n /// function.\n /// @dev Must emit a `event Revoke` with the `address to` field pointing to\n /// the zero address.\n /// @param tokenId The identifier for an ABT\n function burn(uint256 tokenId) external;\n}\n\n/// @notice Reference implementation of EIP-4973 tokens.\n/// @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol)\nabstract contract ERC4973 is ERC165, IERC721Metadata, IERC4973 {\n string private _name;\n string private _symbol;\n\n mapping(uint256 => address) private _owners;\n mapping(uint256 => string) private _tokenURIs;\n mapping(address => uint256) private _balances;\n\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n function supportsInterface(bytes4 interfaceId)\n public\n view\n virtual\n override\n returns (bool)\n {\n return\n interfaceId == type(IERC721Metadata).interfaceId ||\n interfaceId == type(IERC4973).interfaceId ||\n super.supportsInterface(interfaceId);\n }\n\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n function tokenURI(uint256 tokenId)\n public\n view\n virtual\n override\n returns (string memory)\n {\n require(_exists(tokenId), \"tokenURI: token doesn't exist\");\n return _tokenURIs[tokenId];\n }\n\n function burn(uint256 tokenId) public virtual override {\n require(msg.sender == ownerOf(tokenId), \"burn: sender must be owner\");\n _burn(tokenId);\n }\n\n function balanceOf(address owner)\n public\n view\n virtual\n override\n returns (uint256)\n {\n require(\n owner != address(0),\n \"balanceOf: address zero is not a valid owner\"\n );\n return _balances[owner];\n }\n\n function ownerOf(uint256 tokenId) public view virtual returns (address) {\n address owner = _owners[tokenId];\n require(owner != address(0), \"ownerOf: token doesn't exist\");\n return owner;\n }\n\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _owners[tokenId] != address(0);\n }\n\n function _mint(\n address to,\n uint256 tokenId,\n string memory uri\n ) internal virtual returns (uint256) {\n require(!_exists(tokenId), \"mint: tokenID exists\");\n _balances[to] += 1;\n _owners[tokenId] = to;\n _tokenURIs[tokenId] = uri;\n emit Attest(to, tokenId);\n return tokenId;\n }\n\n function _burn(uint256 tokenId) internal virtual {\n address owner = ownerOf(tokenId);\n\n _balances[owner] -= 1;\n delete _owners[tokenId];\n delete _tokenURIs[tokenId];\n\n emit Revoke(owner, tokenId);\n }\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IPOAP.json b/tests/build/contracts/IPOAP.json new file mode 100644 index 0000000..51de98e --- /dev/null +++ b/tests/build/contracts/IPOAP.json @@ -0,0 +1,1036 @@ +{ + "abi": [ + { + "inputs": [], + "name": "ApprovalCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "ApprovalToCurrentOwner", + "type": "error" + }, + { + "inputs": [], + "name": "ApproveToCaller", + "type": "error" + }, + { + "inputs": [], + "name": "BalanceQueryForZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "MintZeroQuantity", + "type": "error" + }, + { + "inputs": [], + "name": "OwnerQueryForNonexistentToken", + "type": "error" + }, + { + "inputs": [], + "name": "TransferCallerNotOwnerNorApproved", + "type": "error" + }, + { + "inputs": [], + "name": "TransferFromIncorrectOwner", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToNonERC721ReceiverImplementer", + "type": "error" + }, + { + "inputs": [], + "name": "TransferToZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "URIQueryForNonexistentToken", + "type": "error" + }, + { + "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": false, + "internalType": "uint256", + "name": "eventId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "EventToken", + "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "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": "uint256", + "name": "_eventId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "mintToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_eventId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "22": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "24": "contracts/contracts/packages/nft/contracts/interfaces/IPOAP.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IPOAP.sol", + "exportedSymbols": { + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721A": [ + 3390 + ], + "IERC721Metadata": [ + 6780 + ], + "IPOAP": [ + 3443 + ] + }, + "id": 3444, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3413, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:24" + }, + { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol", + "file": "./IERC721A.sol", + "id": 3414, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3444, + "sourceUnit": 3391, + "src": "454:24:24", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 3416, + "name": "IERC721A", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3390, + "src": "1220:8:24" + }, + "id": 3417, + "nodeType": "InheritanceSpecifier", + "src": "1220:8:24" + } + ], + "canonicalName": "IPOAP", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3415, + "nodeType": "StructuredDocumentation", + "src": "1066:133:24", + "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": false, + "id": 3443, + "linearizedBaseContracts": [ + 3443, + 3390, + 6780, + 6753, + 6792 + ], + "name": "IPOAP", + "nameLocation": "1211:5:24", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 3418, + "nodeType": "StructuredDocumentation", + "src": "1277:53:24", + "text": "@dev Emitted when a token is minted for an event." + }, + "eventSelector": "4b3711cd7ece062b0828c1b6e08d814a72d4c003383a016c833cbb1b45956e34", + "id": 3424, + "name": "EventToken", + "nameLocation": "1341:10:24", + "nodeType": "EventDefinition", + "parameters": { + "id": 3423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3420, + "indexed": false, + "mutability": "mutable", + "name": "eventId", + "nameLocation": "1360:7:24", + "nodeType": "VariableDeclaration", + "scope": 3424, + "src": "1352:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3419, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1352:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3422, + "indexed": false, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1377:7:24", + "nodeType": "VariableDeclaration", + "scope": 3424, + "src": "1369:15:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3421, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1369:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1351:34:24" + }, + "src": "1335:51:24" + }, + { + "documentation": { + "id": 3425, + "nodeType": "StructuredDocumentation", + "src": "1434:375:24", + "text": " @dev Mints token `_tokenId` for a particular event `_eventId`.\n Emits the {EventToken} event.\n On calling this function, all tokens are minted to the caller.\n Then it can be transferred to attendees via transferToken.\n @param\n _eventId => The event for which the token was minted.\n _tokenId => Token to be minted." + }, + "functionSelector": "20cbf5f9", + "id": 3432, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "mintToken", + "nameLocation": "1823:9:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3427, + "mutability": "mutable", + "name": "_eventId", + "nameLocation": "1841:8:24", + "nodeType": "VariableDeclaration", + "scope": 3432, + "src": "1833:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3426, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1833:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3429, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1859:8:24", + "nodeType": "VariableDeclaration", + "scope": 3432, + "src": "1851:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1851:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1832:36:24" + }, + "returnParameters": { + "id": 3431, + "nodeType": "ParameterList", + "parameters": [], + "src": "1877:0:24" + }, + "scope": 3443, + "src": "1814:64:24", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3433, + "nodeType": "StructuredDocumentation", + "src": "1884:241:24", + "text": " @dev Mints the POAP token `_tokenId` to `_receiver`.\n @param\n _eventId => The event for which the token was minted.\n _receiver => Address receiving the token.\n _tokenId => Token to be minted." + }, + "functionSelector": "dbb5313f", + "id": 3442, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferToken", + "nameLocation": "2139:13:24", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3435, + "mutability": "mutable", + "name": "_eventId", + "nameLocation": "2170:8:24", + "nodeType": "VariableDeclaration", + "scope": 3442, + "src": "2162:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3434, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2162:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3437, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "2196:9:24", + "nodeType": "VariableDeclaration", + "scope": 3442, + "src": "2188:17:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2188:7:24", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3439, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "2223:8:24", + "nodeType": "VariableDeclaration", + "scope": 3442, + "src": "2215:16:24", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3438, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2215:7:24", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2152:85:24" + }, + "returnParameters": { + "id": 3441, + "nodeType": "ParameterList", + "parameters": [], + "src": "2246:0:24" + }, + "scope": 3443, + "src": "2130:117:24", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3444, + "src": "1201:1048:24", + "usedErrors": [ + 3331, + 3334, + 3337, + 3340, + 3343, + 3346, + 3349, + 3352, + 3355, + 3358, + 3361, + 3364, + 3367 + ] + } + ], + "src": "429:1821:24" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IPOAP", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721", + "IERC721A", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "See https://eips.ethereum.org/EIPS/eip-721", + "errors": { + "ApprovalCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "ApprovalQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "ApprovalToCurrentOwner()": [ + { + "notice": "The caller cannot approve to the current owner." + } + ], + "ApproveToCaller()": [ + { + "notice": "The caller cannot approve to their own address." + } + ], + "BalanceQueryForZeroAddress()": [ + { + "notice": "Cannot query the balance for the zero address." + } + ], + "MintToZeroAddress()": [ + { + "notice": "Cannot mint to the zero address." + } + ], + "MintZeroQuantity()": [ + { + "notice": "The quantity of tokens minted must be more than zero." + } + ], + "OwnerQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ], + "TransferCallerNotOwnerNorApproved()": [ + { + "notice": "The caller must own the token or be an approved operator." + } + ], + "TransferFromIncorrectOwner()": [ + { + "notice": "The token must be owned by `from`." + } + ], + "TransferToNonERC721ReceiverImplementer()": [ + { + "notice": "Cannot safely transfer to a contract that does not implement the ERC721Receiver interface." + } + ], + "TransferToZeroAddress()": [ + { + "notice": "Cannot transfer to the zero address." + } + ], + "URIQueryForNonexistentToken()": [ + { + "notice": "The token does not exist." + } + ] + }, + "events": { + "EventToken(uint256,uint256)": { + "details": "Emitted when a token is minted for an event." + } + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" + }, + "mintToken(uint256,uint256)": { + "details": "Mints token `_tokenId` for a particular event `_eventId`. Emits the {EventToken} event. On calling this function, all tokens are minted to the caller. Then it can be transferred to attendees via transferToken.", + "params": { + "_eventId": "=> The event for which the token was minted. _tokenId => Token to be minted." + } + }, + "name()": { + "details": "Returns the token collection name." + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." + }, + "symbol()": { + "details": "Returns the token collection symbol." + }, + "tokenURI(uint256)": { + "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "totalSupply()": { + "details": "Returns the total amount of tokens stored by the contract. Burned tokens are calculated here, use `_totalMinted()` if you want to count just minted tokens." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." + }, + "transferToken(uint256,address,uint256)": { + "details": "Mints the POAP token `_tokenId` to `_receiver`.", + "params": { + "_eventId": "=> The event for which the token was minted. _receiver => Address receiving the token. _tokenId => Token to be minted." + } + } + }, + "title": "ERC-721 Non-Fungible Token Standard, optional metadata extension", + "version": 1 + }, + "offset": [ + 1201, + 2249 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "fab2f1ae68757c762fdc9d4db888daa24b1ba6c5", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\nimport \"./IERC721A.sol\";\n\n/**\n * @title POAP [Proof Of Attendance Protocol] Interface.\n * @author Daccred.\n * @dev\n * POAPs are a type of NFTs minted to addresses, showing that they attended a particular event or activity.\n * These NFTs are minted on a POAP minting smart contract, then transferred free to the attenders of the events.\n * [Ref: https://www.fool.com/investing/stock-market/market-sectors/financials/non-fungible-tokens/poap-nfts/].\n * This unique type of NFT is a free digital gift from the organizers of an event to the attendees.\n * Sample Metadata: https://poap.xyz/events/jsons/28.json.\n */\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\n\ninterface IPOAP is IERC721A {\n // ========== E V E N T S ==========\n\n /// @dev Emitted when a token is minted for an event.\n event EventToken(uint256 eventId, uint256 tokenId);\n\n // ========== E V E N T S ==========\n\n /**\n * @dev Mints token `_tokenId` for a particular event `_eventId`.\n * Emits the {EventToken} event.\n * On calling this function, all tokens are minted to the caller.\n * Then it can be transferred to attendees via transferToken.\n *\n * @param\n * _eventId => The event for which the token was minted.\n * _tokenId => Token to be minted.\n */\n function mintToken(uint256 _eventId, uint256 _tokenId) external;\n\n /**\n * @dev Mints the POAP token `_tokenId` to `_receiver`.\n *\n * @param\n * _eventId => The event for which the token was minted.\n * _receiver => Address receiving the token.\n * _tokenId => Token to be minted.\n */\n function transferToken(\n uint256 _eventId,\n address _receiver,\n uint256 _tokenId\n ) external;\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/interfaces/IPOAP.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/ISoulbond.json b/tests/build/contracts/ISoulbond.json new file mode 100644 index 0000000..24e0aca --- /dev/null +++ b/tests/build/contracts/ISoulbond.json @@ -0,0 +1,1420 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_error", + "type": "string" + } + ], + "name": "Attested", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_error", + "type": "string" + } + ], + "name": "NonExistent", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "Attest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "Revoke", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isMinted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + } + ], + "name": "issue", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "issuerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "revoke", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "42": "contracts/contracts/packages/soulbound/interfaces/ISoulbound.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/interfaces/ISoulbound.sol", + "exportedSymbols": { + "ISoulbond": [ + 5970 + ] + }, + "id": 5971, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5878, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:42" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ISoulbond", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 5879, + "nodeType": "StructuredDocumentation", + "src": "61:1026:42", + "text": " @title Soulbound Interface.\n @author Daccred.\n @dev\n Drafted from :: EIP-4973 [Ref: https://github.com/TimDaub/EIPs/blob/194f91067b8ef843467c15821ca5a5e3aa129fe6/EIPS/eip-4973.md].\n This interface will work with all tokens aimed at being Soulbound [Ref: https://www.cryptotimes.io/what-are-soulbound-tokens-sbts/].\n There are some quick information to note when implementing this interface.\n In addition to the link above, this interface ensures that a token can only be minted to an address once, minting the same token or\n transferring the same token to another address is not feasible. This is to make sure that, that particular token stays with the address,\n and CANNOT be moved around.\n The address the token is minted to is called the 'Soul Address'.\n However, this token can be revoked by the minter (whoever minted it to the Soul Address), and then, and only then\n can that token be reminted to the Soul Address.\n Also, in cases where the token is lost, the above will also apply." + }, + "fullyImplemented": false, + "id": 5970, + "linearizedBaseContracts": [ + 5970 + ], + "name": "ISoulbond", + "nameLocation": "1099:9:42", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 5880, + "nodeType": "StructuredDocumentation", + "src": "1157:51:42", + "text": "@dev Emitted when the token is minted to `_to`." + }, + "eventSelector": "e9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a27", + "id": 5886, + "name": "Attest", + "nameLocation": "1219:6:42", + "nodeType": "EventDefinition", + "parameters": { + "id": 5885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5882, + "indexed": true, + "mutability": "mutable", + "name": "_to", + "nameLocation": "1242:3:42", + "nodeType": "VariableDeclaration", + "scope": 5886, + "src": "1226:19:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1226:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5884, + "indexed": true, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1263:8:42", + "nodeType": "VariableDeclaration", + "scope": 5886, + "src": "1247:24:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5883, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1247:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1225:47:42" + }, + "src": "1213:60:42" + }, + { + "anonymous": false, + "documentation": { + "id": 5887, + "nodeType": "StructuredDocumentation", + "src": "1278:75:42", + "text": "@dev Emitted when the ownership of the token is withdrawn from `_from`." + }, + "eventSelector": "ec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b", + "id": 5893, + "name": "Revoke", + "nameLocation": "1364:6:42", + "nodeType": "EventDefinition", + "parameters": { + "id": 5892, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5889, + "indexed": true, + "mutability": "mutable", + "name": "_from", + "nameLocation": "1387:5:42", + "nodeType": "VariableDeclaration", + "scope": 5893, + "src": "1371:21:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5888, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1371:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5891, + "indexed": true, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1410:8:42", + "nodeType": "VariableDeclaration", + "scope": 5893, + "src": "1394:24:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5890, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1394:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1370:49:42" + }, + "src": "1358:62:42" + }, + { + "documentation": { + "id": 5894, + "nodeType": "StructuredDocumentation", + "src": "1510:40:42", + "text": "@dev Thrown if address is 0 address." + }, + "errorSelector": "c80b8834", + "id": 5898, + "name": "ZeroAddress", + "nameLocation": "1561:11:42", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 5897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5896, + "mutability": "mutable", + "name": "_address", + "nameLocation": "1581:8:42", + "nodeType": "VariableDeclaration", + "scope": 5898, + "src": "1573:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5895, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1573:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1572:18:42" + }, + "src": "1555:36:42" + }, + { + "documentation": { + "id": 5899, + "nodeType": "StructuredDocumentation", + "src": "1596:41:42", + "text": "@dev Thrown if token is not existent." + }, + "errorSelector": "83b66a50", + "id": 5905, + "name": "NonExistent", + "nameLocation": "1648:11:42", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 5904, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5901, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "1668:8:42", + "nodeType": "VariableDeclaration", + "scope": 5905, + "src": "1660:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5900, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1660:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5903, + "mutability": "mutable", + "name": "_error", + "nameLocation": "1685:6:42", + "nodeType": "VariableDeclaration", + "scope": 5905, + "src": "1678:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5902, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1678:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1659:33:42" + }, + "src": "1642:51:42" + }, + { + "documentation": { + "id": 5906, + "nodeType": "StructuredDocumentation", + "src": "1698:49:42", + "text": "@dev Thrown if token has already been minted." + }, + "errorSelector": "c98ab03f", + "id": 5912, + "name": "Attested", + "nameLocation": "1758:8:42", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 5911, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5908, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1775:7:42", + "nodeType": "VariableDeclaration", + "scope": 5912, + "src": "1767:15:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5907, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1767:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5910, + "mutability": "mutable", + "name": "_error", + "nameLocation": "1791:6:42", + "nodeType": "VariableDeclaration", + "scope": 5912, + "src": "1784:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5909, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1784:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1766:32:42" + }, + "src": "1752:47:42" + }, + { + "documentation": { + "id": 5913, + "nodeType": "StructuredDocumentation", + "src": "1847:518:42", + "text": " @dev Mints a new token `_tokenId` to `_to`, giving to ownership of token `_tokenId`.\n This function will be used hand in hand with ERC721's _mint() function.\n Emits the {Attest} event.\n @notice `_to` cannot transfer the token.\n [CONDITIONS]\n `_to` must not be a 0 address.\n `_tokenId` must be an existent token.\n @param\n _to, Address to which token `_tokenId` is minted.\n _tokenId, Token to mint.\n @return bool." + }, + "functionSelector": "ebf469dc", + "id": 5924, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "issue", + "nameLocation": "2379:5:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5915, + "mutability": "mutable", + "name": "_to", + "nameLocation": "2402:3:42", + "nodeType": "VariableDeclaration", + "scope": 5924, + "src": "2394:11:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5914, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2394:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5917, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "2423:8:42", + "nodeType": "VariableDeclaration", + "scope": 5924, + "src": "2415:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5916, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2415:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5919, + "mutability": "mutable", + "name": "tokenURI", + "nameLocation": "2455:8:42", + "nodeType": "VariableDeclaration", + "scope": 5924, + "src": "2441:22:42", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5918, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2441:6:42", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2384:85:42" + }, + "returnParameters": { + "id": 5923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5922, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5924, + "src": "2488:4:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5921, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2488:4:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2487:6:42" + }, + "scope": 5970, + "src": "2370:124:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5925, + "nodeType": "StructuredDocumentation", + "src": "2500:659:42", + "text": " @dev Withdraws ownership of token `_tokenId` from `_From`.\n This will be done when the ERC721's _burn() function is called.\n Emits the {Revoke} event.\n @notice `_from` must own the token.\n [CONDITIONS]\n `_from` must not be a 0 address.\n `_tokenId` must be an existent token.\n The function can only be called by the issuer of the token.\n This modifier onlyIssuer will be implemented in the contract. [Modifiers cannot be made in interfaces].\n @param\n _from => Address which owns token `_tokenId`.\n _tokenId => Token to revoke.\n @return bool." + }, + "functionSelector": "eac449d9", + "id": 5934, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revoke", + "nameLocation": "3173:6:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5930, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5927, + "mutability": "mutable", + "name": "_from", + "nameLocation": "3188:5:42", + "nodeType": "VariableDeclaration", + "scope": 5934, + "src": "3180:13:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5926, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3180:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5929, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "3203:8:42", + "nodeType": "VariableDeclaration", + "scope": 5934, + "src": "3195:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5928, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3195:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3179:33:42" + }, + "returnParameters": { + "id": 5933, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5932, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5934, + "src": "3231:4:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5931, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3231:4:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3230:6:42" + }, + "scope": 5970, + "src": "3164:73:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "6352211e", + "id": 5941, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "3500:7:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5936, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "3516:8:42", + "nodeType": "VariableDeclaration", + "scope": 5941, + "src": "3508:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5935, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3508:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3507:18:42" + }, + "returnParameters": { + "id": 5940, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5939, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5941, + "src": "3544:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5938, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3544:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3543:9:42" + }, + "scope": 5970, + "src": "3491:62:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5942, + "nodeType": "StructuredDocumentation", + "src": "3559:406:42", + "text": " @dev Since a token cannnot be minted twice.\n This function returns the address that minted token `_tokenId` to `_to`.\n [CONDITIONS]\n `_to` must not be a 0 address.\n `_tokenId` must be an existent token.\n @param\n _to => Address to which token `_tokenId` is minted.\n _tokenId => Token minted.\n @return address of issuer." + }, + "functionSelector": "fb8f198d", + "id": 5951, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "issuerOf", + "nameLocation": "3979:8:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5947, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5944, + "mutability": "mutable", + "name": "_to", + "nameLocation": "3996:3:42", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "3988:11:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5943, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3988:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5946, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "4009:8:42", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "4001:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5945, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4001:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3987:31:42" + }, + "returnParameters": { + "id": 5950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5949, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "4037:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4037:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4036:9:42" + }, + "scope": 5970, + "src": "3970:76:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5952, + "nodeType": "StructuredDocumentation", + "src": "4052:341:42", + "text": " @dev Returns true if token `_tokenId` was minted from `_from` to `_to`.\n [CONDITIONS]\n `_to` must not be a 0 address.\n `_tokenId` must be an existent token.\n @param\n _to => Address to which token `_tokenId` is minted.\n _tokenId => Token minted.\n @return bool." + }, + "functionSelector": "5899e7b2", + "id": 5961, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isMinted", + "nameLocation": "4407:8:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5957, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5954, + "mutability": "mutable", + "name": "_to", + "nameLocation": "4424:3:42", + "nodeType": "VariableDeclaration", + "scope": 5961, + "src": "4416:11:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5953, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4416:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5956, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "4437:8:42", + "nodeType": "VariableDeclaration", + "scope": 5961, + "src": "4429:16:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5955, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4429:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4415:31:42" + }, + "returnParameters": { + "id": 5960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5959, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5961, + "src": "4465:4:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5958, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4465:4:42", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4464:6:42" + }, + "scope": 5970, + "src": "4398:73:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 5962, + "nodeType": "StructuredDocumentation", + "src": "4477:236:42", + "text": " @dev Returns 1 if isMinted returns true and 0 if otherwise.\n [CONDITIONS]\n `_owner` must not be a 0 address.\n @param\n _owner => Address to evaluate.\n @return uint256." + }, + "functionSelector": "70a08231", + "id": 5969, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "4727:9:42", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5964, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "4745:6:42", + "nodeType": "VariableDeclaration", + "scope": 5969, + "src": "4737:14:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5963, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4737:7:42", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4736:16:42" + }, + "returnParameters": { + "id": 5968, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5967, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5969, + "src": "4771:7:42", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5966, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4771:7:42", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4770:9:42" + }, + "scope": 5970, + "src": "4718:62:42", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 5971, + "src": "1089:3693:42", + "usedErrors": [ + 5898, + 5905, + 5912 + ] + } + ], + "src": "36:4747:42" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ISoulbond", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "Drafted from :: EIP-4973 [Ref: https://github.com/TimDaub/EIPs/blob/194f91067b8ef843467c15821ca5a5e3aa129fe6/EIPS/eip-4973.md]. This interface will work with all tokens aimed at being Soulbound [Ref: https://www.cryptotimes.io/what-are-soulbound-tokens-sbts/]. There are some quick information to note when implementing this interface. In addition to the link above, this interface ensures that a token can only be minted to an address once, minting the same token or transferring the same token to another address is not feasible. This is to make sure that, that particular token stays with the address, and CANNOT be moved around. The address the token is minted to is called the 'Soul Address'. However, this token can be revoked by the minter (whoever minted it to the Soul Address), and then, and only then can that token be reminted to the Soul Address. Also, in cases where the token is lost, the above will also apply.", + "errors": { + "Attested(uint256,string)": [ + { + "details": "Thrown if token has already been minted." + } + ], + "NonExistent(uint256,string)": [ + { + "details": "Thrown if token is not existent." + } + ], + "ZeroAddress(address)": [ + { + "details": "Thrown if address is 0 address." + } + ] + }, + "events": { + "Attest(address,uint256)": { + "details": "Emitted when the token is minted to `_to`." + }, + "Revoke(address,uint256)": { + "details": "Emitted when the ownership of the token is withdrawn from `_from`." + } + }, + "kind": "dev", + "methods": { + "balanceOf(address)": { + "details": "Returns 1 if isMinted returns true and 0 if otherwise. [CONDITIONS] `_owner` must not be a 0 address.", + "params": { + "_owner": "=> Address to evaluate." + }, + "returns": { + "_0": "uint256." + } + }, + "isMinted(address,uint256)": { + "details": "Returns true if token `_tokenId` was minted from `_from` to `_to`. [CONDITIONS] `_to` must not be a 0 address. `_tokenId` must be an existent token.", + "params": { + "_to": "=> Address to which token `_tokenId` is minted. _tokenId => Token minted." + }, + "returns": { + "_0": "bool." + } + }, + "issue(address,uint256,string)": { + "details": "Mints a new token `_tokenId` to `_to`, giving to ownership of token `_tokenId`. This function will be used hand in hand with ERC721's _mint() function. Emits the {Attest} event.", + "notice": "`_to` cannot transfer the token. [CONDITIONS] `_to` must not be a 0 address. `_tokenId` must be an existent token.", + "params": { + "_to": ", Address to which token `_tokenId` is minted. _tokenId, Token to mint." + }, + "returns": { + "_0": "bool." + } + }, + "issuerOf(address,uint256)": { + "details": "Since a token cannnot be minted twice. This function returns the address that minted token `_tokenId` to `_to`. [CONDITIONS] `_to` must not be a 0 address. `_tokenId` must be an existent token.", + "params": { + "_to": "=> Address to which token `_tokenId` is minted. _tokenId => Token minted." + }, + "returns": { + "_0": "address of issuer." + } + }, + "revoke(address,uint256)": { + "details": "Withdraws ownership of token `_tokenId` from `_From`. This will be done when the ERC721's _burn() function is called. Emits the {Revoke} event.", + "notice": "`_from` must own the token. [CONDITIONS] `_from` must not be a 0 address. `_tokenId` must be an existent token. The function can only be called by the issuer of the token. This modifier onlyIssuer will be implemented in the contract. [Modifiers cannot be made in interfaces].", + "params": { + "_from": "=> Address which owns token `_tokenId`. _tokenId => Token to revoke." + }, + "returns": { + "_0": "bool." + } + } + }, + "title": "Soulbound Interface.", + "version": 1 + }, + "offset": [ + 1089, + 4782 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "5f97458569b7988e21868db35b212fc708da1406", + "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.8;\n\n/**\n * @title Soulbound Interface.\n * @author Daccred.\n * @dev\n * Drafted from :: EIP-4973 [Ref: https://github.com/TimDaub/EIPs/blob/194f91067b8ef843467c15821ca5a5e3aa129fe6/EIPS/eip-4973.md].\n *\n * This interface will work with all tokens aimed at being Soulbound [Ref: https://www.cryptotimes.io/what-are-soulbound-tokens-sbts/].\n * There are some quick information to note when implementing this interface.\n * In addition to the link above, this interface ensures that a token can only be minted to an address once, minting the same token or\n * transferring the same token to another address is not feasible. This is to make sure that, that particular token stays with the address,\n * and CANNOT be moved around.\n * The address the token is minted to is called the 'Soul Address'.\n * However, this token can be revoked by the minter (whoever minted it to the Soul Address), and then, and only then\n * can that token be reminted to the Soul Address.\n * Also, in cases where the token is lost, the above will also apply.\n */\n\ninterface ISoulbond {\n // ========== E V E N T S ==========\n\n /// @dev Emitted when the token is minted to `_to`.\n event Attest(address indexed _to, uint256 indexed _tokenId);\n /// @dev Emitted when the ownership of the token is withdrawn from `_from`.\n event Revoke(address indexed _from, uint256 indexed _tokenId);\n\n // ========== E V E N T S ==========\n\n // ========== E R R O R s ==========\n\n /// @dev Thrown if address is 0 address.\n error ZeroAddress(address _address);\n /// @dev Thrown if token is not existent.\n error NonExistent(uint256 _tokenId, string _error);\n /// @dev Thrown if token has already been minted.\n error Attested(uint256 tokenId, string _error);\n\n // ========== E R R O R s ==========\n\n /**\n * @dev Mints a new token `_tokenId` to `_to`, giving to ownership of token `_tokenId`.\n * This function will be used hand in hand with ERC721's _mint() function.\n * Emits the {Attest} event.\n *\n * @notice `_to` cannot transfer the token.\n *\n * [CONDITIONS]\n * `_to` must not be a 0 address.\n * `_tokenId` must be an existent token.\n *\n * @param\n * _to, Address to which token `_tokenId` is minted.\n * _tokenId, Token to mint.\n *\n * @return bool.\n */\n function issue(\n address _to,\n uint256 _tokenId,\n string memory tokenURI\n ) external returns (bool);\n\n /**\n * @dev Withdraws ownership of token `_tokenId` from `_From`.\n * This will be done when the ERC721's _burn() function is called.\n * Emits the {Revoke} event.\n *\n * @notice `_from` must own the token.\n *\n * [CONDITIONS]\n * `_from` must not be a 0 address.\n * `_tokenId` must be an existent token.\n * The function can only be called by the issuer of the token.\n * This modifier onlyIssuer will be implemented in the contract. [Modifiers cannot be made in interfaces].\n *\n * @param\n * _from => Address which owns token `_tokenId`.\n * _tokenId => Token to revoke.\n *\n * @return bool.\n */\n function revoke(address _from, uint256 _tokenId) external returns (bool);\n\n /*\n * @dev Returns the address that owns token `_tokenId`.\n *\n * [CONDITIONS]\n * `_tokenId` must be an existent token.\n *\n * @param _tokenId => Token minted.\n *\n * @return address of owner of `_tokenId`.\n */\n function ownerOf(uint256 _tokenId) external returns (address);\n\n /**\n * @dev Since a token cannnot be minted twice.\n * This function returns the address that minted token `_tokenId` to `_to`.\n *\n * [CONDITIONS]\n * `_to` must not be a 0 address.\n * `_tokenId` must be an existent token.\n *\n * @param\n * _to => Address to which token `_tokenId` is minted.\n * _tokenId => Token minted.\n *\n * @return address of issuer.\n */\n function issuerOf(address _to, uint256 _tokenId) external returns (address);\n\n /**\n * @dev Returns true if token `_tokenId` was minted from `_from` to `_to`.\n *\n * [CONDITIONS]\n * `_to` must not be a 0 address.\n * `_tokenId` must be an existent token.\n *\n * @param\n * _to => Address to which token `_tokenId` is minted.\n * _tokenId => Token minted.\n *\n * @return bool.\n */\n function isMinted(address _to, uint256 _tokenId) external returns (bool);\n\n /**\n * @dev Returns 1 if isMinted returns true and 0 if otherwise.\n *\n * [CONDITIONS]\n * `_owner` must not be a 0 address.\n *\n * @param\n * _owner => Address to evaluate.\n *\n * @return uint256.\n */\n function balanceOf(address _owner) external returns (uint256);\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/soulbound/interfaces/ISoulbound.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IWhitelist.json b/tests/build/contracts/IWhitelist.json new file mode 100644 index 0000000..dfaee5a --- /dev/null +++ b/tests/build/contracts/IWhitelist.json @@ -0,0 +1,619 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ExtendWhitelistLength", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "SetWhitelistLength", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_length", + "type": "uint256" + } + ], + "name": "extendWhitelistLength", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getWhitelistLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getWhitelistMaxLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_length", + "type": "uint256" + } + ], + "name": "setWhitelistLength", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "26": "contracts/contracts/packages/nft/contracts/interfaces/IWhitelist.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IWhitelist.sol", + "exportedSymbols": { + "IWhitelist": [ + 3526 + ] + }, + "id": 3527, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3486, + "literals": [ + "solidity", + "^", + "0.8", + ".7" + ], + "nodeType": "PragmaDirective", + "src": "429:23:26" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IWhitelist", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3487, + "nodeType": "StructuredDocumentation", + "src": "454:1177:26", + "text": " @title Whitelist Limitation Interface.\n @author Daccred.\n @dev For contracts that will implement this interface, storage fixed arrays cannot be created from a function\n (only memory can, and will be wiped out when the function is done).\n But this interface seeks to control a dynamic array's max length using a storage uint256 variable.\n This ensures that the length of the array cannot be GT the value of the max length.\n Contracts to implement this interface must specify a control uint on the contract storage.\n [USABILITY]\n In future in the WhitelistFactory, the entire Whitelist actions will be controlled depending on the users payment plan (free or paid).\n When the WhitelistFactory is deployed, a whitelist max length is automatically created via\n setting a default max length value for the address\n the whitelist can now be created to memory by uint256[max_length] whitelist = new uint256[](max_length)\n and functions that adds, extends and sets new length for whitelist will be handled from the Factory, the actions\n will be dependent on the users payment plan.\n [WARNING]\n This max length value can only be incremented." + }, + "fullyImplemented": false, + "id": 3526, + "linearizedBaseContracts": [ + 3526 + ], + "name": "IWhitelist", + "nameLocation": "1643:10:26", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 3488, + "nodeType": "StructuredDocumentation", + "src": "1702:52:26", + "text": "@dev Emitted when a new whitelist length is set." + }, + "eventSelector": "25ef32ddcaca1915e3869347972206d9be46c608d0b721f940820bde31999392", + "id": 3492, + "name": "SetWhitelistLength", + "nameLocation": "1765:18:26", + "nodeType": "EventDefinition", + "parameters": { + "id": 3491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3490, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3492, + "src": "1784:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3489, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1784:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1783:9:26" + }, + "src": "1759:34:26" + }, + { + "anonymous": false, + "documentation": { + "id": 3493, + "nodeType": "StructuredDocumentation", + "src": "1799:62:26", + "text": "@dev Emitted when the max length of the array is extended." + }, + "eventSelector": "b1d7d296ff13da00f3961d99ca5a3d71399cc958183accf1ad4892fba4372845", + "id": 3497, + "name": "ExtendWhitelistLength", + "nameLocation": "1872:21:26", + "nodeType": "EventDefinition", + "parameters": { + "id": 3496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3495, + "indexed": false, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3497, + "src": "1894:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3494, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1894:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1893:9:26" + }, + "src": "1866:37:26" + }, + { + "documentation": { + "id": 3498, + "nodeType": "StructuredDocumentation", + "src": "1951:106:26", + "text": " @dev Returns the current length of the array, (number of elements housed by the array)." + }, + "functionSelector": "a13202e9", + "id": 3503, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getWhitelistLength", + "nameLocation": "2071:18:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3499, + "nodeType": "ParameterList", + "parameters": [], + "src": "2089:2:26" + }, + "returnParameters": { + "id": 3502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3501, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3503, + "src": "2110:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2110:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2109:9:26" + }, + "scope": 3526, + "src": "2062:57:26", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3504, + "nodeType": "StructuredDocumentation", + "src": "2125:81:26", + "text": " @dev Returns the current value of the max length of the array." + }, + "functionSelector": "70eb758e", + "id": 3509, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getWhitelistMaxLength", + "nameLocation": "2220:21:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3505, + "nodeType": "ParameterList", + "parameters": [], + "src": "2241:2:26" + }, + "returnParameters": { + "id": 3508, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3507, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3509, + "src": "2262:7:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3506, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2262:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2261:9:26" + }, + "scope": 3526, + "src": "2211:60:26", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3510, + "nodeType": "StructuredDocumentation", + "src": "2277:469:26", + "text": " @dev Set the new `_length` to the max length of the array.\n This cannot be reduced, only increased.\n (An array with a current max length of 5, can only accept values GT 5 for a new max length value).\n [CONDITIONS]\n new `_length` must be > than the `max length`.\n Emits the {SetWhitelistLength} event.\n @param _length, The new value for the max length of the array.\n @return bool." + }, + "functionSelector": "a1802411", + "id": 3517, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setWhitelistLength", + "nameLocation": "2760:18:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3512, + "mutability": "mutable", + "name": "_length", + "nameLocation": "2787:7:26", + "nodeType": "VariableDeclaration", + "scope": 3517, + "src": "2779:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3511, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2779:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2778:17:26" + }, + "returnParameters": { + "id": 3516, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3515, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3517, + "src": "2814:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3514, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2814:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2813:6:26" + }, + "scope": 3526, + "src": "2751:69:26", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3518, + "nodeType": "StructuredDocumentation", + "src": "2826:465:26", + "text": " @dev Adds a value of `_length` to the current max length.\n (Calling this function on the max length with a value of 5, sets the new max length value to: 5 + `_length`).\n Returns the new max length value.\n [CONDITIONS]\n `_length` must be GT 0.\n Emits the {ExtendWhitelistLength} event.\n @param _length, The desired length by which the max value will be extended.\n @return bool." + }, + "functionSelector": "3b22d9cd", + "id": 3525, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "extendWhitelistLength", + "nameLocation": "3305:21:26", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3521, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3520, + "mutability": "mutable", + "name": "_length", + "nameLocation": "3335:7:26", + "nodeType": "VariableDeclaration", + "scope": 3525, + "src": "3327:15:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3519, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3327:7:26", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3326:17:26" + }, + "returnParameters": { + "id": 3524, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3523, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3525, + "src": "3362:4:26", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3522, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3362:4:26", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3361:6:26" + }, + "scope": 3526, + "src": "3296:72:26", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3527, + "src": "1633:1787:26", + "usedErrors": [] + } + ], + "src": "429:2992:26" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IWhitelist", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "For contracts that will implement this interface, storage fixed arrays cannot be created from a function (only memory can, and will be wiped out when the function is done). But this interface seeks to control a dynamic array's max length using a storage uint256 variable. This ensures that the length of the array cannot be GT the value of the max length. Contracts to implement this interface must specify a control uint on the contract storage. [USABILITY] In future in the WhitelistFactory, the entire Whitelist actions will be controlled depending on the users payment plan (free or paid). When the WhitelistFactory is deployed, a whitelist max length is automatically created via setting a default max length value for the address the whitelist can now be created to memory by uint256[max_length] whitelist = new uint256[](max_length) and functions that adds, extends and sets new length for whitelist will be handled from the Factory, the actions will be dependent on the users payment plan. [WARNING] This max length value can only be incremented.", + "events": { + "ExtendWhitelistLength(uint256)": { + "details": "Emitted when the max length of the array is extended." + }, + "SetWhitelistLength(uint256)": { + "details": "Emitted when a new whitelist length is set." + } + }, + "kind": "dev", + "methods": { + "extendWhitelistLength(uint256)": { + "details": "Adds a value of `_length` to the current max length. (Calling this function on the max length with a value of 5, sets the new max length value to: 5 + `_length`). Returns the new max length value. [CONDITIONS] `_length` must be GT 0. Emits the {ExtendWhitelistLength} event.", + "params": { + "_length": ", The desired length by which the max value will be extended." + }, + "returns": { + "_0": "bool." + } + }, + "getWhitelistLength()": { + "details": "Returns the current length of the array, (number of elements housed by the array)." + }, + "getWhitelistMaxLength()": { + "details": "Returns the current value of the max length of the array." + }, + "setWhitelistLength(uint256)": { + "details": "Set the new `_length` to the max length of the array. This cannot be reduced, only increased. (An array with a current max length of 5, can only accept values GT 5 for a new max length value). [CONDITIONS] new `_length` must be > than the `max length`. Emits the {SetWhitelistLength} event.", + "params": { + "_length": ", The new value for the max length of the array." + }, + "returns": { + "_0": "bool." + } + } + }, + "title": "Whitelist Limitation Interface.", + "version": 1 + }, + "offset": [ + 1633, + 3420 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "e555969871f203c75eaff78b84ca2a5dbd606338", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.7;\n\n/**\n * @title Whitelist Limitation Interface.\n * @author Daccred.\n * @dev For contracts that will implement this interface, storage fixed arrays cannot be created from a function\n * (only memory can, and will be wiped out when the function is done).\n * But this interface seeks to control a dynamic array's max length using a storage uint256 variable.\n * This ensures that the length of the array cannot be GT the value of the max length.\n * Contracts to implement this interface must specify a control uint on the contract storage.\n *\n * [USABILITY]\n * In future in the WhitelistFactory, the entire Whitelist actions will be controlled depending on the users payment plan (free or paid).\n * When the WhitelistFactory is deployed, a whitelist max length is automatically created via\n * setting a default max length value for the address\n * the whitelist can now be created to memory by uint256[max_length] whitelist = new uint256[](max_length)\n * and functions that adds, extends and sets new length for whitelist will be handled from the Factory, the actions\n * will be dependent on the users payment plan.\n *\n * [WARNING]\n * This max length value can only be incremented.\n */\n\ninterface IWhitelist {\n // ========== E V E N T S ==========\n\n /// @dev Emitted when a new whitelist length is set.\n event SetWhitelistLength(uint256);\n\n /// @dev Emitted when the max length of the array is extended.\n event ExtendWhitelistLength(uint256);\n\n // ========== E V E N T S ==========\n\n /**\n * @dev Returns the current length of the array, (number of elements housed by the array).\n */\n function getWhitelistLength() external returns (uint256);\n\n /**\n * @dev Returns the current value of the max length of the array.\n */\n function getWhitelistMaxLength() external returns (uint256);\n\n /**\n * @dev Set the new `_length` to the max length of the array.\n * This cannot be reduced, only increased.\n * (An array with a current max length of 5, can only accept values GT 5 for a new max length value).\n *\n * [CONDITIONS]\n * new `_length` must be > than the `max length`.\n *\n * Emits the {SetWhitelistLength} event.\n *\n * @param _length, The new value for the max length of the array.\n *\n * @return bool.\n */\n function setWhitelistLength(uint256 _length) external returns (bool);\n\n /**\n * @dev Adds a value of `_length` to the current max length.\n * (Calling this function on the max length with a value of 5, sets the new max length value to: 5 + `_length`).\n * Returns the new max length value.\n *\n * [CONDITIONS]\n * `_length` must be GT 0.\n *\n * Emits the {ExtendWhitelistLength} event.\n *\n * @param _length, The desired length by which the max value will be extended.\n *\n * @return bool.\n */\n function extendWhitelistLength(uint256 _length) external returns (bool);\n\n // ========== I N T E R F A C E S ==========\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/interfaces/IWhitelist.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IWithMerkleProof.json b/tests/build/contracts/IWithMerkleProof.json new file mode 100644 index 0000000..412a85e --- /dev/null +++ b/tests/build/contracts/IWithMerkleProof.json @@ -0,0 +1,441 @@ +{ + "abi": [ + { + "inputs": [], + "name": "getMerkleRoot", + "outputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_root", + "type": "bytes32" + } + ], + "name": "setMerkleRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32[]", + "name": "proof", + "type": "bytes32[]" + }, + { + "internalType": "bytes32", + "name": "root", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "leaf", + "type": "bytes32" + } + ], + "name": "verifyMerkleProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "27": "contracts/contracts/packages/nft/contracts/interfaces/IWithMerkleProof.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IWithMerkleProof.sol", + "exportedSymbols": { + "IWithMerkleProof": [ + 3555 + ] + }, + "id": 3556, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3528, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:27" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IWithMerkleProof", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3529, + "nodeType": "StructuredDocumentation", + "src": "578:115:27", + "text": " @title IWithMerkleProof Interface.\n @author Daccred.\n @dev Verifies a leaf as part of a Merkle tree." + }, + "fullyImplemented": false, + "id": 3555, + "linearizedBaseContracts": [ + 3555 + ], + "name": "IWithMerkleProof", + "nameLocation": "705:16:27", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 3530, + "nodeType": "StructuredDocumentation", + "src": "728:57:27", + "text": " @dev Allows caller to set merkle root." + }, + "functionSelector": "7cb64759", + "id": 3535, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setMerkleRoot", + "nameLocation": "799:13:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3533, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3532, + "mutability": "mutable", + "name": "_root", + "nameLocation": "821:5:27", + "nodeType": "VariableDeclaration", + "scope": 3535, + "src": "813:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3531, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "813:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "812:15:27" + }, + "returnParameters": { + "id": 3534, + "nodeType": "ParameterList", + "parameters": [], + "src": "836:0:27" + }, + "scope": 3555, + "src": "790:47:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3536, + "nodeType": "StructuredDocumentation", + "src": "843:116:27", + "text": " @dev Returns the merkle root, if it is set.\n @return _root which is the merkle root." + }, + "functionSelector": "49590657", + "id": 3541, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getMerkleRoot", + "nameLocation": "973:13:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3537, + "nodeType": "ParameterList", + "parameters": [], + "src": "986:2:27" + }, + "returnParameters": { + "id": 3540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3539, + "mutability": "mutable", + "name": "_root", + "nameLocation": "1015:5:27", + "nodeType": "VariableDeclaration", + "scope": 3541, + "src": "1007:13:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3538, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1007:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1006:15:27" + }, + "scope": 3555, + "src": "964:58:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3542, + "nodeType": "StructuredDocumentation", + "src": "1028:359:27", + "text": " @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree defined by `root`.\n For this, a `proof` must be provided, containing sibling hashes on the branch from the leaf to the root of the tree.\n Each pair of leaves and each pair of pre-images are assumed to be sorted.\n @param leaf, root and proof." + }, + "functionSelector": "ada4fa18", + "id": 3554, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "verifyMerkleProof", + "nameLocation": "1401:17:27", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3550, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3545, + "mutability": "mutable", + "name": "proof", + "nameLocation": "1445:5:27", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "1428:22:27", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[]" + }, + "typeName": { + "baseType": { + "id": 3543, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1428:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 3544, + "nodeType": "ArrayTypeName", + "src": "1428:9:27", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", + "typeString": "bytes32[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3547, + "mutability": "mutable", + "name": "root", + "nameLocation": "1468:4:27", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "1460:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3546, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1460:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3549, + "mutability": "mutable", + "name": "leaf", + "nameLocation": "1490:4:27", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "1482:12:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3548, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1482:7:27", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1418:82:27" + }, + "returnParameters": { + "id": 3553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3552, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3554, + "src": "1519:4:27", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3551, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1519:4:27", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1518:6:27" + }, + "scope": 3555, + "src": "1392:133:27", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3556, + "src": "695:832:27", + "usedErrors": [] + } + ], + "src": "429:1099:27" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IWithMerkleProof", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "Verifies a leaf as part of a Merkle tree.", + "kind": "dev", + "methods": { + "getMerkleRoot()": { + "details": "Returns the merkle root, if it is set.", + "returns": { + "_root": "which is the merkle root." + } + }, + "setMerkleRoot(bytes32)": { + "details": "Allows caller to set merkle root." + }, + "verifyMerkleProof(bytes32[],bytes32,bytes32)": { + "details": "Returns true if a `leaf` can be proved to be a part of a Merkle tree defined by `root`. For this, a `proof` must be provided, containing sibling hashes on the branch from the leaf to the root of the tree. Each pair of leaves and each pair of pre-images are assumed to be sorted.", + "params": { + "leaf": ", root and proof." + } + } + }, + "title": "IWithMerkleProof Interface.", + "version": 1 + }, + "offset": [ + 695, + 1527 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "2522b9f33ee160c3e3c1d3cf6d104221b2af88ef", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/// @dev This library will be used for the proofs.\n// import \"@openzeppelin/contracts/utils/cryptography/MerkleProof.sol\";\n\n/**\n * @title IWithMerkleProof Interface.\n * @author Daccred.\n * @dev Verifies a leaf as part of a Merkle tree.\n */\n\ninterface IWithMerkleProof {\n /**\n * @dev Allows caller to set merkle root.\n */\n function setMerkleRoot(bytes32 _root) external;\n\n /**\n * @dev Returns the merkle root, if it is set.\n *\n * @return _root which is the merkle root.\n */\n function getMerkleRoot() external returns (bytes32 _root);\n\n /**\n * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree defined by `root`.\n * For this, a `proof` must be provided, containing sibling hashes on the branch from the leaf to the root of the tree.\n * Each pair of leaves and each pair of pre-images are assumed to be sorted.\n *\n * @param leaf, root and proof.\n */\n function verifyMerkleProof(\n bytes32[] memory proof,\n bytes32 root,\n bytes32 leaf\n ) external returns (bool);\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/interfaces/IWithMerkleProof.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IWithPaidExtension.json b/tests/build/contracts/IWithPaidExtension.json new file mode 100644 index 0000000..03bb2b3 --- /dev/null +++ b/tests/build/contracts/IWithPaidExtension.json @@ -0,0 +1,597 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "amountPaid", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Minted", + "type": "event" + }, + { + "inputs": [], + "name": "getFee", + "outputs": [ + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "setFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "splitPayout", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "withRedemptionFee", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "withdraw", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "allSourcePaths": { + "25": "contracts/contracts/packages/nft/contracts/interfaces/IPayableMint.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IPayableMint.sol", + "exportedSymbols": { + "IWithPaidExtension": [ + 3484 + ] + }, + "id": 3485, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3445, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:25" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IWithPaidExtension", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3446, + "nodeType": "StructuredDocumentation", + "src": "454:216:25", + "text": " @title Payable mint interface.\n @author Daccred.\n @dev\n This Extension enable users to charge for mints in the Native token of the Network where the token is being issued.\n The minters pay to mint." + }, + "fullyImplemented": false, + "id": 3484, + "linearizedBaseContracts": [ + 3484 + ], + "name": "IWithPaidExtension", + "nameLocation": "682:18:25", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 3447, + "nodeType": "StructuredDocumentation", + "src": "739:42:25", + "text": "@dev Emitted when the token is minted." + }, + "eventSelector": "25b428dfde728ccfaddad7e29e4ac23c24ed7fd1a6e3e3f91894a9a073f5dfff", + "id": 3455, + "name": "Minted", + "nameLocation": "792:6:25", + "nodeType": "EventDefinition", + "parameters": { + "id": 3454, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3449, + "indexed": true, + "mutability": "mutable", + "name": "_address", + "nameLocation": "815:8:25", + "nodeType": "VariableDeclaration", + "scope": 3455, + "src": "799:24:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "799:7:25", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3451, + "indexed": true, + "mutability": "mutable", + "name": "amountPaid", + "nameLocation": "841:10:25", + "nodeType": "VariableDeclaration", + "scope": 3455, + "src": "825:26:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3450, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "825:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3453, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "869:7:25", + "nodeType": "VariableDeclaration", + "scope": 3455, + "src": "853:23:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3452, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "853:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "798:79:25" + }, + "src": "786:92:25" + }, + { + "documentation": { + "id": 3456, + "nodeType": "StructuredDocumentation", + "src": "916:110:25", + "text": " @dev Allows the setting of the Fees.\n @param _fee, the price of fee to be set." + }, + "functionSelector": "69fe0e2d", + "id": 3461, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setFee", + "nameLocation": "1040:6:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3458, + "mutability": "mutable", + "name": "_fee", + "nameLocation": "1055:4:25", + "nodeType": "VariableDeclaration", + "scope": 3461, + "src": "1047:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3457, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1047:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1046:14:25" + }, + "returnParameters": { + "id": 3460, + "nodeType": "ParameterList", + "parameters": [], + "src": "1069:0:25" + }, + "scope": 3484, + "src": "1031:39:25", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3462, + "nodeType": "StructuredDocumentation", + "src": "1076:121:25", + "text": " @dev Allows the setting of the Fees.\n @return _fee which is the price of fee already set." + }, + "functionSelector": "ced72f87", + "id": 3467, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getFee", + "nameLocation": "1211:6:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3463, + "nodeType": "ParameterList", + "parameters": [], + "src": "1217:2:25" + }, + "returnParameters": { + "id": 3466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3465, + "mutability": "mutable", + "name": "_fee", + "nameLocation": "1246:4:25", + "nodeType": "VariableDeclaration", + "scope": 3467, + "src": "1238:12:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3464, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1238:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1237:14:25" + }, + "scope": 3484, + "src": "1202:50:25", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3468, + "nodeType": "StructuredDocumentation", + "src": "1258:56:25", + "text": " @dev Allows the splitting of payouts." + }, + "functionSelector": "e6b52deb", + "id": 3471, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "splitPayout", + "nameLocation": "1328:11:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3469, + "nodeType": "ParameterList", + "parameters": [], + "src": "1339:2:25" + }, + "returnParameters": { + "id": 3470, + "nodeType": "ParameterList", + "parameters": [], + "src": "1350:0:25" + }, + "scope": 3484, + "src": "1319:32:25", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3472, + "nodeType": "StructuredDocumentation", + "src": "1357:193:25", + "text": " @dev Allows the user to pay some ETH to mint the token.\n @param tokenId, tokenId to be minted.\n @return bool, true if minted and false if otherwise." + }, + "functionSelector": "3dc831b9", + "id": 3479, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withRedemptionFee", + "nameLocation": "1564:17:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3475, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3474, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1590:7:25", + "nodeType": "VariableDeclaration", + "scope": 3479, + "src": "1582:15:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3473, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1582:7:25", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1581:17:25" + }, + "returnParameters": { + "id": 3478, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3477, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3479, + "src": "1625:4:25", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3476, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1625:4:25", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1624:6:25" + }, + "scope": 3484, + "src": "1555:76:25", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3480, + "nodeType": "StructuredDocumentation", + "src": "1637:163:25", + "text": " @dev Whenever users want to withdraw funds from a payable credentials,\n We also get paid as well. The markup can be 10% for free accounts." + }, + "functionSelector": "3ccfd60b", + "id": 3483, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "withdraw", + "nameLocation": "1814:8:25", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3481, + "nodeType": "ParameterList", + "parameters": [], + "src": "1822:2:25" + }, + "returnParameters": { + "id": 3482, + "nodeType": "ParameterList", + "parameters": [], + "src": "1841:0:25" + }, + "scope": 3484, + "src": "1805:37:25", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3485, + "src": "672:1172:25", + "usedErrors": [] + } + ], + "src": "429:1416:25" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IWithPaidExtension", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "This Extension enable users to charge for mints in the Native token of the Network where the token is being issued. The minters pay to mint.", + "events": { + "Minted(address,uint256,uint256)": { + "details": "Emitted when the token is minted." + } + }, + "kind": "dev", + "methods": { + "getFee()": { + "details": "Allows the setting of the Fees.", + "returns": { + "_fee": "which is the price of fee already set." + } + }, + "setFee(uint256)": { + "details": "Allows the setting of the Fees.", + "params": { + "_fee": ", the price of fee to be set." + } + }, + "splitPayout()": { + "details": "Allows the splitting of payouts." + }, + "withRedemptionFee(uint256)": { + "details": "Allows the user to pay some ETH to mint the token.", + "params": { + "tokenId": ", tokenId to be minted." + }, + "returns": { + "_0": "bool, true if minted and false if otherwise." + } + }, + "withdraw()": { + "details": "Whenever users want to withdraw funds from a payable credentials, We also get paid as well. The markup can be 10% for free accounts." + } + }, + "title": "Payable mint interface.", + "version": 1 + }, + "offset": [ + 672, + 1844 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "c4c1c17c58f91d111f9f2b19c23797bfbb3299da", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/**\n * @title Payable mint interface.\n * @author Daccred.\n * @dev\n * This Extension enable users to charge for mints in the Native token of the Network where the token is being issued.\n * The minters pay to mint.\n */\n\ninterface IWithPaidExtension {\n // ===== E V E N T S =====\n\n /// @dev Emitted when the token is minted.\n event Minted(address indexed _address, uint256 indexed amountPaid, uint256 indexed tokenId);\n\n // ===== E V E N T S =====\n\n /**\n * @dev Allows the setting of the Fees.\n *\n * @param _fee, the price of fee to be set.\n */\n function setFee(uint256 _fee) external;\n\n /**\n * @dev Allows the setting of the Fees.\n *\n * @return _fee which is the price of fee already set.\n */\n function getFee() external returns (uint256 _fee);\n\n /**\n * @dev Allows the splitting of payouts.\n */\n function splitPayout() external;\n\n /**\n * @dev Allows the user to pay some ETH to mint the token.\n *\n * @param tokenId, tokenId to be minted.\n *\n * @return bool, true if minted and false if otherwise.\n */\n function withRedemptionFee(uint256 tokenId) external payable returns (bool);\n\n /**\n * @dev Whenever users want to withdraw funds from a payable credentials,\n * We also get paid as well. The markup can be 10% for free accounts.\n */\n function withdraw() external payable;\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/interfaces/IPayableMint.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IWithSignature.json b/tests/build/contracts/IWithSignature.json new file mode 100644 index 0000000..f751634 --- /dev/null +++ b/tests/build/contracts/IWithSignature.json @@ -0,0 +1,776 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "IssueWithSignatureError", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "IssueWithSignature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "RevokeWithSignature", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + } + ], + "name": "issueWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "revokeWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "28": "contracts/contracts/packages/nft/contracts/interfaces/IWithSignature.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/interfaces/IWithSignature.sol", + "exportedSymbols": { + "IWithSignature": [ + 3606 + ] + }, + "id": 3607, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3557, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:28" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IWithSignature", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 3558, + "nodeType": "StructuredDocumentation", + "src": "454:71:28", + "text": " @title IWithSignature Interface.\n @author Daccred.\n @dev" + }, + "fullyImplemented": false, + "id": 3606, + "linearizedBaseContracts": [ + 3606 + ], + "name": "IWithSignature", + "nameLocation": "537:14:28", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 3559, + "nodeType": "StructuredDocumentation", + "src": "590:42:28", + "text": "@dev Emitted when the token is minted." + }, + "eventSelector": "79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e18556", + "id": 3565, + "name": "IssueWithSignature", + "nameLocation": "643:18:28", + "nodeType": "EventDefinition", + "parameters": { + "id": 3564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3561, + "indexed": true, + "mutability": "mutable", + "name": "_address", + "nameLocation": "678:8:28", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "662:24:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "662:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3563, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "704:7:28", + "nodeType": "VariableDeclaration", + "scope": 3565, + "src": "688:23:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3562, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "688:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "661:51:28" + }, + "src": "637:76:28" + }, + { + "documentation": { + "id": 3566, + "nodeType": "StructuredDocumentation", + "src": "718:81:28", + "text": "@dev Thrown when the minting fails, because of insufficient eth or otherwise." + }, + "errorSelector": "075da6f5", + "id": 3574, + "name": "IssueWithSignatureError", + "nameLocation": "810:23:28", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 3573, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3568, + "mutability": "mutable", + "name": "_address", + "nameLocation": "842:8:28", + "nodeType": "VariableDeclaration", + "scope": 3574, + "src": "834:16:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3567, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "834:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3570, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "860:7:28", + "nodeType": "VariableDeclaration", + "scope": 3574, + "src": "852:15:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "852:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3572, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3574, + "src": "869:7:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3571, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "869:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "833:44:28" + }, + "src": "804:74:28" + }, + { + "anonymous": false, + "documentation": { + "id": 3575, + "nodeType": "StructuredDocumentation", + "src": "883:43:28", + "text": "@dev Emitted when the token is revoked." + }, + "eventSelector": "c80ded5d5188b5efd58f2f9ccb75c94a99b8c4ac3074093a921438f6f0fd1076", + "id": 3581, + "name": "RevokeWithSignature", + "nameLocation": "937:19:28", + "nodeType": "EventDefinition", + "parameters": { + "id": 3580, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3577, + "indexed": true, + "mutability": "mutable", + "name": "_address", + "nameLocation": "973:8:28", + "nodeType": "VariableDeclaration", + "scope": 3581, + "src": "957:24:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3576, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "957:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3579, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "999:7:28", + "nodeType": "VariableDeclaration", + "scope": 3581, + "src": "983:23:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3578, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "983:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "956:51:28" + }, + "src": "931:77:28" + }, + { + "documentation": { + "id": 3582, + "nodeType": "StructuredDocumentation", + "src": "1046:456:28", + "text": " @dev Verifies that an address is part of the Allowlist.\n By verifying that the public key that signed `_signature` is the caller of the function.\n Emits the {Verified} event.\n In error cases, throw the {Unsigned} error.\n @param\n _hash, hash of the address signed off-chain.\n _signature, signature to verify.\n @return bool, true if the signer is the contract and false if otherwise." + }, + "functionSelector": "daca6f78", + "id": 3591, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "verifySignature", + "nameLocation": "1516:15:28", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3584, + "mutability": "mutable", + "name": "_hash", + "nameLocation": "1540:5:28", + "nodeType": "VariableDeclaration", + "scope": 3591, + "src": "1532:13:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3583, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1532:7:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3586, + "mutability": "mutable", + "name": "_signature", + "nameLocation": "1560:10:28", + "nodeType": "VariableDeclaration", + "scope": 3591, + "src": "1547:23:28", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3585, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1547:5:28", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1531:40:28" + }, + "returnParameters": { + "id": 3590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3589, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3591, + "src": "1590:4:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3588, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1590:4:28", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1589:6:28" + }, + "scope": 3606, + "src": "1507:89:28", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3592, + "nodeType": "StructuredDocumentation", + "src": "1602:314:28", + "text": " @dev Mints `quantity` number of tokens to `to`.\n On the condition that the hash of `to`, has\n been verified with Signature.\n Emits the {IssueWithSignature} event.\n @param to Address of receiver.\n @param quantity Amount to mint to `to`." + }, + "functionSelector": "079bbc84", + "id": 3599, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "issueWithSignature", + "nameLocation": "1930:18:28", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3594, + "mutability": "mutable", + "name": "to", + "nameLocation": "1957:2:28", + "nodeType": "VariableDeclaration", + "scope": 3599, + "src": "1949:10:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3593, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1949:7:28", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3596, + "mutability": "mutable", + "name": "quantity", + "nameLocation": "1969:8:28", + "nodeType": "VariableDeclaration", + "scope": 3599, + "src": "1961:16:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1961:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1948:30:28" + }, + "returnParameters": { + "id": 3598, + "nodeType": "ParameterList", + "parameters": [], + "src": "1987:0:28" + }, + "scope": 3606, + "src": "1921:67:28", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 3600, + "nodeType": "StructuredDocumentation", + "src": "1994:120:28", + "text": " @dev Revokes the user's token ownership by burning.\n @param tokenId, token to be minted." + }, + "functionSelector": "7dfedbca", + "id": 3605, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revokeWithSignature", + "nameLocation": "2128:19:28", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3602, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2156:7:28", + "nodeType": "VariableDeclaration", + "scope": 3605, + "src": "2148:15:28", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2148:7:28", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2147:17:28" + }, + "returnParameters": { + "id": 3604, + "nodeType": "ParameterList", + "parameters": [], + "src": "2173:0:28" + }, + "scope": 3606, + "src": "2119:55:28", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3607, + "src": "527:1649:28", + "usedErrors": [ + 3574 + ] + } + ], + "src": "429:1748:28" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IWithSignature", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "errors": { + "IssueWithSignatureError(address,uint256,bytes32)": [ + { + "details": "Thrown when the minting fails, because of insufficient eth or otherwise." + } + ] + }, + "events": { + "IssueWithSignature(address,uint256)": { + "details": "Emitted when the token is minted." + }, + "RevokeWithSignature(address,uint256)": { + "details": "Emitted when the token is revoked." + } + }, + "kind": "dev", + "methods": { + "issueWithSignature(address,uint256)": { + "details": "Mints `quantity` number of tokens to `to`. On the condition that the hash of `to`, has been verified with Signature. Emits the {IssueWithSignature} event.", + "params": { + "quantity": "Amount to mint to `to`.", + "to": "Address of receiver." + } + }, + "revokeWithSignature(uint256)": { + "details": "Revokes the user's token ownership by burning.", + "params": { + "tokenId": ", token to be minted." + } + }, + "verifySignature(bytes32,bytes)": { + "details": "Verifies that an address is part of the Allowlist. By verifying that the public key that signed `_signature` is the caller of the function. Emits the {Verified} event. In error cases, throw the {Unsigned} error.", + "params": { + "_hash": ", hash of the address signed off-chain. _signature, signature to verify." + }, + "returns": { + "_0": "bool, true if the signer is the contract and false if otherwise." + } + } + }, + "title": "IWithSignature Interface.", + "version": 1 + }, + "offset": [ + 527, + 2176 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "fb58d7aa18c83de9099b1e5eb17e0941f353d45b", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/**\n * @title IWithSignature Interface.\n * @author Daccred.\n * @dev\n */\n\ninterface IWithSignature {\n // ===== E V E N T S =====\n\n /// @dev Emitted when the token is minted.\n event IssueWithSignature(address indexed _address, uint256 indexed tokenId);\n /// @dev Thrown when the minting fails, because of insufficient eth or otherwise.\n error IssueWithSignatureError(address _address, uint256 tokenId, bytes32);\n /// @dev Emitted when the token is revoked.\n event RevokeWithSignature(address indexed _address, uint256 indexed tokenId);\n\n // ===== E V E N T S =====\n\n /**\n * @dev Verifies that an address is part of the Allowlist.\n * By verifying that the public key that signed `_signature` is the caller of the function.\n * Emits the {Verified} event.\n * In error cases, throw the {Unsigned} error.\n *\n * @param\n * _hash, hash of the address signed off-chain.\n * _signature, signature to verify.\n *\n * @return bool, true if the signer is the contract and false if otherwise.\n */\n function verifySignature(bytes32 _hash, bytes memory _signature) external returns (bool);\n\n /**\n * @dev Mints `quantity` number of tokens to `to`.\n * On the condition that the hash of `to`, has\n * been verified with Signature.\n * Emits the {IssueWithSignature} event.\n *\n * @param to Address of receiver.\n * @param quantity Amount to mint to `to`.\n */\n function issueWithSignature(address to, uint256 quantity) external;\n\n /**\n * @dev Revokes the user's token ownership by burning.\n *\n * @param tokenId, token to be minted.\n */\n function revokeWithSignature(uint256 tokenId) external;\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/interfaces/IWithSignature.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/IsValidWithDate.json b/tests/build/contracts/IsValidWithDate.json new file mode 100644 index 0000000..faffe92 --- /dev/null +++ b/tests/build/contracts/IsValidWithDate.json @@ -0,0 +1,3747 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "Extended", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "extendExpiry", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getExpiryDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getTimeLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "isValid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "36": "contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol", + "exportedSymbols": { + "IsValidWithDate": [ + 4116 + ] + }, + "id": 4117, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4023, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:36" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IsValidWithDate", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4024, + "nodeType": "StructuredDocumentation", + "src": "61:116:36", + "text": " @title IsValidWithDate contract.\n @author Daccred.\n @dev Controls time for minted tokens till expiry." + }, + "fullyImplemented": true, + "id": 4116, + "linearizedBaseContracts": [ + 4116 + ], + "name": "IsValidWithDate", + "nameLocation": "187:15:36", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 4025, + "nodeType": "StructuredDocumentation", + "src": "209:57:36", + "text": "@dev Mapping individual tokens to their expiry dates." + }, + "id": 4029, + "mutability": "mutable", + "name": "tokenExpiryDate", + "nameLocation": "308:15:36", + "nodeType": "VariableDeclaration", + "scope": 4116, + "src": "271:52:36", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "typeName": { + "id": 4028, + "keyType": { + "id": 4026, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "279:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "271:27:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + }, + "valueType": { + "id": 4027, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "290:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": { + "id": 4030, + "nodeType": "StructuredDocumentation", + "src": "330:56:36", + "text": "@dev Emitted when a token is extended by redemption." + }, + "eventSelector": "41a73beb1018a8b63e0f451a8a4f483806142cf14be45b1a58a23776a1e9b4bc", + "id": 4036, + "name": "Extended", + "nameLocation": "397:8:36", + "nodeType": "EventDefinition", + "parameters": { + "id": 4035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4032, + "indexed": false, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "414:7:36", + "nodeType": "VariableDeclaration", + "scope": 4036, + "src": "406:15:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4031, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "406:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4034, + "indexed": false, + "mutability": "mutable", + "name": "time", + "nameLocation": "431:4:36", + "nodeType": "VariableDeclaration", + "scope": 4036, + "src": "423:12:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4033, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "423:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "405:31:36" + }, + "src": "391:46:36" + }, + { + "body": { + "id": 4058, + "nodeType": "Block", + "src": "977:189:36", + "statements": [ + { + "documentation": "@dev Set expiry to new time.", + "expression": { + "id": 4051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4044, + "name": "tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4029, + "src": "1028:15:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 4046, + "indexExpression": { + "id": 4045, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4039, + "src": "1044:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1028:24:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4050, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4047, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1055:5:36", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1055:15:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 4049, + "name": "time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4041, + "src": "1073:4:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1055:22:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1028:49:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4052, + "nodeType": "ExpressionStatement", + "src": "1028:49:36" + }, + { + "documentation": "@dev Emit the {Extended} event.", + "eventCall": { + "arguments": [ + { + "id": 4054, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4039, + "src": "1145:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4055, + "name": "time", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4041, + "src": "1154:4:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4053, + "name": "Extended", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4036, + "src": "1136:8:36", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 4056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1136:23:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4057, + "nodeType": "EmitStatement", + "src": "1131:28:36" + } + ] + }, + "documentation": { + "id": 4037, + "nodeType": "StructuredDocumentation", + "src": "443:469:36", + "text": " @dev On every successful redemption or mint of token the\n expiry of the token is extended by the duration passed\n in the contract.\n This should be called on expired tokens.\n @notice This function is expected to be called by the\n SoulboundRedeemable on every mint.\n @param tokenId Token to extend its expiry.\n @param time Length of time to extend it with." + }, + "functionSelector": "c3cab38a", + "id": 4059, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "extendExpiry", + "nameLocation": "926:12:36", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4042, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4039, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "947:7:36", + "nodeType": "VariableDeclaration", + "scope": 4059, + "src": "939:15:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4038, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "939:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4041, + "mutability": "mutable", + "name": "time", + "nameLocation": "964:4:36", + "nodeType": "VariableDeclaration", + "scope": 4059, + "src": "956:12:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4040, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "956:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "938:31:36" + }, + "returnParameters": { + "id": 4043, + "nodeType": "ParameterList", + "parameters": [], + "src": "977:0:36" + }, + "scope": 4116, + "src": "917:249:36", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4071, + "nodeType": "Block", + "src": "1442:48:36", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 4067, + "name": "tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4029, + "src": "1459:15:36", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", + "typeString": "mapping(uint256 => uint256)" + } + }, + "id": 4069, + "indexExpression": { + "id": 4068, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4062, + "src": "1475:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1459:24:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4066, + "id": 4070, + "nodeType": "Return", + "src": "1452:31:36" + } + ] + }, + "documentation": { + "id": 4060, + "nodeType": "StructuredDocumentation", + "src": "1172:195:36", + "text": " @dev Returns the expiry date of `tokenId`.\n @notice Callable by anyone.\n @param tokenId Token to get its expiry.\n @return time of expiry." + }, + "functionSelector": "6833f200", + "id": 4072, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getExpiryDate", + "nameLocation": "1381:13:36", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4062, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1403:7:36", + "nodeType": "VariableDeclaration", + "scope": 4072, + "src": "1395:15:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4061, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1395:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1394:17:36" + }, + "returnParameters": { + "id": 4066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4065, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4072, + "src": "1433:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4064, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1433:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1432:9:36" + }, + "scope": 4116, + "src": "1372:118:36", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4087, + "nodeType": "Block", + "src": "1784:65:36", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4085, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4080, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "1801:5:36", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "1801:15:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "arguments": [ + { + "id": 4083, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4075, + "src": "1834:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4082, + "name": "getExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4072, + "src": "1820:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 4084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1820:22:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1801:41:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4079, + "id": 4086, + "nodeType": "Return", + "src": "1794:48:36" + } + ] + }, + "documentation": { + "id": 4073, + "nodeType": "StructuredDocumentation", + "src": "1496:222:36", + "text": " @dev Return true if the token is expired or false if otherwise.\n @notice Callable by anyone.\n @param tokenId Token to check if expired.\n @return bool true or false." + }, + "functionSelector": "f577a500", + "id": 4088, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isValid", + "nameLocation": "1732:7:36", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4076, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4075, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1748:7:36", + "nodeType": "VariableDeclaration", + "scope": 4088, + "src": "1740:15:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4074, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1740:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1739:17:36" + }, + "returnParameters": { + "id": 4079, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4078, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4088, + "src": "1778:4:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4077, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1778:4:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1777:6:36" + }, + "scope": 4116, + "src": "1723:126:36", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4114, + "nodeType": "Block", + "src": "2137:380:36", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4096, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2255:5:36", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2255:15:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "arguments": [ + { + "id": 4099, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "2287:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4098, + "name": "getExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4072, + "src": "2273:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 4100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2273:22:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2255:40:36", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "documentation": "@dev If the current time has passed the mapped expiry\n time of token.", + "falseBody": { + "id": 4112, + "nodeType": "Block", + "src": "2367:144:36", + "statements": [ + { + "documentation": "@dev Else,\n Return time left.", + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4106, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4091, + "src": "2474:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4105, + "name": "getExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4072, + "src": "2460:13:36", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2460:22:36", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "expression": { + "id": 4108, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "2485:5:36", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 4109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "2485:15:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2460:40:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 4095, + "id": 4111, + "nodeType": "Return", + "src": "2453:47:36" + } + ] + }, + "id": 4113, + "nodeType": "IfStatement", + "src": "2251:260:36", + "trueBody": { + "id": 4104, + "nodeType": "Block", + "src": "2297:64:36", + "statements": [ + { + "documentation": "@dev Return 0.", + "expression": { + "hexValue": "30", + "id": 4102, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2349:1:36", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 4095, + "id": 4103, + "nodeType": "Return", + "src": "2342:8:36" + } + ] + } + } + ] + }, + "documentation": { + "id": 4089, + "nodeType": "StructuredDocumentation", + "src": "1855:209:36", + "text": " @dev Returns the time left for a token to expire.\n @notice Callable by anyone.\n @param tokenId Token to get its expiry.\n @return time left till expiry." + }, + "functionSelector": "e8c58763", + "id": 4115, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTimeLeft", + "nameLocation": "2078:11:36", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4091, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2098:7:36", + "nodeType": "VariableDeclaration", + "scope": 4115, + "src": "2090:15:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4090, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2090:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2089:17:36" + }, + "returnParameters": { + "id": 4095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4094, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4115, + "src": "2128:7:36", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4093, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2128:7:36", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2127:9:36" + }, + "scope": 4116, + "src": "2069:448:36", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 4117, + "src": "178:2341:36", + "usedErrors": [] + } + ], + "src": "36:2484:36" + }, + "bytecode": "608060405234801561001057600080fd5b5061022b806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80636833f20014610051578063c3cab38a14610084578063e8c5876314610099578063f577a500146100ac575b600080fd5b61007161005f366004610175565b60009081526020819052604090205490565b6040519081526020015b60405180910390f35b61009761009236600461018e565b6100df565b005b6100716100a7366004610175565b610137565b6100cf6100ba366004610175565b60009081526020819052604090205442111590565b604051901515815260200161007b565b6100e981426101c6565b600083815260208181526040918290209290925580518481529182018390527f41a73beb1018a8b63e0f451a8a4f483806142cf14be45b1a58a23776a1e9b4bc910160405180910390a15050565b60008181526020819052604081205442111561015557506000919050565b60008281526020819052604090205461016f9042906101de565b92915050565b60006020828403121561018757600080fd5b5035919050565b600080604083850312156101a157600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b600082198211156101d9576101d96101b0565b500190565b6000828210156101f0576101f06101b0565b50039056fea2646970667358221220d954a1354b3a074cc0126f51af24bb45de260553fa86477c69ad1c779f462ebe64736f6c634300080f0033", + "bytecodeSha1": "67fe842c4073c6e48d213685bf4aa3589531317c", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IsValidWithDate", + "coverageMap": { + "branches": { + "36": { + "IsValidWithDate.getTimeLeft": { + "6": [ + 2255, + 2295, + false + ] + } + } + }, + "statements": { + "36": { + "IsValidWithDate.extendExpiry": { + "2": [ + 1028, + 1077 + ], + "3": [ + 1131, + 1159 + ] + }, + "IsValidWithDate.getExpiryDate": { + "0": [ + 1452, + 1483 + ] + }, + "IsValidWithDate.getTimeLeft": { + "4": [ + 2342, + 2350 + ], + "5": [ + 2453, + 2500 + ] + }, + "IsValidWithDate.isValid": { + "1": [ + 1794, + 1842 + ] + } + } + } + }, + "dependencies": [], + "deployedBytecode": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80636833f20014610051578063c3cab38a14610084578063e8c5876314610099578063f577a500146100ac575b600080fd5b61007161005f366004610175565b60009081526020819052604090205490565b6040519081526020015b60405180910390f35b61009761009236600461018e565b6100df565b005b6100716100a7366004610175565b610137565b6100cf6100ba366004610175565b60009081526020819052604090205442111590565b604051901515815260200161007b565b6100e981426101c6565b600083815260208181526040918290209290925580518481529182018390527f41a73beb1018a8b63e0f451a8a4f483806142cf14be45b1a58a23776a1e9b4bc910160405180910390a15050565b60008181526020819052604081205442111561015557506000919050565b60008281526020819052604090205461016f9042906101de565b92915050565b60006020828403121561018757600080fd5b5035919050565b600080604083850312156101a157600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b600082198211156101d9576101d96101b0565b500190565b6000828210156101f0576101f06101b0565b50039056fea2646970667358221220d954a1354b3a074cc0126f51af24bb45de260553fa86477c69ad1c779f462ebe64736f6c634300080f0033", + "deployedSourceMap": "178:2341:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1372:118;;;;;;:::i;:::-;1433:7;1459:24;;;;;;;;;;;;1372:118;;;;345:25:43;;;333:2;318:18;1372:118:36;;;;;;;;917:249;;;;;;:::i;:::-;;:::i;:::-;;2069:448;;;;;;:::i;:::-;;:::i;1723:126::-;;;;;;:::i;:::-;1778:4;1459:24;;;;;;;;;;;1801:15;:41;;;1723:126;;;;799:14:43;;792:22;774:41;;762:2;747:18;1723:126:36;634:187:43;917:249:36;1055:22;1073:4;1055:15;:22;:::i;:::-;1028:15;:24;;;;;;;;;;;;:49;;;;1136:23;;1265:25:43;;;1306:18;;;1299:34;;;1136:23:36;;1238:18:43;1136:23:36;;;;;;;917:249;;:::o;2069:448::-;2128:7;1459:24;;;;;;;;;;;2255:15;:40;2251:260;;;-1:-1:-1;2349:1:36;;2069:448;-1:-1:-1;2069:448:36:o;2251:260::-;1433:7;1459:24;;;;;;;;;;;2460:40;;2485:15;;2460:40;:::i;:::-;2453:47;2069:448;-1:-1:-1;;2069:448:36:o;14:180:43:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:43;;14:180;-1:-1:-1;14:180:43:o;381:248::-;449:6;457;510:2;498:9;489:7;485:23;481:32;478:52;;;526:1;523;516:12;478:52;-1:-1:-1;;549:23:43;;;619:2;604:18;;;591:32;;-1:-1:-1;381:248:43:o;826:127::-;887:10;882:3;878:20;875:1;868:31;918:4;915:1;908:15;942:4;939:1;932:15;958:128;998:3;1029:1;1025:6;1022:1;1019:13;1016:39;;;1035:18;;:::i;:::-;-1:-1:-1;1071:9:43;;958:128::o;1344:125::-;1384:4;1412:1;1409;1406:8;1403:34;;;1417:18;;:::i;:::-;-1:-1:-1;1454:9:43;;1344:125::o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "Controls time for minted tokens till expiry.", + "events": { + "Extended(uint256,uint256)": { + "details": "Emitted when a token is extended by redemption." + } + }, + "kind": "dev", + "methods": { + "extendExpiry(uint256,uint256)": { + "details": "On every successful redemption or mint of token the expiry of the token is extended by the duration passed in the contract. This should be called on expired tokens.", + "notice": "This function is expected to be called by the SoulboundRedeemable on every mint.", + "params": { + "time": "Length of time to extend it with.", + "tokenId": "Token to extend its expiry." + } + }, + "getExpiryDate(uint256)": { + "details": "Returns the expiry date of `tokenId`.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "Token to get its expiry." + }, + "returns": { + "_0": "time of expiry." + } + }, + "getTimeLeft(uint256)": { + "details": "Returns the time left for a token to expire.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "Token to get its expiry." + }, + "returns": { + "_0": "time left till expiry." + } + }, + "isValid(uint256)": { + "details": "Return true if the token is expired or false if otherwise.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "Token to check if expired." + }, + "returns": { + "_0": "bool true or false." + } + } + }, + "stateVariables": { + "tokenExpiryDate": { + "details": "Mapping individual tokens to their expiry dates." + } + }, + "title": "IsValidWithDate contract.", + "version": 1 + }, + "offset": [ + 178, + 2519 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6833F200 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0xC3CAB38A EQ PUSH2 0x84 JUMPI DUP1 PUSH4 0xE8C58763 EQ PUSH2 0x99 JUMPI DUP1 PUSH4 0xF577A500 EQ PUSH2 0xAC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x71 PUSH2 0x5F CALLDATASIZE PUSH1 0x4 PUSH2 0x175 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x97 PUSH2 0x92 CALLDATASIZE PUSH1 0x4 PUSH2 0x18E JUMP JUMPDEST PUSH2 0xDF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x71 PUSH2 0xA7 CALLDATASIZE PUSH1 0x4 PUSH2 0x175 JUMP JUMPDEST PUSH2 0x137 JUMP JUMPDEST PUSH2 0xCF PUSH2 0xBA CALLDATASIZE PUSH1 0x4 PUSH2 0x175 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP GT ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x7B JUMP JUMPDEST PUSH2 0xE9 DUP2 TIMESTAMP PUSH2 0x1C6 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE DUP1 MLOAD DUP5 DUP2 MSTORE SWAP2 DUP3 ADD DUP4 SWAP1 MSTORE PUSH32 0x41A73BEB1018A8B63E0F451A8A4F483806142CF14BE45B1A58A23776A1E9B4BC SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD TIMESTAMP GT ISZERO PUSH2 0x155 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x16F SWAP1 TIMESTAMP SWAP1 PUSH2 0x1DE JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1D9 JUMPI PUSH2 0x1D9 PUSH2 0x1B0 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1F0 JUMPI PUSH2 0x1F0 PUSH2 0x1B0 JUMP JUMPDEST POP SUB SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD9 SLOAD LOG1 CALLDATALOAD 0x4B GASPRICE SMOD 0x4C 0xC0 SLT PUSH16 0x51AF24BB45DE260553FA86477C69AD1C PUSH24 0x9F462EBE64736F6C634300080F0033000000000000000000 ", + "pcMap": { + "0": { + "offset": [ + 178, + 2519 + ], + "op": "PUSH1", + "path": "36", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "MSTORE", + "path": "36" + }, + "5": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "CALLVALUE", + "path": "36" + }, + "6": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "DUP1", + "path": "36" + }, + "7": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "ISZERO", + "path": "36" + }, + "8": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH2", + "path": "36", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPI", + "path": "36" + }, + "12": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "DUP1", + "path": "36" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "REVERT", + "path": "36" + }, + "16": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPDEST", + "path": "36" + }, + "17": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "POP", + "path": "36" + }, + "18": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "21": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "LT", + "path": "36" + }, + "22": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH2", + "path": "36", + "value": "0x4C" + }, + "25": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPI", + "path": "36" + }, + "26": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "CALLDATALOAD", + "path": "36" + }, + "29": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH1", + "path": "36", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "SHR", + "path": "36" + }, + "32": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "DUP1", + "path": "36" + }, + "33": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH4", + "path": "36", + "value": "0x6833F200" + }, + "38": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "EQ", + "path": "36" + }, + "39": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH2", + "path": "36", + "value": "0x51" + }, + "42": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPI", + "path": "36" + }, + "43": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "DUP1", + "path": "36" + }, + "44": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH4", + "path": "36", + "value": "0xC3CAB38A" + }, + "49": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "EQ", + "path": "36" + }, + "50": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH2", + "path": "36", + "value": "0x84" + }, + "53": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPI", + "path": "36" + }, + "54": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "DUP1", + "path": "36" + }, + "55": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH4", + "path": "36", + "value": "0xE8C58763" + }, + "60": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "EQ", + "path": "36" + }, + "61": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH2", + "path": "36", + "value": "0x99" + }, + "64": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPI", + "path": "36" + }, + "65": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "DUP1", + "path": "36" + }, + "66": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH4", + "path": "36", + "value": "0xF577A500" + }, + "71": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "EQ", + "path": "36" + }, + "72": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH2", + "path": "36", + "value": "0xAC" + }, + "75": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPI", + "path": "36" + }, + "76": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "JUMPDEST", + "path": "36" + }, + "77": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "79": { + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "DUP1", + "path": "36" + }, + "80": { + "first_revert": true, + "fn": null, + "offset": [ + 178, + 2519 + ], + "op": "REVERT", + "path": "36" + }, + "81": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "82": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x71" + }, + "85": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x5F" + }, + "88": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "89": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "91": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x175" + }, + "94": { + "fn": "IsValidWithDate.getExpiryDate", + "jump": "i", + "offset": [ + 1372, + 1490 + ], + "op": "JUMP", + "path": "36" + }, + "95": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "96": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1433, + 1440 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "98": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36", + "statement": 0 + }, + "99": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "100": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "101": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "103": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "104": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "105": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "106": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "108": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "109": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "110": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "111": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "112": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMP", + "path": "36" + }, + "113": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "114": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "116": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "MLOAD", + "path": "36" + }, + "117": { + "op": "SWAP1" + }, + "118": { + "op": "DUP2" + }, + "119": { + "op": "MSTORE" + }, + "120": { + "op": "PUSH1", + "value": "0x20" + }, + "122": { + "op": "ADD" + }, + "123": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "124": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "126": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "MLOAD", + "path": "36" + }, + "127": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "DUP1", + "path": "36" + }, + "128": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "SWAP2", + "path": "36" + }, + "129": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "SUB", + "path": "36" + }, + "130": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "SWAP1", + "path": "36" + }, + "131": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "RETURN", + "path": "36" + }, + "132": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "133": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x97" + }, + "136": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x92" + }, + "139": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "140": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "142": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x18E" + }, + "145": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "i", + "offset": [ + 917, + 1166 + ], + "op": "JUMP", + "path": "36" + }, + "146": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "147": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0xDF" + }, + "150": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "i", + "offset": [ + 917, + 1166 + ], + "op": "JUMP", + "path": "36" + }, + "151": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "152": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "STOP", + "path": "36" + }, + "153": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPDEST", + "path": "36" + }, + "154": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x71" + }, + "157": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0xA7" + }, + "160": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "161": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "163": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x175" + }, + "166": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "i", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "167": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPDEST", + "path": "36" + }, + "168": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x137" + }, + "171": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "i", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "172": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMPDEST", + "path": "36" + }, + "173": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0xCF" + }, + "176": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0xBA" + }, + "179": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "180": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "182": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0x175" + }, + "185": { + "fn": "IsValidWithDate.isValid", + "jump": "i", + "offset": [ + 1723, + 1849 + ], + "op": "JUMP", + "path": "36" + }, + "186": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMPDEST", + "path": "36" + }, + "187": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1778, + 1782 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "189": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "190": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "191": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "192": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "194": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "195": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "196": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "197": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "199": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "200": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "201": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "202": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1816 + ], + "op": "TIMESTAMP", + "path": "36", + "statement": 1 + }, + "203": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "GT", + "path": "36" + }, + "204": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "ISZERO", + "path": "36" + }, + "205": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "SWAP1", + "path": "36" + }, + "206": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMP", + "path": "36" + }, + "207": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMPDEST", + "path": "36" + }, + "208": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "210": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "MLOAD", + "path": "36" + }, + "211": { + "op": "SWAP1" + }, + "212": { + "op": "ISZERO" + }, + "213": { + "op": "ISZERO" + }, + "214": { + "op": "DUP2" + }, + "215": { + "op": "MSTORE" + }, + "216": { + "op": "PUSH1", + "value": "0x20" + }, + "218": { + "op": "ADD" + }, + "219": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0x7B" + }, + "222": { + "op": "JUMP" + }, + "223": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "224": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1077 + ], + "op": "PUSH2", + "path": "36", + "statement": 2, + "value": "0xE9" + }, + "227": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1073, + 1077 + ], + "op": "DUP2", + "path": "36" + }, + "228": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1070 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "229": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1077 + ], + "op": "PUSH2", + "path": "36", + "value": "0x1C6" + }, + "232": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "i", + "offset": [ + 1055, + 1077 + ], + "op": "JUMP", + "path": "36" + }, + "233": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1077 + ], + "op": "JUMPDEST", + "path": "36" + }, + "234": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1043 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "236": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP4", + "path": "36" + }, + "237": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP2", + "path": "36" + }, + "238": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "MSTORE", + "path": "36" + }, + "239": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "241": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP2", + "path": "36" + }, + "242": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP2", + "path": "36" + }, + "243": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "MSTORE", + "path": "36" + }, + "244": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "246": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "SWAP2", + "path": "36" + }, + "247": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP3", + "path": "36" + }, + "248": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "SWAP1", + "path": "36" + }, + "249": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "KECCAK256", + "path": "36" + }, + "250": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SWAP3", + "path": "36" + }, + "251": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SWAP1", + "path": "36" + }, + "252": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SWAP3", + "path": "36" + }, + "253": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SSTORE", + "path": "36" + }, + "254": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "DUP1", + "path": "36", + "statement": 3 + }, + "255": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "MLOAD", + "path": "36" + }, + "256": { + "op": "DUP5" + }, + "257": { + "op": "DUP2" + }, + "258": { + "op": "MSTORE" + }, + "259": { + "op": "SWAP2" + }, + "260": { + "op": "DUP3" + }, + "261": { + "op": "ADD" + }, + "262": { + "op": "DUP4" + }, + "263": { + "op": "SWAP1" + }, + "264": { + "op": "MSTORE" + }, + "265": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "PUSH32", + "path": "36", + "value": "0x41A73BEB1018A8B63E0F451A8A4F483806142CF14BE45B1A58A23776A1E9B4BC" + }, + "298": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SWAP2", + "path": "36" + }, + "299": { + "op": "ADD" + }, + "300": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "302": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "MLOAD", + "path": "36" + }, + "303": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "DUP1", + "path": "36" + }, + "304": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SWAP2", + "path": "36" + }, + "305": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SUB", + "path": "36" + }, + "306": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SWAP1", + "path": "36" + }, + "307": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "LOG1", + "path": "36" + }, + "308": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "POP", + "path": "36" + }, + "309": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "POP", + "path": "36" + }, + "310": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "o", + "offset": [ + 917, + 1166 + ], + "op": "JUMP", + "path": "36" + }, + "311": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPDEST", + "path": "36" + }, + "312": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2128, + 2135 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "314": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "315": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "316": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "317": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "319": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "320": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "321": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "322": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "324": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "325": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "326": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "327": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2255, + 2270 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "328": { + "branch": 6, + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2255, + 2295 + ], + "op": "GT", + "path": "36" + }, + "329": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "ISZERO", + "path": "36" + }, + "330": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "PUSH2", + "path": "36", + "value": "0x155" + }, + "333": { + "branch": 6, + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "JUMPI", + "path": "36" + }, + "334": { + "op": "POP" + }, + "335": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2349, + 2350 + ], + "op": "PUSH1", + "path": "36", + "statement": 4, + "value": "0x0" + }, + "337": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2349, + 2350 + ], + "op": "SWAP2", + "path": "36" + }, + "338": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "SWAP1", + "path": "36" + }, + "339": { + "op": "POP" + }, + "340": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "o", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "341": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "JUMPDEST", + "path": "36" + }, + "342": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1433, + 1440 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "344": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP3", + "path": "36" + }, + "345": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "346": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "347": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "349": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "350": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "351": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "352": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "354": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "355": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "356": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "357": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2460, + 2500 + ], + "op": "PUSH2", + "path": "36", + "statement": 5, + "value": "0x16F" + }, + "360": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2460, + 2500 + ], + "op": "SWAP1", + "path": "36" + }, + "361": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2485, + 2500 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "362": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2485, + 2500 + ], + "op": "SWAP1", + "path": "36" + }, + "363": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2460, + 2500 + ], + "op": "PUSH2", + "path": "36", + "value": "0x1DE" + }, + "366": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "i", + "offset": [ + 2460, + 2500 + ], + "op": "JUMP", + "path": "36" + }, + "367": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2460, + 2500 + ], + "op": "JUMPDEST", + "path": "36" + }, + "368": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2453, + 2500 + ], + "op": "SWAP3", + "path": "36" + }, + "369": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "SWAP2", + "path": "36" + }, + "370": { + "op": "POP" + }, + "371": { + "op": "POP" + }, + "372": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "o", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "373": { + "op": "JUMPDEST" + }, + "374": { + "op": "PUSH1", + "value": "0x0" + }, + "376": { + "op": "PUSH1", + "value": "0x20" + }, + "378": { + "op": "DUP3" + }, + "379": { + "op": "DUP5" + }, + "380": { + "op": "SUB" + }, + "381": { + "op": "SLT" + }, + "382": { + "op": "ISZERO" + }, + "383": { + "op": "PUSH2", + "value": "0x187" + }, + "386": { + "op": "JUMPI" + }, + "387": { + "op": "PUSH1", + "value": "0x0" + }, + "389": { + "op": "DUP1" + }, + "390": { + "op": "REVERT" + }, + "391": { + "op": "JUMPDEST" + }, + "392": { + "op": "POP" + }, + "393": { + "op": "CALLDATALOAD" + }, + "394": { + "op": "SWAP2" + }, + "395": { + "op": "SWAP1" + }, + "396": { + "op": "POP" + }, + "397": { + "jump": "o", + "op": "JUMP" + }, + "398": { + "op": "JUMPDEST" + }, + "399": { + "op": "PUSH1", + "value": "0x0" + }, + "401": { + "op": "DUP1" + }, + "402": { + "op": "PUSH1", + "value": "0x40" + }, + "404": { + "op": "DUP4" + }, + "405": { + "op": "DUP6" + }, + "406": { + "op": "SUB" + }, + "407": { + "op": "SLT" + }, + "408": { + "op": "ISZERO" + }, + "409": { + "op": "PUSH2", + "value": "0x1A1" + }, + "412": { + "op": "JUMPI" + }, + "413": { + "op": "PUSH1", + "value": "0x0" + }, + "415": { + "op": "DUP1" + }, + "416": { + "op": "REVERT" + }, + "417": { + "op": "JUMPDEST" + }, + "418": { + "op": "POP" + }, + "419": { + "op": "POP" + }, + "420": { + "op": "DUP1" + }, + "421": { + "op": "CALLDATALOAD" + }, + "422": { + "op": "SWAP3" + }, + "423": { + "op": "PUSH1", + "value": "0x20" + }, + "425": { + "op": "SWAP1" + }, + "426": { + "op": "SWAP2" + }, + "427": { + "op": "ADD" + }, + "428": { + "op": "CALLDATALOAD" + }, + "429": { + "op": "SWAP2" + }, + "430": { + "op": "POP" + }, + "431": { + "jump": "o", + "op": "JUMP" + }, + "432": { + "op": "JUMPDEST" + }, + "433": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "438": { + "op": "PUSH1", + "value": "0xE0" + }, + "440": { + "op": "SHL" + }, + "441": { + "op": "PUSH1", + "value": "0x0" + }, + "443": { + "op": "MSTORE" + }, + "444": { + "op": "PUSH1", + "value": "0x11" + }, + "446": { + "op": "PUSH1", + "value": "0x4" + }, + "448": { + "op": "MSTORE" + }, + "449": { + "op": "PUSH1", + "value": "0x24" + }, + "451": { + "op": "PUSH1", + "value": "0x0" + }, + "453": { + "op": "REVERT" + }, + "454": { + "op": "JUMPDEST" + }, + "455": { + "op": "PUSH1", + "value": "0x0" + }, + "457": { + "op": "DUP3" + }, + "458": { + "op": "NOT" + }, + "459": { + "op": "DUP3" + }, + "460": { + "op": "GT" + }, + "461": { + "op": "ISZERO" + }, + "462": { + "op": "PUSH2", + "value": "0x1D9" + }, + "465": { + "op": "JUMPI" + }, + "466": { + "op": "PUSH2", + "value": "0x1D9" + }, + "469": { + "op": "PUSH2", + "value": "0x1B0" + }, + "472": { + "jump": "i", + "op": "JUMP" + }, + "473": { + "op": "JUMPDEST" + }, + "474": { + "op": "POP" + }, + "475": { + "op": "ADD" + }, + "476": { + "op": "SWAP1" + }, + "477": { + "jump": "o", + "op": "JUMP" + }, + "478": { + "op": "JUMPDEST" + }, + "479": { + "op": "PUSH1", + "value": "0x0" + }, + "481": { + "op": "DUP3" + }, + "482": { + "op": "DUP3" + }, + "483": { + "op": "LT" + }, + "484": { + "op": "ISZERO" + }, + "485": { + "op": "PUSH2", + "value": "0x1F0" + }, + "488": { + "op": "JUMPI" + }, + "489": { + "op": "PUSH2", + "value": "0x1F0" + }, + "492": { + "op": "PUSH2", + "value": "0x1B0" + }, + "495": { + "jump": "i", + "op": "JUMP" + }, + "496": { + "op": "JUMPDEST" + }, + "497": { + "op": "POP" + }, + "498": { + "op": "SUB" + }, + "499": { + "op": "SWAP1" + }, + "500": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "9f59a94ba146cd93a044934cd8d86ba2eed75908", + "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.8;\n\n/**\n * @title IsValidWithDate contract.\n * @author Daccred.\n * @dev Controls time for minted tokens till expiry.\n */\ncontract IsValidWithDate {\n /// @dev Mapping individual tokens to their expiry dates.\n mapping(uint256 => uint256) internal tokenExpiryDate;\n\n /// @dev Emitted when a token is extended by redemption.\n event Extended(uint256 tokenId, uint256 time);\n\n /**\n * @dev On every successful redemption or mint of token the\n * expiry of the token is extended by the duration passed\n * in the contract.\n * This should be called on expired tokens.\n *\n * @notice This function is expected to be called by the\n * SoulboundRedeemable on every mint.\n *\n * @param tokenId Token to extend its expiry.\n * @param time Length of time to extend it with.\n */\n function extendExpiry(uint256 tokenId, uint256 time) public {\n /// @dev Set expiry to new time.\n tokenExpiryDate[tokenId] = block.timestamp + time;\n /// @dev Emit the {Extended} event.\n emit Extended(tokenId, time);\n }\n\n /**\n * @dev Returns the expiry date of `tokenId`.\n *\n * @notice Callable by anyone.\n *\n * @param tokenId Token to get its expiry.\n *\n * @return time of expiry.\n */\n function getExpiryDate(uint256 tokenId) public view returns (uint256) {\n return tokenExpiryDate[tokenId];\n }\n\n /**\n * @dev Return true if the token is expired or false if otherwise.\n *\n * @notice Callable by anyone.\n *\n * @param tokenId Token to check if expired.\n *\n * @return bool true or false.\n */\n function isValid(uint256 tokenId) public view returns (bool) {\n return block.timestamp <= getExpiryDate(tokenId);\n }\n\n /**\n * @dev Returns the time left for a token to expire.\n *\n * @notice Callable by anyone.\n *\n * @param tokenId Token to get its expiry.\n *\n * @return time left till expiry.\n */\n function getTimeLeft(uint256 tokenId) public view returns (uint256) {\n /// @dev If the current time has passed the mapped expiry\n /// time of token.\n if (block.timestamp > getExpiryDate(tokenId)) {\n /// @dev Return 0.\n return 0;\n } else {\n /// @dev Else,\n /// Return time left.\n return getExpiryDate(tokenId) - block.timestamp;\n }\n }\n}\n", + "sourceMap": "178:2341:36:-:0;;;;;;;;;;;;;;;;;;;", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/Owned.json b/tests/build/contracts/Owned.json new file mode 100644 index 0000000..16bb430 --- /dev/null +++ b/tests/build/contracts/Owned.json @@ -0,0 +1,815 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "21": "contracts/contracts/packages/nft/contracts/Owned.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/Owned.sol", + "exportedSymbols": { + "Owned": [ + 3319 + ] + }, + "id": 3320, + "license": "AGPL-3.0-only", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3261, + "literals": [ + "solidity", + ">=", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "42:24:21" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Owned", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 3262, + "nodeType": "StructuredDocumentation", + "src": "68:219:21", + "text": "@notice Simple single owner authorization mixin.\n @author Daccred (https://github.com/daccred/contracts)\n @author derived from Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)" + }, + "fullyImplemented": true, + "id": 3319, + "linearizedBaseContracts": [ + 3319 + ], + "name": "Owned", + "nameLocation": "305:5:21", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "eventSelector": "8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d76", + "id": 3268, + "name": "OwnerUpdated", + "nameLocation": "502:12:21", + "nodeType": "EventDefinition", + "parameters": { + "id": 3267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3264, + "indexed": true, + "mutability": "mutable", + "name": "user", + "nameLocation": "531:4:21", + "nodeType": "VariableDeclaration", + "scope": 3268, + "src": "515:20:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3263, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "515:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3266, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "553:8:21", + "nodeType": "VariableDeclaration", + "scope": 3268, + "src": "537:24:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3265, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "537:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "514:48:21" + }, + "src": "496:67:21" + }, + { + "constant": false, + "functionSelector": "8da5cb5b", + "id": 3270, + "mutability": "mutable", + "name": "owner", + "nameLocation": "769:5:21", + "nodeType": "VariableDeclaration", + "scope": 3319, + "src": "754:20:21", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3269, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "754:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 3281, + "nodeType": "Block", + "src": "810:73:21", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3273, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "828:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "828:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 3275, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3270, + "src": "842:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "828:19:21", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "554e415554484f52495a4544", + "id": 3277, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "849:14:21", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528", + "typeString": "literal_string \"UNAUTHORIZED\"" + }, + "value": "UNAUTHORIZED" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_269df367cd41cace5897a935d0e0858fe4543b5619d45e09af6b124c1bb3d528", + "typeString": "literal_string \"UNAUTHORIZED\"" + } + ], + "id": 3272, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "820:7:21", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "820:44:21", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3279, + "nodeType": "ExpressionStatement", + "src": "820:44:21" + }, + { + "id": 3280, + "nodeType": "PlaceholderStatement", + "src": "875:1:21" + } + ] + }, + "id": 3282, + "name": "onlyOwner", + "nameLocation": "790:9:21", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 3271, + "nodeType": "ParameterList", + "parameters": [], + "src": "799:2:21" + }, + "src": "781:102:21", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 3299, + "nodeType": "Block", + "src": "1099:79:21", + "statements": [ + { + "expression": { + "id": 3289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3287, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3270, + "src": "1109:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3288, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "1117:6:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1109:14:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3290, + "nodeType": "ExpressionStatement", + "src": "1109:14:21" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 3294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1160:1:21", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 3293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1152:7:21", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3292, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1152:7:21", + "typeDescriptions": {} + } + }, + "id": 3295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1152:10:21", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3296, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3284, + "src": "1164:6:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3291, + "name": "OwnerUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3268, + "src": "1139:12:21", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 3297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1139:32:21", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3298, + "nodeType": "EmitStatement", + "src": "1134:37:21" + } + ] + }, + "id": 3300, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3285, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3284, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "1091:6:21", + "nodeType": "VariableDeclaration", + "scope": 3300, + "src": "1083:14:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3283, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1083:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1082:16:21" + }, + "returnParameters": { + "id": 3286, + "nodeType": "ParameterList", + "parameters": [], + "src": "1099:0:21" + }, + "scope": 3319, + "src": "1071:107:21", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3317, + "nodeType": "Block", + "src": "1429:83:21", + "statements": [ + { + "expression": { + "id": 3309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3307, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3270, + "src": "1439:5:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3308, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3302, + "src": "1447:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1439:16:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3310, + "nodeType": "ExpressionStatement", + "src": "1439:16:21" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 3312, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1484:3:21", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 3313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1484:10:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3314, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3302, + "src": "1496:8:21", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 3311, + "name": "OwnerUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3268, + "src": "1471:12:21", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 3315, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1471:34:21", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3316, + "nodeType": "EmitStatement", + "src": "1466:39:21" + } + ] + }, + "functionSelector": "13af4035", + "id": 3318, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 3305, + "kind": "modifierInvocation", + "modifierName": { + "id": 3304, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 3282, + "src": "1419:9:21" + }, + "nodeType": "ModifierInvocation", + "src": "1419:9:21" + } + ], + "name": "setOwner", + "nameLocation": "1377:8:21", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3302, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1394:8:21", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "1386:16:21", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1386:7:21", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1385:18:21" + }, + "returnParameters": { + "id": 3306, + "nodeType": "ParameterList", + "parameters": [], + "src": "1429:0:21" + }, + "scope": 3319, + "src": "1368:144:21", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 3320, + "src": "287:1227:21", + "usedErrors": [] + } + ], + "src": "42:1473:21" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Owned", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "author": "Daccred (https://github.com/daccred/contracts)derived from Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)", + "kind": "dev", + "methods": {}, + "notice": "Simple single owner authorization mixin.", + "version": 1 + }, + "offset": [ + 287, + 1514 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "28519785ec9b1b7306080f2440054800cc2e8ddf", + "source": "// SPDX-License-Identifier: AGPL-3.0-only\npragma solidity >=0.8.0;\n\n/// @notice Simple single owner authorization mixin.\n/// @author Daccred (https://github.com/daccred/contracts)\n/// @author derived from Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol)\nabstract contract Owned {\n /*//////////////////////////////////////////////////////////////\n EVENTS\n //////////////////////////////////////////////////////////////*/\n\n event OwnerUpdated(address indexed user, address indexed newOwner);\n\n /*//////////////////////////////////////////////////////////////\n OWNERSHIP STORAGE\n //////////////////////////////////////////////////////////////*/\n\n address public owner;\n\n modifier onlyOwner() virtual {\n require(msg.sender == owner, \"UNAUTHORIZED\");\n\n _;\n }\n\n /*//////////////////////////////////////////////////////////////\n CONSTRUCTOR\n //////////////////////////////////////////////////////////////*/\n\n constructor(address _owner) {\n owner = _owner;\n\n emit OwnerUpdated(address(0), _owner);\n }\n\n /*//////////////////////////////////////////////////////////////\n OWNERSHIP LOGIC\n //////////////////////////////////////////////////////////////*/\n\n function setOwner(address newOwner) public virtual onlyOwner {\n owner = newOwner;\n\n emit OwnerUpdated(msg.sender, newOwner);\n }\n}\n", + "sourceMap": "", + "sourcePath": "contracts/contracts/packages/nft/contracts/Owned.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/Pausable.json b/tests/build/contracts/Pausable.json new file mode 100644 index 0000000..a54d1b5 --- /dev/null +++ b/tests/build/contracts/Pausable.json @@ -0,0 +1,4608 @@ +{ + "abi": [ + { + "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": [], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "UnPaused", + "type": "event" + }, + { + "inputs": [], + "name": "isPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unPause", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "13": "contracts/contracts/core/contracts/facets/Pausable.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/core/contracts/facets/Pausable.sol", + "exportedSymbols": { + "Ownable": [ + 6075 + ], + "Pausable": [ + 942 + ] + }, + "id": 943, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 864, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "438:23:13" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 866, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 943, + "sourceUnit": 6076, + "src": "463:67:13", + "symbolAliases": [ + { + "foreign": { + "id": 865, + "name": "Ownable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6075, + "src": "471:7:13", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 868, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6075, + "src": "860:7:13" + }, + "id": 869, + "nodeType": "InheritanceSpecifier", + "src": "860:7:13" + } + ], + "canonicalName": "Pausable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 867, + "nodeType": "StructuredDocumentation", + "src": "532:306:13", + "text": " @title Pausable Contract.\n @author Anthony (fps) https://github.com/0xfps.\n @dev This contract seeks to grant the inheriting\n contract the ability to pause actions done\n on the contract.\n The choice to pause or unpause the contract\n is made by the owner or deployer." + }, + "fullyImplemented": true, + "id": 942, + "linearizedBaseContracts": [ + 942, + 6075, + 6410 + ], + "name": "Pausable", + "nameLocation": "848:8:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 870, + "nodeType": "StructuredDocumentation", + "src": "874:83:13", + "text": "@dev Boolean to determine when contract is or\n is not paused." + }, + "id": 872, + "mutability": "mutable", + "name": "paused", + "nameLocation": "975:6:13", + "nodeType": "VariableDeclaration", + "scope": 942, + "src": "962:19:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 871, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "962:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": { + "id": 873, + "nodeType": "StructuredDocumentation", + "src": "988:49:13", + "text": "@dev Emitted whenever the contract is paused." + }, + "eventSelector": "9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752", + "id": 875, + "name": "Paused", + "nameLocation": "1048:6:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 874, + "nodeType": "ParameterList", + "parameters": [], + "src": "1054:2:13" + }, + "src": "1042:15:13" + }, + { + "anonymous": false, + "documentation": { + "id": 876, + "nodeType": "StructuredDocumentation", + "src": "1062:51:13", + "text": "@dev Emitted whenever the contract is unpaused." + }, + "eventSelector": "472cf038e2a5f33dbaa68760dbf94ab4e159535e6580c0ac63f8202c7c6c0bb2", + "id": 878, + "name": "UnPaused", + "nameLocation": "1124:8:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 877, + "nodeType": "ParameterList", + "parameters": [], + "src": "1132:2:13" + }, + "src": "1118:17:13" + }, + { + "body": { + "id": 887, + "nodeType": "Block", + "src": "1271:112:13", + "statements": [ + { + "documentation": "@dev Require contract is paused.", + "expression": { + "arguments": [ + { + "id": 882, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "1334:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f6e7472616374204e6f74205061757365642e", + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1342:22:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50843a854c70a5f50d19a640f67a4e96efb5dd9ff75bc9bbd5f81d72dcc2f615", + "typeString": "literal_string \"Contract Not Paused.\"" + }, + "value": "Contract Not Paused." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_50843a854c70a5f50d19a640f67a4e96efb5dd9ff75bc9bbd5f81d72dcc2f615", + "typeString": "literal_string \"Contract Not Paused.\"" + } + ], + "id": 881, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1326:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1326:39:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 885, + "nodeType": "ExpressionStatement", + "src": "1326:39:13" + }, + { + "id": 886, + "nodeType": "PlaceholderStatement", + "src": "1375:1:13" + } + ] + }, + "documentation": { + "id": 879, + "nodeType": "StructuredDocumentation", + "src": "1145:99:13", + "text": " @dev Allows for interactions with contract if the\n contract is paused." + }, + "id": 888, + "name": "whenPaused", + "nameLocation": "1258:10:13", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 880, + "nodeType": "ParameterList", + "parameters": [], + "src": "1268:2:13" + }, + "src": "1249:134:13", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 898, + "nodeType": "Block", + "src": "1522:113:13", + "statements": [ + { + "documentation": "@dev Require contract is not paused.", + "expression": { + "arguments": [ + { + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1589:7:13", + "subExpression": { + "id": 892, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "1590:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f6e7472616374205061757365642e", + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1598:18:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7a30677a409dfb6cf4e31479ec012ed36c91d1f6c24b13f74a6e19e460a90b2c", + "typeString": "literal_string \"Contract Paused.\"" + }, + "value": "Contract Paused." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7a30677a409dfb6cf4e31479ec012ed36c91d1f6c24b13f74a6e19e460a90b2c", + "typeString": "literal_string \"Contract Paused.\"" + } + ], + "id": 891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1581:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1581:36:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 896, + "nodeType": "ExpressionStatement", + "src": "1581:36:13" + }, + { + "id": 897, + "nodeType": "PlaceholderStatement", + "src": "1627:1:13" + } + ] + }, + "documentation": { + "id": 889, + "nodeType": "StructuredDocumentation", + "src": "1389:103:13", + "text": " @dev Allows for interactions with contract if the\n contract is not paused." + }, + "id": 899, + "name": "whenNotPaused", + "nameLocation": "1506:13:13", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 890, + "nodeType": "ParameterList", + "parameters": [], + "src": "1519:2:13" + }, + "src": "1497:138:13", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 915, + "nodeType": "Block", + "src": "1788:162:13", + "statements": [ + { + "documentation": "@dev Require contract is not paused.", + "expression": { + "arguments": [ + { + "id": 907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1855:7:13", + "subExpression": { + "id": 906, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "1856:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f6e7472616374205061757365642e", + "id": 908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1864:18:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7a30677a409dfb6cf4e31479ec012ed36c91d1f6c24b13f74a6e19e460a90b2c", + "typeString": "literal_string \"Contract Paused.\"" + }, + "value": "Contract Paused." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7a30677a409dfb6cf4e31479ec012ed36c91d1f6c24b13f74a6e19e460a90b2c", + "typeString": "literal_string \"Contract Paused.\"" + } + ], + "id": 905, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1847:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1847:36:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 910, + "nodeType": "ExpressionStatement", + "src": "1847:36:13" + }, + { + "documentation": "@dev Set paused to true.", + "expression": { + "id": 913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 911, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "1930:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1939:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "1930:13:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 914, + "nodeType": "ExpressionStatement", + "src": "1930:13:13" + } + ] + }, + "documentation": { + "id": 900, + "nodeType": "StructuredDocumentation", + "src": "1641:108:13", + "text": " @dev Pauses the contract. \n This function is callable by the owner or deployer." + }, + "functionSelector": "8456cb59", + "id": 916, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 903, + "kind": "modifierInvocation", + "modifierName": { + "id": 902, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "1778:9:13" + }, + "nodeType": "ModifierInvocation", + "src": "1778:9:13" + } + ], + "name": "pause", + "nameLocation": "1763:5:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 901, + "nodeType": "ParameterList", + "parameters": [], + "src": "1768:2:13" + }, + "returnParameters": { + "id": 904, + "nodeType": "ParameterList", + "parameters": [], + "src": "1788:0:13" + }, + "scope": 942, + "src": "1754:196:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 931, + "nodeType": "Block", + "src": "2105:163:13", + "statements": [ + { + "documentation": "@dev Require contract is paused.", + "expression": { + "arguments": [ + { + "id": 923, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "2168:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f6e7472616374204e6f74205061757365642e", + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2176:22:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50843a854c70a5f50d19a640f67a4e96efb5dd9ff75bc9bbd5f81d72dcc2f615", + "typeString": "literal_string \"Contract Not Paused.\"" + }, + "value": "Contract Not Paused." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_50843a854c70a5f50d19a640f67a4e96efb5dd9ff75bc9bbd5f81d72dcc2f615", + "typeString": "literal_string \"Contract Not Paused.\"" + } + ], + "id": 922, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2160:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 925, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2160:39:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 926, + "nodeType": "ExpressionStatement", + "src": "2160:39:13" + }, + { + "documentation": "@dev Set paused to false.", + "expression": { + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 927, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "2247:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2256:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2247:14:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 930, + "nodeType": "ExpressionStatement", + "src": "2247:14:13" + } + ] + }, + "documentation": { + "id": 917, + "nodeType": "StructuredDocumentation", + "src": "1956:108:13", + "text": " @dev Pauses the contract. \n This function is callable by the owner or deployer." + }, + "functionSelector": "f7b188a5", + "id": 932, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 920, + "kind": "modifierInvocation", + "modifierName": { + "id": 919, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "2095:9:13" + }, + "nodeType": "ModifierInvocation", + "src": "2095:9:13" + } + ], + "name": "unPause", + "nameLocation": "2078:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 918, + "nodeType": "ParameterList", + "parameters": [], + "src": "2085:2:13" + }, + "returnParameters": { + "id": 921, + "nodeType": "ParameterList", + "parameters": [], + "src": "2105:0:13" + }, + "scope": 942, + "src": "2069:199:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 940, + "nodeType": "Block", + "src": "2486:30:13", + "statements": [ + { + "expression": { + "id": 938, + "name": "paused", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 872, + "src": "2503:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 937, + "id": 939, + "nodeType": "Return", + "src": "2496:13:13" + } + ] + }, + "documentation": { + "id": 933, + "nodeType": "StructuredDocumentation", + "src": "2274:161:13", + "text": " @dev Returns true or false if the contract is paused. \n This function is callable by anyone.\n @return bool True or false." + }, + "functionSelector": "b187bd26", + "id": 941, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isPaused", + "nameLocation": "2449:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 934, + "nodeType": "ParameterList", + "parameters": [], + "src": "2457:2:13" + }, + "returnParameters": { + "id": 937, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 936, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 941, + "src": "2480:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 935, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2480:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2479:6:13" + }, + "scope": 942, + "src": "2440:76:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 943, + "src": "839:1679:13", + "usedErrors": [] + } + ], + "src": "438:2080:13" + }, + "bytecode": "608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6103ab8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638456cb59146100715780638da5cb5b14610079578063b187bd2614610099578063f2fde38b146100b6578063f7b188a5146100c9575b600080fd5b61006f6100d1565b005b61006f610110565b6000546040516001600160a01b0390911681526020015b60405180910390f35b600054600160a01b900460ff166040519015158152602001610090565b61006f6100c4366004610310565b61019c565b61006f610237565b6000546001600160a01b031633146101045760405162461bcd60e51b81526004016100fb90610340565b60405180910390fd5b61010e60006102c0565b565b6000546001600160a01b0316331461013a5760405162461bcd60e51b81526004016100fb90610340565b600054600160a01b900460ff16156101875760405162461bcd60e51b815260206004820152601060248201526f21b7b73a3930b1ba102830bab9b2b21760811b60448201526064016100fb565b6000805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146101c65760405162461bcd60e51b81526004016100fb90610340565b6001600160a01b03811661022b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016100fb565b610234816102c0565b50565b6000546001600160a01b031633146102615760405162461bcd60e51b81526004016100fb90610340565b600054600160a01b900460ff166102b15760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b60448201526064016100fb565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561032257600080fd5b81356001600160a01b038116811461033957600080fd5b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220a743cf321899f207dc067fc03bc7c223e974afec6738bc632ed5dd88dd7e518164736f6c634300080f0033", + "bytecodeSha1": "3b5be5f17b74c7d6d3ec1c7fa81c132354ec3b49", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Pausable", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "14": [ + 2006, + 2028, + true + ] + } + }, + "13": { + "Pausable.pause": { + "12": [ + 1855, + 1862, + true + ] + }, + "Pausable.unPause": { + "13": [ + 2168, + 2174, + true + ] + } + }, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "10": [ + 2378, + 2395 + ], + "11": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "0": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "3": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "6": [ + 1998, + 2071 + ], + "7": [ + 2081, + 2109 + ] + } + }, + "13": { + "Pausable.isPaused": { + "1": [ + 2496, + 2509 + ] + }, + "Pausable.pause": { + "4": [ + 1847, + 1883 + ], + "5": [ + 1930, + 1943 + ] + }, + "Pausable.unPause": { + "8": [ + 2160, + 2199 + ], + "9": [ + 2247, + 2261 + ] + } + }, + "5": { + "Context._msgSender": { + "2": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable" + ], + "deployedBytecode": "608060405234801561001057600080fd5b50600436106100625760003560e01c8063715018a6146100675780638456cb59146100715780638da5cb5b14610079578063b187bd2614610099578063f2fde38b146100b6578063f7b188a5146100c9575b600080fd5b61006f6100d1565b005b61006f610110565b6000546040516001600160a01b0390911681526020015b60405180910390f35b600054600160a01b900460ff166040519015158152602001610090565b61006f6100c4366004610310565b61019c565b61006f610237565b6000546001600160a01b031633146101045760405162461bcd60e51b81526004016100fb90610340565b60405180910390fd5b61010e60006102c0565b565b6000546001600160a01b0316331461013a5760405162461bcd60e51b81526004016100fb90610340565b600054600160a01b900460ff16156101875760405162461bcd60e51b815260206004820152601060248201526f21b7b73a3930b1ba102830bab9b2b21760811b60448201526064016100fb565b6000805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146101c65760405162461bcd60e51b81526004016100fb90610340565b6001600160a01b03811661022b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016100fb565b610234816102c0565b50565b6000546001600160a01b031633146102615760405162461bcd60e51b81526004016100fb90610340565b600054600160a01b900460ff166102b15760405162461bcd60e51b815260206004820152601460248201527321b7b73a3930b1ba102737ba102830bab9b2b21760611b60448201526064016100fb565b6000805460ff60a01b19169055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561032257600080fd5b81356001600160a01b038116811461033957600080fd5b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220a743cf321899f207dc067fc03bc7c223e974afec6738bc632ed5dd88dd7e518164736f6c634300080f0033", + "deployedSourceMap": "839:1679:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1668:101:0;;;:::i;:::-;;1754:196:13;;;:::i;1036:85:0:-;1082:7;1108:6;1036:85;;-1:-1:-1;;;;;1108:6:0;;;160:51:43;;148:2;133:18;1036:85:0;;;;;;;;2440:76:13;2480:4;2503:6;-1:-1:-1;;;2503:6:13;;;;2440:76;;387:14:43;;380:22;362:41;;350:2;335:18;2440:76:13;222:187:43;1918:198:0;;;;;;:::i;:::-;;:::i;2069:199:13:-;;;:::i;1668:101:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1754:196:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1856:6:13::1;::::0;-1:-1:-1;;;1856:6:13;::::1;;;1855:7;1847:36;;;::::0;-1:-1:-1;;;1847:36:13;;1268:2:43;1847:36:13::1;::::0;::::1;1250:21:43::0;1307:2;1287:18;;;1280:30;-1:-1:-1;;;1326:18:43;;;1319:46;1382:18;;1847:36:13::1;1066:340:43::0;1847:36:13::1;1930:6;:13:::0;;-1:-1:-1;;;;1930:13:13::1;-1:-1:-1::0;;;1930:13:13::1;::::0;;1754:196::o;1918:198:0:-;1082:7;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;1613:2:43;1998:73:0::1;::::0;::::1;1595:21:43::0;1652:2;1632:18;;;1625:30;1691:34;1671:18;;;1664:62;-1:-1:-1;;;1742:18:43;;;1735:36;1788:19;;1998:73:0::1;1411:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;2069:199:13:-;1082:7:0;1108:6;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2168:6:13::1;::::0;-1:-1:-1;;;2168:6:13;::::1;;;2160:39;;;::::0;-1:-1:-1;;;2160:39:13;;2020:2:43;2160:39:13::1;::::0;::::1;2002:21:43::0;2059:2;2039:18;;;2032:30;-1:-1:-1;;;2078:18:43;;;2071:50;2138:18;;2160:39:13::1;1818:344:43::0;2160:39:13::1;2256:5;2247:14:::0;;-1:-1:-1;;;;2247:14:13::1;::::0;;2069:199::o;2270:187:0:-;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;414:286:43:-;473:6;526:2;514:9;505:7;501:23;497:32;494:52;;;542:1;539;532:12;494:52;568:23;;-1:-1:-1;;;;;620:31:43;;610:42;;600:70;;666:1;663;656:12;600:70;689:5;414:286;-1:-1:-1;;;414:286:43:o;705:356::-;907:2;889:21;;;926:18;;;919:30;985:34;980:2;965:18;;958:62;1052:2;1037:18;;705:356::o", + "language": "Solidity", + "natspec": { + "author": "Anthony (fps) https://github.com/0xfps.", + "details": "This contract seeks to grant the inheriting contract the ability to pause actions done on the contract. The choice to pause or unpause the contract is made by the owner or deployer.", + "events": { + "Paused()": { + "details": "Emitted whenever the contract is paused." + }, + "UnPaused()": { + "details": "Emitted whenever the contract is unpaused." + } + }, + "kind": "dev", + "methods": { + "isPaused()": { + "details": "Returns true or false if the contract is paused. This function is callable by anyone.", + "returns": { + "_0": "bool True or false." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "pause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "unPause()": { + "details": "Pauses the contract. This function is callable by the owner or deployer." + } + }, + "stateVariables": { + "paused": { + "details": "Boolean to determine when contract is or is not paused." + } + }, + "title": "Pausable Contract.", + "version": 1 + }, + "offset": [ + 839, + 2518 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x62 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 EQ PUSH2 0x67 JUMPI DUP1 PUSH4 0x8456CB59 EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x79 JUMPI DUP1 PUSH4 0xB187BD26 EQ PUSH2 0x99 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0xF7B188A5 EQ PUSH2 0xC9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6F PUSH2 0xD1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x6F PUSH2 0x110 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x90 JUMP JUMPDEST PUSH2 0x6F PUSH2 0xC4 CALLDATASIZE PUSH1 0x4 PUSH2 0x310 JUMP JUMPDEST PUSH2 0x19C JUMP JUMPDEST PUSH2 0x6F PUSH2 0x237 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x104 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB SWAP1 PUSH2 0x340 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x10E PUSH1 0x0 PUSH2 0x2C0 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB SWAP1 PUSH2 0x340 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x187 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x21B7B73A3930B1BA102830BAB9B2B217 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFB JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1C6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB SWAP1 PUSH2 0x340 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x22B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0xFB JUMP JUMPDEST PUSH2 0x234 DUP2 PUSH2 0x2C0 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x261 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB SWAP1 PUSH2 0x340 JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x2B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x21B7B73A3930B1BA102737BA102830BAB9B2B217 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0xFB JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x322 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x339 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA7 NUMBER 0xCF ORIGIN XOR SWAP10 CALLCODE SMOD 0xDC MOD PUSH32 0xC03BC7C223E974AFEC6738BC632ED5DD88DD7E518164736F6C634300080F0033 ", + "pcMap": { + "0": { + "offset": [ + 839, + 2518 + ], + "op": "PUSH1", + "path": "13", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "MSTORE", + "path": "13" + }, + "5": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "CALLVALUE", + "path": "13" + }, + "6": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "7": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "ISZERO", + "path": "13" + }, + "8": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "12": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "REVERT", + "path": "13" + }, + "16": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPDEST", + "path": "13" + }, + "17": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "POP", + "path": "13" + }, + "18": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "CALLDATASIZE", + "path": "13" + }, + "21": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "LT", + "path": "13" + }, + "22": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0x62" + }, + "25": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "26": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "CALLDATALOAD", + "path": "13" + }, + "29": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH1", + "path": "13", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "SHR", + "path": "13" + }, + "32": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "33": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH4", + "path": "13", + "value": "0x715018A6" + }, + "38": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "EQ", + "path": "13" + }, + "39": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0x67" + }, + "42": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "43": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "44": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH4", + "path": "13", + "value": "0x8456CB59" + }, + "49": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "EQ", + "path": "13" + }, + "50": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0x71" + }, + "53": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "54": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "55": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH4", + "path": "13", + "value": "0x8DA5CB5B" + }, + "60": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "EQ", + "path": "13" + }, + "61": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0x79" + }, + "64": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "65": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "66": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH4", + "path": "13", + "value": "0xB187BD26" + }, + "71": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "EQ", + "path": "13" + }, + "72": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0x99" + }, + "75": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "76": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "77": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH4", + "path": "13", + "value": "0xF2FDE38B" + }, + "82": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "EQ", + "path": "13" + }, + "83": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0xB6" + }, + "86": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "87": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "88": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH4", + "path": "13", + "value": "0xF7B188A5" + }, + "93": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "EQ", + "path": "13" + }, + "94": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH2", + "path": "13", + "value": "0xC9" + }, + "97": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPI", + "path": "13" + }, + "98": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "JUMPDEST", + "path": "13" + }, + "99": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "101": { + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "DUP1", + "path": "13" + }, + "102": { + "first_revert": true, + "fn": null, + "offset": [ + 839, + 2518 + ], + "op": "REVERT", + "path": "13" + }, + "103": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "104": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6F" + }, + "107": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0xD1" + }, + "110": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "111": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "112": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "STOP", + "path": "0" + }, + "113": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "114": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH2", + "path": "13", + "value": "0x6F" + }, + "117": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "PUSH2", + "path": "13", + "value": "0x110" + }, + "120": { + "fn": "Pausable.pause", + "jump": "i", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "121": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "122": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "124": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0", + "statement": 0 + }, + "125": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "127": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "MLOAD", + "path": "0" + }, + "128": { + "op": "PUSH1", + "value": "0x1" + }, + "130": { + "op": "PUSH1", + "value": "0x1" + }, + "132": { + "op": "PUSH1", + "value": "0xA0" + }, + "134": { + "op": "SHL" + }, + "135": { + "op": "SUB" + }, + "136": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SWAP1", + "path": "0" + }, + "137": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SWAP2", + "path": "0" + }, + "138": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "139": { + "op": "DUP2" + }, + "140": { + "op": "MSTORE" + }, + "141": { + "op": "PUSH1", + "value": "0x20" + }, + "143": { + "op": "ADD" + }, + "144": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "145": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "147": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "MLOAD", + "path": "0" + }, + "148": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "DUP1", + "path": "0" + }, + "149": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "SWAP2", + "path": "0" + }, + "150": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "SUB", + "path": "0" + }, + "151": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "SWAP1", + "path": "0" + }, + "152": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "RETURN", + "path": "0" + }, + "153": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "JUMPDEST", + "path": "13" + }, + "154": { + "fn": "Pausable.isPaused", + "offset": [ + 2480, + 2484 + ], + "op": "PUSH1", + "path": "13", + "value": "0x0" + }, + "156": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SLOAD", + "path": "13", + "statement": 1 + }, + "157": { + "op": "PUSH1", + "value": "0x1" + }, + "159": { + "op": "PUSH1", + "value": "0xA0" + }, + "161": { + "op": "SHL" + }, + "162": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "SWAP1", + "path": "13" + }, + "163": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "DIV", + "path": "13" + }, + "164": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "166": { + "fn": "Pausable.isPaused", + "offset": [ + 2503, + 2509 + ], + "op": "AND", + "path": "13" + }, + "167": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "169": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "MLOAD", + "path": "13" + }, + "170": { + "op": "SWAP1" + }, + "171": { + "op": "ISZERO" + }, + "172": { + "op": "ISZERO" + }, + "173": { + "op": "DUP2" + }, + "174": { + "op": "MSTORE" + }, + "175": { + "op": "PUSH1", + "value": "0x20" + }, + "177": { + "op": "ADD" + }, + "178": { + "fn": "Pausable.isPaused", + "offset": [ + 2440, + 2516 + ], + "op": "PUSH2", + "path": "13", + "value": "0x90" + }, + "181": { + "op": "JUMP" + }, + "182": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "183": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6F" + }, + "186": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC4" + }, + "189": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "190": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "192": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x310" + }, + "195": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "196": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "197": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x19C" + }, + "200": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "201": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "202": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH2", + "path": "13", + "value": "0x6F" + }, + "205": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "PUSH2", + "path": "13", + "value": "0x237" + }, + "208": { + "fn": "Pausable.unPause", + "jump": "i", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "209": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "210": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "212": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "213": { + "op": "PUSH1", + "value": "0x1" + }, + "215": { + "op": "PUSH1", + "value": "0x1" + }, + "217": { + "op": "PUSH1", + "value": "0xA0" + }, + "219": { + "op": "SHL" + }, + "220": { + "op": "SUB" + }, + "221": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "222": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 2 + }, + "223": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "224": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x104" + }, + "227": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "228": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "230": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "231": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "235": { + "op": "PUSH1", + "value": "0xE5" + }, + "237": { + "op": "SHL" + }, + "238": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "239": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "240": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "242": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "243": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xFB" + }, + "246": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "247": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x340" + }, + "250": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "251": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "252": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "254": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "255": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "DUP1", + "path": "0" + }, + "256": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP2", + "path": "0" + }, + "257": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SUB", + "path": "0" + }, + "258": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "259": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "0" + }, + "260": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "261": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH2", + "path": "0", + "statement": 3, + "value": "0x10E" + }, + "264": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "266": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2C0" + }, + "269": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "270": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "271": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "272": { + "fn": "Pausable.pause", + "offset": [ + 1754, + 1950 + ], + "op": "JUMPDEST", + "path": "13" + }, + "273": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "275": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "276": { + "op": "PUSH1", + "value": "0x1" + }, + "278": { + "op": "PUSH1", + "value": "0x1" + }, + "280": { + "op": "PUSH1", + "value": "0xA0" + }, + "282": { + "op": "SHL" + }, + "283": { + "op": "SUB" + }, + "284": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "285": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "286": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "287": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x13A" + }, + "290": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "291": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "293": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "294": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "298": { + "op": "PUSH1", + "value": "0xE5" + }, + "300": { + "op": "SHL" + }, + "301": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "302": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "303": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "305": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "306": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xFB" + }, + "309": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "310": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x340" + }, + "313": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "314": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "315": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "statement": 4, + "value": "0x0" + }, + "317": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SLOAD", + "path": "13" + }, + "318": { + "op": "PUSH1", + "value": "0x1" + }, + "320": { + "op": "PUSH1", + "value": "0xA0" + }, + "322": { + "op": "SHL" + }, + "323": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "SWAP1", + "path": "13" + }, + "324": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "DIV", + "path": "13" + }, + "325": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "327": { + "fn": "Pausable.pause", + "offset": [ + 1856, + 1862 + ], + "op": "AND", + "path": "13" + }, + "328": { + "branch": 12, + "fn": "Pausable.pause", + "offset": [ + 1855, + 1862 + ], + "op": "ISZERO", + "path": "13" + }, + "329": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH2", + "path": "13", + "value": "0x187" + }, + "332": { + "branch": 12, + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPI", + "path": "13" + }, + "333": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "335": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MLOAD", + "path": "13" + }, + "336": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "340": { + "op": "PUSH1", + "value": "0xE5" + }, + "342": { + "op": "SHL" + }, + "343": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "DUP2", + "path": "13" + }, + "344": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "MSTORE", + "path": "13" + }, + "345": { + "op": "PUSH1", + "value": "0x20" + }, + "347": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "349": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "DUP3", + "path": "13" + }, + "350": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "ADD", + "path": "13" + }, + "351": { + "op": "MSTORE" + }, + "352": { + "op": "PUSH1", + "value": "0x10" + }, + "354": { + "op": "PUSH1", + "value": "0x24" + }, + "356": { + "op": "DUP3" + }, + "357": { + "op": "ADD" + }, + "358": { + "op": "MSTORE" + }, + "359": { + "op": "PUSH16", + "value": "0x21B7B73A3930B1BA102830BAB9B2B217" + }, + "376": { + "op": "PUSH1", + "value": "0x81" + }, + "378": { + "op": "SHL" + }, + "379": { + "op": "PUSH1", + "value": "0x44" + }, + "381": { + "op": "DUP3" + }, + "382": { + "op": "ADD" + }, + "383": { + "op": "MSTORE" + }, + "384": { + "op": "PUSH1", + "value": "0x64" + }, + "386": { + "op": "ADD" + }, + "387": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "PUSH2", + "path": "13", + "value": "0xFB" + }, + "390": { + "op": "JUMP" + }, + "391": { + "fn": "Pausable.pause", + "offset": [ + 1847, + 1883 + ], + "op": "JUMPDEST", + "path": "13" + }, + "392": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1936 + ], + "op": "PUSH1", + "path": "13", + "statement": 5, + "value": "0x0" + }, + "394": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "DUP1", + "path": "13" + }, + "395": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SLOAD", + "path": "13" + }, + "396": { + "op": "PUSH1", + "value": "0xFF" + }, + "398": { + "op": "PUSH1", + "value": "0xA0" + }, + "400": { + "op": "SHL" + }, + "401": { + "op": "NOT" + }, + "402": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "AND", + "path": "13" + }, + "403": { + "op": "PUSH1", + "value": "0x1" + }, + "405": { + "op": "PUSH1", + "value": "0xA0" + }, + "407": { + "op": "SHL" + }, + "408": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "OR", + "path": "13" + }, + "409": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SWAP1", + "path": "13" + }, + "410": { + "fn": "Pausable.pause", + "offset": [ + 1930, + 1943 + ], + "op": "SSTORE", + "path": "13" + }, + "411": { + "fn": "Pausable.pause", + "jump": "o", + "offset": [ + 1754, + 1950 + ], + "op": "JUMP", + "path": "13" + }, + "412": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "413": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "415": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "416": { + "op": "PUSH1", + "value": "0x1" + }, + "418": { + "op": "PUSH1", + "value": "0x1" + }, + "420": { + "op": "PUSH1", + "value": "0xA0" + }, + "422": { + "op": "SHL" + }, + "423": { + "op": "SUB" + }, + "424": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "425": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "426": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "427": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1C6" + }, + "430": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "431": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "433": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "434": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "438": { + "op": "PUSH1", + "value": "0xE5" + }, + "440": { + "op": "SHL" + }, + "441": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "442": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "443": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "445": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "446": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xFB" + }, + "449": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "450": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x340" + }, + "453": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "454": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "455": { + "op": "PUSH1", + "value": "0x1" + }, + "457": { + "op": "PUSH1", + "value": "0x1" + }, + "459": { + "op": "PUSH1", + "value": "0xA0" + }, + "461": { + "op": "SHL" + }, + "462": { + "op": "SUB" + }, + "463": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 6 + }, + "464": { + "branch": 14, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "465": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x22B" + }, + "468": { + "branch": 14, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "469": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "471": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "472": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "476": { + "op": "PUSH1", + "value": "0xE5" + }, + "478": { + "op": "SHL" + }, + "479": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "480": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "481": { + "op": "PUSH1", + "value": "0x20" + }, + "483": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "485": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "486": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "487": { + "op": "MSTORE" + }, + "488": { + "op": "PUSH1", + "value": "0x26" + }, + "490": { + "op": "PUSH1", + "value": "0x24" + }, + "492": { + "op": "DUP3" + }, + "493": { + "op": "ADD" + }, + "494": { + "op": "MSTORE" + }, + "495": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "528": { + "op": "PUSH1", + "value": "0x44" + }, + "530": { + "op": "DUP3" + }, + "531": { + "op": "ADD" + }, + "532": { + "op": "MSTORE" + }, + "533": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "540": { + "op": "PUSH1", + "value": "0xD0" + }, + "542": { + "op": "SHL" + }, + "543": { + "op": "PUSH1", + "value": "0x64" + }, + "545": { + "op": "DUP3" + }, + "546": { + "op": "ADD" + }, + "547": { + "op": "MSTORE" + }, + "548": { + "op": "PUSH1", + "value": "0x84" + }, + "550": { + "op": "ADD" + }, + "551": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0xFB" + }, + "554": { + "op": "JUMP" + }, + "555": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "556": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH2", + "path": "0", + "statement": 7, + "value": "0x234" + }, + "559": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "560": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2C0" + }, + "563": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "564": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "JUMPDEST", + "path": "0" + }, + "565": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "POP", + "path": "0" + }, + "566": { + "fn": "Ownable.transferOwnership", + "jump": "o", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "567": { + "fn": "Pausable.unPause", + "offset": [ + 2069, + 2268 + ], + "op": "JUMPDEST", + "path": "13" + }, + "568": { + "fn": "Ownable.owner", + "offset": [ + 1082, + 1089 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "570": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "571": { + "op": "PUSH1", + "value": "0x1" + }, + "573": { + "op": "PUSH1", + "value": "0x1" + }, + "575": { + "op": "PUSH1", + "value": "0xA0" + }, + "577": { + "op": "SHL" + }, + "578": { + "op": "SUB" + }, + "579": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "580": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "581": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "582": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x261" + }, + "585": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "586": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "588": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "589": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "593": { + "op": "PUSH1", + "value": "0xE5" + }, + "595": { + "op": "SHL" + }, + "596": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "597": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "598": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "600": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "601": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xFB" + }, + "604": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "605": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x340" + }, + "608": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "609": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "610": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "statement": 8, + "value": "0x0" + }, + "612": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SLOAD", + "path": "13" + }, + "613": { + "op": "PUSH1", + "value": "0x1" + }, + "615": { + "op": "PUSH1", + "value": "0xA0" + }, + "617": { + "op": "SHL" + }, + "618": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "SWAP1", + "path": "13" + }, + "619": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "DIV", + "path": "13" + }, + "620": { + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "PUSH1", + "path": "13", + "value": "0xFF" + }, + "622": { + "branch": 13, + "fn": "Pausable.unPause", + "offset": [ + 2168, + 2174 + ], + "op": "AND", + "path": "13" + }, + "623": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH2", + "path": "13", + "value": "0x2B1" + }, + "626": { + "branch": 13, + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPI", + "path": "13" + }, + "627": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x40" + }, + "629": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MLOAD", + "path": "13" + }, + "630": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "634": { + "op": "PUSH1", + "value": "0xE5" + }, + "636": { + "op": "SHL" + }, + "637": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP2", + "path": "13" + }, + "638": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "MSTORE", + "path": "13" + }, + "639": { + "op": "PUSH1", + "value": "0x20" + }, + "641": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH1", + "path": "13", + "value": "0x4" + }, + "643": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "DUP3", + "path": "13" + }, + "644": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "ADD", + "path": "13" + }, + "645": { + "op": "MSTORE" + }, + "646": { + "op": "PUSH1", + "value": "0x14" + }, + "648": { + "op": "PUSH1", + "value": "0x24" + }, + "650": { + "op": "DUP3" + }, + "651": { + "op": "ADD" + }, + "652": { + "op": "MSTORE" + }, + "653": { + "op": "PUSH20", + "value": "0x21B7B73A3930B1BA102737BA102830BAB9B2B217" + }, + "674": { + "op": "PUSH1", + "value": "0x61" + }, + "676": { + "op": "SHL" + }, + "677": { + "op": "PUSH1", + "value": "0x44" + }, + "679": { + "op": "DUP3" + }, + "680": { + "op": "ADD" + }, + "681": { + "op": "MSTORE" + }, + "682": { + "op": "PUSH1", + "value": "0x64" + }, + "684": { + "op": "ADD" + }, + "685": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "PUSH2", + "path": "13", + "value": "0xFB" + }, + "688": { + "op": "JUMP" + }, + "689": { + "fn": "Pausable.unPause", + "offset": [ + 2160, + 2199 + ], + "op": "JUMPDEST", + "path": "13" + }, + "690": { + "fn": "Pausable.unPause", + "offset": [ + 2256, + 2261 + ], + "op": "PUSH1", + "path": "13", + "statement": 9, + "value": "0x0" + }, + "692": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "DUP1", + "path": "13" + }, + "693": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "13" + }, + "694": { + "op": "PUSH1", + "value": "0xFF" + }, + "696": { + "op": "PUSH1", + "value": "0xA0" + }, + "698": { + "op": "SHL" + }, + "699": { + "op": "NOT" + }, + "700": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "13" + }, + "701": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "13" + }, + "702": { + "fn": "Pausable.unPause", + "offset": [ + 2247, + 2261 + ], + "op": "SSTORE", + "path": "13" + }, + "703": { + "fn": "Pausable.unPause", + "jump": "o", + "offset": [ + 2069, + 2268 + ], + "op": "JUMP", + "path": "13" + }, + "704": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "705": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "707": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "708": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "709": { + "op": "PUSH1", + "value": "0x1" + }, + "711": { + "op": "PUSH1", + "value": "0x1" + }, + "713": { + "op": "PUSH1", + "value": "0xA0" + }, + "715": { + "op": "SHL" + }, + "716": { + "op": "SUB" + }, + "717": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 10 + }, + "718": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "719": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "720": { + "op": "PUSH1", + "value": "0x1" + }, + "722": { + "op": "PUSH1", + "value": "0x1" + }, + "724": { + "op": "PUSH1", + "value": "0xA0" + }, + "726": { + "op": "SHL" + }, + "727": { + "op": "SUB" + }, + "728": { + "op": "NOT" + }, + "729": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "730": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "731": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "732": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "733": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP5", + "path": "0" + }, + "734": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "735": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 11, + "value": "0x40" + }, + "737": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "738": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "739": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "740": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "741": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "742": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP3", + "path": "0" + }, + "743": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP4", + "path": "0" + }, + "744": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "745": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "778": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP2", + "path": "0" + }, + "779": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "780": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "781": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "782": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "783": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "784": { + "op": "JUMPDEST" + }, + "785": { + "op": "PUSH1", + "value": "0x0" + }, + "787": { + "op": "PUSH1", + "value": "0x20" + }, + "789": { + "op": "DUP3" + }, + "790": { + "op": "DUP5" + }, + "791": { + "op": "SUB" + }, + "792": { + "op": "SLT" + }, + "793": { + "op": "ISZERO" + }, + "794": { + "op": "PUSH2", + "value": "0x322" + }, + "797": { + "op": "JUMPI" + }, + "798": { + "op": "PUSH1", + "value": "0x0" + }, + "800": { + "op": "DUP1" + }, + "801": { + "op": "REVERT" + }, + "802": { + "op": "JUMPDEST" + }, + "803": { + "op": "DUP2" + }, + "804": { + "op": "CALLDATALOAD" + }, + "805": { + "op": "PUSH1", + "value": "0x1" + }, + "807": { + "op": "PUSH1", + "value": "0x1" + }, + "809": { + "op": "PUSH1", + "value": "0xA0" + }, + "811": { + "op": "SHL" + }, + "812": { + "op": "SUB" + }, + "813": { + "op": "DUP2" + }, + "814": { + "op": "AND" + }, + "815": { + "op": "DUP2" + }, + "816": { + "op": "EQ" + }, + "817": { + "op": "PUSH2", + "value": "0x339" + }, + "820": { + "op": "JUMPI" + }, + "821": { + "op": "PUSH1", + "value": "0x0" + }, + "823": { + "op": "DUP1" + }, + "824": { + "op": "REVERT" + }, + "825": { + "op": "JUMPDEST" + }, + "826": { + "op": "SWAP4" + }, + "827": { + "op": "SWAP3" + }, + "828": { + "op": "POP" + }, + "829": { + "op": "POP" + }, + "830": { + "op": "POP" + }, + "831": { + "jump": "o", + "op": "JUMP" + }, + "832": { + "op": "JUMPDEST" + }, + "833": { + "op": "PUSH1", + "value": "0x20" + }, + "835": { + "op": "DUP1" + }, + "836": { + "op": "DUP3" + }, + "837": { + "op": "MSTORE" + }, + "838": { + "op": "DUP2" + }, + "839": { + "op": "DUP2" + }, + "840": { + "op": "ADD" + }, + "841": { + "op": "MSTORE" + }, + "842": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "875": { + "op": "PUSH1", + "value": "0x40" + }, + "877": { + "op": "DUP3" + }, + "878": { + "op": "ADD" + }, + "879": { + "op": "MSTORE" + }, + "880": { + "op": "PUSH1", + "value": "0x60" + }, + "882": { + "op": "ADD" + }, + "883": { + "op": "SWAP1" + }, + "884": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "7ed524ead964a800cec5d2c9595d43aa2bbffe66", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n/// _____ ______ ______ ______ ______ ______ _____ \n/// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-. \n/// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\ \n/// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____- \n/// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/ \n\npragma solidity ^0.8.8;\n\nimport {Ownable} from \"@openzeppelin/contracts/access/Ownable.sol\";\n\n/**\n* @title Pausable Contract.\n* @author Anthony (fps) https://github.com/0xfps.\n* @dev This contract seeks to grant the inheriting\n* contract the ability to pause actions done\n* on the contract.\n* The choice to pause or unpause the contract\n* is made by the owner or deployer.\n*/\ncontract Pausable is Ownable {\n /// @dev Boolean to determine when contract is or\n /// is not paused.\n bool private paused;\n\n /// @dev Emitted whenever the contract is paused.\n event Paused();\n /// @dev Emitted whenever the contract is unpaused.\n event UnPaused();\n \n /**\n * @dev Allows for interactions with contract if the\n * contract is paused.\n */\n modifier whenPaused() {\n /// @dev Require contract is paused.\n require(paused, \"Contract Not Paused.\");\n _;\n }\n\n /**\n * @dev Allows for interactions with contract if the\n * contract is not paused.\n */\n modifier whenNotPaused() {\n /// @dev Require contract is not paused.\n require(!paused, \"Contract Paused.\");\n _;\n }\n\n /**\n * @dev Pauses the contract. \n * This function is callable by the owner or deployer.\n */\n function pause() public onlyOwner {\n /// @dev Require contract is not paused.\n require(!paused, \"Contract Paused.\");\n /// @dev Set paused to true.\n paused = true;\n }\n\n /**\n * @dev Pauses the contract. \n * This function is callable by the owner or deployer.\n */\n function unPause() public onlyOwner {\n /// @dev Require contract is paused.\n require(paused, \"Contract Not Paused.\");\n /// @dev Set paused to false.\n paused = false;\n }\n\n /**\n * @dev Returns true or false if the contract is paused. \n * This function is callable by anyone.\n *\n * @return bool True or false.\n */\n function isPaused() public view returns(bool) {\n return paused;\n }\n}", + "sourceMap": "839:1679:13:-:0;;;;;;;;;;;;-1:-1:-1;921:32:0;719:10:5;921:18:0;:32::i;:::-;839:1679:13;;2270:187:0;2343:16;2362:6;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;2410:40;;2362:6;;;;;;;2410:40;;2343:16;2410:40;2333:124;2270:187;:::o;839:1679:13:-;;;;;;;", + "sourcePath": "contracts/contracts/core/contracts/facets/Pausable.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/Soulbound.json b/tests/build/contracts/Soulbound.json new file mode 100644 index 0000000..72a1231 --- /dev/null +++ b/tests/build/contracts/Soulbound.json @@ -0,0 +1,13342 @@ +{ + "abi": [ + { + "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": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Attest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Revoke", + "type": "event" + }, + { + "inputs": [], + "name": "_getBaseURI", + "outputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isMinted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "issuerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "37": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "exportedSymbols": { + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ], + "ISoulbond": [ + 5970 + ], + "Soulbound": [ + 4383 + ] + }, + "id": 4384, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4118, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:37" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/interfaces/ISoulbound.sol", + "file": "../interfaces/ISoulbound.sol", + "id": 4119, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4384, + "sourceUnit": 5971, + "src": "61:38:37", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "file": "./eips/ERC-4973.sol", + "id": 4120, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4384, + "sourceUnit": 5877, + "src": "100:29:37", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 4122, + "name": "ERC4973", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5876, + "src": "824:7:37" + }, + "id": 4123, + "nodeType": "InheritanceSpecifier", + "src": "824:7:37" + } + ], + "canonicalName": "Soulbound", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4121, + "nodeType": "StructuredDocumentation", + "src": "131:670:37", + "text": " @title Soulbound Token Contract.\n @author Daccred.\n @dev Soulbound Token Base Template.\n This contract was inspired by\n https://github.com/ethereum/EIPs/blob/master/assets/eip-4973/ERC-4973.sol\n This contract is inherited by any contract to implement the Soulbound\n template.\n Soulbound tokens cannot be transferred when minted to a particular address.\n This is the base instance of the contract,\n it includes minting functions and revoke functions.\n Inheriting functions can wrap around the specified functions.\n Also, this base contract instance does not include a capped supply." + }, + "fullyImplemented": true, + "id": 4383, + "linearizedBaseContracts": [ + 4383, + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "Soulbound", + "nameLocation": "811:9:37", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 4124, + "nodeType": "StructuredDocumentation", + "src": "838:277:37", + "text": " @dev Stores the base URI on cases when the user wants to mint a token,\n it automatically generates a string casted tokenURI using the\n generateTokenURI function. This variable can only be modified by\n the allowlist owner." + }, + "id": 4126, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "1135:7:37", + "nodeType": "VariableDeclaration", + "scope": 4383, + "src": "1120:22:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 4125, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1120:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4127, + "nodeType": "StructuredDocumentation", + "src": "1149:79:37", + "text": "@dev Mapping of speific addresses to tokenIds and boolean for mint records." + }, + "id": 4133, + "mutability": "mutable", + "name": "mints", + "nameLocation": "1286:5:37", + "nodeType": "VariableDeclaration", + "scope": 4383, + "src": "1233:58:37", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", + "typeString": "mapping(address => mapping(uint256 => bool))" + }, + "typeName": { + "id": 4132, + "keyType": { + "id": 4128, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1241:7:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1233:44:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", + "typeString": "mapping(address => mapping(uint256 => bool))" + }, + "valueType": { + "id": 4131, + "keyType": { + "id": 4129, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1260:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1252:24:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "valueType": { + "id": 4130, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1271:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "visibility": "private" + }, + { + "body": { + "id": 4145, + "nodeType": "Block", + "src": "1461:2:37", + "statements": [] + }, + "documentation": { + "id": 4134, + "nodeType": "StructuredDocumentation", + "src": "1298:70:37", + "text": "@dev Allows the deployer to set a name and a symbol for the token." + }, + "id": 4146, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 4141, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4136, + "src": "1443:4:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4142, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4138, + "src": "1449:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 4143, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 4140, + "name": "ERC4973", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5876, + "src": "1435:7:37" + }, + "nodeType": "ModifierInvocation", + "src": "1435:21:37" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4136, + "mutability": "mutable", + "name": "name", + "nameLocation": "1399:4:37", + "nodeType": "VariableDeclaration", + "scope": 4146, + "src": "1385:18:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4135, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1385:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4138, + "mutability": "mutable", + "name": "symbol", + "nameLocation": "1419:6:37", + "nodeType": "VariableDeclaration", + "scope": 4146, + "src": "1405:20:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4137, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1405:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1384:42:37" + }, + "returnParameters": { + "id": 4144, + "nodeType": "ParameterList", + "parameters": [], + "src": "1461:0:37" + }, + "scope": 4383, + "src": "1373:90:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4166, + "nodeType": "Block", + "src": "2320:181:37", + "statements": [ + { + "documentation": "@dev Mint Soulbound token to `_to` using ERC4973 _mint().", + "expression": { + "arguments": [ + { + "id": 4159, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4149, + "src": "2419:3:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4160, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4151, + "src": "2424:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4161, + "name": "tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4153, + "src": "2434:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4158, + "name": "mintSoulboundToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4305, + "src": "2400:18:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,uint256,string memory)" + } + }, + "id": 4162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2400:43:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4163, + "nodeType": "ExpressionStatement", + "src": "2400:43:37" + }, + { + "documentation": "@dev Return true.", + "expression": { + "hexValue": "74727565", + "id": 4164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2490:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4157, + "id": 4165, + "nodeType": "Return", + "src": "2483:11:37" + } + ] + }, + "documentation": { + "id": 4147, + "nodeType": "StructuredDocumentation", + "src": "1469:722:37", + "text": " @dev Mints a new token `_tokenId` to `_to`, giving to ownership of token `_tokenId`.\n This function will be used hand in hand with ERC721's _mint() function.\n Emits the {Attest} event.\n `_to` cannot transfer the token.\n `_to` must not be a 0 address.\n `_tokenId` must be an existent token.\n This does not evaluate total supply of tokens before minting.\n @notice Callable by anyone.\n @param _to Address to which token `_tokenId` is minted.\n @param _tokenId Token to mint.\n @param tokenURI Auto generated or user passed URI for minted token.\n @return bool true or false." + }, + "id": 4167, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "issue", + "nameLocation": "2205:5:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4149, + "mutability": "mutable", + "name": "_to", + "nameLocation": "2228:3:37", + "nodeType": "VariableDeclaration", + "scope": 4167, + "src": "2220:11:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4148, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2220:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4151, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "2249:8:37", + "nodeType": "VariableDeclaration", + "scope": 4167, + "src": "2241:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4150, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2241:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4153, + "mutability": "mutable", + "name": "tokenURI", + "nameLocation": "2281:8:37", + "nodeType": "VariableDeclaration", + "scope": 4167, + "src": "2267:22:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4152, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2267:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2210:85:37" + }, + "returnParameters": { + "id": 4157, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4156, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4167, + "src": "2314:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4155, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2314:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2313:6:37" + }, + "scope": 4383, + "src": "2196:305:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4199, + "nodeType": "Block", + "src": "3411:355:37", + "statements": [ + { + "documentation": "@dev Require token exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4179, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4172, + "src": "3476:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4178, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "3468:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 4180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3468:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f6e2d6578697374656e7420746f6b656e2e", + "id": 4181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3487:21:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c0d8f43323770a1dd202a4a690419e3948b07e562a1c5b5bee2020c96039cb2", + "typeString": "literal_string \"Non-existent token.\"" + }, + "value": "Non-existent token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8c0d8f43323770a1dd202a4a690419e3948b07e562a1c5b5bee2020c96039cb2", + "typeString": "literal_string \"Non-existent token.\"" + } + ], + "id": 4177, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3460:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3460:49:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4183, + "nodeType": "ExpressionStatement", + "src": "3460:49:37" + }, + { + "documentation": "@dev Require _tokenId is owned by _from.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4186, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4172, + "src": "3588:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4185, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "3580:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 4187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3580:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 4188, + "name": "_from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4170, + "src": "3601:5:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3580:26:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e206e6f74206f776e65642062792061646472657373", + "id": 4190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3608:28:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3530adbde4ceb2e09524c86c72dc5c102ccf0ab5b3d278483f4421b30348154a", + "typeString": "literal_string \"Token not owned by address\"" + }, + "value": "Token not owned by address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3530adbde4ceb2e09524c86c72dc5c102ccf0ab5b3d278483f4421b30348154a", + "typeString": "literal_string \"Token not owned by address\"" + } + ], + "id": 4184, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3572:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3572:65:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4192, + "nodeType": "ExpressionStatement", + "src": "3572:65:37" + }, + { + "documentation": "@dev Burn the token.", + "expression": { + "arguments": [ + { + "id": 4194, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4172, + "src": "3699:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4193, + "name": "burnSoulboundToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "3680:18:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 4195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3680:28:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4196, + "nodeType": "ExpressionStatement", + "src": "3680:28:37" + }, + { + "documentation": "@dev Return true.", + "expression": { + "hexValue": "74727565", + "id": 4197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3755:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 4176, + "id": 4198, + "nodeType": "Return", + "src": "3748:11:37" + } + ] + }, + "documentation": { + "id": 4168, + "nodeType": "StructuredDocumentation", + "src": "2507:826:37", + "text": " @dev Withdraws ownership of token `_tokenId` from `_From`.\n This will be done when the ERC721's _burn() function is called.\n Emits the {Revoke} event.\n `_from` must own the token.\n `_from` must not be a 0 address.\n `_tokenId` must be an existent token.\n The function can only be called by the issuer of the token.\n This modifier onlyIssuer will be implemented in the contract.\n [Modifiers cannot be made in interfaces].\n This does not evaluate total supply of tokens before minting.\n @notice Callable by this or inheriting contract.\n @param _from Address which owns token `_tokenId`.\n @param _tokenId Token to revoke.\n @return bool true or false." + }, + "id": 4200, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "revoke", + "nameLocation": "3347:6:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4170, + "mutability": "mutable", + "name": "_from", + "nameLocation": "3362:5:37", + "nodeType": "VariableDeclaration", + "scope": 4200, + "src": "3354:13:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4169, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3354:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4172, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "3377:8:37", + "nodeType": "VariableDeclaration", + "scope": 4200, + "src": "3369:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4171, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3369:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3353:33:37" + }, + "returnParameters": { + "id": 4176, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4175, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4200, + "src": "3405:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4174, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3405:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3404:6:37" + }, + "scope": 4383, + "src": "3338:428:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4241, + "nodeType": "Block", + "src": "4409:413:37", + "statements": [ + { + "documentation": "@dev Require _to is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4211, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4203, + "src": "4479:3:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 4214, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4494:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4486:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4486:7:37", + "typeDescriptions": {} + } + }, + "id": 4215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4486:10:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4479:17:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "517565727920666f72207a65726f20616464726573732e", + "id": 4217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4498:25:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_005e8d856629456edb7ab6f50cb9a953faf7bd57251d26a58543713b45fac495", + "typeString": "literal_string \"Query for zero address.\"" + }, + "value": "Query for zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_005e8d856629456edb7ab6f50cb9a953faf7bd57251d26a58543713b45fac495", + "typeString": "literal_string \"Query for zero address.\"" + } + ], + "id": 4210, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4471:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4471:53:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4219, + "nodeType": "ExpressionStatement", + "src": "4471:53:37" + }, + { + "documentation": "@dev Require token exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4222, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4205, + "src": "4589:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4221, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "4581:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 4223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4581:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f6e2d6578697374656e7420746f6b656e2e", + "id": 4224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4600:21:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c0d8f43323770a1dd202a4a690419e3948b07e562a1c5b5bee2020c96039cb2", + "typeString": "literal_string \"Non-existent token.\"" + }, + "value": "Non-existent token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8c0d8f43323770a1dd202a4a690419e3948b07e562a1c5b5bee2020c96039cb2", + "typeString": "literal_string \"Non-existent token.\"" + } + ], + "id": 4220, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4573:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4573:49:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4226, + "nodeType": "ExpressionStatement", + "src": "4573:49:37" + }, + { + "documentation": "@dev Require _tokenId is owned by _to.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4229, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4205, + "src": "4699:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4228, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "4691:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 4230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4691:17:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 4231, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4203, + "src": "4712:3:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4691:24:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e206e6f74206f776e65642062792061646472657373", + "id": 4233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4717:28:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3530adbde4ceb2e09524c86c72dc5c102ccf0ab5b3d278483f4421b30348154a", + "typeString": "literal_string \"Token not owned by address\"" + }, + "value": "Token not owned by address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3530adbde4ceb2e09524c86c72dc5c102ccf0ab5b3d278483f4421b30348154a", + "typeString": "literal_string \"Token not owned by address\"" + } + ], + "id": 4227, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4683:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4683:63:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4235, + "nodeType": "ExpressionStatement", + "src": "4683:63:37" + }, + { + "documentation": "@dev Returns this address.", + "expression": { + "arguments": [ + { + "id": 4238, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4810:4:37", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Soulbound_$4383", + "typeString": "contract Soulbound" + } + ], + "id": 4237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4802:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4236, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4802:7:37", + "typeDescriptions": {} + } + }, + "id": 4239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4802:13:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 4209, + "id": 4240, + "nodeType": "Return", + "src": "4795:20:37" + } + ] + }, + "documentation": { + "id": 4201, + "nodeType": "StructuredDocumentation", + "src": "3772:525:37", + "text": " @dev Since a token cannnot be minted twice.\n This function returns the address that minted token `_tokenId` to `_to`,\n otherwise this contract.\n `_to` must not be a 0 address.\n `_tokenId` must be an existent token.\n Owner of _tokenId must be _to.\n @notice Callable by anyone.\n @param _to Address to which token `_tokenId` is minted.\n @param _tokenId Token minted.\n @return address of issuer." + }, + "functionSelector": "fb8f198d", + "id": 4242, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "issuerOf", + "nameLocation": "4311:8:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4203, + "mutability": "mutable", + "name": "_to", + "nameLocation": "4328:3:37", + "nodeType": "VariableDeclaration", + "scope": 4242, + "src": "4320:11:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4320:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4205, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "4341:8:37", + "nodeType": "VariableDeclaration", + "scope": 4242, + "src": "4333:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4204, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4333:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4319:31:37" + }, + "returnParameters": { + "id": 4209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4208, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4242, + "src": "4396:7:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4207, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4396:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4395:9:37" + }, + "scope": 4383, + "src": "4302:520:37", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4258, + "nodeType": "Block", + "src": "5329:44:37", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 4252, + "name": "mints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4133, + "src": "5346:5:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", + "typeString": "mapping(address => mapping(uint256 => bool))" + } + }, + "id": 4254, + "indexExpression": { + "id": 4253, + "name": "_to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4245, + "src": "5352:3:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5346:10:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 4256, + "indexExpression": { + "id": 4255, + "name": "_tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4247, + "src": "5357:8:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5346:20:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 4251, + "id": 4257, + "nodeType": "Return", + "src": "5339:27:37" + } + ] + }, + "documentation": { + "id": 4243, + "nodeType": "StructuredDocumentation", + "src": "4828:392:37", + "text": " @dev Returns true if token `_tokenId` was minted from this contract to `_to`.\n `_to` must not be a 0 address.\n `_tokenId` must be an existent token.\n @notice Callable by anyone.\n @param _to Address to which token `_tokenId` is minted.\n @param _tokenId Token minted.\n @return bool true or false." + }, + "functionSelector": "5899e7b2", + "id": 4259, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isMinted", + "nameLocation": "5234:8:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4245, + "mutability": "mutable", + "name": "_to", + "nameLocation": "5251:3:37", + "nodeType": "VariableDeclaration", + "scope": 4259, + "src": "5243:11:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5243:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4247, + "mutability": "mutable", + "name": "_tokenId", + "nameLocation": "5264:8:37", + "nodeType": "VariableDeclaration", + "scope": 4259, + "src": "5256:16:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4246, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5256:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5242:31:37" + }, + "returnParameters": { + "id": 4251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4250, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4259, + "src": "5319:4:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4249, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5319:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5318:6:37" + }, + "scope": 4383, + "src": "5225:148:37", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4304, + "nodeType": "Block", + "src": "5728:548:37", + "statements": [ + { + "documentation": "@dev Require the address receiving is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4270, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4262, + "src": "5816:2:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 4273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5830:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5822:7:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5822:7:37", + "typeDescriptions": {} + } + }, + "id": 4274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5822:10:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5816:16:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e7420746f207a65726f20616464726573732e", + "id": 4276, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5834:23:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + }, + "value": "Mint to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + } + ], + "id": 4269, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5808:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5808:50:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4278, + "nodeType": "ExpressionStatement", + "src": "5808:50:37" + }, + { + "documentation": "@dev ERC-4973 doesn't include checks for empty tokenURIs\n but they should be necessary.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 4282, + "name": "tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4266, + "src": "6004:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5998:5:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4280, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5998:5:37", + "typeDescriptions": {} + } + }, + "id": 4283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5998:15:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5998:22:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 4285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6024:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5998:27:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "456d70747920746f6b656e5552492e", + "id": 4287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6027:17:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d891222b44d3abffe01f576969f9f733cbf76c2739aa002fc7a68d63427339f", + "typeString": "literal_string \"Empty tokenURI.\"" + }, + "value": "Empty tokenURI." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1d891222b44d3abffe01f576969f9f733cbf76c2739aa002fc7a68d63427339f", + "typeString": "literal_string \"Empty tokenURI.\"" + } + ], + "id": 4279, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5990:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5990:55:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4289, + "nodeType": "ExpressionStatement", + "src": "5990:55:37" + }, + { + "documentation": "@dev Mint to the `to` address.\n ERC4973 runs check for existent token.", + "expression": { + "arguments": [ + { + "id": 4291, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4262, + "src": "6166:2:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4292, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4264, + "src": "6170:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4293, + "name": "tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4266, + "src": "6179:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4290, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5842, + "src": "6160:5:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (address,uint256,string memory) returns (uint256)" + } + }, + "id": 4294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6160:28:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4295, + "nodeType": "ExpressionStatement", + "src": "6160:28:37" + }, + { + "documentation": "@dev Set record of owner to true;", + "expression": { + "id": 4302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 4296, + "name": "mints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4133, + "src": "6244:5:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", + "typeString": "mapping(address => mapping(uint256 => bool))" + } + }, + "id": 4299, + "indexExpression": { + "id": 4297, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4262, + "src": "6250:2:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6244:9:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 4300, + "indexExpression": { + "id": 4298, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4264, + "src": "6254:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6244:18:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 4301, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6265:4:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6244:25:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4303, + "nodeType": "ExpressionStatement", + "src": "6244:25:37" + } + ] + }, + "documentation": { + "id": 4260, + "nodeType": "StructuredDocumentation", + "src": "5379:225:37", + "text": " @dev Mints `tokenId` of the soulbound token to `to`.\n @param to Receiver of the tokens.\n @param tokenId Amount to be minted, GT 0.\n @param tokenURI URI of token minted." + }, + "id": 4305, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "mintSoulboundToken", + "nameLocation": "5618:18:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4262, + "mutability": "mutable", + "name": "to", + "nameLocation": "5654:2:37", + "nodeType": "VariableDeclaration", + "scope": 4305, + "src": "5646:10:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5646:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4264, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "5674:7:37", + "nodeType": "VariableDeclaration", + "scope": 4305, + "src": "5666:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4263, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5666:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4266, + "mutability": "mutable", + "name": "tokenURI", + "nameLocation": "5705:8:37", + "nodeType": "VariableDeclaration", + "scope": 4305, + "src": "5691:22:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4265, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5691:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5636:83:37" + }, + "returnParameters": { + "id": 4268, + "nodeType": "ParameterList", + "parameters": [], + "src": "5728:0:37" + }, + "scope": 4383, + "src": "5609:667:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 4337, + "nodeType": "Block", + "src": "6490:368:37", + "statements": [ + { + "documentation": "@dev Checks that the token actually exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4313, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4308, + "src": "6572:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4312, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "6564:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 4314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6564:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4275726e206f6620696e6578697374656e7420746f6b656e", + "id": 4315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6582:26:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e62e94c4703f3d2220adca7d86fbde12466a7fcf9da73713f2c22063a947d725", + "typeString": "literal_string \"Burn of inexistent token\"" + }, + "value": "Burn of inexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e62e94c4703f3d2220adca7d86fbde12466a7fcf9da73713f2c22063a947d725", + "typeString": "literal_string \"Burn of inexistent token\"" + } + ], + "id": 4311, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6556:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6556:53:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4317, + "nodeType": "ExpressionStatement", + "src": "6556:53:37" + }, + { + "assignments": [ + 4320 + ], + "declarations": [ + { + "constant": false, + "id": 4320, + "mutability": "mutable", + "name": "_tokenOwner", + "nameLocation": "6672:11:37", + "nodeType": "VariableDeclaration", + "scope": 4337, + "src": "6664:19:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6664:7:37", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Get owner of token tokenId.", + "id": 4324, + "initialValue": { + "arguments": [ + { + "id": 4322, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4308, + "src": "6694:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4321, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "6686:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 4323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6686:16:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6664:38:37" + }, + { + "documentation": "@dev Burn the token.", + "expression": { + "arguments": [ + { + "id": 4326, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4308, + "src": "6751:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4325, + "name": "_burn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5875, + "src": "6745:5:37", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 4327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6745:14:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4328, + "nodeType": "ExpressionStatement", + "src": "6745:14:37" + }, + { + "documentation": "@dev Set record of owner to false.", + "expression": { + "id": 4335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 4329, + "name": "mints", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4133, + "src": "6816:5:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", + "typeString": "mapping(address => mapping(uint256 => bool))" + } + }, + "id": 4332, + "indexExpression": { + "id": 4330, + "name": "_tokenOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4320, + "src": "6822:11:37", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6816:18:37", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 4333, + "indexExpression": { + "id": 4331, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4308, + "src": "6835:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6816:27:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 4334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6846:5:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6816:35:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4336, + "nodeType": "ExpressionStatement", + "src": "6816:35:37" + } + ] + }, + "documentation": { + "id": 4306, + "nodeType": "StructuredDocumentation", + "src": "6282:150:37", + "text": " @dev Burns a soulbound token, on the condition that\n the token exists.\n @param tokenId Token to be burnt." + }, + "id": 4338, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "burnSoulboundToken", + "nameLocation": "6446:18:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4308, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6473:7:37", + "nodeType": "VariableDeclaration", + "scope": 4338, + "src": "6465:15:37", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4307, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6465:7:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6464:17:37" + }, + "returnParameters": { + "id": 4310, + "nodeType": "ParameterList", + "parameters": [], + "src": "6490:0:37" + }, + "scope": 4383, + "src": "6437:421:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 4359, + "nodeType": "Block", + "src": "7083:180:37", + "statements": [ + { + "documentation": "@dev Ensure that the word length is 0.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4351, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 4347, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "7158:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7152:5:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4345, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7152:5:37", + "typeDescriptions": {} + } + }, + "id": 4348, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7152:15:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4349, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7152:22:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 4350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7178:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7152:27:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964206c656e677468", + "id": 4352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7181:16:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_089295123856887e817ba9ef604c626ebffe924cc87e7d9c9d8c4f3d4f2186f7", + "typeString": "literal_string \"Invalid length\"" + }, + "value": "Invalid length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_089295123856887e817ba9ef604c626ebffe924cc87e7d9c9d8c4f3d4f2186f7", + "typeString": "literal_string \"Invalid length\"" + } + ], + "id": 4344, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7144:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7144:54:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4354, + "nodeType": "ExpressionStatement", + "src": "7144:54:37" + }, + { + "documentation": "@dev Set baseURI.", + "expression": { + "id": 4357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4355, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4126, + "src": "7238:7:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4356, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4341, + "src": "7248:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "7238:18:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 4358, + "nodeType": "ExpressionStatement", + "src": "7238:18:37" + } + ] + }, + "documentation": { + "id": 4339, + "nodeType": "StructuredDocumentation", + "src": "6864:160:37", + "text": " @dev Sets the baseURI to `_baseURI`.\n @notice Callable by this or inheriting contract.\n @param _baseURI String URI." + }, + "id": 4360, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setBaseURI", + "nameLocation": "7038:11:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4342, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4341, + "mutability": "mutable", + "name": "_baseURI", + "nameLocation": "7064:8:37", + "nodeType": "VariableDeclaration", + "scope": 4360, + "src": "7050:22:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4340, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7050:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7049:24:37" + }, + "returnParameters": { + "id": 4343, + "nodeType": "ParameterList", + "parameters": [], + "src": "7083:0:37" + }, + "scope": 4383, + "src": "7029:234:37", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4381, + "nodeType": "Block", + "src": "7493:180:37", + "statements": [ + { + "documentation": "@dev Require baseURI length is not 0.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 4369, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4126, + "src": "7567:7:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 4368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7561:5:37", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4367, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7561:5:37", + "typeDescriptions": {} + } + }, + "id": 4370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7561:14:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "id": 4371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7561:21:37", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 4372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7586:1:37", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7561:26:37", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "456d7074792062617365555249", + "id": 4374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7589:15:37", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3247d8bc89d36854791dbafe948ddc082d8cf6636c64b41fbbdf5761acfb1e22", + "typeString": "literal_string \"Empty baseURI\"" + }, + "value": "Empty baseURI" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3247d8bc89d36854791dbafe948ddc082d8cf6636c64b41fbbdf5761acfb1e22", + "typeString": "literal_string \"Empty baseURI\"" + } + ], + "id": 4366, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7553:7:37", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7553:52:37", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4376, + "nodeType": "ExpressionStatement", + "src": "7553:52:37" + }, + { + "documentation": "@dev Return baseURI.", + "expression": { + "id": 4379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4377, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4364, + "src": "7648:8:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4378, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4126, + "src": "7659:7:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "src": "7648:18:37", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4380, + "nodeType": "ExpressionStatement", + "src": "7648:18:37" + } + ] + }, + "documentation": { + "id": 4361, + "nodeType": "StructuredDocumentation", + "src": "7269:151:37", + "text": " @dev Returns already set baseURI if it exists.\n @notice Callable by anyone.\n @return _baseURI baseURI set." + }, + "functionSelector": "c9dd94c7", + "id": 4382, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getBaseURI", + "nameLocation": "7434:11:37", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4362, + "nodeType": "ParameterList", + "parameters": [], + "src": "7445:2:37" + }, + "returnParameters": { + "id": 4365, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4364, + "mutability": "mutable", + "name": "_baseURI", + "nameLocation": "7483:8:37", + "nodeType": "VariableDeclaration", + "scope": 4382, + "src": "7469:22:37", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4363, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7469:6:37", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7468:24:37" + }, + "scope": 4383, + "src": "7425:248:37", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 4384, + "src": "802:6873:37", + "usedErrors": [] + } + ], + "src": "36:7640:37" + }, + "bytecode": "60806040523480156200001157600080fd5b5060405162000c1a38038062000c1a83398101604081905262000034916200012b565b8181600062000044838262000224565b50600162000053828262000224565b5050505050620002f0565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200008657600080fd5b81516001600160401b0380821115620000a357620000a36200005e565b604051601f8301601f19908116603f01168101908282118183101715620000ce57620000ce6200005e565b81604052838152602092508683858801011115620000eb57600080fd5b600091505b838210156200010f5785820183015181830184015290820190620000f0565b83821115620001215760008385830101525b9695505050505050565b600080604083850312156200013f57600080fd5b82516001600160401b03808211156200015757600080fd5b620001658683870162000074565b935060208501519150808211156200017c57600080fd5b506200018b8582860162000074565b9150509250929050565b600181811c90821680620001aa57607f821691505b602082108103620001cb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200021f57600081815260208120601f850160051c81016020861015620001fa5750805b601f850160051c820191505b818110156200021b5782815560010162000206565b5050505b505050565b81516001600160401b038111156200024057620002406200005e565b620002588162000251845462000195565b84620001d1565b602080601f831160018114620002905760008415620002775750858301515b600019600386901b1c1916600185901b1785556200021b565b600085815260208120601f198616915b82811015620002c157888601518255948401946001909101908401620002a0565b5085821015620002e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61091a80620003006000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461015957806395d89b411461017a578063c87b56dd14610182578063c9dd94c714610195578063fb8f198d1461019d57600080fd5b806301ffc9a7146100a357806306fdde03146100cb57806342966c68146100e05780635899e7b2146100f55780636352211e1461012e575b600080fd5b6100b66100b1366004610785565b6101b0565b60405190151581526020015b60405180910390f35b6100d3610202565b6040516100c291906107b6565b6100f36100ee36600461080b565b610294565b005b6100b6610103366004610840565b6001600160a01b03919091166000908152600660209081526040808320938352929052205460ff1690565b61014161013c36600461080b565b61030e565b6040516001600160a01b0390911681526020016100c2565b61016c61016736600461086a565b610373565b6040519081526020016100c2565b6100d36103fc565b6100d361019036600461080b565b61040b565b6100d3610510565b6101416101ab366004610840565b61056d565b60006001600160e01b03198216635b5e139f60e01b14806101e157506001600160e01b03198216635164cf4760e01b145b806101fc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461021190610885565b80601f016020809104026020016040519081016040528092919081815260200182805461023d90610885565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b5050505050905090565b61029d8161030e565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064015b60405180910390fd5b61030b81610690565b50565b6000818152600260205260408120546001600160a01b0316806101fc5760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016102f9565b60006001600160a01b0382166103e05760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016102f9565b506001600160a01b031660009081526004602052604090205490565b60606001805461021190610885565b6000818152600260205260409020546060906001600160a01b03166104725760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016102f9565b6000828152600360205260409020805461048b90610885565b80601f01602080910402602001604051908101604052809291908181526020018280546104b790610885565b80156105045780601f106104d957610100808354040283529160200191610504565b820191906000526020600020905b8154815290600101906020018083116104e757829003601f168201915b50505050509050919050565b60606005805461051f90610885565b90506000036105605760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016102f9565b6005805461021190610885565b60006001600160a01b0383166105c55760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016102f9565b6000828152600260205260409020546001600160a01b031661061f5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016102f9565b826001600160a01b03166106328361030e565b6001600160a01b0316146106885760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016102f9565b503092915050565b600061069b8261030e565b6001600160a01b038116600090815260046020526040812080549293506001929091906106c99084906108bf565b9091555050600082815260026020908152604080832080546001600160a01b0319169055600390915281206106fd91610737565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b50805461074390610885565b6000825580601f10610753575050565b601f01602090049060005260206000209081019061030b91905b80821115610781576000815560010161076d565b5090565b60006020828403121561079757600080fd5b81356001600160e01b0319811681146107af57600080fd5b9392505050565b600060208083528351808285015260005b818110156107e3578581018301518582016040015282016107c7565b818111156107f5576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561081d57600080fd5b5035919050565b80356001600160a01b038116811461083b57600080fd5b919050565b6000806040838503121561085357600080fd5b61085c83610824565b946020939093013593505050565b60006020828403121561087c57600080fd5b6107af82610824565b600181811c9082168061089957607f821691505b6020821081036108b957634e487b7160e01b600052602260045260246000fd5b50919050565b6000828210156108df57634e487b7160e01b600052601160045260246000fd5b50039056fea2646970667358221220f9ef4625cdeed4f21daaf2a349a3ed91718c587a04b040ae19a27945bfd34a2264736f6c634300080f0033", + "bytecodeSha1": "a9ab484f7c2de8a9798ef45b4f2db8c2de2b98dd", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Soulbound", + "coverageMap": { + "branches": { + "37": { + "Soulbound._getBaseURI": { + "23": [ + 7561, + 7587, + true + ] + }, + "Soulbound.issuerOf": { + "24": [ + 4479, + 4496, + true + ], + "25": [ + 4691, + 4715, + true + ] + } + }, + "41": { + "ERC4973.balanceOf": { + "27": [ + 5570, + 5589, + true + ] + }, + "ERC4973.burn": { + "26": [ + 5316, + 5346, + true + ] + } + } + }, + "statements": { + "37": { + "Soulbound._getBaseURI": { + "13": [ + 7553, + 7605 + ], + "14": [ + 7648, + 7666 + ] + }, + "Soulbound.isMinted": { + "0": [ + 5339, + 5366 + ] + }, + "Soulbound.issuerOf": { + "15": [ + 4471, + 4524 + ], + "16": [ + 4573, + 4622 + ], + "17": [ + 4683, + 4746 + ], + "18": [ + 4795, + 4815 + ] + } + }, + "41": { + "ERC165.supportsInterface": { + "2": [ + 1750, + 1797 + ] + }, + "ERC4973._burn": { + "19": [ + 6510, + 6531 + ], + "20": [ + 6541, + 6564 + ], + "21": [ + 6574, + 6600 + ], + "22": [ + 6611, + 6638 + ] + }, + "ERC4973._exists": { + "10": [ + 6005, + 6042 + ] + }, + "ERC4973.balanceOf": { + "7": [ + 5549, + 5659 + ], + "8": [ + 5669, + 5692 + ] + }, + "ERC4973.burn": { + "4": [ + 5308, + 5377 + ], + "5": [ + 5387, + 5401 + ] + }, + "ERC4973.name": { + "3": [ + 4861, + 4873 + ] + }, + "ERC4973.ownerOf": { + "6": [ + 5829, + 5889 + ] + }, + "ERC4973.supportsInterface": { + "1": [ + 4593, + 4769 + ] + }, + "ERC4973.symbol": { + "9": [ + 4967, + 4981 + ] + }, + "ERC4973.tokenURI": { + "11": [ + 5136, + 5194 + ], + "12": [ + 5204, + 5230 + ] + } + } + } + }, + "dependencies": [ + "ERC165", + "ERC4973", + "IERC165", + "IERC4973", + "IERC721Metadata" + ], + "deployedBytecode": "608060405234801561001057600080fd5b506004361061009e5760003560e01c806370a082311161006657806370a082311461015957806395d89b411461017a578063c87b56dd14610182578063c9dd94c714610195578063fb8f198d1461019d57600080fd5b806301ffc9a7146100a357806306fdde03146100cb57806342966c68146100e05780635899e7b2146100f55780636352211e1461012e575b600080fd5b6100b66100b1366004610785565b6101b0565b60405190151581526020015b60405180910390f35b6100d3610202565b6040516100c291906107b6565b6100f36100ee36600461080b565b610294565b005b6100b6610103366004610840565b6001600160a01b03919091166000908152600660209081526040808320938352929052205460ff1690565b61014161013c36600461080b565b61030e565b6040516001600160a01b0390911681526020016100c2565b61016c61016736600461086a565b610373565b6040519081526020016100c2565b6100d36103fc565b6100d361019036600461080b565b61040b565b6100d3610510565b6101416101ab366004610840565b61056d565b60006001600160e01b03198216635b5e139f60e01b14806101e157506001600160e01b03198216635164cf4760e01b145b806101fc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461021190610885565b80601f016020809104026020016040519081016040528092919081815260200182805461023d90610885565b801561028a5780601f1061025f5761010080835404028352916020019161028a565b820191906000526020600020905b81548152906001019060200180831161026d57829003601f168201915b5050505050905090565b61029d8161030e565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064015b60405180910390fd5b61030b81610690565b50565b6000818152600260205260408120546001600160a01b0316806101fc5760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016102f9565b60006001600160a01b0382166103e05760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016102f9565b506001600160a01b031660009081526004602052604090205490565b60606001805461021190610885565b6000818152600260205260409020546060906001600160a01b03166104725760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016102f9565b6000828152600360205260409020805461048b90610885565b80601f01602080910402602001604051908101604052809291908181526020018280546104b790610885565b80156105045780601f106104d957610100808354040283529160200191610504565b820191906000526020600020905b8154815290600101906020018083116104e757829003601f168201915b50505050509050919050565b60606005805461051f90610885565b90506000036105605760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016102f9565b6005805461021190610885565b60006001600160a01b0383166105c55760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016102f9565b6000828152600260205260409020546001600160a01b031661061f5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016102f9565b826001600160a01b03166106328361030e565b6001600160a01b0316146106885760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016102f9565b503092915050565b600061069b8261030e565b6001600160a01b038116600090815260046020526040812080549293506001929091906106c99084906108bf565b9091555050600082815260026020908152604080832080546001600160a01b0319169055600390915281206106fd91610737565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b50805461074390610885565b6000825580601f10610753575050565b601f01602090049060005260206000209081019061030b91905b80821115610781576000815560010161076d565b5090565b60006020828403121561079757600080fd5b81356001600160e01b0319811681146107af57600080fd5b9392505050565b600060208083528351808285015260005b818110156107e3578581018301518582016040015282016107c7565b818111156107f5576000604083870101525b50601f01601f1916929092016040019392505050565b60006020828403121561081d57600080fd5b5035919050565b80356001600160a01b038116811461083b57600080fd5b919050565b6000806040838503121561085357600080fd5b61085c83610824565b946020939093013593505050565b60006020828403121561087c57600080fd5b6107af82610824565b600181811c9082168061089957607f821691505b6020821081036108b957634e487b7160e01b600052602260045260246000fd5b50919050565b6000828210156108df57634e487b7160e01b600052601160045260246000fd5b50039056fea2646970667358221220f9ef4625cdeed4f21daaf2a349a3ed91718c587a04b040ae19a27945bfd34a2264736f6c634300080f0033", + "deployedSourceMap": "802:6873:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4448:328:41;;;;;;:::i;:::-;;:::i;:::-;;;470:14:43;;463:22;445:41;;433:2;418:18;4448:328:41;;;;;;;;4782:98;;;:::i;:::-;;;;;;;:::i;5243:165::-;;;;;;:::i;:::-;;:::i;:::-;;5225:148:37;;;;;;:::i;:::-;-1:-1:-1;;;;;5346:10:37;;;;5319:4;5346:10;;;:5;:10;;;;;;;;:20;;;;;;;;;;;5225:148;5705:213:41;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;1885:32:43;;;1867:51;;1855:2;1840:18;5705:213:41;1721:203:43;5414:285:41;;;;;;:::i;:::-;;:::i;:::-;;;2266:25:43;;;2254:2;2239:18;5414:285:41;2120:177:43;4886:102:41;;;:::i;4994:243::-;;;;;;:::i;:::-;;:::i;7425:248:37:-;;;:::i;4302:520::-;;;;;;:::i;:::-;;:::i;4448:328:41:-;4573:4;-1:-1:-1;;;;;;4612:48:41;;-1:-1:-1;;;4612:48:41;;:105;;-1:-1:-1;;;;;;;4676:41:41;;-1:-1:-1;;;4676:41:41;4612:105;:157;;;-1:-1:-1;;;;;;;;;;1757:40:41;;;4733:36;4593:176;4448:328;-1:-1:-1;;4448:328:41:o;4782:98::-;4836:13;4868:5;4861:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4782:98;:::o;5243:165::-;5330:16;5338:7;5330;:16::i;:::-;-1:-1:-1;;;;;5316:30:41;:10;-1:-1:-1;;;;;5316:30:41;;5308:69;;;;-1:-1:-1;;;5308:69:41;;2889:2:43;5308:69:41;;;2871:21:43;2928:2;2908:18;;;2901:30;2967:28;2947:18;;;2940:56;3013:18;;5308:69:41;;;;;;;;;5387:14;5393:7;5387:5;:14::i;:::-;5243:165;:::o;5705:213::-;5768:7;5803:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5803:16:41;;5829:60;;;;-1:-1:-1;;;5829:60:41;;3244:2:43;5829:60:41;;;3226:21:43;3283:2;3263:18;;;3256:30;3322;3302:18;;;3295:58;3370:18;;5829:60:41;3042:352:43;5414:285:41;5526:7;-1:-1:-1;;;;;5570:19:41;;5549:110;;;;-1:-1:-1;;;5549:110:41;;3601:2:43;5549:110:41;;;3583:21:43;3640:2;3620:18;;;3613:30;3679:34;3659:18;;;3652:62;-1:-1:-1;;;3730:18:43;;;3723:42;3782:19;;5549:110:41;3399:408:43;5549:110:41;-1:-1:-1;;;;;;5676:16:41;;;;;:9;:16;;;;;;;5414:285::o;4886:102::-;4942:13;4974:7;4967:14;;;;;:::i;4994:243::-;5989:4;6012:16;;;:7;:16;;;;;;5107:13;;-1:-1:-1;;;;;6012:16:41;5136:58;;;;-1:-1:-1;;;5136:58:41;;4014:2:43;5136:58:41;;;3996:21:43;4053:2;4033:18;;;4026:30;4092:31;4072:18;;;4065:59;4141:18;;5136:58:41;3812:353:43;5136:58:41;5211:19;;;;:10;:19;;;;;5204:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4994:243;;;:::o;7425:248:37:-;7469:22;7567:7;7561:21;;;;;:::i;:::-;;;7586:1;7561:26;7553:52;;;;-1:-1:-1;;;7553:52:37;;4372:2:43;7553:52:37;;;4354:21:43;4411:2;4391:18;;;4384:30;-1:-1:-1;;;4430:18:43;;;4423:43;4483:18;;7553:52:37;4170:337:43;7553:52:37;7659:7;7648:18;;;;;:::i;4302:520::-;4396:7;-1:-1:-1;;;;;4479:17:37;;4471:53;;;;-1:-1:-1;;;4471:53:37;;4714:2:43;4471:53:37;;;4696:21:43;4753:2;4733:18;;;4726:30;4792:25;4772:18;;;4765:53;4835:18;;4471:53:37;4512:347:43;4471:53:37;5989:4:41;6012:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6012:16:41;4573:49:37;;;;-1:-1:-1;;;4573:49:37;;5066:2:43;4573:49:37;;;5048:21:43;5105:2;5085:18;;;5078:30;-1:-1:-1;;;5124:18:43;;;5117:49;5183:18;;4573:49:37;4864:343:43;4573:49:37;4712:3;-1:-1:-1;;;;;4691:24:37;:17;4699:8;4691:7;:17::i;:::-;-1:-1:-1;;;;;4691:24:37;;4683:63;;;;-1:-1:-1;;;4683:63:37;;5414:2:43;4683:63:37;;;5396:21:43;5453:2;5433:18;;;5426:30;5492:28;5472:18;;;5465:56;5538:18;;4683:63:37;5212:350:43;4683:63:37;-1:-1:-1;4810:4:37;4302:520;;;;:::o;6408:237:41:-;6467:13;6483:16;6491:7;6483;:16::i;:::-;-1:-1:-1;;;;;6510:16:41;;;;;;:9;:16;;;;;:21;;6467:32;;-1:-1:-1;6530:1:41;;6510:16;;;:21;;6530:1;;6510:21;:::i;:::-;;;;-1:-1:-1;;6548:16:41;;;;:7;:16;;;;;;;;6541:23;;-1:-1:-1;;;;;;6541:23:41;;;6581:10;:19;;;;;6574:26;;;:::i;:::-;6616:22;;6630:7;;-1:-1:-1;;;;;6616:22:41;;;;;;;;6457:188;6408:237;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:43:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:43;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:43:o;497:597::-;609:4;638:2;667;656:9;649:21;699:6;693:13;742:6;737:2;726:9;722:18;715:34;767:1;777:140;791:6;788:1;785:13;777:140;;;886:14;;;882:23;;876:30;852:17;;;871:2;848:26;841:66;806:10;;777:140;;;935:6;932:1;929:13;926:91;;;1005:1;1000:2;991:6;980:9;976:22;972:31;965:42;926:91;-1:-1:-1;1078:2:43;1057:15;-1:-1:-1;;1053:29:43;1038:45;;;;1085:2;1034:54;;497:597;-1:-1:-1;;;497:597:43:o;1099:180::-;1158:6;1211:2;1199:9;1190:7;1186:23;1182:32;1179:52;;;1227:1;1224;1217:12;1179:52;-1:-1:-1;1250:23:43;;1099:180;-1:-1:-1;1099:180:43:o;1284:173::-;1352:20;;-1:-1:-1;;;;;1401:31:43;;1391:42;;1381:70;;1447:1;1444;1437:12;1381:70;1284:173;;;:::o;1462:254::-;1530:6;1538;1591:2;1579:9;1570:7;1566:23;1562:32;1559:52;;;1607:1;1604;1597:12;1559:52;1630:29;1649:9;1630:29;:::i;:::-;1620:39;1706:2;1691:18;;;;1678:32;;-1:-1:-1;;;1462:254:43:o;1929:186::-;1988:6;2041:2;2029:9;2020:7;2016:23;2012:32;2009:52;;;2057:1;2054;2047:12;2009:52;2080:29;2099:9;2080:29;:::i;2302:380::-;2381:1;2377:12;;;;2424;;;2445:61;;2499:4;2491:6;2487:17;2477:27;;2445:61;2552:2;2544:6;2541:14;2521:18;2518:38;2515:161;;2598:10;2593:3;2589:20;2586:1;2579:31;2633:4;2630:1;2623:15;2661:4;2658:1;2651:15;2515:161;;2302:380;;;:::o;5567:222::-;5607:4;5635:1;5632;5629:8;5626:131;;;5679:10;5674:3;5670:20;5667:1;5660:31;5714:4;5711:1;5704:15;5742:4;5739:1;5732:15;5626:131;-1:-1:-1;5774:9:43;;5567:222::o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "Soulbound Token Base Template. This contract was inspired by https://github.com/ethereum/EIPs/blob/master/assets/eip-4973/ERC-4973.sol This contract is inherited by any contract to implement the Soulbound template. Soulbound tokens cannot be transferred when minted to a particular address. This is the base instance of the contract, it includes minting functions and revoke functions. Inheriting functions can wrap around the specified functions. Also, this base contract instance does not include a capped supply.", + "kind": "dev", + "methods": { + "_getBaseURI()": { + "details": "Returns already set baseURI if it exists.", + "notice": "Callable by anyone.", + "returns": { + "_baseURI": "baseURI set." + } + }, + "balanceOf(address)": { + "details": "ABTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.", + "notice": "Count all ABTs assigned to an owner", + "params": { + "owner": "An address for whom to query the balance" + }, + "returns": { + "_0": "The number of ABTs owned by `owner`, possibly zero" + } + }, + "burn(uint256)": { + "details": "Must emit a `event Revoke` with the `address to` field pointing to the zero address.", + "notice": "Destroys `tokenId`. At any time, an ABT receiver must be able to disassociate themselves from an ABT publicly through calling this function.", + "params": { + "tokenId": "The identifier for an ABT" + } + }, + "constructor": { + "details": "Allows the deployer to set a name and a symbol for the token." + }, + "isMinted(address,uint256)": { + "details": "Returns true if token `_tokenId` was minted from this contract to `_to`. `_to` must not be a 0 address. `_tokenId` must be an existent token.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "bool true or false." + } + }, + "issuerOf(address,uint256)": { + "details": "Since a token cannnot be minted twice. This function returns the address that minted token `_tokenId` to `_to`, otherwise this contract. `_to` must not be a 0 address. `_tokenId` must be an existent token. Owner of _tokenId must be _to.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "address of issuer." + } + }, + "ownerOf(uint256)": { + "details": "ABTs assigned to zero address are considered invalid, and queries about them do throw.", + "notice": "Find the address bound to an ERC4973 account-bound token", + "params": { + "tokenId": "The identifier for an ABT" + }, + "returns": { + "_0": "The address of the owner bound to the ABT" + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "stateVariables": { + "baseURI": { + "details": "Stores the base URI on cases when the user wants to mint a token, it automatically generates a string casted tokenURI using the generateTokenURI function. This variable can only be modified by the allowlist owner." + }, + "mints": { + "details": "Mapping of speific addresses to tokenIds and boolean for mint records." + } + }, + "title": "Soulbound Token Contract.", + "version": 1 + }, + "offset": [ + 802, + 7675 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x9E JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x17A JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x195 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x19D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0xA3 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xCB JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0xE0 JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0xF5 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x12E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0xB1 CALLDATASIZE PUSH1 0x4 PUSH2 0x785 JUMP JUMPDEST PUSH2 0x1B0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD3 PUSH2 0x202 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC2 SWAP2 SWAP1 PUSH2 0x7B6 JUMP JUMPDEST PUSH2 0xF3 PUSH2 0xEE CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x294 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xB6 PUSH2 0x103 CALLDATASIZE PUSH1 0x4 PUSH2 0x840 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x6 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x141 PUSH2 0x13C CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x30E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC2 JUMP JUMPDEST PUSH2 0x16C PUSH2 0x167 CALLDATASIZE PUSH1 0x4 PUSH2 0x86A JUMP JUMPDEST PUSH2 0x373 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xC2 JUMP JUMPDEST PUSH2 0xD3 PUSH2 0x3FC JUMP JUMPDEST PUSH2 0xD3 PUSH2 0x190 CALLDATASIZE PUSH1 0x4 PUSH2 0x80B JUMP JUMPDEST PUSH2 0x40B JUMP JUMPDEST PUSH2 0xD3 PUSH2 0x510 JUMP JUMPDEST PUSH2 0x141 PUSH2 0x1AB CALLDATASIZE PUSH1 0x4 PUSH2 0x840 JUMP JUMPDEST PUSH2 0x56D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x1E1 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x1FC JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x211 SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x23D SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x28A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x28A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x26D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x29D DUP2 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x302 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x30B DUP2 PUSH2 0x690 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x1FC JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x3E0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x2F9 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x211 SWAP1 PUSH2 0x885 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x60 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x472 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x48B SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x4B7 SWAP1 PUSH2 0x885 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x504 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4D9 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x504 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4E7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x5 DUP1 SLOAD PUSH2 0x51F SWAP1 PUSH2 0x885 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x560 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH2 0x211 SWAP1 PUSH2 0x885 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x5C5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x61F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x632 DUP4 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x688 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x2F9 JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x69B DUP3 PUSH2 0x30E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x6C9 SWAP1 DUP5 SWAP1 PUSH2 0x8BF JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0x6FD SWAP2 PUSH2 0x737 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x743 SWAP1 PUSH2 0x885 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x753 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x30B SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x781 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x76D JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x797 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x7AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 DUP3 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x7E3 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0x7C7 JUMP JUMPDEST DUP2 DUP2 GT ISZERO PUSH2 0x7F5 JUMPI PUSH1 0x0 PUSH1 0x40 DUP4 DUP8 ADD ADD MSTORE JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x40 ADD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x81D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x83B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x85C DUP4 PUSH2 0x824 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x87C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x7AF DUP3 PUSH2 0x824 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x899 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x8B9 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x8DF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SUB SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xF9 0xEF CHAINID 0x25 0xCD 0xEE 0xD4 CALLCODE SAR 0xAA CALLCODE LOG3 0x49 LOG3 0xED SWAP2 PUSH18 0x8C587A04B040AE19A27945BFD34A2264736F PUSH13 0x634300080F0033000000000000 ", + "pcMap": { + "0": { + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "MSTORE", + "path": "37" + }, + "5": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "CALLVALUE", + "path": "37" + }, + "6": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "7": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "ISZERO", + "path": "37" + }, + "8": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "12": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "REVERT", + "path": "37" + }, + "16": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPDEST", + "path": "37" + }, + "17": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "POP", + "path": "37" + }, + "18": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "21": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "LT", + "path": "37" + }, + "22": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x9E" + }, + "25": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "26": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "CALLDATALOAD", + "path": "37" + }, + "29": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "SHR", + "path": "37" + }, + "32": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "33": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x70A08231" + }, + "38": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "GT", + "path": "37" + }, + "39": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x66" + }, + "42": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "43": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "44": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x70A08231" + }, + "49": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "50": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x159" + }, + "53": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "54": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "55": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x95D89B41" + }, + "60": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "61": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x17A" + }, + "64": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "65": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "66": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0xC87B56DD" + }, + "71": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "72": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x182" + }, + "75": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "76": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "77": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0xC9DD94C7" + }, + "82": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "83": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x195" + }, + "86": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "87": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "88": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0xFB8F198D" + }, + "93": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "94": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x19D" + }, + "97": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "98": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "100": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "101": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "REVERT", + "path": "37" + }, + "102": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPDEST", + "path": "37" + }, + "103": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "104": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x1FFC9A7" + }, + "109": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "110": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0xA3" + }, + "113": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "114": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "115": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x6FDDE03" + }, + "120": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "121": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0xCB" + }, + "124": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "125": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "126": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x42966C68" + }, + "131": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "132": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0xE0" + }, + "135": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "136": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "137": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x5899E7B2" + }, + "142": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "143": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0xF5" + }, + "146": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "147": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "148": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH4", + "path": "37", + "value": "0x6352211E" + }, + "153": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "EQ", + "path": "37" + }, + "154": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH2", + "path": "37", + "value": "0x12E" + }, + "157": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPI", + "path": "37" + }, + "158": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "JUMPDEST", + "path": "37" + }, + "159": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "161": { + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "DUP1", + "path": "37" + }, + "162": { + "first_revert": true, + "fn": null, + "offset": [ + 802, + 7675 + ], + "op": "REVERT", + "path": "37" + }, + "163": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "164": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0xB6" + }, + "167": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0xB1" + }, + "170": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "171": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "173": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x785" + }, + "176": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "177": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "178": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1B0" + }, + "181": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "182": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "183": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "185": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "186": { + "op": "SWAP1" + }, + "187": { + "op": "ISZERO" + }, + "188": { + "op": "ISZERO" + }, + "189": { + "op": "DUP2" + }, + "190": { + "op": "MSTORE" + }, + "191": { + "op": "PUSH1", + "value": "0x20" + }, + "193": { + "op": "ADD" + }, + "194": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "195": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "197": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "198": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "DUP1", + "path": "41" + }, + "199": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "200": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SUB", + "path": "41" + }, + "201": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP1", + "path": "41" + }, + "202": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "RETURN", + "path": "41" + }, + "203": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "204": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0xD3" + }, + "207": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x202" + }, + "210": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "211": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "212": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "214": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "MLOAD", + "path": "41" + }, + "215": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0xC2" + }, + "218": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP2", + "path": "41" + }, + "219": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "220": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7B6" + }, + "223": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "224": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "225": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0xF3" + }, + "228": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0xEE" + }, + "231": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "232": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "234": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x80B" + }, + "237": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "238": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "239": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x294" + }, + "242": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "243": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "244": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "STOP", + "path": "41" + }, + "245": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "246": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0xB6" + }, + "249": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x103" + }, + "252": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "253": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "255": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x840" + }, + "258": { + "fn": "Soulbound.isMinted", + "jump": "i", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "259": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "260": { + "op": "PUSH1", + "value": "0x1" + }, + "262": { + "op": "PUSH1", + "value": "0x1" + }, + "264": { + "op": "PUSH1", + "value": "0xA0" + }, + "266": { + "op": "SHL" + }, + "267": { + "op": "SUB" + }, + "268": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37", + "statement": 0 + }, + "269": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "270": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37" + }, + "271": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "AND", + "path": "37" + }, + "272": { + "fn": "Soulbound.isMinted", + "offset": [ + 5319, + 5323 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "274": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "275": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "276": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "277": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5351 + ], + "op": "PUSH1", + "path": "37", + "value": "0x6" + }, + "279": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "281": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "282": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "283": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "284": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "286": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP1", + "path": "37" + }, + "287": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP4", + "path": "37" + }, + "288": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "KECCAK256", + "path": "37" + }, + "289": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP4", + "path": "37" + }, + "290": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "DUP4", + "path": "37" + }, + "291": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "292": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP3", + "path": "37" + }, + "293": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "294": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "295": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "KECCAK256", + "path": "37" + }, + "296": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SLOAD", + "path": "37" + }, + "297": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "PUSH1", + "path": "37", + "value": "0xFF" + }, + "299": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "AND", + "path": "37" + }, + "300": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "301": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "302": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "303": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x141" + }, + "306": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x13C" + }, + "309": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "310": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "312": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x80B" + }, + "315": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "316": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "317": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x30E" + }, + "320": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "321": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "322": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "324": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "MLOAD", + "path": "41" + }, + "325": { + "op": "PUSH1", + "value": "0x1" + }, + "327": { + "op": "PUSH1", + "value": "0x1" + }, + "329": { + "op": "PUSH1", + "value": "0xA0" + }, + "331": { + "op": "SHL" + }, + "332": { + "op": "SUB" + }, + "333": { + "op": "SWAP1" + }, + "334": { + "op": "SWAP2" + }, + "335": { + "op": "AND" + }, + "336": { + "op": "DUP2" + }, + "337": { + "op": "MSTORE" + }, + "338": { + "op": "PUSH1", + "value": "0x20" + }, + "340": { + "op": "ADD" + }, + "341": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0xC2" + }, + "344": { + "op": "JUMP" + }, + "345": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "346": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x16C" + }, + "349": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x167" + }, + "352": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "353": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "355": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x86A" + }, + "358": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "359": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "360": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x373" + }, + "363": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "364": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "365": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "367": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "MLOAD", + "path": "41" + }, + "368": { + "op": "SWAP1" + }, + "369": { + "op": "DUP2" + }, + "370": { + "op": "MSTORE" + }, + "371": { + "op": "PUSH1", + "value": "0x20" + }, + "373": { + "op": "ADD" + }, + "374": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0xC2" + }, + "377": { + "op": "JUMP" + }, + "378": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "379": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0xD3" + }, + "382": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3FC" + }, + "385": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4886, + 4988 + ], + "op": "JUMP", + "path": "41" + }, + "386": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "387": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0xD3" + }, + "390": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x190" + }, + "393": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "394": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "396": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x80B" + }, + "399": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "400": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "401": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x40B" + }, + "404": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "405": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "406": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0xD3" + }, + "409": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x510" + }, + "412": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7425, + 7673 + ], + "op": "JUMP", + "path": "37" + }, + "413": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "414": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x141" + }, + "417": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1AB" + }, + "420": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "421": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "423": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x840" + }, + "426": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "427": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "428": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x56D" + }, + "431": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "432": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "433": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4573, + 4577 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "435": { + "op": "PUSH1", + "value": "0x1" + }, + "437": { + "op": "PUSH1", + "value": "0x1" + }, + "439": { + "op": "PUSH1", + "value": "0xE0" + }, + "441": { + "op": "SHL" + }, + "442": { + "op": "SUB" + }, + "443": { + "op": "NOT" + }, + "444": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP3", + "path": "41", + "statement": 1 + }, + "445": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "AND", + "path": "41" + }, + "446": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "451": { + "op": "PUSH1", + "value": "0xE0" + }, + "453": { + "op": "SHL" + }, + "454": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "EQ", + "path": "41" + }, + "455": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP1", + "path": "41" + }, + "456": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1E1" + }, + "459": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPI", + "path": "41" + }, + "460": { + "op": "POP" + }, + "461": { + "op": "PUSH1", + "value": "0x1" + }, + "463": { + "op": "PUSH1", + "value": "0x1" + }, + "465": { + "op": "PUSH1", + "value": "0xE0" + }, + "467": { + "op": "SHL" + }, + "468": { + "op": "SUB" + }, + "469": { + "op": "NOT" + }, + "470": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "DUP3", + "path": "41" + }, + "471": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "AND", + "path": "41" + }, + "472": { + "op": "PUSH4", + "value": "0x5164CF47" + }, + "477": { + "op": "PUSH1", + "value": "0xE0" + }, + "479": { + "op": "SHL" + }, + "480": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "EQ", + "path": "41" + }, + "481": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPDEST", + "path": "41" + }, + "482": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "DUP1", + "path": "41" + }, + "483": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1FC" + }, + "486": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "JUMPI", + "path": "41" + }, + "487": { + "op": "POP" + }, + "488": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "493": { + "op": "PUSH1", + "value": "0xE0" + }, + "495": { + "op": "SHL" + }, + "496": { + "op": "PUSH1", + "value": "0x1" + }, + "498": { + "op": "PUSH1", + "value": "0x1" + }, + "500": { + "op": "PUSH1", + "value": "0xE0" + }, + "502": { + "op": "SHL" + }, + "503": { + "op": "SUB" + }, + "504": { + "op": "NOT" + }, + "505": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "DUP4", + "path": "41", + "statement": 2 + }, + "506": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "AND", + "path": "41" + }, + "507": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "EQ", + "path": "41" + }, + "508": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4733, + 4769 + ], + "op": "JUMPDEST", + "path": "41" + }, + "509": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4593, + 4769 + ], + "op": "SWAP3", + "path": "41" + }, + "510": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "511": { + "op": "POP" + }, + "512": { + "op": "POP" + }, + "513": { + "fn": "ERC4973.supportsInterface", + "jump": "o", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "514": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "515": { + "fn": "ERC4973.name", + "offset": [ + 4836, + 4849 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "517": { + "fn": "ERC4973.name", + "offset": [ + 4868, + 4873 + ], + "op": "PUSH1", + "path": "41", + "statement": 3, + "value": "0x0" + }, + "519": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "520": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "521": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x211" + }, + "524": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "525": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x885" + }, + "528": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "529": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "530": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "531": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "533": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "534": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "536": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "537": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "538": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "539": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "540": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "542": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "543": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "545": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MLOAD", + "path": "41" + }, + "546": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "547": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "548": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "549": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "551": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "552": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "553": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP3", + "path": "41" + }, + "554": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "555": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "556": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "557": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "558": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "559": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "561": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "562": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "563": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "564": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "565": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x23D" + }, + "568": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "569": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x885" + }, + "572": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "573": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "574": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "575": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ISZERO", + "path": "41" + }, + "576": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x28A" + }, + "579": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "580": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "581": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "583": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "LT", + "path": "41" + }, + "584": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x25F" + }, + "587": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "588": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "591": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "592": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "593": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "594": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "595": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "596": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "597": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "598": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "599": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "601": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "602": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "603": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x28A" + }, + "606": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "607": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "608": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "609": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "610": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "611": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "612": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "614": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "615": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "617": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "619": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "KECCAK256", + "path": "41" + }, + "620": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "621": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "622": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "623": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "624": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "625": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "626": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "627": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "629": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "630": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "631": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "633": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "634": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "635": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "636": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "GT", + "path": "41" + }, + "637": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x26D" + }, + "640": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "641": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "642": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "643": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SUB", + "path": "41" + }, + "644": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "646": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "AND", + "path": "41" + }, + "647": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "648": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "649": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "650": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "651": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "652": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "653": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "654": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "655": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "656": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "657": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "658": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "659": { + "fn": "ERC4973.name", + "jump": "o", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "660": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "661": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "PUSH2", + "path": "41", + "statement": 4, + "value": "0x29D" + }, + "664": { + "fn": "ERC4973.burn", + "offset": [ + 5338, + 5345 + ], + "op": "DUP2", + "path": "41" + }, + "665": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x30E" + }, + "668": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5330, + 5346 + ], + "op": "JUMP", + "path": "41" + }, + "669": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "JUMPDEST", + "path": "41" + }, + "670": { + "op": "PUSH1", + "value": "0x1" + }, + "672": { + "op": "PUSH1", + "value": "0x1" + }, + "674": { + "op": "PUSH1", + "value": "0xA0" + }, + "676": { + "op": "SHL" + }, + "677": { + "op": "SUB" + }, + "678": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "679": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5326 + ], + "op": "CALLER", + "path": "41" + }, + "680": { + "op": "PUSH1", + "value": "0x1" + }, + "682": { + "op": "PUSH1", + "value": "0x1" + }, + "684": { + "op": "PUSH1", + "value": "0xA0" + }, + "686": { + "op": "SHL" + }, + "687": { + "op": "SUB" + }, + "688": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "689": { + "branch": 26, + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "EQ", + "path": "41" + }, + "690": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH2", + "path": "41", + "value": "0x302" + }, + "693": { + "branch": 26, + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPI", + "path": "41" + }, + "694": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "696": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MLOAD", + "path": "41" + }, + "697": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "701": { + "op": "PUSH1", + "value": "0xE5" + }, + "703": { + "op": "SHL" + }, + "704": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP2", + "path": "41" + }, + "705": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MSTORE", + "path": "41" + }, + "706": { + "op": "PUSH1", + "value": "0x20" + }, + "708": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "710": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP3", + "path": "41" + }, + "711": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "ADD", + "path": "41" + }, + "712": { + "op": "MSTORE" + }, + "713": { + "op": "PUSH1", + "value": "0x1A" + }, + "715": { + "op": "PUSH1", + "value": "0x24" + }, + "717": { + "op": "DUP3" + }, + "718": { + "op": "ADD" + }, + "719": { + "op": "MSTORE" + }, + "720": { + "op": "PUSH32", + "value": "0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000" + }, + "753": { + "op": "PUSH1", + "value": "0x44" + }, + "755": { + "op": "DUP3" + }, + "756": { + "op": "ADD" + }, + "757": { + "op": "MSTORE" + }, + "758": { + "op": "PUSH1", + "value": "0x64" + }, + "760": { + "op": "ADD" + }, + "761": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPDEST", + "path": "41" + }, + "762": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "764": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MLOAD", + "path": "41" + }, + "765": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP1", + "path": "41" + }, + "766": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "SWAP2", + "path": "41" + }, + "767": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "SUB", + "path": "41" + }, + "768": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "SWAP1", + "path": "41" + }, + "769": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "41" + }, + "770": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPDEST", + "path": "41" + }, + "771": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "PUSH2", + "path": "41", + "statement": 5, + "value": "0x30B" + }, + "774": { + "fn": "ERC4973.burn", + "offset": [ + 5393, + 5400 + ], + "op": "DUP2", + "path": "41" + }, + "775": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5392 + ], + "op": "PUSH2", + "path": "41", + "value": "0x690" + }, + "778": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5387, + 5401 + ], + "op": "JUMP", + "path": "41" + }, + "779": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "JUMPDEST", + "path": "41" + }, + "780": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "POP", + "path": "41" + }, + "781": { + "fn": "ERC4973.burn", + "jump": "o", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "782": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "783": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5768, + 5775 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "785": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "786": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "787": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "788": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5810 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "790": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "792": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "793": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "795": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "796": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "KECCAK256", + "path": "41" + }, + "797": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "SLOAD", + "path": "41" + }, + "798": { + "op": "PUSH1", + "value": "0x1" + }, + "800": { + "op": "PUSH1", + "value": "0x1" + }, + "802": { + "op": "PUSH1", + "value": "0xA0" + }, + "804": { + "op": "SHL" + }, + "805": { + "op": "SUB" + }, + "806": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "AND", + "path": "41" + }, + "807": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP1", + "path": "41" + }, + "808": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "statement": 6, + "value": "0x1FC" + }, + "811": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "JUMPI", + "path": "41" + }, + "812": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "814": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MLOAD", + "path": "41" + }, + "815": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "819": { + "op": "PUSH1", + "value": "0xE5" + }, + "821": { + "op": "SHL" + }, + "822": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP2", + "path": "41" + }, + "823": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MSTORE", + "path": "41" + }, + "824": { + "op": "PUSH1", + "value": "0x20" + }, + "826": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "828": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP3", + "path": "41" + }, + "829": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "ADD", + "path": "41" + }, + "830": { + "op": "MSTORE" + }, + "831": { + "op": "PUSH1", + "value": "0x1C" + }, + "833": { + "op": "PUSH1", + "value": "0x24" + }, + "835": { + "op": "DUP3" + }, + "836": { + "op": "ADD" + }, + "837": { + "op": "MSTORE" + }, + "838": { + "op": "PUSH32", + "value": "0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000" + }, + "871": { + "op": "PUSH1", + "value": "0x44" + }, + "873": { + "op": "DUP3" + }, + "874": { + "op": "ADD" + }, + "875": { + "op": "MSTORE" + }, + "876": { + "op": "PUSH1", + "value": "0x64" + }, + "878": { + "op": "ADD" + }, + "879": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2F9" + }, + "882": { + "op": "JUMP" + }, + "883": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "884": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5526, + 5533 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "886": { + "op": "PUSH1", + "value": "0x1" + }, + "888": { + "op": "PUSH1", + "value": "0x1" + }, + "890": { + "op": "PUSH1", + "value": "0xA0" + }, + "892": { + "op": "SHL" + }, + "893": { + "op": "SUB" + }, + "894": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "DUP3", + "path": "41", + "statement": 7 + }, + "895": { + "branch": 27, + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "AND", + "path": "41" + }, + "896": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3E0" + }, + "899": { + "branch": 27, + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPI", + "path": "41" + }, + "900": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "902": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MLOAD", + "path": "41" + }, + "903": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "907": { + "op": "PUSH1", + "value": "0xE5" + }, + "909": { + "op": "SHL" + }, + "910": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP2", + "path": "41" + }, + "911": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MSTORE", + "path": "41" + }, + "912": { + "op": "PUSH1", + "value": "0x20" + }, + "914": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "916": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP3", + "path": "41" + }, + "917": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "ADD", + "path": "41" + }, + "918": { + "op": "MSTORE" + }, + "919": { + "op": "PUSH1", + "value": "0x2C" + }, + "921": { + "op": "PUSH1", + "value": "0x24" + }, + "923": { + "op": "DUP3" + }, + "924": { + "op": "ADD" + }, + "925": { + "op": "MSTORE" + }, + "926": { + "op": "PUSH32", + "value": "0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061" + }, + "959": { + "op": "PUSH1", + "value": "0x44" + }, + "961": { + "op": "DUP3" + }, + "962": { + "op": "ADD" + }, + "963": { + "op": "MSTORE" + }, + "964": { + "op": "PUSH12", + "value": "0x103B30B634B21037BBB732B9" + }, + "977": { + "op": "PUSH1", + "value": "0xA1" + }, + "979": { + "op": "SHL" + }, + "980": { + "op": "PUSH1", + "value": "0x64" + }, + "982": { + "op": "DUP3" + }, + "983": { + "op": "ADD" + }, + "984": { + "op": "MSTORE" + }, + "985": { + "op": "PUSH1", + "value": "0x84" + }, + "987": { + "op": "ADD" + }, + "988": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2F9" + }, + "991": { + "op": "JUMP" + }, + "992": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPDEST", + "path": "41" + }, + "993": { + "op": "POP" + }, + "994": { + "op": "PUSH1", + "value": "0x1" + }, + "996": { + "op": "PUSH1", + "value": "0x1" + }, + "998": { + "op": "PUSH1", + "value": "0xA0" + }, + "1000": { + "op": "SHL" + }, + "1001": { + "op": "SUB" + }, + "1002": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "AND", + "path": "41", + "statement": 8 + }, + "1003": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1005": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1006": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "DUP2", + "path": "41" + }, + "1007": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "1008": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5685 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1010": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1012": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "1013": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1015": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1016": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "KECCAK256", + "path": "41" + }, + "1017": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SLOAD", + "path": "41" + }, + "1018": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1019": { + "fn": "ERC4973.balanceOf", + "jump": "o", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "1020": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1021": { + "fn": "ERC4973.symbol", + "offset": [ + 4942, + 4955 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "1023": { + "fn": "ERC4973.symbol", + "offset": [ + 4974, + 4981 + ], + "op": "PUSH1", + "path": "41", + "statement": 9, + "value": "0x1" + }, + "1025": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "DUP1", + "path": "41" + }, + "1026": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SLOAD", + "path": "41" + }, + "1027": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x211" + }, + "1030": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SWAP1", + "path": "41" + }, + "1031": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x885" + }, + "1034": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4967, + 4981 + ], + "op": "JUMP", + "path": "41" + }, + "1035": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1036": { + "fn": "ERC4973._exists", + "offset": [ + 5989, + 5993 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1038": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "DUP2", + "path": "41", + "statement": 10 + }, + "1039": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "DUP2", + "path": "41" + }, + "1040": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "1041": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6019 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "1043": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1045": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "1046": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1048": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41" + }, + "1049": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "KECCAK256", + "path": "41" + }, + "1050": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SLOAD", + "path": "41" + }, + "1051": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5107, + 5120 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "1053": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5107, + 5120 + ], + "op": "SWAP1", + "path": "41" + }, + "1054": { + "op": "PUSH1", + "value": "0x1" + }, + "1056": { + "op": "PUSH1", + "value": "0x1" + }, + "1058": { + "op": "PUSH1", + "value": "0xA0" + }, + "1060": { + "op": "SHL" + }, + "1061": { + "op": "SUB" + }, + "1062": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "AND", + "path": "41" + }, + "1063": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "statement": 11, + "value": "0x472" + }, + "1066": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPI", + "path": "41" + }, + "1067": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1069": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MLOAD", + "path": "41" + }, + "1070": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1074": { + "op": "PUSH1", + "value": "0xE5" + }, + "1076": { + "op": "SHL" + }, + "1077": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP2", + "path": "41" + }, + "1078": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MSTORE", + "path": "41" + }, + "1079": { + "op": "PUSH1", + "value": "0x20" + }, + "1081": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1083": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP3", + "path": "41" + }, + "1084": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "ADD", + "path": "41" + }, + "1085": { + "op": "MSTORE" + }, + "1086": { + "op": "PUSH1", + "value": "0x1D" + }, + "1088": { + "op": "PUSH1", + "value": "0x24" + }, + "1090": { + "op": "DUP3" + }, + "1091": { + "op": "ADD" + }, + "1092": { + "op": "MSTORE" + }, + "1093": { + "op": "PUSH32", + "value": "0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000" + }, + "1126": { + "op": "PUSH1", + "value": "0x44" + }, + "1128": { + "op": "DUP3" + }, + "1129": { + "op": "ADD" + }, + "1130": { + "op": "MSTORE" + }, + "1131": { + "op": "PUSH1", + "value": "0x64" + }, + "1133": { + "op": "ADD" + }, + "1134": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2F9" + }, + "1137": { + "op": "JUMP" + }, + "1138": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1139": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "statement": 12, + "value": "0x0" + }, + "1141": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "1142": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "1143": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "1144": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5221 + ], + "op": "PUSH1", + "path": "41", + "value": "0x3" + }, + "1146": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1148": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "1149": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1151": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1152": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "1153": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1154": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "1155": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x48B" + }, + "1158": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1159": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x885" + }, + "1162": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "1163": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1164": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1165": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "1167": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1168": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1170": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1171": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "1172": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "1173": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "1174": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1176": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1177": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1179": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MLOAD", + "path": "41" + }, + "1180": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1181": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "1182": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1183": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1185": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "1186": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1187": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP3", + "path": "41" + }, + "1188": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "1189": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1190": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "1191": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "1192": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "1193": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1195": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1196": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "1197": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1198": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "1199": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x4B7" + }, + "1202": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1203": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x885" + }, + "1206": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "1207": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1208": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1209": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ISZERO", + "path": "41" + }, + "1210": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x504" + }, + "1213": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "1214": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1215": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "1217": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "LT", + "path": "41" + }, + "1218": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x4D9" + }, + "1221": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "1222": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "1225": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1226": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "1227": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "1228": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "1229": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "1230": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "1231": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "1232": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "1233": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1235": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1236": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "1237": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x504" + }, + "1240": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "1241": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1242": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "1243": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1244": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "1245": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1246": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1248": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "1249": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1251": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1253": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "1254": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1255": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1256": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "1257": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "1258": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "1259": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "1260": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1261": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "1263": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1264": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1265": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1267": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1268": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "1269": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "1270": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "GT", + "path": "41" + }, + "1271": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x4E7" + }, + "1274": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "1275": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "1276": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1277": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SUB", + "path": "41" + }, + "1278": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "1280": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "AND", + "path": "41" + }, + "1281": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "1282": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "1283": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "1284": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1285": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "1286": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "1287": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "1288": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "1289": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "1290": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "1291": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "1292": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP2", + "path": "41" + }, + "1293": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP1", + "path": "41" + }, + "1294": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "POP", + "path": "41" + }, + "1295": { + "fn": "ERC4973.tokenURI", + "jump": "o", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "1296": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1297": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7469, + 7491 + ], + "op": "PUSH1", + "path": "37", + "value": "0x60" + }, + "1299": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7567, + 7574 + ], + "op": "PUSH1", + "path": "37", + "statement": 13, + "value": "0x5" + }, + "1301": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "DUP1", + "path": "37" + }, + "1302": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SLOAD", + "path": "37" + }, + "1303": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x51F" + }, + "1306": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "1307": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x885" + }, + "1310": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7561, + 7582 + ], + "op": "JUMP", + "path": "37" + }, + "1311": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1312": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "1313": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "POP", + "path": "37" + }, + "1314": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7586, + 7587 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "1316": { + "branch": 23, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7587 + ], + "op": "SUB", + "path": "37" + }, + "1317": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x560" + }, + "1320": { + "branch": 23, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPI", + "path": "37" + }, + "1321": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "1323": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MLOAD", + "path": "37" + }, + "1324": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1328": { + "op": "PUSH1", + "value": "0xE5" + }, + "1330": { + "op": "SHL" + }, + "1331": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP2", + "path": "37" + }, + "1332": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MSTORE", + "path": "37" + }, + "1333": { + "op": "PUSH1", + "value": "0x20" + }, + "1335": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "1337": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP3", + "path": "37" + }, + "1338": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "ADD", + "path": "37" + }, + "1339": { + "op": "MSTORE" + }, + "1340": { + "op": "PUSH1", + "value": "0xD" + }, + "1342": { + "op": "PUSH1", + "value": "0x24" + }, + "1344": { + "op": "DUP3" + }, + "1345": { + "op": "ADD" + }, + "1346": { + "op": "MSTORE" + }, + "1347": { + "op": "PUSH13", + "value": "0x456D7074792062617365555249" + }, + "1361": { + "op": "PUSH1", + "value": "0x98" + }, + "1363": { + "op": "SHL" + }, + "1364": { + "op": "PUSH1", + "value": "0x44" + }, + "1366": { + "op": "DUP3" + }, + "1367": { + "op": "ADD" + }, + "1368": { + "op": "MSTORE" + }, + "1369": { + "op": "PUSH1", + "value": "0x64" + }, + "1371": { + "op": "ADD" + }, + "1372": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2F9" + }, + "1375": { + "op": "JUMP" + }, + "1376": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1377": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7659, + 7666 + ], + "op": "PUSH1", + "path": "37", + "statement": 14, + "value": "0x5" + }, + "1379": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "DUP1", + "path": "37" + }, + "1380": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SLOAD", + "path": "37" + }, + "1381": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x211" + }, + "1384": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SWAP1", + "path": "37" + }, + "1385": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x885" + }, + "1388": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7648, + 7666 + ], + "op": "JUMP", + "path": "37" + }, + "1389": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1390": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4396, + 4403 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "1392": { + "op": "PUSH1", + "value": "0x1" + }, + "1394": { + "op": "PUSH1", + "value": "0x1" + }, + "1396": { + "op": "PUSH1", + "value": "0xA0" + }, + "1398": { + "op": "SHL" + }, + "1399": { + "op": "SUB" + }, + "1400": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "DUP4", + "path": "37", + "statement": 15 + }, + "1401": { + "branch": 24, + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "AND", + "path": "37" + }, + "1402": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0x5C5" + }, + "1405": { + "branch": 24, + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPI", + "path": "37" + }, + "1406": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "1408": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MLOAD", + "path": "37" + }, + "1409": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1413": { + "op": "PUSH1", + "value": "0xE5" + }, + "1415": { + "op": "SHL" + }, + "1416": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP2", + "path": "37" + }, + "1417": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MSTORE", + "path": "37" + }, + "1418": { + "op": "PUSH1", + "value": "0x20" + }, + "1420": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "1422": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP3", + "path": "37" + }, + "1423": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "ADD", + "path": "37" + }, + "1424": { + "op": "MSTORE" + }, + "1425": { + "op": "PUSH1", + "value": "0x17" + }, + "1427": { + "op": "PUSH1", + "value": "0x24" + }, + "1429": { + "op": "DUP3" + }, + "1430": { + "op": "ADD" + }, + "1431": { + "op": "MSTORE" + }, + "1432": { + "op": "PUSH32", + "value": "0x517565727920666F72207A65726F20616464726573732E000000000000000000" + }, + "1465": { + "op": "PUSH1", + "value": "0x44" + }, + "1467": { + "op": "DUP3" + }, + "1468": { + "op": "ADD" + }, + "1469": { + "op": "MSTORE" + }, + "1470": { + "op": "PUSH1", + "value": "0x64" + }, + "1472": { + "op": "ADD" + }, + "1473": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2F9" + }, + "1476": { + "op": "JUMP" + }, + "1477": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1478": { + "fn": "ERC4973._exists", + "offset": [ + 5989, + 5993 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1480": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "DUP3", + "path": "41" + }, + "1481": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "DUP2", + "path": "41" + }, + "1482": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "1483": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6019 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "1485": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1487": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "1488": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1490": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41" + }, + "1491": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "KECCAK256", + "path": "41" + }, + "1492": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SLOAD", + "path": "41" + }, + "1493": { + "op": "PUSH1", + "value": "0x1" + }, + "1495": { + "op": "PUSH1", + "value": "0x1" + }, + "1497": { + "op": "PUSH1", + "value": "0xA0" + }, + "1499": { + "op": "SHL" + }, + "1500": { + "op": "SUB" + }, + "1501": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "AND", + "path": "41" + }, + "1502": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "statement": 16, + "value": "0x61F" + }, + "1505": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPI", + "path": "37" + }, + "1506": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "1508": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MLOAD", + "path": "37" + }, + "1509": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1513": { + "op": "PUSH1", + "value": "0xE5" + }, + "1515": { + "op": "SHL" + }, + "1516": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP2", + "path": "37" + }, + "1517": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MSTORE", + "path": "37" + }, + "1518": { + "op": "PUSH1", + "value": "0x20" + }, + "1520": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "1522": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP3", + "path": "37" + }, + "1523": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "ADD", + "path": "37" + }, + "1524": { + "op": "MSTORE" + }, + "1525": { + "op": "PUSH1", + "value": "0x13" + }, + "1527": { + "op": "PUSH1", + "value": "0x24" + }, + "1529": { + "op": "DUP3" + }, + "1530": { + "op": "ADD" + }, + "1531": { + "op": "MSTORE" + }, + "1532": { + "op": "PUSH19", + "value": "0x2737B716B2BC34B9BA32B73A103A37B5B2B717" + }, + "1552": { + "op": "PUSH1", + "value": "0x69" + }, + "1554": { + "op": "SHL" + }, + "1555": { + "op": "PUSH1", + "value": "0x44" + }, + "1557": { + "op": "DUP3" + }, + "1558": { + "op": "ADD" + }, + "1559": { + "op": "MSTORE" + }, + "1560": { + "op": "PUSH1", + "value": "0x64" + }, + "1562": { + "op": "ADD" + }, + "1563": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2F9" + }, + "1566": { + "op": "JUMP" + }, + "1567": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1568": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4712, + 4715 + ], + "op": "DUP3", + "path": "37", + "statement": 17 + }, + "1569": { + "op": "PUSH1", + "value": "0x1" + }, + "1571": { + "op": "PUSH1", + "value": "0x1" + }, + "1573": { + "op": "PUSH1", + "value": "0xA0" + }, + "1575": { + "op": "SHL" + }, + "1576": { + "op": "SUB" + }, + "1577": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "1578": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "PUSH2", + "path": "37", + "value": "0x632" + }, + "1581": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4699, + 4707 + ], + "op": "DUP4", + "path": "37" + }, + "1582": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4698 + ], + "op": "PUSH2", + "path": "37", + "value": "0x30E" + }, + "1585": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4691, + 4708 + ], + "op": "JUMP", + "path": "37" + }, + "1586": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1587": { + "op": "PUSH1", + "value": "0x1" + }, + "1589": { + "op": "PUSH1", + "value": "0x1" + }, + "1591": { + "op": "PUSH1", + "value": "0xA0" + }, + "1593": { + "op": "SHL" + }, + "1594": { + "op": "SUB" + }, + "1595": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "1596": { + "branch": 25, + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "EQ", + "path": "37" + }, + "1597": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0x688" + }, + "1600": { + "branch": 25, + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPI", + "path": "37" + }, + "1601": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "1603": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MLOAD", + "path": "37" + }, + "1604": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1608": { + "op": "PUSH1", + "value": "0xE5" + }, + "1610": { + "op": "SHL" + }, + "1611": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP2", + "path": "37" + }, + "1612": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MSTORE", + "path": "37" + }, + "1613": { + "op": "PUSH1", + "value": "0x20" + }, + "1615": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "1617": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP3", + "path": "37" + }, + "1618": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "ADD", + "path": "37" + }, + "1619": { + "op": "MSTORE" + }, + "1620": { + "op": "PUSH1", + "value": "0x1A" + }, + "1622": { + "op": "PUSH1", + "value": "0x24" + }, + "1624": { + "op": "DUP3" + }, + "1625": { + "op": "ADD" + }, + "1626": { + "op": "MSTORE" + }, + "1627": { + "op": "PUSH32", + "value": "0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000" + }, + "1660": { + "op": "PUSH1", + "value": "0x44" + }, + "1662": { + "op": "DUP3" + }, + "1663": { + "op": "ADD" + }, + "1664": { + "op": "MSTORE" + }, + "1665": { + "op": "PUSH1", + "value": "0x64" + }, + "1667": { + "op": "ADD" + }, + "1668": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2F9" + }, + "1671": { + "op": "JUMP" + }, + "1672": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1673": { + "op": "POP" + }, + "1674": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4810, + 4814 + ], + "op": "ADDRESS", + "path": "37", + "statement": 18 + }, + "1675": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP3", + "path": "37" + }, + "1676": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP2", + "path": "37" + }, + "1677": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "1678": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "1679": { + "fn": "Soulbound.issuerOf", + "jump": "o", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "1680": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1681": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6480 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1683": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "PUSH2", + "path": "41", + "value": "0x69B" + }, + "1686": { + "fn": "ERC4973._burn", + "offset": [ + 6491, + 6498 + ], + "op": "DUP3", + "path": "41" + }, + "1687": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6490 + ], + "op": "PUSH2", + "path": "41", + "value": "0x30E" + }, + "1690": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6483, + 6499 + ], + "op": "JUMP", + "path": "41" + }, + "1691": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1692": { + "op": "PUSH1", + "value": "0x1" + }, + "1694": { + "op": "PUSH1", + "value": "0x1" + }, + "1696": { + "op": "PUSH1", + "value": "0xA0" + }, + "1698": { + "op": "SHL" + }, + "1699": { + "op": "SUB" + }, + "1700": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41", + "statement": 19 + }, + "1701": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "AND", + "path": "41" + }, + "1702": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1704": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "1705": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "1706": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "1707": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6519 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1709": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1711": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "1712": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1714": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "1715": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "KECCAK256", + "path": "41" + }, + "1716": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "DUP1", + "path": "41" + }, + "1717": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SLOAD", + "path": "41" + }, + "1718": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP3", + "path": "41" + }, + "1719": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP4", + "path": "41" + }, + "1720": { + "op": "POP" + }, + "1721": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "1723": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP3", + "path": "41" + }, + "1724": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "1725": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP2", + "path": "41" + }, + "1726": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "1727": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6C9" + }, + "1730": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "1731": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "DUP5", + "path": "41" + }, + "1732": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "1733": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0x8BF" + }, + "1736": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6510, + 6531 + ], + "op": "JUMP", + "path": "41" + }, + "1737": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1738": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "1739": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP2", + "path": "41" + }, + "1740": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SSTORE", + "path": "41" + }, + "1741": { + "op": "POP" + }, + "1742": { + "op": "POP" + }, + "1743": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "statement": 20, + "value": "0x0" + }, + "1745": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP3", + "path": "41" + }, + "1746": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "1747": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "1748": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6555 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "1750": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1752": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "1753": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "1754": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "1755": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1757": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "1758": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP4", + "path": "41" + }, + "1759": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "KECCAK256", + "path": "41" + }, + "1760": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "1761": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SLOAD", + "path": "41" + }, + "1762": { + "op": "PUSH1", + "value": "0x1" + }, + "1764": { + "op": "PUSH1", + "value": "0x1" + }, + "1766": { + "op": "PUSH1", + "value": "0xA0" + }, + "1768": { + "op": "SHL" + }, + "1769": { + "op": "SUB" + }, + "1770": { + "op": "NOT" + }, + "1771": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "AND", + "path": "41" + }, + "1772": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "1773": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SSTORE", + "path": "41" + }, + "1774": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6591 + ], + "op": "PUSH1", + "path": "41", + "statement": 21, + "value": "0x3" + }, + "1776": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP1", + "path": "41" + }, + "1777": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "1778": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "MSTORE", + "path": "41" + }, + "1779": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "DUP2", + "path": "41" + }, + "1780": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "KECCAK256", + "path": "41" + }, + "1781": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6FD" + }, + "1784": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "1785": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0x737" + }, + "1788": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6574, + 6600 + ], + "op": "JUMP", + "path": "41" + }, + "1789": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1790": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "statement": 22, + "value": "0x40" + }, + "1792": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "MLOAD", + "path": "41" + }, + "1793": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "DUP3", + "path": "41" + }, + "1794": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "SWAP1", + "path": "41" + }, + "1795": { + "op": "PUSH1", + "value": "0x1" + }, + "1797": { + "op": "PUSH1", + "value": "0x1" + }, + "1799": { + "op": "PUSH1", + "value": "0xA0" + }, + "1801": { + "op": "SHL" + }, + "1802": { + "op": "SUB" + }, + "1803": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "DUP4", + "path": "41" + }, + "1804": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "AND", + "path": "41" + }, + "1805": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "1806": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH32", + "path": "41", + "value": "0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B" + }, + "1839": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "1840": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1842": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "1843": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "LOG3", + "path": "41" + }, + "1844": { + "fn": "ERC4973._burn", + "offset": [ + 6457, + 6645 + ], + "op": "POP", + "path": "41" + }, + "1845": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "POP", + "path": "41" + }, + "1846": { + "fn": "ERC4973._burn", + "jump": "o", + "offset": [ + 6408, + 6645 + ], + "op": "JUMP", + "path": "41" + }, + "1847": { + "op": "JUMPDEST" + }, + "1848": { + "op": "POP" + }, + "1849": { + "op": "DUP1" + }, + "1850": { + "op": "SLOAD" + }, + "1851": { + "op": "PUSH2", + "value": "0x743" + }, + "1854": { + "op": "SWAP1" + }, + "1855": { + "op": "PUSH2", + "value": "0x885" + }, + "1858": { + "jump": "i", + "op": "JUMP" + }, + "1859": { + "op": "JUMPDEST" + }, + "1860": { + "op": "PUSH1", + "value": "0x0" + }, + "1862": { + "op": "DUP3" + }, + "1863": { + "op": "SSTORE" + }, + "1864": { + "op": "DUP1" + }, + "1865": { + "op": "PUSH1", + "value": "0x1F" + }, + "1867": { + "op": "LT" + }, + "1868": { + "op": "PUSH2", + "value": "0x753" + }, + "1871": { + "op": "JUMPI" + }, + "1872": { + "op": "POP" + }, + "1873": { + "op": "POP" + }, + "1874": { + "jump": "o", + "op": "JUMP" + }, + "1875": { + "op": "JUMPDEST" + }, + "1876": { + "op": "PUSH1", + "value": "0x1F" + }, + "1878": { + "op": "ADD" + }, + "1879": { + "op": "PUSH1", + "value": "0x20" + }, + "1881": { + "op": "SWAP1" + }, + "1882": { + "op": "DIV" + }, + "1883": { + "op": "SWAP1" + }, + "1884": { + "op": "PUSH1", + "value": "0x0" + }, + "1886": { + "op": "MSTORE" + }, + "1887": { + "op": "PUSH1", + "value": "0x20" + }, + "1889": { + "op": "PUSH1", + "value": "0x0" + }, + "1891": { + "op": "KECCAK256" + }, + "1892": { + "op": "SWAP1" + }, + "1893": { + "op": "DUP2" + }, + "1894": { + "op": "ADD" + }, + "1895": { + "op": "SWAP1" + }, + "1896": { + "op": "PUSH2", + "value": "0x30B" + }, + "1899": { + "op": "SWAP2" + }, + "1900": { + "op": "SWAP1" + }, + "1901": { + "op": "JUMPDEST" + }, + "1902": { + "op": "DUP1" + }, + "1903": { + "op": "DUP3" + }, + "1904": { + "op": "GT" + }, + "1905": { + "op": "ISZERO" + }, + "1906": { + "op": "PUSH2", + "value": "0x781" + }, + "1909": { + "op": "JUMPI" + }, + "1910": { + "op": "PUSH1", + "value": "0x0" + }, + "1912": { + "op": "DUP2" + }, + "1913": { + "op": "SSTORE" + }, + "1914": { + "op": "PUSH1", + "value": "0x1" + }, + "1916": { + "op": "ADD" + }, + "1917": { + "op": "PUSH2", + "value": "0x76D" + }, + "1920": { + "op": "JUMP" + }, + "1921": { + "op": "JUMPDEST" + }, + "1922": { + "op": "POP" + }, + "1923": { + "op": "SWAP1" + }, + "1924": { + "jump": "o", + "op": "JUMP" + }, + "1925": { + "op": "JUMPDEST" + }, + "1926": { + "op": "PUSH1", + "value": "0x0" + }, + "1928": { + "op": "PUSH1", + "value": "0x20" + }, + "1930": { + "op": "DUP3" + }, + "1931": { + "op": "DUP5" + }, + "1932": { + "op": "SUB" + }, + "1933": { + "op": "SLT" + }, + "1934": { + "op": "ISZERO" + }, + "1935": { + "op": "PUSH2", + "value": "0x797" + }, + "1938": { + "op": "JUMPI" + }, + "1939": { + "op": "PUSH1", + "value": "0x0" + }, + "1941": { + "op": "DUP1" + }, + "1942": { + "op": "REVERT" + }, + "1943": { + "op": "JUMPDEST" + }, + "1944": { + "op": "DUP2" + }, + "1945": { + "op": "CALLDATALOAD" + }, + "1946": { + "op": "PUSH1", + "value": "0x1" + }, + "1948": { + "op": "PUSH1", + "value": "0x1" + }, + "1950": { + "op": "PUSH1", + "value": "0xE0" + }, + "1952": { + "op": "SHL" + }, + "1953": { + "op": "SUB" + }, + "1954": { + "op": "NOT" + }, + "1955": { + "op": "DUP2" + }, + "1956": { + "op": "AND" + }, + "1957": { + "op": "DUP2" + }, + "1958": { + "op": "EQ" + }, + "1959": { + "op": "PUSH2", + "value": "0x7AF" + }, + "1962": { + "op": "JUMPI" + }, + "1963": { + "op": "PUSH1", + "value": "0x0" + }, + "1965": { + "op": "DUP1" + }, + "1966": { + "op": "REVERT" + }, + "1967": { + "op": "JUMPDEST" + }, + "1968": { + "op": "SWAP4" + }, + "1969": { + "op": "SWAP3" + }, + "1970": { + "op": "POP" + }, + "1971": { + "op": "POP" + }, + "1972": { + "op": "POP" + }, + "1973": { + "jump": "o", + "op": "JUMP" + }, + "1974": { + "op": "JUMPDEST" + }, + "1975": { + "op": "PUSH1", + "value": "0x0" + }, + "1977": { + "op": "PUSH1", + "value": "0x20" + }, + "1979": { + "op": "DUP1" + }, + "1980": { + "op": "DUP4" + }, + "1981": { + "op": "MSTORE" + }, + "1982": { + "op": "DUP4" + }, + "1983": { + "op": "MLOAD" + }, + "1984": { + "op": "DUP1" + }, + "1985": { + "op": "DUP3" + }, + "1986": { + "op": "DUP6" + }, + "1987": { + "op": "ADD" + }, + "1988": { + "op": "MSTORE" + }, + "1989": { + "op": "PUSH1", + "value": "0x0" + }, + "1991": { + "op": "JUMPDEST" + }, + "1992": { + "op": "DUP2" + }, + "1993": { + "op": "DUP2" + }, + "1994": { + "op": "LT" + }, + "1995": { + "op": "ISZERO" + }, + "1996": { + "op": "PUSH2", + "value": "0x7E3" + }, + "1999": { + "op": "JUMPI" + }, + "2000": { + "op": "DUP6" + }, + "2001": { + "op": "DUP2" + }, + "2002": { + "op": "ADD" + }, + "2003": { + "op": "DUP4" + }, + "2004": { + "op": "ADD" + }, + "2005": { + "op": "MLOAD" + }, + "2006": { + "op": "DUP6" + }, + "2007": { + "op": "DUP3" + }, + "2008": { + "op": "ADD" + }, + "2009": { + "op": "PUSH1", + "value": "0x40" + }, + "2011": { + "op": "ADD" + }, + "2012": { + "op": "MSTORE" + }, + "2013": { + "op": "DUP3" + }, + "2014": { + "op": "ADD" + }, + "2015": { + "op": "PUSH2", + "value": "0x7C7" + }, + "2018": { + "op": "JUMP" + }, + "2019": { + "op": "JUMPDEST" + }, + "2020": { + "op": "DUP2" + }, + "2021": { + "op": "DUP2" + }, + "2022": { + "op": "GT" + }, + "2023": { + "op": "ISZERO" + }, + "2024": { + "op": "PUSH2", + "value": "0x7F5" + }, + "2027": { + "op": "JUMPI" + }, + "2028": { + "op": "PUSH1", + "value": "0x0" + }, + "2030": { + "op": "PUSH1", + "value": "0x40" + }, + "2032": { + "op": "DUP4" + }, + "2033": { + "op": "DUP8" + }, + "2034": { + "op": "ADD" + }, + "2035": { + "op": "ADD" + }, + "2036": { + "op": "MSTORE" + }, + "2037": { + "op": "JUMPDEST" + }, + "2038": { + "op": "POP" + }, + "2039": { + "op": "PUSH1", + "value": "0x1F" + }, + "2041": { + "op": "ADD" + }, + "2042": { + "op": "PUSH1", + "value": "0x1F" + }, + "2044": { + "op": "NOT" + }, + "2045": { + "op": "AND" + }, + "2046": { + "op": "SWAP3" + }, + "2047": { + "op": "SWAP1" + }, + "2048": { + "op": "SWAP3" + }, + "2049": { + "op": "ADD" + }, + "2050": { + "op": "PUSH1", + "value": "0x40" + }, + "2052": { + "op": "ADD" + }, + "2053": { + "op": "SWAP4" + }, + "2054": { + "op": "SWAP3" + }, + "2055": { + "op": "POP" + }, + "2056": { + "op": "POP" + }, + "2057": { + "op": "POP" + }, + "2058": { + "jump": "o", + "op": "JUMP" + }, + "2059": { + "op": "JUMPDEST" + }, + "2060": { + "op": "PUSH1", + "value": "0x0" + }, + "2062": { + "op": "PUSH1", + "value": "0x20" + }, + "2064": { + "op": "DUP3" + }, + "2065": { + "op": "DUP5" + }, + "2066": { + "op": "SUB" + }, + "2067": { + "op": "SLT" + }, + "2068": { + "op": "ISZERO" + }, + "2069": { + "op": "PUSH2", + "value": "0x81D" + }, + "2072": { + "op": "JUMPI" + }, + "2073": { + "op": "PUSH1", + "value": "0x0" + }, + "2075": { + "op": "DUP1" + }, + "2076": { + "op": "REVERT" + }, + "2077": { + "op": "JUMPDEST" + }, + "2078": { + "op": "POP" + }, + "2079": { + "op": "CALLDATALOAD" + }, + "2080": { + "op": "SWAP2" + }, + "2081": { + "op": "SWAP1" + }, + "2082": { + "op": "POP" + }, + "2083": { + "jump": "o", + "op": "JUMP" + }, + "2084": { + "op": "JUMPDEST" + }, + "2085": { + "op": "DUP1" + }, + "2086": { + "op": "CALLDATALOAD" + }, + "2087": { + "op": "PUSH1", + "value": "0x1" + }, + "2089": { + "op": "PUSH1", + "value": "0x1" + }, + "2091": { + "op": "PUSH1", + "value": "0xA0" + }, + "2093": { + "op": "SHL" + }, + "2094": { + "op": "SUB" + }, + "2095": { + "op": "DUP2" + }, + "2096": { + "op": "AND" + }, + "2097": { + "op": "DUP2" + }, + "2098": { + "op": "EQ" + }, + "2099": { + "op": "PUSH2", + "value": "0x83B" + }, + "2102": { + "op": "JUMPI" + }, + "2103": { + "op": "PUSH1", + "value": "0x0" + }, + "2105": { + "op": "DUP1" + }, + "2106": { + "op": "REVERT" + }, + "2107": { + "op": "JUMPDEST" + }, + "2108": { + "op": "SWAP2" + }, + "2109": { + "op": "SWAP1" + }, + "2110": { + "op": "POP" + }, + "2111": { + "jump": "o", + "op": "JUMP" + }, + "2112": { + "op": "JUMPDEST" + }, + "2113": { + "op": "PUSH1", + "value": "0x0" + }, + "2115": { + "op": "DUP1" + }, + "2116": { + "op": "PUSH1", + "value": "0x40" + }, + "2118": { + "op": "DUP4" + }, + "2119": { + "op": "DUP6" + }, + "2120": { + "op": "SUB" + }, + "2121": { + "op": "SLT" + }, + "2122": { + "op": "ISZERO" + }, + "2123": { + "op": "PUSH2", + "value": "0x853" + }, + "2126": { + "op": "JUMPI" + }, + "2127": { + "op": "PUSH1", + "value": "0x0" + }, + "2129": { + "op": "DUP1" + }, + "2130": { + "op": "REVERT" + }, + "2131": { + "op": "JUMPDEST" + }, + "2132": { + "op": "PUSH2", + "value": "0x85C" + }, + "2135": { + "op": "DUP4" + }, + "2136": { + "op": "PUSH2", + "value": "0x824" + }, + "2139": { + "jump": "i", + "op": "JUMP" + }, + "2140": { + "op": "JUMPDEST" + }, + "2141": { + "op": "SWAP5" + }, + "2142": { + "op": "PUSH1", + "value": "0x20" + }, + "2144": { + "op": "SWAP4" + }, + "2145": { + "op": "SWAP1" + }, + "2146": { + "op": "SWAP4" + }, + "2147": { + "op": "ADD" + }, + "2148": { + "op": "CALLDATALOAD" + }, + "2149": { + "op": "SWAP4" + }, + "2150": { + "op": "POP" + }, + "2151": { + "op": "POP" + }, + "2152": { + "op": "POP" + }, + "2153": { + "jump": "o", + "op": "JUMP" + }, + "2154": { + "op": "JUMPDEST" + }, + "2155": { + "op": "PUSH1", + "value": "0x0" + }, + "2157": { + "op": "PUSH1", + "value": "0x20" + }, + "2159": { + "op": "DUP3" + }, + "2160": { + "op": "DUP5" + }, + "2161": { + "op": "SUB" + }, + "2162": { + "op": "SLT" + }, + "2163": { + "op": "ISZERO" + }, + "2164": { + "op": "PUSH2", + "value": "0x87C" + }, + "2167": { + "op": "JUMPI" + }, + "2168": { + "op": "PUSH1", + "value": "0x0" + }, + "2170": { + "op": "DUP1" + }, + "2171": { + "op": "REVERT" + }, + "2172": { + "op": "JUMPDEST" + }, + "2173": { + "op": "PUSH2", + "value": "0x7AF" + }, + "2176": { + "op": "DUP3" + }, + "2177": { + "op": "PUSH2", + "value": "0x824" + }, + "2180": { + "jump": "i", + "op": "JUMP" + }, + "2181": { + "op": "JUMPDEST" + }, + "2182": { + "op": "PUSH1", + "value": "0x1" + }, + "2184": { + "op": "DUP2" + }, + "2185": { + "op": "DUP2" + }, + "2186": { + "op": "SHR" + }, + "2187": { + "op": "SWAP1" + }, + "2188": { + "op": "DUP3" + }, + "2189": { + "op": "AND" + }, + "2190": { + "op": "DUP1" + }, + "2191": { + "op": "PUSH2", + "value": "0x899" + }, + "2194": { + "op": "JUMPI" + }, + "2195": { + "op": "PUSH1", + "value": "0x7F" + }, + "2197": { + "op": "DUP3" + }, + "2198": { + "op": "AND" + }, + "2199": { + "op": "SWAP2" + }, + "2200": { + "op": "POP" + }, + "2201": { + "op": "JUMPDEST" + }, + "2202": { + "op": "PUSH1", + "value": "0x20" + }, + "2204": { + "op": "DUP3" + }, + "2205": { + "op": "LT" + }, + "2206": { + "op": "DUP2" + }, + "2207": { + "op": "SUB" + }, + "2208": { + "op": "PUSH2", + "value": "0x8B9" + }, + "2211": { + "op": "JUMPI" + }, + "2212": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "2217": { + "op": "PUSH1", + "value": "0xE0" + }, + "2219": { + "op": "SHL" + }, + "2220": { + "op": "PUSH1", + "value": "0x0" + }, + "2222": { + "op": "MSTORE" + }, + "2223": { + "op": "PUSH1", + "value": "0x22" + }, + "2225": { + "op": "PUSH1", + "value": "0x4" + }, + "2227": { + "op": "MSTORE" + }, + "2228": { + "op": "PUSH1", + "value": "0x24" + }, + "2230": { + "op": "PUSH1", + "value": "0x0" + }, + "2232": { + "op": "REVERT" + }, + "2233": { + "op": "JUMPDEST" + }, + "2234": { + "op": "POP" + }, + "2235": { + "op": "SWAP2" + }, + "2236": { + "op": "SWAP1" + }, + "2237": { + "op": "POP" + }, + "2238": { + "jump": "o", + "op": "JUMP" + }, + "2239": { + "op": "JUMPDEST" + }, + "2240": { + "op": "PUSH1", + "value": "0x0" + }, + "2242": { + "op": "DUP3" + }, + "2243": { + "op": "DUP3" + }, + "2244": { + "op": "LT" + }, + "2245": { + "op": "ISZERO" + }, + "2246": { + "op": "PUSH2", + "value": "0x8DF" + }, + "2249": { + "op": "JUMPI" + }, + "2250": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "2255": { + "op": "PUSH1", + "value": "0xE0" + }, + "2257": { + "op": "SHL" + }, + "2258": { + "op": "PUSH1", + "value": "0x0" + }, + "2260": { + "op": "MSTORE" + }, + "2261": { + "op": "PUSH1", + "value": "0x11" + }, + "2263": { + "op": "PUSH1", + "value": "0x4" + }, + "2265": { + "op": "MSTORE" + }, + "2266": { + "op": "PUSH1", + "value": "0x24" + }, + "2268": { + "op": "PUSH1", + "value": "0x0" + }, + "2270": { + "op": "REVERT" + }, + "2271": { + "op": "JUMPDEST" + }, + "2272": { + "op": "POP" + }, + "2273": { + "op": "SUB" + }, + "2274": { + "op": "SWAP1" + }, + "2275": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "90a44059d9b45a678f23055cd211a1ed660df338", + "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.8;\n\nimport \"../interfaces/ISoulbound.sol\";\nimport \"./eips/ERC-4973.sol\";\n\n/**\n * @title Soulbound Token Contract.\n * @author Daccred.\n * @dev Soulbound Token Base Template.\n * This contract was inspired by\n * https://github.com/ethereum/EIPs/blob/master/assets/eip-4973/ERC-4973.sol\n * This contract is inherited by any contract to implement the Soulbound\n * template.\n * Soulbound tokens cannot be transferred when minted to a particular address.\n * This is the base instance of the contract,\n * it includes minting functions and revoke functions.\n * Inheriting functions can wrap around the specified functions.\n * Also, this base contract instance does not include a capped supply.\n */\ncontract Soulbound is ERC4973 {\n /**\n * @dev Stores the base URI on cases when the user wants to mint a token,\n * it automatically generates a string casted tokenURI using the\n * generateTokenURI function. This variable can only be modified by\n * the allowlist owner.\n */\n string private baseURI;\n\n /// @dev Mapping of speific addresses to tokenIds and boolean for mint records.\n mapping(address => mapping(uint256 => bool)) private mints;\n\n /// @dev Allows the deployer to set a name and a symbol for the token.\n constructor(string memory name, string memory symbol)\n ERC4973(name, symbol)\n {}\n\n /**\n * @dev Mints a new token `_tokenId` to `_to`, giving to ownership of token `_tokenId`.\n * This function will be used hand in hand with ERC721's _mint() function.\n * Emits the {Attest} event.\n * `_to` cannot transfer the token.\n * `_to` must not be a 0 address.\n * `_tokenId` must be an existent token.\n * This does not evaluate total supply of tokens before minting.\n *\n * @notice Callable by anyone.\n *\n * @param _to Address to which token `_tokenId` is minted.\n * @param _tokenId Token to mint.\n * @param tokenURI Auto generated or user passed URI for minted token.\n *\n * @return bool true or false.\n */\n function issue(\n address _to,\n uint256 _tokenId,\n string memory tokenURI\n ) internal returns (bool) {\n /// @dev Mint Soulbound token to `_to` using ERC4973 _mint().\n mintSoulboundToken(_to, _tokenId, tokenURI);\n /// @dev Return true.\n return true;\n }\n\n /**\n * @dev Withdraws ownership of token `_tokenId` from `_From`.\n * This will be done when the ERC721's _burn() function is called.\n * Emits the {Revoke} event.\n * `_from` must own the token.\n * `_from` must not be a 0 address.\n * `_tokenId` must be an existent token.\n * The function can only be called by the issuer of the token.\n * This modifier onlyIssuer will be implemented in the contract.\n * [Modifiers cannot be made in interfaces].\n * This does not evaluate total supply of tokens before minting.\n *\n * @notice Callable by this or inheriting contract.\n *\n * @param _from Address which owns token `_tokenId`.\n * @param _tokenId Token to revoke.\n *\n * @return bool true or false.\n */\n function revoke(address _from, uint256 _tokenId) internal returns (bool) {\n /// @dev Require token exists.\n require(_exists(_tokenId), \"Non-existent token.\");\n /// @dev Require _tokenId is owned by _from.\n require(ownerOf(_tokenId) == _from, \"Token not owned by address\");\n /// @dev Burn the token.\n burnSoulboundToken(_tokenId);\n /// @dev Return true.\n return true;\n }\n\n /**\n * @dev Since a token cannnot be minted twice.\n * This function returns the address that minted token `_tokenId` to `_to`,\n * otherwise this contract.\n * `_to` must not be a 0 address.\n * `_tokenId` must be an existent token.\n * Owner of _tokenId must be _to.\n *\n * @notice Callable by anyone.\n *\n * @param _to Address to which token `_tokenId` is minted.\n * @param _tokenId Token minted.\n *\n * @return address of issuer.\n */\n function issuerOf(address _to, uint256 _tokenId)\n public\n view\n returns (address)\n {\n /// @dev Require _to is not a zero address.\n require(_to != address(0), \"Query for zero address.\");\n /// @dev Require token exists.\n require(_exists(_tokenId), \"Non-existent token.\");\n /// @dev Require _tokenId is owned by _to.\n require(ownerOf(_tokenId) == _to, \"Token not owned by address\");\n /// @dev Returns this address.\n return address(this);\n }\n\n /**\n * @dev Returns true if token `_tokenId` was minted from this contract to `_to`.\n * `_to` must not be a 0 address.\n * `_tokenId` must be an existent token.\n *\n * @notice Callable by anyone.\n *\n * @param _to Address to which token `_tokenId` is minted.\n * @param _tokenId Token minted.\n *\n * @return bool true or false.\n */\n function isMinted(address _to, uint256 _tokenId)\n public\n view\n returns (bool)\n {\n return mints[_to][_tokenId];\n }\n\n /**\n * @dev Mints `tokenId` of the soulbound token to `to`.\n *\n * @param to Receiver of the tokens.\n * @param tokenId Amount to be minted, GT 0.\n * @param tokenURI URI of token minted.\n */\n function mintSoulboundToken(\n address to,\n uint256 tokenId,\n string memory tokenURI\n ) private {\n /// @dev Require the address receiving is not a zero address.\n require(to != address(0), \"Mint to zero address.\");\n /// @dev ERC-4973 doesn't include checks for empty tokenURIs\n /// but they should be necessary.\n require(bytes(tokenURI).length != 0, \"Empty tokenURI.\");\n /// @dev Mint to the `to` address.\n /// ERC4973 runs check for existent token.\n _mint(to, tokenId, tokenURI);\n /// @dev Set record of owner to true;\n mints[to][tokenId] = true;\n }\n\n /**\n * @dev Burns a soulbound token, on the condition that\n * the token exists.\n *\n * @param tokenId Token to be burnt.\n */\n function burnSoulboundToken(uint256 tokenId) private {\n /// @dev Checks that the token actually exists.\n require(_exists(tokenId), \"Burn of inexistent token\");\n /// @dev Get owner of token tokenId.\n address _tokenOwner = ownerOf(tokenId);\n /// @dev Burn the token.\n _burn(tokenId);\n /// @dev Set record of owner to false.\n mints[_tokenOwner][tokenId] = false;\n }\n\n /**\n * @dev Sets the baseURI to `_baseURI`.\n *\n * @notice Callable by this or inheriting contract.\n *\n * @param _baseURI String URI.\n */\n function _setBaseURI(string memory _baseURI) internal {\n /// @dev Ensure that the word length is 0.\n require(bytes(_baseURI).length != 0, \"Invalid length\");\n /// @dev Set baseURI.\n baseURI = _baseURI;\n }\n\n /**\n * @dev Returns already set baseURI if it exists.\n *\n * @notice Callable by anyone.\n *\n * @return _baseURI baseURI set.\n */\n function _getBaseURI() public view returns (string memory _baseURI) {\n /// @dev Require baseURI length is not 0.\n require(bytes(baseURI).length != 0, \"Empty baseURI\");\n /// @dev Return baseURI.\n _baseURI = baseURI;\n }\n}\n", + "sourceMap": "802:6873:37:-:0;;;1373:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1443:4;1449:6;4395:5:41;:13;1443:4:37;4395:5:41;:13;:::i;:::-;-1:-1:-1;4418:7:41;:17;4428:7;4418;:17;:::i;:::-;;4329:113;;1373:90:37;;802:6873;;14:127:43;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:562::-;1135:6;1143;1196:2;1184:9;1175:7;1171:23;1167:32;1164:52;;;1212:1;1209;1202:12;1164:52;1239:16;;-1:-1:-1;;;;;1304:14:43;;;1301:34;;;1331:1;1328;1321:12;1301:34;1354:61;1407:7;1398:6;1387:9;1383:22;1354:61;:::i;:::-;1344:71;;1461:2;1450:9;1446:18;1440:25;1424:41;;1490:2;1480:8;1477:16;1474:36;;;1506:1;1503;1496:12;1474:36;;1529:63;1584:7;1573:8;1562:9;1558:24;1529:63;:::i;:::-;1519:73;;;1036:562;;;;;:::o;1603:380::-;1682:1;1678:12;;;;1725;;;1746:61;;1800:4;1792:6;1788:17;1778:27;;1746:61;1853:2;1845:6;1842:14;1822:18;1819:38;1816:161;;1899:10;1894:3;1890:20;1887:1;1880:31;1934:4;1931:1;1924:15;1962:4;1959:1;1952:15;1816:161;;1603:380;;;:::o;2114:545::-;2216:2;2211:3;2208:11;2205:448;;;2252:1;2277:5;2273:2;2266:17;2322:4;2318:2;2308:19;2392:2;2380:10;2376:19;2373:1;2369:27;2363:4;2359:38;2428:4;2416:10;2413:20;2410:47;;;-1:-1:-1;2451:4:43;2410:47;2506:2;2501:3;2497:12;2494:1;2490:20;2484:4;2480:31;2470:41;;2561:82;2579:2;2572:5;2569:13;2561:82;;;2624:17;;;2605:1;2594:13;2561:82;;;2565:3;;;2205:448;2114:545;;;:::o;2835:1352::-;2955:10;;-1:-1:-1;;;;;2977:30:43;;2974:56;;;3010:18;;:::i;:::-;3039:97;3129:6;3089:38;3121:4;3115:11;3089:38;:::i;:::-;3083:4;3039:97;:::i;:::-;3191:4;;3255:2;3244:14;;3272:1;3267:663;;;;3974:1;3991:6;3988:89;;;-1:-1:-1;4043:19:43;;;4037:26;3988:89;-1:-1:-1;;2792:1:43;2788:11;;;2784:24;2780:29;2770:40;2816:1;2812:11;;;2767:57;4090:81;;3237:944;;3267:663;2061:1;2054:14;;;2098:4;2085:18;;-1:-1:-1;;3303:20:43;;;3421:236;3435:7;3432:1;3429:14;3421:236;;;3524:19;;;3518:26;3503:42;;3616:27;;;;3584:1;3572:14;;;;3451:19;;3421:236;;;3425:3;3685:6;3676:7;3673:19;3670:201;;;3746:19;;;3740:26;-1:-1:-1;;3829:1:43;3825:14;;;3841:3;3821:24;3817:37;3813:42;3798:58;3783:74;;3670:201;-1:-1:-1;;;;;3917:1:43;3901:14;;;3897:22;3884:36;;-1:-1:-1;2835:1352:43:o;:::-;802:6873:37;;;;;;", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/SoulboundCore.json b/tests/build/contracts/SoulboundCore.json new file mode 100644 index 0000000..3ea91e4 --- /dev/null +++ b/tests/build/contracts/SoulboundCore.json @@ -0,0 +1,30935 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Unsigned", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Attest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "IssueWithSignature", + "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": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Revoke", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "RevokeWithSignature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Signed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Verified", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "addressHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bool", + "name": "result", + "type": "bool" + } + ], + "name": "VerifySignature", + "type": "event" + }, + { + "inputs": [], + "name": "_getBaseURI", + "outputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "generateTokenURI", + "outputs": [ + { + "internalType": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllowlistOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isMinted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + } + ], + "name": "issueWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "issuerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "revokeWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "14": "contracts/contracts/packages/common/Allowlist.sol", + "15": "contracts/contracts/packages/common/IAllowlist.sol", + "37": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "38": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "exportedSymbols": { + "Allowlist": [ + 1120 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IAllowlist": [ + 1161 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ], + "ISoulbond": [ + 5970 + ], + "Ownable": [ + 6075 + ], + "Soulbound": [ + 4383 + ], + "SoulboundCore": [ + 4708 + ] + }, + "id": 4709, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4385, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "429:23:38" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "file": "./Soulbound.sol", + "id": 4386, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4709, + "sourceUnit": 4384, + "src": "454:25:38", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/common/Allowlist.sol", + "file": "../../common/Allowlist.sol", + "id": 4387, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4709, + "sourceUnit": 1121, + "src": "480:36:38", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 4388, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 4709, + "sourceUnit": 6076, + "src": "517:52:38", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 4390, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6075, + "src": "883:7:38" + }, + "id": 4391, + "nodeType": "InheritanceSpecifier", + "src": "883:7:38" + }, + { + "baseName": { + "id": 4392, + "name": "Soulbound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4383, + "src": "892:9:38" + }, + "id": 4393, + "nodeType": "InheritanceSpecifier", + "src": "892:9:38" + }, + { + "baseName": { + "id": 4394, + "name": "Allowlist", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1120, + "src": "903:9:38" + }, + "id": 4395, + "nodeType": "InheritanceSpecifier", + "src": "903:9:38" + } + ], + "canonicalName": "SoulboundCore", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4389, + "nodeType": "StructuredDocumentation", + "src": "571:285:38", + "text": " @title Soulbound Core Contract.\n @author Daccred.\n @dev Soulbound Core template. This contract aims at a soulbound token with\n capped supply, set by the deployer or defaulted to 1000000.\n Mints and burns affect the current supply of tokens respectively." + }, + "fullyImplemented": true, + "id": 4708, + "linearizedBaseContracts": [ + 4708, + 1120, + 4383, + 6075, + 6410, + 1161, + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "SoulboundCore", + "nameLocation": "866:13:38", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 4396, + "nodeType": "StructuredDocumentation", + "src": "919:68:38", + "text": "@dev Total supply limit set by deployer or defaulted to 1000000." + }, + "id": 4398, + "mutability": "mutable", + "name": "totalSupply", + "nameLocation": "1009:11:38", + "nodeType": "VariableDeclaration", + "scope": 4708, + "src": "992:28:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4397, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "992:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 4399, + "nodeType": "StructuredDocumentation", + "src": "1026:140:38", + "text": "@dev With every issue and revoke, this value\n increases and reduces.\n It cannot be GT the TOTAL_SUPPLY." + }, + "id": 4401, + "mutability": "mutable", + "name": "supply", + "nameLocation": "1188:6:38", + "nodeType": "VariableDeclaration", + "scope": 4708, + "src": "1171:23:38", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4400, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1171:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "anonymous": false, + "documentation": { + "id": 4402, + "nodeType": "StructuredDocumentation", + "src": "1201:55:38", + "text": "@dev Emitted when a token is minted from Signature." + }, + "eventSelector": "79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e18556", + "id": 4408, + "name": "IssueWithSignature", + "nameLocation": "1267:18:38", + "nodeType": "EventDefinition", + "parameters": { + "id": 4407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4404, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1302:2:38", + "nodeType": "VariableDeclaration", + "scope": 4408, + "src": "1286:18:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1286:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4406, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1322:7:38", + "nodeType": "VariableDeclaration", + "scope": 4408, + "src": "1306:23:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4405, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1306:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1285:45:38" + }, + "src": "1261:70:38" + }, + { + "anonymous": false, + "documentation": { + "id": 4409, + "nodeType": "StructuredDocumentation", + "src": "1336:56:38", + "text": "@dev Emitted when a token is revoked with Signature." + }, + "eventSelector": "f947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc", + "id": 4413, + "name": "RevokeWithSignature", + "nameLocation": "1403:19:38", + "nodeType": "EventDefinition", + "parameters": { + "id": 4412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4411, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1439:7:38", + "nodeType": "VariableDeclaration", + "scope": 4413, + "src": "1423:23:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4410, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1423:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1422:25:38" + }, + "src": "1397:51:38" + }, + { + "body": { + "id": 4427, + "nodeType": "Block", + "src": "1675:91:38", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4419, + "name": "_caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4416, + "src": "1693:7:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4420, + "name": "getAllowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 991, + "src": "1704:17:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 4421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1704:19:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1693:30:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420416c6c6f776c697374204f776e657221", + "id": 4423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1725:22:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6141a88e89b79096d457df761d61ed151b2f288bac5b547a9b168f2a980ee39a", + "typeString": "literal_string \"Not Allowlist Owner!\"" + }, + "value": "Not Allowlist Owner!" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6141a88e89b79096d457df761d61ed151b2f288bac5b547a9b168f2a980ee39a", + "typeString": "literal_string \"Not Allowlist Owner!\"" + } + ], + "id": 4418, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1685:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1685:63:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4425, + "nodeType": "ExpressionStatement", + "src": "1685:63:38" + }, + { + "id": 4426, + "nodeType": "PlaceholderStatement", + "src": "1758:1:38" + } + ] + }, + "documentation": { + "id": 4414, + "nodeType": "StructuredDocumentation", + "src": "1454:171:38", + "text": " @dev Security check to require that the address calling a particular\n function is the allowlistOwner.\n @param _caller Address." + }, + "id": 4428, + "name": "onlyAllowlistOwner", + "nameLocation": "1639:18:38", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4417, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4416, + "mutability": "mutable", + "name": "_caller", + "nameLocation": "1666:7:38", + "nodeType": "VariableDeclaration", + "scope": 4428, + "src": "1658:15:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4415, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1658:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1657:17:38" + }, + "src": "1630:136:38", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4461, + "nodeType": "Block", + "src": "2031:138:38", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4447, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4437, + "src": "2045:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 4448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2061:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2045:17:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 4459, + "nodeType": "Block", + "src": "2112:51:38", + "statements": [ + { + "expression": { + "id": 4457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4455, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "2126:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4456, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4437, + "src": "2140:12:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2126:26:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4458, + "nodeType": "ExpressionStatement", + "src": "2126:26:38" + } + ] + }, + "id": 4460, + "nodeType": "IfStatement", + "src": "2041:122:38", + "trueBody": { + "id": 4454, + "nodeType": "Block", + "src": "2064:42:38", + "statements": [ + { + "expression": { + "id": 4452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4450, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "2078:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "316536", + "id": 4451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2092:3:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000_by_1", + "typeString": "int_const 1000000" + }, + "value": "1e6" + }, + "src": "2078:17:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4453, + "nodeType": "ExpressionStatement", + "src": "2078:17:38" + } + ] + } + } + ] + }, + "documentation": { + "id": 4429, + "nodeType": "StructuredDocumentation", + "src": "1772:64:38", + "text": "@dev Deploys the 3 contracts inherited by the SoulboundCore." + }, + "id": 4462, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 4440, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4431, + "src": "1990:4:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4441, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4433, + "src": "1996:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 4442, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 4439, + "name": "Soulbound", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4383, + "src": "1980:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "1980:23:38" + }, + { + "arguments": [ + { + "id": 4444, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4435, + "src": "2014:15:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4445, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 4443, + "name": "Allowlist", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1120, + "src": "2004:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "2004:26:38" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4431, + "mutability": "mutable", + "name": "name", + "nameLocation": "1876:4:38", + "nodeType": "VariableDeclaration", + "scope": 4462, + "src": "1862:18:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4430, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1862:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4433, + "mutability": "mutable", + "name": "symbol", + "nameLocation": "1904:6:38", + "nodeType": "VariableDeclaration", + "scope": 4462, + "src": "1890:20:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4432, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1890:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4435, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "1928:15:38", + "nodeType": "VariableDeclaration", + "scope": 4462, + "src": "1920:23:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1920:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4437, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1961:12:38", + "nodeType": "VariableDeclaration", + "scope": 4462, + "src": "1953:20:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4436, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1953:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1852:127:38" + }, + "returnParameters": { + "id": 4446, + "nodeType": "ParameterList", + "parameters": [], + "src": "2031:0:38" + }, + "scope": 4708, + "src": "1841:328:38", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4521, + "nodeType": "Block", + "src": "2975:826:38", + "statements": [ + { + "documentation": "@dev Require that the address is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4477, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4465, + "src": "3058:4:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 4480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3074:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3066:7:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3066:7:38", + "typeDescriptions": {} + } + }, + "id": 4481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3066:10:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3058:18:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e7420746f207a65726f20616464726573732e", + "id": 4483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3078:23:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + }, + "value": "Mint to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + } + ], + "id": 4476, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3050:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3050:52:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4485, + "nodeType": "ExpressionStatement", + "src": "3050:52:38" + }, + { + "documentation": "@dev Require that the hash is actually 32 [64 characters]\n in length.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4487, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4467, + "src": "3224:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3224:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3332", + "id": 4489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3239:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "3224:17:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c696420686173682e", + "id": 4491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3243:15:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a7fbb30cbfd2c1e85c73eb36daa5eb95b6ba858ce622fc97f840c43ac489678", + "typeString": "literal_string \"Invalid hash.\"" + }, + "value": "Invalid hash." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2a7fbb30cbfd2c1e85c73eb36daa5eb95b6ba858ce622fc97f840c43ac489678", + "typeString": "literal_string \"Invalid hash.\"" + } + ], + "id": 4486, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3216:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3216:43:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4493, + "nodeType": "ExpressionStatement", + "src": "3216:43:38" + }, + { + "documentation": "@dev Require the length of the signature is 65.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4495, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "3337:3:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4496, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3337:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3635", + "id": 4497, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3351:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "3337:16:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964207369676e6174757265206c656e677468", + "id": 4499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3355:26:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d0e57016dfcfa997388e3f3d9ad75ea4d5a67a0f23b0489f2cdbaecf3ef0f78c", + "typeString": "literal_string \"Invalid signature length\"" + }, + "value": "Invalid signature length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d0e57016dfcfa997388e3f3d9ad75ea4d5a67a0f23b0489f2cdbaecf3ef0f78c", + "typeString": "literal_string \"Invalid signature length\"" + } + ], + "id": 4494, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3329:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4500, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3329:53:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4501, + "nodeType": "ExpressionStatement", + "src": "3329:53:38" + }, + { + "documentation": "@dev Verifies that the address was actually signed by the\n allowlistOwner.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4504, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4467, + "src": "3525:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4505, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4469, + "src": "3531:3:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4503, + "name": "verifySignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "3509:15:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes memory) returns (bool)" + } + }, + "id": 4506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3509:26:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "48617368206e6f74207369676e6564206279206f776e65722e", + "id": 4507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3537:27:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8bd072bd5dbada9e898e97294da7d3166e68f47eb033c9c4ff00346bc371e6be", + "typeString": "literal_string \"Hash not signed by owner.\"" + }, + "value": "Hash not signed by owner." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8bd072bd5dbada9e898e97294da7d3166e68f47eb033c9c4ff00346bc371e6be", + "typeString": "literal_string \"Hash not signed by owner.\"" + } + ], + "id": 4502, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3501:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4508, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3501:64:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4509, + "nodeType": "ExpressionStatement", + "src": "3501:64:38" + }, + { + "documentation": "@dev Mint the tokens to address.\n [Ref Soulbound.sol].", + "expression": { + "arguments": [ + { + "id": 4511, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4465, + "src": "3670:4:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4512, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4471, + "src": "3676:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4513, + "name": "tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4473, + "src": "3685:8:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4510, + "name": "issue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4167, + "src": "3664:5:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,uint256,string memory) returns (bool)" + } + }, + "id": 4514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3664:30:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4515, + "nodeType": "ExpressionStatement", + "src": "3664:30:38" + }, + { + "documentation": "@dev Emit the IssueWithSignature event.", + "eventCall": { + "arguments": [ + { + "id": 4517, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4465, + "src": "3780:4:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4518, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4471, + "src": "3786:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4516, + "name": "IssueWithSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4408, + "src": "3761:18:38", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 4519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3761:33:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4520, + "nodeType": "EmitStatement", + "src": "3756:38:38" + } + ] + }, + "documentation": { + "id": 4463, + "nodeType": "StructuredDocumentation", + "src": "2175:627:38", + "text": " @dev Mints a particular quantity of tokens to `to`,\n on the condition that the address has been\n signed by the allowlistOwner off-chain.\n This will emit the {MintSoulboundToken} event\n from the Soulbound.sol.\n @notice Callable by anyone.\n @param addr Address to mint tokens to.\n @param hash Hashed message by the allowlistOwner.\n @param sig Signature, signed by the allowlistOwner.\n @param tokenId Id of the tokens to mint to the `addr`.\n @param tokenURI URI of the token to be minted." + }, + "functionSelector": "c9e4c54d", + "id": 4522, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "issueWithSignature", + "nameLocation": "2816:18:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4474, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4465, + "mutability": "mutable", + "name": "addr", + "nameLocation": "2852:4:38", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "2844:12:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4464, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2844:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4467, + "mutability": "mutable", + "name": "hash", + "nameLocation": "2874:4:38", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "2866:12:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4466, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2866:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4469, + "mutability": "mutable", + "name": "sig", + "nameLocation": "2901:3:38", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "2888:16:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4468, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2888:5:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4471, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2922:7:38", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "2914:15:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4470, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2914:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4473, + "mutability": "mutable", + "name": "tokenURI", + "nameLocation": "2953:8:38", + "nodeType": "VariableDeclaration", + "scope": 4522, + "src": "2939:22:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4472, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2939:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2834:133:38" + }, + "returnParameters": { + "id": 4475, + "nodeType": "ParameterList", + "parameters": [], + "src": "2975:0:38" + }, + "scope": 4708, + "src": "2807:994:38", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4574, + "nodeType": "Block", + "src": "4389:812:38", + "statements": [ + { + "documentation": "@dev Require that the token exists.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4534, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4529, + "src": "4463:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4533, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "4455:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 4535, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4455:16:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5265766f6b65206f6620696e6578697374656e7420746f6b656e2e", + "id": 4536, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4473:29:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3bfeacbcc0a1d035b2bef35f193769daeb6b660d60698cecf4c107d00719373", + "typeString": "literal_string \"Revoke of inexistent token.\"" + }, + "value": "Revoke of inexistent token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a3bfeacbcc0a1d035b2bef35f193769daeb6b660d60698cecf4c107d00719373", + "typeString": "literal_string \"Revoke of inexistent token.\"" + } + ], + "id": 4532, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4447:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4447:56:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4538, + "nodeType": "ExpressionStatement", + "src": "4447:56:38" + }, + { + "documentation": "@dev Require that the hash is actually 32 [64 characters]\n in length.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 4543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4540, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4525, + "src": "4625:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 4541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4625:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3332", + "id": 4542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4640:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "4625:17:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c696420686173682e", + "id": 4544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4644:15:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a7fbb30cbfd2c1e85c73eb36daa5eb95b6ba858ce622fc97f840c43ac489678", + "typeString": "literal_string \"Invalid hash.\"" + }, + "value": "Invalid hash." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2a7fbb30cbfd2c1e85c73eb36daa5eb95b6ba858ce622fc97f840c43ac489678", + "typeString": "literal_string \"Invalid hash.\"" + } + ], + "id": 4539, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4617:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4617:43:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4546, + "nodeType": "ExpressionStatement", + "src": "4617:43:38" + }, + { + "documentation": "@dev Require the length of the signature is 65.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4548, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4527, + "src": "4738:3:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4738:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3635", + "id": 4550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4752:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_65_by_1", + "typeString": "int_const 65" + }, + "value": "65" + }, + "src": "4738:16:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964207369676e6174757265206c656e677468", + "id": 4552, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4756:26:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d0e57016dfcfa997388e3f3d9ad75ea4d5a67a0f23b0489f2cdbaecf3ef0f78c", + "typeString": "literal_string \"Invalid signature length\"" + }, + "value": "Invalid signature length" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d0e57016dfcfa997388e3f3d9ad75ea4d5a67a0f23b0489f2cdbaecf3ef0f78c", + "typeString": "literal_string \"Invalid signature length\"" + } + ], + "id": 4547, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4730:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4730:53:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4554, + "nodeType": "ExpressionStatement", + "src": "4730:53:38" + }, + { + "documentation": "@dev Verifies that the address was actually signed by the\n allowlistOwner.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4557, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4525, + "src": "4926:4:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 4558, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4527, + "src": "4932:3:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4556, + "name": "verifySignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "4910:15:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes memory) returns (bool)" + } + }, + "id": 4559, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4910:26:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "48617368206e6f74207369676e6564206279206f776e65722e", + "id": 4560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4938:27:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8bd072bd5dbada9e898e97294da7d3166e68f47eb033c9c4ff00346bc371e6be", + "typeString": "literal_string \"Hash not signed by owner.\"" + }, + "value": "Hash not signed by owner." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8bd072bd5dbada9e898e97294da7d3166e68f47eb033c9c4ff00346bc371e6be", + "typeString": "literal_string \"Hash not signed by owner.\"" + } + ], + "id": 4555, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4902:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4902:64:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4562, + "nodeType": "ExpressionStatement", + "src": "4902:64:38" + }, + { + "documentation": "@dev Mint the tokens to address.\n [Ref Soulbound.sol].", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4565, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4529, + "src": "5080:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4564, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "5072:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 4566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5072:16:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4567, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4529, + "src": "5090:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4563, + "name": "revoke", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "5065:6:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", + "typeString": "function (address,uint256) returns (bool)" + } + }, + "id": 4568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5065:33:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4569, + "nodeType": "ExpressionStatement", + "src": "5065:33:38" + }, + { + "documentation": "@dev Emit the RevokeWithSignature event.", + "eventCall": { + "arguments": [ + { + "id": 4571, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4529, + "src": "5186:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4570, + "name": "RevokeWithSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4413, + "src": "5166:19:38", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 4572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5166:28:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4573, + "nodeType": "EmitStatement", + "src": "5161:33:38" + } + ] + }, + "documentation": { + "id": 4523, + "nodeType": "StructuredDocumentation", + "src": "3807:462:38", + "text": " @dev Revokes the ownership of `tokenId` from the owner.\n The token must exist and the signature must be signed the\n allowlistOwner.\n This emits the {RevokeWithSignature} event.\n @notice Callable by anyone.\n @param hash Hashed message by the allowlistOwner.\n @param sig Signature, signed by the allowlistOwner.\n @param tokenId Id of the token to revoke." + }, + "functionSelector": "08c92e57", + "id": 4575, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "revokeWithSignature", + "nameLocation": "4283:19:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4525, + "mutability": "mutable", + "name": "hash", + "nameLocation": "4320:4:38", + "nodeType": "VariableDeclaration", + "scope": 4575, + "src": "4312:12:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 4524, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4312:7:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4527, + "mutability": "mutable", + "name": "sig", + "nameLocation": "4347:3:38", + "nodeType": "VariableDeclaration", + "scope": 4575, + "src": "4334:16:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4526, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4334:5:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4529, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4368:7:38", + "nodeType": "VariableDeclaration", + "scope": 4575, + "src": "4360:15:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4528, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4360:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4302:79:38" + }, + "returnParameters": { + "id": 4531, + "nodeType": "ParameterList", + "parameters": [], + "src": "4389:0:38" + }, + "scope": 4708, + "src": "4274:927:38", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4592, + "nodeType": "Block", + "src": "5671:68:38", + "statements": [ + { + "documentation": "@dev Set baseURI.", + "expression": { + "arguments": [ + { + "id": 4589, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4580, + "src": "5723:8:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4588, + "name": "_setBaseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4360, + "src": "5711:11:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 4590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5711:21:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4591, + "nodeType": "ExpressionStatement", + "src": "5711:21:38" + } + ] + }, + "documentation": { + "id": 4576, + "nodeType": "StructuredDocumentation", + "src": "5207:327:38", + "text": " @dev Allows the `caller` (allowlistOwner) to set the baseURI.\n This is really important when the caller wants to mint\n Multiple tokens with the same base URI.\n @notice Callable by the deployer of this contract [DaccredDeployer]\n and the allowlistOwner." + }, + "functionSelector": "88433651", + "id": 4593, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4583, + "kind": "modifierInvocation", + "modifierName": { + "id": 4582, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "5622:9:38" + }, + "nodeType": "ModifierInvocation", + "src": "5622:9:38" + }, + { + "arguments": [ + { + "id": 4585, + "name": "caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4578, + "src": "5659:6:38", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4586, + "kind": "modifierInvocation", + "modifierName": { + "id": 4584, + "name": "onlyAllowlistOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4428, + "src": "5640:18:38" + }, + "nodeType": "ModifierInvocation", + "src": "5640:26:38" + } + ], + "name": "setBaseURI", + "nameLocation": "5548:10:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4578, + "mutability": "mutable", + "name": "caller", + "nameLocation": "5567:6:38", + "nodeType": "VariableDeclaration", + "scope": 4593, + "src": "5559:14:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4577, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5559:7:38", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4580, + "mutability": "mutable", + "name": "_baseURI", + "nameLocation": "5589:8:38", + "nodeType": "VariableDeclaration", + "scope": 4593, + "src": "5575:22:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4579, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5575:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5558:40:38" + }, + "returnParameters": { + "id": 4587, + "nodeType": "ParameterList", + "parameters": [], + "src": "5671:0:38" + }, + "scope": 4708, + "src": "5539:200:38", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4627, + "nodeType": "Block", + "src": "6256:265:38", + "statements": [ + { + "documentation": "@dev Require baseURI length is not currently 0.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4604, + "name": "_getBaseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4382, + "src": "6340:11:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 4605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6340:13:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 4603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6334:5:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 4602, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6334:5:38", + "typeDescriptions": {} + } + }, + "id": 4606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6334:20:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6334:27:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 4608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6365:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6334:32:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "456d7074792062617365555249", + "id": 4610, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6368:15:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3247d8bc89d36854791dbafe948ddc082d8cf6636c64b41fbbdf5761acfb1e22", + "typeString": "literal_string \"Empty baseURI\"" + }, + "value": "Empty baseURI" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3247d8bc89d36854791dbafe948ddc082d8cf6636c64b41fbbdf5761acfb1e22", + "typeString": "literal_string \"Empty baseURI\"" + } + ], + "id": 4601, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6326:7:38", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4611, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6326:58:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4612, + "nodeType": "ExpressionStatement", + "src": "6326:58:38" + }, + { + "documentation": "@dev Return a packed tokenURI string.", + "expression": { + "id": 4625, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4613, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4599, + "src": "6444:9:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4618, + "name": "_getBaseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4382, + "src": "6480:11:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 4619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6480:13:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "arguments": [ + { + "id": 4621, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4596, + "src": "6504:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4620, + "name": "toString", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4707, + "src": "6495:8:38", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) pure returns (string memory)" + } + }, + "id": 4622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6495:17:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 4616, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6463:3:38", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "6463:16:38", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 4623, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6463:50:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6456:6:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 4614, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6456:6:38", + "typeDescriptions": {} + } + }, + "id": 4624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6456:58:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "6444:70:38", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 4626, + "nodeType": "ExpressionStatement", + "src": "6444:70:38" + } + ] + }, + "documentation": { + "id": 4594, + "nodeType": "StructuredDocumentation", + "src": "5745:389:38", + "text": " @dev Using the `tokenId` passed, it generates a `stringified` tokenURI,\n packing the baseURI and the current tokenId.\n Makes use of OpenZeppelin's uint to string function.\n @notice Callable by anyone.\n @param tokenId ID of token whose tokenURI is desired.\n @return _tokenURI TokenURI of the passed tokenId." + }, + "functionSelector": "210fa96b", + "id": 4628, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "generateTokenURI", + "nameLocation": "6148:16:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4596, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6173:7:38", + "nodeType": "VariableDeclaration", + "scope": 4628, + "src": "6165:15:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4595, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6165:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6164:17:38" + }, + "returnParameters": { + "id": 4600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4599, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "6241:9:38", + "nodeType": "VariableDeclaration", + "scope": 4628, + "src": "6227:23:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4598, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6227:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6226:25:38" + }, + "scope": 4708, + "src": "6139:382:38", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4706, + "nodeType": "Block", + "src": "6731:632:38", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4636, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4631, + "src": "6933:5:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 4637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6942:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6933:10:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4642, + "nodeType": "IfStatement", + "src": "6929:51:38", + "trueBody": { + "id": 4641, + "nodeType": "Block", + "src": "6945:35:38", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 4639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6966:3:38", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "functionReturnParameters": 4635, + "id": 4640, + "nodeType": "Return", + "src": "6959:10:38" + } + ] + } + }, + { + "assignments": [ + 4644 + ], + "declarations": [ + { + "constant": false, + "id": 4644, + "mutability": "mutable", + "name": "temp", + "nameLocation": "6997:4:38", + "nodeType": "VariableDeclaration", + "scope": 4706, + "src": "6989:12:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4643, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6989:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4646, + "initialValue": { + "id": 4645, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4631, + "src": "7004:5:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6989:20:38" + }, + { + "assignments": [ + 4648 + ], + "declarations": [ + { + "constant": false, + "id": 4648, + "mutability": "mutable", + "name": "digits", + "nameLocation": "7027:6:38", + "nodeType": "VariableDeclaration", + "scope": 4706, + "src": "7019:14:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4647, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7019:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4649, + "nodeType": "VariableDeclarationStatement", + "src": "7019:14:38" + }, + { + "body": { + "id": 4660, + "nodeType": "Block", + "src": "7061:57:38", + "statements": [ + { + "expression": { + "id": 4654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7075:8:38", + "subExpression": { + "id": 4653, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4648, + "src": "7075:6:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4655, + "nodeType": "ExpressionStatement", + "src": "7075:8:38" + }, + { + "expression": { + "id": 4658, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4656, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "7097:4:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 4657, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7105:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "7097:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4659, + "nodeType": "ExpressionStatement", + "src": "7097:10:38" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4650, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4644, + "src": "7050:4:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 4651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7058:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7050:9:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4661, + "nodeType": "WhileStatement", + "src": "7043:75:38" + }, + { + "assignments": [ + 4663 + ], + "declarations": [ + { + "constant": false, + "id": 4663, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "7140:6:38", + "nodeType": "VariableDeclaration", + "scope": 4706, + "src": "7127:19:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 4662, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7127:5:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 4668, + "initialValue": { + "arguments": [ + { + "id": 4666, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4648, + "src": "7159:6:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4665, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "7149:9:38", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 4664, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7153:5:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 4667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7149:17:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7127:39:38" + }, + { + "body": { + "id": 4699, + "nodeType": "Block", + "src": "7195:131:38", + "statements": [ + { + "expression": { + "id": 4674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4672, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4648, + "src": "7209:6:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7219:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "7209:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4675, + "nodeType": "ExpressionStatement", + "src": "7209:11:38" + }, + { + "expression": { + "id": 4693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4676, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4663, + "src": "7234:6:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 4678, + "indexExpression": { + "id": 4677, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4648, + "src": "7241:6:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7234:14:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3438", + "id": 4683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7264:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4686, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4631, + "src": "7277:5:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "3130", + "id": 4687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7285:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "7277:10:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7269:7:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 4684, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7269:7:38", + "typeDescriptions": {} + } + }, + "id": 4689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7269:19:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7264:24:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7258:5:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 4681, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "7258:5:38", + "typeDescriptions": {} + } + }, + "id": 4691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7258:31:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 4680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7251:6:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 4679, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "7251:6:38", + "typeDescriptions": {} + } + }, + "id": 4692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7251:39:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "7234:56:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 4694, + "nodeType": "ExpressionStatement", + "src": "7234:56:38" + }, + { + "expression": { + "id": 4697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4695, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4631, + "src": "7304:5:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 4696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7313:2:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "7304:11:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4698, + "nodeType": "ExpressionStatement", + "src": "7304:11:38" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4669, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4631, + "src": "7183:5:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 4670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7192:1:38", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7183:10:38", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4700, + "nodeType": "WhileStatement", + "src": "7176:150:38" + }, + { + "expression": { + "arguments": [ + { + "id": 4703, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4663, + "src": "7349:6:38", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4702, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7342:6:38", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 4701, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7342:6:38", + "typeDescriptions": {} + } + }, + "id": 4704, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7342:14:38", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 4635, + "id": 4705, + "nodeType": "Return", + "src": "7335:21:38" + } + ] + }, + "documentation": { + "id": 4629, + "nodeType": "StructuredDocumentation", + "src": "6527:128:38", + "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation.\n Copied from OpenZeppelin." + }, + "id": 4707, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "6669:8:38", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4631, + "mutability": "mutable", + "name": "value", + "nameLocation": "6686:5:38", + "nodeType": "VariableDeclaration", + "scope": 4707, + "src": "6678:13:38", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4630, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6678:7:38", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6677:15:38" + }, + "returnParameters": { + "id": 4635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4634, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4707, + "src": "6716:13:38", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4633, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6716:6:38", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6715:15:38" + }, + "scope": 4708, + "src": "6660:703:38", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 4709, + "src": "857:6508:38", + "usedErrors": [ + 1138 + ] + } + ], + "src": "429:6937:38" + }, + "bytecode": "60806040523480156200001157600080fd5b5060405162001e6838038062001e6883398101604081905262000034916200022d565b818484818160006200004783826200034f565b5060016200005682826200034f565b505050620000736200006d6200010a60201b60201c565b6200010e565b50506001600160a01b038116620000c35760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b604482015260640160405180910390fd5b600880546001600160a01b0319166001600160a01b03929092169190911790556000819003620000fa57620f424060095562000100565b60098190555b505050506200041b565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018857600080fd5b81516001600160401b0380821115620001a557620001a562000160565b604051601f8301601f19908116603f01168101908282118183101715620001d057620001d062000160565b81604052838152602092508683858801011115620001ed57600080fd5b600091505b83821015620002115785820183015181830184015290820190620001f2565b83821115620002235760008385830101525b9695505050505050565b600080600080608085870312156200024457600080fd5b84516001600160401b03808211156200025c57600080fd5b6200026a8883890162000176565b955060208701519150808211156200028157600080fd5b50620002908782880162000176565b604087015190945090506001600160a01b0381168114620002b057600080fd5b6060959095015193969295505050565b600181811c90821680620002d557607f821691505b602082108103620002f657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200034a57600081815260208120601f850160051c81016020861015620003255750805b601f850160051c820191505b81811015620003465782815560010162000331565b5050505b505050565b81516001600160401b038111156200036b576200036b62000160565b62000383816200037c8454620002c0565b84620002fc565b602080601f831160018114620003bb5760008415620003a25750858301515b600019600386901b1c1916600185901b17855562000346565b600085815260208120601f198616915b82811015620003ec57888601518255948401946001909101908401620003cb565b50858210156200040b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611a3d806200042b6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806388433651116100ad578063c9e4c54d11610071578063c9e4c54d1461028e578063daca6f78146102a1578063e92b0842146102b4578063f2fde38b146102c7578063fb8f198d146102da57600080fd5b806388433651146102475780638da5cb5b1461025a57806395d89b411461026b578063c87b56dd14610273578063c9dd94c71461028657600080fd5b80635899e7b2116100f45780635899e7b2146101a95780636352211e146101e25780636e0a87461461020d57806370a082311461021e578063715018a61461023f57600080fd5b806301ffc9a71461013157806306fdde031461015957806308c92e571461016e578063210fa96b1461018357806342966c6814610196575b600080fd5b61014461013f366004611451565b6102ed565b60405190151581526020015b60405180910390f35b61016161033f565b60405161015091906114ab565b61018161017c366004611581565b6103d1565b005b6101616101913660046115d1565b61050c565b6101816101a43660046115d1565b61058e565b6101446101b7366004611606565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b6101f56101f03660046115d1565b610603565b6040516001600160a01b039091168152602001610150565b6008546001600160a01b03166101f5565b61023161022c366004611630565b610668565b604051908152602001610150565b6101816106f1565b61018161025536600461164b565b610727565b6005546001600160a01b03166101f5565b6101616107c9565b6101616102813660046115d1565b6107d8565b6101616108cd565b61018161029c366004611699565b61092a565b6101446102af366004611721565b610a5f565b6101446102c2366004611752565b610a72565b6101816102d5366004611630565b610b06565b6101f56102e8366004611606565b610b9e565b60006001600160e01b03198216635b5e139f60e01b148061031e57506001600160e01b03198216635164cf4760e01b145b8061033957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461034e906117a9565b80601f016020809104026020016040519081016040528092919081815260200182805461037a906117a9565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b5050505050905090565b6103da81610cb2565b61042b5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104775760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6104818383610a5f565b6104c95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b6104db6104d582610603565b82610ccf565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b60606105166108cd565b516000036105565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b61055e6108cd565b61056783610d97565b6040516020016105789291906117e3565b6040516020818303038152906040529050919050565b61059781610603565b6001600160a01b0316336001600160a01b0316146105f75760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e65720000000000006044820152606401610422565b61060081610ea0565b50565b6000818152600260205260408120546001600160a01b0316806103395760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e2774206578697374000000006044820152606401610422565b60006001600160a01b0382166106d55760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b6064820152608401610422565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b0316331461071b5760405162461bcd60e51b815260040161042290611812565b6107256000610f47565b565b6005546001600160a01b031633146107515760405162461bcd60e51b815260040161042290611812565b816107646008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146107bb5760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b6044820152606401610422565b6107c482610f99565b505050565b60606001805461034e906117a9565b60606107e382610cb2565b61082f5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e27742065786973740000006044820152606401610422565b60008281526003602052604090208054610848906117a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610874906117a9565b80156108c15780601f10610896576101008083540402835291602001916108c1565b820191906000526020600020905b8154815290600101906020018083116108a457829003601f168201915b50505050509050919050565b6060600680546108dc906117a9565b905060000361091d5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b6006805461034e906117a9565b6001600160a01b0385166109785760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b82516041146109c45760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6109ce8484610a5f565b610a165760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b610a21858383610feb565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610a6b8383611002565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610adc573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610b305760405162461bcd60e51b815260040161042290611812565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610422565b61060081610f47565b60006001600160a01b038316610bf65760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e0000000000000000006044820152606401610422565b610bff82610cb2565b610c415760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610c5483610603565b6001600160a01b031614610caa5760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610cda82610cb2565b610d1c5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610d2f83610603565b6001600160a01b031614610d855760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b610d8e826111a8565b50600192915050565b606081600003610dbe5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610de85780610dd28161185d565b9150610de19050600a8361188c565b9150610dc2565b60008167ffffffffffffffff811115610e0357610e036114de565b6040519080825280601f01601f191660200182016040528015610e2d576020820181803683370190505b5090505b8415610e9857610e426001836118a0565b9150610e4f600a866118b7565b610e5a9060306118cb565b60f81b818381518110610e6f57610e6f6118e3565b60200101906001600160f81b031916908160001a905350610e91600a8661188c565b9450610e31565b949350505050565b6000610eab82610603565b6001600160a01b03811660009081526004602052604081208054929350600192909190610ed99084906118a0565b9091555050600082815260026020908152604080832080546001600160a01b031916905560039091528120610f0d91611403565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8051600003610fdb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b6044820152606401610422565b6006610fe78282611947565b5050565b6000610ff884848461123e565b5060019392505050565b6005546000906001600160a01b0316331461102f5760405162461bcd60e51b815260040161042290611812565b6005546001600160a01b0316331461109d5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b6064820152608401610422565b81516041146110ee5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e67746800006044820152606401610422565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa158015611152573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b6111b181610cb2565b6111fd5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e00000000000000006044820152606401610422565b600061120882610603565b905061121382610ea0565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661128c5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b80516000036112cf5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b6044820152606401610422565b6112da83838361130c565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061131783610cb2565b1561135b5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b6044820152606401610422565b6001600160a01b03841660009081526004602052604081208054600192906113849084906118cb565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206113c48382611947565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461140f906117a9565b6000825580601f1061141f575050565b601f01602090049060005260206000209081019061060091905b8082111561144d5760008155600101611439565b5090565b60006020828403121561146357600080fd5b81356001600160e01b031981168114610a6b57600080fd5b60005b8381101561149657818101518382015260200161147e565b838111156114a5576000848401525b50505050565b60208152600082518060208401526114ca81604085016020870161147b565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261150557600080fd5b813567ffffffffffffffff80821115611520576115206114de565b604051601f8301601f19908116603f01168101908282118183101715611548576115486114de565b8160405283815286602085880101111561156157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561159657600080fd5b83359250602084013567ffffffffffffffff8111156115b457600080fd5b6115c0868287016114f4565b925050604084013590509250925092565b6000602082840312156115e357600080fd5b5035919050565b80356001600160a01b038116811461160157600080fd5b919050565b6000806040838503121561161957600080fd5b611622836115ea565b946020939093013593505050565b60006020828403121561164257600080fd5b610a6b826115ea565b6000806040838503121561165e57600080fd5b611667836115ea565b9150602083013567ffffffffffffffff81111561168357600080fd5b61168f858286016114f4565b9150509250929050565b600080600080600060a086880312156116b157600080fd5b6116ba866115ea565b945060208601359350604086013567ffffffffffffffff808211156116de57600080fd5b6116ea89838a016114f4565b945060608801359350608088013591508082111561170757600080fd5b50611714888289016114f4565b9150509295509295909350565b6000806040838503121561173457600080fd5b82359150602083013567ffffffffffffffff81111561168357600080fd5b60008060006060848603121561176757600080fd5b611770846115ea565b925060208401359150604084013567ffffffffffffffff81111561179357600080fd5b61179f868287016114f4565b9150509250925092565b600181811c908216806117bd57607f821691505b6020821081036117dd57634e487b7160e01b600052602260045260246000fd5b50919050565b600083516117f581846020880161147b565b83519083019061180981836020880161147b565b01949350505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001820161186f5761186f611847565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261189b5761189b611876565b500490565b6000828210156118b2576118b2611847565b500390565b6000826118c6576118c6611876565b500690565b600082198211156118de576118de611847565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156107c457600081815260208120601f850160051c810160208610156119205750805b601f850160051c820191505b8181101561193f5782815560010161192c565b505050505050565b815167ffffffffffffffff811115611961576119616114de565b6119758161196f84546117a9565b846118f9565b602080601f8311600181146119aa57600084156119925750858301515b600019600386901b1c1916600185901b17855561193f565b600085815260208120601f198616915b828110156119d9578886015182559484019460019091019084016119ba565b50858210156119f75787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220a6ba1299b8bafdbc484d9107ecb85dcee755c4800dcce4ee4ee0da29e3f434f764736f6c634300080f0033", + "bytecodeSha1": "333764c9d3663004bd705297770b3d2c6716ca21", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "SoulboundCore", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "93": [ + 2006, + 2028, + true + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "87": [ + 3897, + 3920, + true + ], + "88": [ + 4067, + 4083, + true + ] + } + }, + "15": {}, + "37": { + "Soulbound._getBaseURI": { + "94": [ + 7561, + 7587, + true + ] + }, + "Soulbound._setBaseURI": { + "100": [ + 7152, + 7179, + true + ] + }, + "Soulbound.burnSoulboundToken": { + "101": [ + 6564, + 6580, + true + ] + }, + "Soulbound.issuerOf": { + "95": [ + 4479, + 4496, + true + ], + "96": [ + 4581, + 4598, + true + ], + "97": [ + 4691, + 4715, + true + ] + }, + "Soulbound.mintSoulboundToken": { + "102": [ + 5816, + 5832, + true + ], + "103": [ + 5998, + 6025, + true + ] + }, + "Soulbound.revoke": { + "98": [ + 3468, + 3485, + true + ], + "99": [ + 3580, + 3606, + true + ] + } + }, + "38": { + "Allowlist.getAllowlistOwner": { + "82": [ + 1693, + 1723, + true + ] + }, + "SoulboundCore.generateTokenURI": { + "81": [ + 6334, + 6366, + true + ] + }, + "SoulboundCore.issueWithSignature": { + "83": [ + 3058, + 3076, + true + ], + "84": [ + 3337, + 3353, + true + ], + "85": [ + 3509, + 3535, + true + ] + }, + "SoulboundCore.revokeWithSignature": { + "78": [ + 4455, + 4471, + true + ], + "79": [ + 4738, + 4754, + true + ], + "80": [ + 4910, + 4936, + true + ] + }, + "SoulboundCore.toString": { + "86": [ + 6933, + 6943, + false + ] + } + }, + "41": { + "ERC4973._mint": { + "92": [ + 6201, + 6218, + true + ] + }, + "ERC4973.balanceOf": { + "90": [ + 5570, + 5589, + true + ] + }, + "ERC4973.burn": { + "89": [ + 5316, + 5346, + true + ] + }, + "ERC4973.tokenURI": { + "91": [ + 5144, + 5160, + true + ] + } + }, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "55": [ + 2378, + 2395 + ], + "56": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "2": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "19": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "33": [ + 1998, + 2071 + ], + "34": [ + 2081, + 2109 + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "61": [ + 3876, + 3989 + ], + "62": [ + 4059, + 4118 + ], + "63": [ + 4545, + 4595 + ], + "64": [ + 4641, + 4670 + ] + }, + "Allowlist.getAllowlistOwner": { + "1": [ + 2240, + 2261 + ] + }, + "Allowlist.verifySignature": { + "31": [ + 2604, + 2638 + ] + }, + "Allowlist.verifySigner": { + "32": [ + 5068, + 5113 + ] + } + }, + "15": {}, + "37": { + "Soulbound._getBaseURI": { + "24": [ + 7553, + 7605 + ], + "25": [ + 7648, + 7666 + ] + }, + "Soulbound._setBaseURI": { + "57": [ + 7144, + 7198 + ], + "58": [ + 7238, + 7256 + ] + }, + "Soulbound.burnSoulboundToken": { + "65": [ + 6556, + 6609 + ], + "66": [ + 6745, + 6759 + ], + "67": [ + 6816, + 6851 + ] + }, + "Soulbound.isMinted": { + "0": [ + 5339, + 5366 + ] + }, + "Soulbound.issue": { + "59": [ + 2400, + 2443 + ], + "60": [ + 2483, + 2494 + ] + }, + "Soulbound.issuerOf": { + "35": [ + 4471, + 4524 + ], + "36": [ + 4573, + 4622 + ], + "37": [ + 4683, + 4746 + ], + "38": [ + 4795, + 4815 + ] + }, + "Soulbound.mintSoulboundToken": { + "68": [ + 5808, + 5858 + ], + "69": [ + 5990, + 6045 + ], + "70": [ + 6160, + 6188 + ], + "71": [ + 6244, + 6269 + ] + }, + "Soulbound.revoke": { + "40": [ + 3460, + 3509 + ], + "41": [ + 3572, + 3637 + ], + "42": [ + 3680, + 3708 + ], + "43": [ + 3748, + 3759 + ] + } + }, + "38": { + "SoulboundCore.generateTokenURI": { + "11": [ + 6326, + 6384 + ], + "12": [ + 6444, + 6514 + ] + }, + "SoulboundCore.issueWithSignature": { + "26": [ + 3050, + 3102 + ], + "27": [ + 3329, + 3382 + ], + "28": [ + 3501, + 3565 + ], + "29": [ + 3664, + 3694 + ], + "30": [ + 3756, + 3794 + ] + }, + "SoulboundCore.revokeWithSignature": { + "6": [ + 4447, + 4503 + ], + "7": [ + 4730, + 4783 + ], + "8": [ + 4902, + 4966 + ], + "9": [ + 5065, + 5098 + ], + "10": [ + 5161, + 5194 + ] + }, + "SoulboundCore.setBaseURI": { + "20": [ + 5711, + 5732 + ] + }, + "SoulboundCore.toString": { + "44": [ + 6959, + 6969 + ], + "45": [ + 7075, + 7083 + ], + "46": [ + 7097, + 7107 + ], + "47": [ + 7209, + 7220 + ], + "48": [ + 7234, + 7290 + ], + "49": [ + 7304, + 7315 + ], + "50": [ + 7335, + 7356 + ] + } + }, + "41": { + "ERC165.supportsInterface": { + "4": [ + 1750, + 1797 + ] + }, + "ERC4973._burn": { + "51": [ + 6510, + 6531 + ], + "52": [ + 6541, + 6564 + ], + "53": [ + 6574, + 6600 + ], + "54": [ + 6611, + 6638 + ] + }, + "ERC4973._exists": { + "39": [ + 6005, + 6042 + ] + }, + "ERC4973._mint": { + "72": [ + 6193, + 6243 + ], + "73": [ + 6253, + 6271 + ], + "74": [ + 6281, + 6302 + ], + "75": [ + 6312, + 6337 + ], + "76": [ + 6347, + 6371 + ], + "77": [ + 6381, + 6395 + ] + }, + "ERC4973.balanceOf": { + "16": [ + 5549, + 5659 + ], + "17": [ + 5669, + 5692 + ] + }, + "ERC4973.burn": { + "13": [ + 5308, + 5377 + ], + "14": [ + 5387, + 5401 + ] + }, + "ERC4973.name": { + "5": [ + 4861, + 4873 + ] + }, + "ERC4973.ownerOf": { + "15": [ + 5829, + 5889 + ] + }, + "ERC4973.supportsInterface": { + "3": [ + 4593, + 4769 + ] + }, + "ERC4973.symbol": { + "21": [ + 4967, + 4981 + ] + }, + "ERC4973.tokenURI": { + "22": [ + 5136, + 5194 + ], + "23": [ + 5204, + 5230 + ] + } + }, + "5": { + "Context._msgSender": { + "18": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "Allowlist", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "ERC165", + "ERC4973", + "IAllowlist", + "IERC165", + "IERC4973", + "IERC721Metadata", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable", + "Soulbound" + ], + "deployedBytecode": "608060405234801561001057600080fd5b506004361061012c5760003560e01c806388433651116100ad578063c9e4c54d11610071578063c9e4c54d1461028e578063daca6f78146102a1578063e92b0842146102b4578063f2fde38b146102c7578063fb8f198d146102da57600080fd5b806388433651146102475780638da5cb5b1461025a57806395d89b411461026b578063c87b56dd14610273578063c9dd94c71461028657600080fd5b80635899e7b2116100f45780635899e7b2146101a95780636352211e146101e25780636e0a87461461020d57806370a082311461021e578063715018a61461023f57600080fd5b806301ffc9a71461013157806306fdde031461015957806308c92e571461016e578063210fa96b1461018357806342966c6814610196575b600080fd5b61014461013f366004611451565b6102ed565b60405190151581526020015b60405180910390f35b61016161033f565b60405161015091906114ab565b61018161017c366004611581565b6103d1565b005b6101616101913660046115d1565b61050c565b6101816101a43660046115d1565b61058e565b6101446101b7366004611606565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b6101f56101f03660046115d1565b610603565b6040516001600160a01b039091168152602001610150565b6008546001600160a01b03166101f5565b61023161022c366004611630565b610668565b604051908152602001610150565b6101816106f1565b61018161025536600461164b565b610727565b6005546001600160a01b03166101f5565b6101616107c9565b6101616102813660046115d1565b6107d8565b6101616108cd565b61018161029c366004611699565b61092a565b6101446102af366004611721565b610a5f565b6101446102c2366004611752565b610a72565b6101816102d5366004611630565b610b06565b6101f56102e8366004611606565b610b9e565b60006001600160e01b03198216635b5e139f60e01b148061031e57506001600160e01b03198216635164cf4760e01b145b8061033957506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461034e906117a9565b80601f016020809104026020016040519081016040528092919081815260200182805461037a906117a9565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b5050505050905090565b6103da81610cb2565b61042b5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104775760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6104818383610a5f565b6104c95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b6104db6104d582610603565b82610ccf565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b60606105166108cd565b516000036105565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b61055e6108cd565b61056783610d97565b6040516020016105789291906117e3565b6040516020818303038152906040529050919050565b61059781610603565b6001600160a01b0316336001600160a01b0316146105f75760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e65720000000000006044820152606401610422565b61060081610ea0565b50565b6000818152600260205260408120546001600160a01b0316806103395760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e2774206578697374000000006044820152606401610422565b60006001600160a01b0382166106d55760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b6064820152608401610422565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b0316331461071b5760405162461bcd60e51b815260040161042290611812565b6107256000610f47565b565b6005546001600160a01b031633146107515760405162461bcd60e51b815260040161042290611812565b816107646008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146107bb5760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b6044820152606401610422565b6107c482610f99565b505050565b60606001805461034e906117a9565b60606107e382610cb2565b61082f5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e27742065786973740000006044820152606401610422565b60008281526003602052604090208054610848906117a9565b80601f0160208091040260200160405190810160405280929190818152602001828054610874906117a9565b80156108c15780601f10610896576101008083540402835291602001916108c1565b820191906000526020600020905b8154815290600101906020018083116108a457829003601f168201915b50505050509050919050565b6060600680546108dc906117a9565b905060000361091d5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b6044820152606401610422565b6006805461034e906117a9565b6001600160a01b0385166109785760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b82516041146109c45760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b6044820152606401610422565b6109ce8484610a5f565b610a165760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b6044820152606401610422565b610a21858383610feb565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610a6b8383611002565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610adc573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610b305760405162461bcd60e51b815260040161042290611812565b6001600160a01b038116610b955760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610422565b61060081610f47565b60006001600160a01b038316610bf65760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e0000000000000000006044820152606401610422565b610bff82610cb2565b610c415760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610c5483610603565b6001600160a01b031614610caa5760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610cda82610cb2565b610d1c5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b6044820152606401610422565b826001600160a01b0316610d2f83610603565b6001600160a01b031614610d855760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e656420627920616464726573730000000000006044820152606401610422565b610d8e826111a8565b50600192915050565b606081600003610dbe5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610de85780610dd28161185d565b9150610de19050600a8361188c565b9150610dc2565b60008167ffffffffffffffff811115610e0357610e036114de565b6040519080825280601f01601f191660200182016040528015610e2d576020820181803683370190505b5090505b8415610e9857610e426001836118a0565b9150610e4f600a866118b7565b610e5a9060306118cb565b60f81b818381518110610e6f57610e6f6118e3565b60200101906001600160f81b031916908160001a905350610e91600a8661188c565b9450610e31565b949350505050565b6000610eab82610603565b6001600160a01b03811660009081526004602052604081208054929350600192909190610ed99084906118a0565b9091555050600082815260026020908152604080832080546001600160a01b031916905560039091528120610f0d91611403565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8051600003610fdb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b6044820152606401610422565b6006610fe78282611947565b5050565b6000610ff884848461123e565b5060019392505050565b6005546000906001600160a01b0316331461102f5760405162461bcd60e51b815260040161042290611812565b6005546001600160a01b0316331461109d5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b6064820152608401610422565b81516041146110ee5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e67746800006044820152606401610422565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa158015611152573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b6111b181610cb2565b6111fd5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e00000000000000006044820152606401610422565b600061120882610603565b905061121382610ea0565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661128c5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b6044820152606401610422565b80516000036112cf5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b6044820152606401610422565b6112da83838361130c565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061131783610cb2565b1561135b5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b6044820152606401610422565b6001600160a01b03841660009081526004602052604081208054600192906113849084906118cb565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206113c48382611947565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461140f906117a9565b6000825580601f1061141f575050565b601f01602090049060005260206000209081019061060091905b8082111561144d5760008155600101611439565b5090565b60006020828403121561146357600080fd5b81356001600160e01b031981168114610a6b57600080fd5b60005b8381101561149657818101518382015260200161147e565b838111156114a5576000848401525b50505050565b60208152600082518060208401526114ca81604085016020870161147b565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261150557600080fd5b813567ffffffffffffffff80821115611520576115206114de565b604051601f8301601f19908116603f01168101908282118183101715611548576115486114de565b8160405283815286602085880101111561156157600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561159657600080fd5b83359250602084013567ffffffffffffffff8111156115b457600080fd5b6115c0868287016114f4565b925050604084013590509250925092565b6000602082840312156115e357600080fd5b5035919050565b80356001600160a01b038116811461160157600080fd5b919050565b6000806040838503121561161957600080fd5b611622836115ea565b946020939093013593505050565b60006020828403121561164257600080fd5b610a6b826115ea565b6000806040838503121561165e57600080fd5b611667836115ea565b9150602083013567ffffffffffffffff81111561168357600080fd5b61168f858286016114f4565b9150509250929050565b600080600080600060a086880312156116b157600080fd5b6116ba866115ea565b945060208601359350604086013567ffffffffffffffff808211156116de57600080fd5b6116ea89838a016114f4565b945060608801359350608088013591508082111561170757600080fd5b50611714888289016114f4565b9150509295509295909350565b6000806040838503121561173457600080fd5b82359150602083013567ffffffffffffffff81111561168357600080fd5b60008060006060848603121561176757600080fd5b611770846115ea565b925060208401359150604084013567ffffffffffffffff81111561179357600080fd5b61179f868287016114f4565b9150509250925092565b600181811c908216806117bd57607f821691505b6020821081036117dd57634e487b7160e01b600052602260045260246000fd5b50919050565b600083516117f581846020880161147b565b83519083019061180981836020880161147b565b01949350505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001820161186f5761186f611847565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261189b5761189b611876565b500490565b6000828210156118b2576118b2611847565b500390565b6000826118c6576118c6611876565b500690565b600082198211156118de576118de611847565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156107c457600081815260208120601f850160051c810160208610156119205750805b601f850160051c820191505b8181101561193f5782815560010161192c565b505050505050565b815167ffffffffffffffff811115611961576119616114de565b6119758161196f84546117a9565b846118f9565b602080601f8311600181146119aa57600084156119925750858301515b600019600386901b1c1916600185901b17855561193f565b600085815260208120601f198616915b828110156119d9578886015182559484019460019091019084016119ba565b50858210156119f75787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220a6ba1299b8bafdbc484d9107ecb85dcee755c4800dcce4ee4ee0da29e3f434f764736f6c634300080f0033", + "deployedSourceMap": "857:6508:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4448:328:41;;;;;;:::i;:::-;;:::i;:::-;;;470:14:43;;463:22;445:41;;433:2;418:18;4448:328:41;;;;;;;;4782:98;;;:::i;:::-;;;;;;;:::i;4274:927:38:-;;;;;;:::i;:::-;;:::i;:::-;;6139:382;;;;;;:::i;:::-;;:::i;5243:165:41:-;;;;;;:::i;:::-;;:::i;5225:148:37:-;;;;;;:::i;:::-;-1:-1:-1;;;;;5346:10:37;;;;5319:4;5346:10;;;:5;:10;;;;;;;;:20;;;;;;;;;;;5225:148;5705:213:41;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3250:32:43;;;3232:51;;3220:2;3205:18;5705:213:41;3086:203:43;2171:97:14;2247:14;;-1:-1:-1;;;;;2247:14:14;2171:97;;5414:285:41;;;;;;:::i;:::-;;:::i;:::-;;;3631:25:43;;;3619:2;3604:18;5414:285:41;3485:177:43;1668:101:0;;;:::i;5539:200:38:-;;;;;;:::i;:::-;;:::i;1036:85:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;1036:85;;4886:102:41;;;:::i;4994:243::-;;;;;;:::i;:::-;;:::i;7425:248:37:-;;;:::i;2807:994:38:-;;;;;;:::i;:::-;;:::i;2495:150:14:-;;;;;;:::i;:::-;;:::i;4852:268::-;;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;:::i;:::-;;:::i;4302:520:37:-;;;;;;:::i;:::-;;:::i;4448:328:41:-;4573:4;-1:-1:-1;;;;;;4612:48:41;;-1:-1:-1;;;4612:48:41;;:105;;-1:-1:-1;;;;;;;4676:41:41;;-1:-1:-1;;;4676:41:41;4612:105;:157;;;-1:-1:-1;;;;;;;;;;1757:40:41;;;4733:36;4593:176;4448:328;-1:-1:-1;;4448:328:41:o;4782:98::-;4836:13;4868:5;4861:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4782:98;:::o;4274:927:38:-;4455:16;4463:7;4455;:16::i;:::-;4447:56;;;;-1:-1:-1;;;4447:56:38;;6271:2:43;4447:56:38;;;6253:21:43;6310:2;6290:18;;;6283:30;6349:29;6329:18;;;6322:57;6396:18;;4447:56:38;;;;;;;;;4738:3;:10;4752:2;4738:16;4730:53;;;;-1:-1:-1;;;4730:53:38;;6969:2:43;4730:53:38;;;6951:21:43;7008:2;6988:18;;;6981:30;-1:-1:-1;;;7027:18:43;;;7020:54;7091:18;;4730:53:38;6767:348:43;4730:53:38;4910:26;4926:4;4932:3;4910:15;:26::i;:::-;4902:64;;;;-1:-1:-1;;;4902:64:38;;7322:2:43;4902:64:38;;;7304:21:43;7361:2;7341:18;;;7334:30;-1:-1:-1;;;7380:18:43;;;7373:55;7445:18;;4902:64:38;7120:349:43;4902:64:38;5065:33;5072:16;5080:7;5072;:16::i;:::-;5090:7;5065:6;:33::i;:::-;-1:-1:-1;5166:28:38;;5186:7;;5166:28;;;;;4274:927;;;:::o;6139:382::-;6227:23;6340:13;:11;:13::i;:::-;6334:27;6365:1;6334:32;6326:58;;;;-1:-1:-1;;;6326:58:38;;7676:2:43;6326:58:38;;;7658:21:43;7715:2;7695:18;;;7688:30;-1:-1:-1;;;7734:18:43;;;7727:43;7787:18;;6326:58:38;7474:337:43;6326:58:38;6480:13;:11;:13::i;:::-;6495:17;6504:7;6495:8;:17::i;:::-;6463:50;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6444:70;;6139:382;;;:::o;5243:165:41:-;5330:16;5338:7;5330;:16::i;:::-;-1:-1:-1;;;;;5316:30:41;:10;-1:-1:-1;;;;;5316:30:41;;5308:69;;;;-1:-1:-1;;;5308:69:41;;8493:2:43;5308:69:41;;;8475:21:43;8532:2;8512:18;;;8505:30;8571:28;8551:18;;;8544:56;8617:18;;5308:69:41;8291:350:43;5308:69:41;5387:14;5393:7;5387:5;:14::i;:::-;5243:165;:::o;5705:213::-;5768:7;5803:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5803:16:41;;5829:60;;;;-1:-1:-1;;;5829:60:41;;8848:2:43;5829:60:41;;;8830:21:43;8887:2;8867:18;;;8860:30;8926;8906:18;;;8899:58;8974:18;;5829:60:41;8646:352:43;5414:285:41;5526:7;-1:-1:-1;;;;;5570:19:41;;5549:110;;;;-1:-1:-1;;;5549:110:41;;9205:2:43;5549:110:41;;;9187:21:43;9244:2;9224:18;;;9217:30;9283:34;9263:18;;;9256:62;-1:-1:-1;;;9334:18:43;;;9327:42;9386:19;;5549:110:41;9003:408:43;5549:110:41;-1:-1:-1;;;;;;5676:16:41;;;;;:9;:16;;;;;;;5414:285::o;1668:101:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;5539:200:38:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;5659:6:38::1;1704:19;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;::::0;-1:-1:-1;;;1685:63:38;;9979:2:43;1685:63:38::1;::::0;::::1;9961:21:43::0;10018:2;9998:18;;;9991:30;-1:-1:-1;;;10037:18:43;;;10030:50;10097:18;;1685:63:38::1;9777:344:43::0;1685:63:38::1;5711:21:::2;5723:8;5711:11;:21::i;:::-;1318:1:0::1;5539:200:38::0;;:::o;4886:102:41:-;4942:13;4974:7;4967:14;;;;;:::i;4994:243::-;5107:13;5144:16;5152:7;5144;:16::i;:::-;5136:58;;;;-1:-1:-1;;;5136:58:41;;10328:2:43;5136:58:41;;;10310:21:43;10367:2;10347:18;;;10340:30;10406:31;10386:18;;;10379:59;10455:18;;5136:58:41;10126:353:43;5136:58:41;5211:19;;;;:10;:19;;;;;5204:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4994:243;;;:::o;7425:248:37:-;7469:22;7567:7;7561:21;;;;;:::i;:::-;;;7586:1;7561:26;7553:52;;;;-1:-1:-1;;;7553:52:37;;7676:2:43;7553:52:37;;;7658:21:43;7715:2;7695:18;;;7688:30;-1:-1:-1;;;7734:18:43;;;7727:43;7787:18;;7553:52:37;7474:337:43;7553:52:37;7659:7;7648:18;;;;;:::i;2807:994:38:-;-1:-1:-1;;;;;3058:18:38;;3050:52;;;;-1:-1:-1;;;3050:52:38;;10686:2:43;3050:52:38;;;10668:21:43;10725:2;10705:18;;;10698:30;-1:-1:-1;;;10744:18:43;;;10737:51;10805:18;;3050:52:38;10484:345:43;3050:52:38;3337:3;:10;3351:2;3337:16;3329:53;;;;-1:-1:-1;;;3329:53:38;;6969:2:43;3329:53:38;;;6951:21:43;7008:2;6988:18;;;6981:30;-1:-1:-1;;;7027:18:43;;;7020:54;7091:18;;3329:53:38;6767:348:43;3329:53:38;3509:26;3525:4;3531:3;3509:15;:26::i;:::-;3501:64;;;;-1:-1:-1;;;3501:64:38;;7322:2:43;3501:64:38;;;7304:21:43;7361:2;7341:18;;;7334:30;-1:-1:-1;;;7380:18:43;;;7373:55;7445:18;;3501:64:38;7120:349:43;3501:64:38;3664:30;3670:4;3676:7;3685:8;3664:5;:30::i;:::-;-1:-1:-1;3761:33:38;;3786:7;;-1:-1:-1;;;;;3761:33:38;;;;;;;;2807:994;;;;;:::o;2495:150:14:-;2584:4;2611:27;2628:4;2634:3;2611:16;:27::i;:::-;2604:34;2495:150;-1:-1:-1;;;2495:150:14:o;4852:268::-;6067:2;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;5087:25;;4982:4;5087:25;;;;;;;;;11061::43;;;6231:28:14;;;11102:18:43;;;11095:45;;;11156:18;;;11149:34;;;11199:18;;;11192:34;;;5087:25:14;;4982:4;;6127:19;;6231:28;;5087:25;;11033:19:43;;;;;-1:-1:-1;;5087:25:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:36:14;:7;-1:-1:-1;;;;;5076:36:14;;5068:45;;;;;4852:268;;;;;:::o;1918:198:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;11439:2:43;1998:73:0::1;::::0;::::1;11421:21:43::0;11478:2;11458:18;;;11451:30;11517:34;11497:18;;;11490:62;-1:-1:-1;;;11568:18:43;;;11561:36;11614:19;;1998:73:0::1;11237:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;4302:520:37:-:0;4396:7;-1:-1:-1;;;;;4479:17:37;;4471:53;;;;-1:-1:-1;;;4471:53:37;;11846:2:43;4471:53:37;;;11828:21:43;11885:2;11865:18;;;11858:30;11924:25;11904:18;;;11897:53;11967:18;;4471:53:37;11644:347:43;4471:53:37;4581:17;4589:8;4581:7;:17::i;:::-;4573:49;;;;-1:-1:-1;;;4573:49:37;;12198:2:43;4573:49:37;;;12180:21:43;12237:2;12217:18;;;12210:30;-1:-1:-1;;;12256:18:43;;;12249:49;12315:18;;4573:49:37;11996:343:43;4573:49:37;4712:3;-1:-1:-1;;;;;4691:24:37;:17;4699:8;4691:7;:17::i;:::-;-1:-1:-1;;;;;4691:24:37;;4683:63;;;;-1:-1:-1;;;4683:63:37;;12546:2:43;4683:63:37;;;12528:21:43;12585:2;12565:18;;;12558:30;12624:28;12604:18;;;12597:56;12670:18;;4683:63:37;12344:350:43;4683:63:37;-1:-1:-1;4810:4:37;4302:520;;;;:::o;5924:125:41:-;5989:4;6012:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6012:16:41;:30;;;5924:125::o;3338:428:37:-;3405:4;3468:17;3476:8;3468:7;:17::i;:::-;3460:49;;;;-1:-1:-1;;;3460:49:37;;12198:2:43;3460:49:37;;;12180:21:43;12237:2;12217:18;;;12210:30;-1:-1:-1;;;12256:18:43;;;12249:49;12315:18;;3460:49:37;11996:343:43;3460:49:37;3601:5;-1:-1:-1;;;;;3580:26:37;:17;3588:8;3580:7;:17::i;:::-;-1:-1:-1;;;;;3580:26:37;;3572:65;;;;-1:-1:-1;;;3572:65:37;;12546:2:43;3572:65:37;;;12528:21:43;12585:2;12565:18;;;12558:30;12624:28;12604:18;;;12597:56;12670:18;;3572:65:37;12344:350:43;3572:65:37;3680:28;3699:8;3680:18;:28::i;:::-;-1:-1:-1;3755:4:37;3338:428;;;;:::o;6660:703:38:-;6716:13;6933:5;6942:1;6933:10;6929:51;;-1:-1:-1;;6959:10:38;;;;;;;;;;;;-1:-1:-1;;;6959:10:38;;;;;6660:703::o;6929:51::-;7004:5;6989:12;7043:75;7050:9;;7043:75;;7075:8;;;;:::i;:::-;;-1:-1:-1;7097:10:38;;-1:-1:-1;7105:2:38;7097:10;;:::i;:::-;;;7043:75;;;7127:19;7159:6;7149:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7149:17:38;;7127:39;;7176:150;7183:10;;7176:150;;7209:11;7219:1;7209:11;;:::i;:::-;;-1:-1:-1;7277:10:38;7285:2;7277:5;:10;:::i;:::-;7264:24;;:2;:24;:::i;:::-;7251:39;;7234:6;7241;7234:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;7234:56:38;;;;;;;;-1:-1:-1;7304:11:38;7313:2;7304:11;;:::i;:::-;;;7176:150;;;7349:6;6660:703;-1:-1:-1;;;;6660:703:38:o;6408:237:41:-;6467:13;6483:16;6491:7;6483;:16::i;:::-;-1:-1:-1;;;;;6510:16:41;;;;;;:9;:16;;;;;:21;;6467:32;;-1:-1:-1;6530:1:41;;6510:16;;;:21;;6530:1;;6510:21;:::i;:::-;;;;-1:-1:-1;;6548:16:41;;;;:7;:16;;;;;;;;6541:23;;-1:-1:-1;;;;;;6541:23:41;;;6581:10;:19;;;;;6574:26;;;:::i;:::-;6616:22;;6630:7;;-1:-1:-1;;;;;6616:22:41;;;;;;;;6457:188;6408:237;:::o;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;7029:234:37:-;7158:8;7152:22;7178:1;7152:27;7144:54;;;;-1:-1:-1;;;7144:54:37;;13942:2:43;7144:54:37;;;13924:21:43;13981:2;13961:18;;;13954:30;-1:-1:-1;;;14000:18:43;;;13993:44;14054:18;;7144:54:37;13740:338:43;7144:54:37;7238:7;:18;7248:8;7238:7;:18;:::i;:::-;;7029:234;:::o;2196:305::-;2314:4;2400:43;2419:3;2424:8;2434;2400:18;:43::i;:::-;-1:-1:-1;2490:4:37;2196:305;;;;;:::o;3622:1055:14:-;1108:6:0;;3732:4:14;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;3897:23:14::1;3876:113;;;::::0;-1:-1:-1;;;3876:113:14;;16489:2:43;3876:113:14::1;::::0;::::1;16471:21:43::0;16528:2;16508:18;;;16501:30;16567:34;16547:18;;;16540:62;-1:-1:-1;;;16618:18:43;;;16611:41;16669:19;;3876:113:14::1;16287:407:43::0;3876:113:14::1;4067:3;:10;4081:2;4067:16;4059:59;;;::::0;-1:-1:-1;;;4059:59:14;;16901:2:43;4059:59:14::1;::::0;::::1;16883:21:43::0;16940:2;16920:18;;;16913:30;16979:32;16959:18;;;16952:60;17029:18;;4059:59:14::1;16699:354:43::0;4059:59:14::1;6067:2:::0;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;4331:24;;4197:9:::1;4331:24:::0;;;;;::::1;::::0;;;11061:25:43;;;6231:28:14;;;11102:18:43;;;11095:45;;;11156:18;;;11149:34;;;11199:18;;;11192:34;;;6052:19:14;;6127;;4331:24:::1;::::0;11033:19:43;;4331:24:14::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4331:24:14::1;::::0;-1:-1:-1;;4331:24:14;;;4469:14:::1;::::0;4331:24;;-1:-1:-1;;;;;;4459:24:14;;::::1;4469:14:::0;::::1;4459:24;::::0;-1:-1:-1;4459:24:14;;4566:4;;4550:45:::1;::::0;4428:27:::1;::::0;4550:45:::1;4648:22:::0;3622:1055;-1:-1:-1;;;;;;;3622:1055:14:o;6437:421:37:-;6564:16;6572:7;6564;:16::i;:::-;6556:53;;;;-1:-1:-1;;;6556:53:37;;17260:2:43;6556:53:37;;;17242:21:43;17299:2;17279:18;;;17272:30;17338:26;17318:18;;;17311:54;17382:18;;6556:53:37;17058:348:43;6556:53:37;6664:19;6686:16;6694:7;6686;:16::i;:::-;6664:38;;6745:14;6751:7;6745:5;:14::i;:::-;-1:-1:-1;;;;;6816:18:37;6846:5;6816:18;;;:5;:18;;;;;;;;:27;;;;;;;:35;;-1:-1:-1;;6816:35:37;;;6437:421::o;5609:667::-;-1:-1:-1;;;;;5816:16:37;;5808:50;;;;-1:-1:-1;;;5808:50:37;;10686:2:43;5808:50:37;;;10668:21:43;10725:2;10705:18;;;10698:30;-1:-1:-1;;;10744:18:43;;;10737:51;10805:18;;5808:50:37;10484:345:43;5808:50:37;6004:8;5998:22;6024:1;5998:27;5990:55;;;;-1:-1:-1;;;5990:55:37;;17613:2:43;5990:55:37;;;17595:21:43;17652:2;17632:18;;;17625:30;-1:-1:-1;;;17671:18:43;;;17664:45;17726:18;;5990:55:37;17411:339:43;5990:55:37;6160:28;6166:2;6170:7;6179:8;6160:5;:28::i;:::-;-1:-1:-1;;;;;;;6244:9:37;;;;;;;:5;:9;;;;;;;;:18;;;;;;;:25;;-1:-1:-1;;6244:25:37;6265:4;6244:25;;;5609:667::o;6055:347:41:-;6174:7;6202:16;6210:7;6202;:16::i;:::-;6201:17;6193:50;;;;-1:-1:-1;;;6193:50:41;;17957:2:43;6193:50:41;;;17939:21:43;17996:2;17976:18;;;17969:30;-1:-1:-1;;;18015:18:43;;;18008:50;18075:18;;6193:50:41;17755:344:43;6193:50:41;-1:-1:-1;;;;;6253:13:41;;;;;;:9;:13;;;;;:18;;6270:1;;6253:13;:18;;6270:1;;6253:18;:::i;:::-;;;;-1:-1:-1;;6281:16:41;;;;:7;:16;;;;;;;;:21;;-1:-1:-1;;;;;;6281:21:41;-1:-1:-1;;;;;6281:21:41;;;;;6312:10;:19;;;;;:25;6334:3;6312:19;:25;:::i;:::-;-1:-1:-1;6352:19:41;;6363:7;;-1:-1:-1;;;;;6352:19:41;;;;;;;;-1:-1:-1;6388:7:41;;6055:347;-1:-1:-1;;6055:347:41:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:43:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:43;;209:43;;199:71;;266:1;263;256:12;497:258;569:1;579:113;593:6;590:1;587:13;579:113;;;669:11;;;663:18;650:11;;;643:39;615:2;608:10;579:113;;;710:6;707:1;704:13;701:48;;;745:1;736:6;731:3;727:16;720:27;701:48;;497:258;;;:::o;760:383::-;909:2;898:9;891:21;872:4;941:6;935:13;984:6;979:2;968:9;964:18;957:34;1000:66;1059:6;1054:2;1043:9;1039:18;1034:2;1026:6;1022:15;1000:66;:::i;:::-;1127:2;1106:15;-1:-1:-1;;1102:29:43;1087:45;;;;1134:2;1083:54;;760:383;-1:-1:-1;;760:383:43:o;1148:127::-;1209:10;1204:3;1200:20;1197:1;1190:31;1240:4;1237:1;1230:15;1264:4;1261:1;1254:15;1280:718;1322:5;1375:3;1368:4;1360:6;1356:17;1352:27;1342:55;;1393:1;1390;1383:12;1342:55;1429:6;1416:20;1455:18;1492:2;1488;1485:10;1482:36;;;1498:18;;:::i;:::-;1573:2;1567:9;1541:2;1627:13;;-1:-1:-1;;1623:22:43;;;1647:2;1619:31;1615:40;1603:53;;;1671:18;;;1691:22;;;1668:46;1665:72;;;1717:18;;:::i;:::-;1757:10;1753:2;1746:22;1792:2;1784:6;1777:18;1838:3;1831:4;1826:2;1818:6;1814:15;1810:26;1807:35;1804:55;;;1855:1;1852;1845:12;1804:55;1919:2;1912:4;1904:6;1900:17;1893:4;1885:6;1881:17;1868:54;1966:1;1959:4;1954:2;1946:6;1942:15;1938:26;1931:37;1986:6;1977:15;;;;;;1280:718;;;;:::o;2003:456::-;2089:6;2097;2105;2158:2;2146:9;2137:7;2133:23;2129:32;2126:52;;;2174:1;2171;2164:12;2126:52;2210:9;2197:23;2187:33;;2271:2;2260:9;2256:18;2243:32;2298:18;2290:6;2287:30;2284:50;;;2330:1;2327;2320:12;2284:50;2353:49;2394:7;2385:6;2374:9;2370:22;2353:49;:::i;:::-;2343:59;;;2449:2;2438:9;2434:18;2421:32;2411:42;;2003:456;;;;;:::o;2464:180::-;2523:6;2576:2;2564:9;2555:7;2551:23;2547:32;2544:52;;;2592:1;2589;2582:12;2544:52;-1:-1:-1;2615:23:43;;2464:180;-1:-1:-1;2464:180:43:o;2649:173::-;2717:20;;-1:-1:-1;;;;;2766:31:43;;2756:42;;2746:70;;2812:1;2809;2802:12;2746:70;2649:173;;;:::o;2827:254::-;2895:6;2903;2956:2;2944:9;2935:7;2931:23;2927:32;2924:52;;;2972:1;2969;2962:12;2924:52;2995:29;3014:9;2995:29;:::i;:::-;2985:39;3071:2;3056:18;;;;3043:32;;-1:-1:-1;;;2827:254:43:o;3294:186::-;3353:6;3406:2;3394:9;3385:7;3381:23;3377:32;3374:52;;;3422:1;3419;3412:12;3374:52;3445:29;3464:9;3445:29;:::i;3667:395::-;3745:6;3753;3806:2;3794:9;3785:7;3781:23;3777:32;3774:52;;;3822:1;3819;3812:12;3774:52;3845:29;3864:9;3845:29;:::i;:::-;3835:39;;3925:2;3914:9;3910:18;3897:32;3952:18;3944:6;3941:30;3938:50;;;3984:1;3981;3974:12;3938:50;4007:49;4048:7;4039:6;4028:9;4024:22;4007:49;:::i;:::-;3997:59;;;3667:395;;;;;:::o;4067:752::-;4181:6;4189;4197;4205;4213;4266:3;4254:9;4245:7;4241:23;4237:33;4234:53;;;4283:1;4280;4273:12;4234:53;4306:29;4325:9;4306:29;:::i;:::-;4296:39;;4382:2;4371:9;4367:18;4354:32;4344:42;;4437:2;4426:9;4422:18;4409:32;4460:18;4501:2;4493:6;4490:14;4487:34;;;4517:1;4514;4507:12;4487:34;4540:49;4581:7;4572:6;4561:9;4557:22;4540:49;:::i;:::-;4530:59;;4636:2;4625:9;4621:18;4608:32;4598:42;;4693:3;4682:9;4678:19;4665:33;4649:49;;4723:2;4713:8;4710:16;4707:36;;;4739:1;4736;4729:12;4707:36;;4762:51;4805:7;4794:8;4783:9;4779:24;4762:51;:::i;:::-;4752:61;;;4067:752;;;;;;;;:::o;4824:388::-;4901:6;4909;4962:2;4950:9;4941:7;4937:23;4933:32;4930:52;;;4978:1;4975;4968:12;4930:52;5014:9;5001:23;4991:33;;5075:2;5064:9;5060:18;5047:32;5102:18;5094:6;5091:30;5088:50;;;5134:1;5131;5124:12;5217:462;5303:6;5311;5319;5372:2;5360:9;5351:7;5347:23;5343:32;5340:52;;;5388:1;5385;5378:12;5340:52;5411:29;5430:9;5411:29;:::i;:::-;5401:39;;5487:2;5476:9;5472:18;5459:32;5449:42;;5542:2;5531:9;5527:18;5514:32;5569:18;5561:6;5558:30;5555:50;;;5601:1;5598;5591:12;5555:50;5624:49;5665:7;5656:6;5645:9;5641:22;5624:49;:::i;:::-;5614:59;;;5217:462;;;;;:::o;5684:380::-;5763:1;5759:12;;;;5806;;;5827:61;;5881:4;5873:6;5869:17;5859:27;;5827:61;5934:2;5926:6;5923:14;5903:18;5900:38;5897:161;;5980:10;5975:3;5971:20;5968:1;5961:31;6015:4;6012:1;6005:15;6043:4;6040:1;6033:15;5897:161;;5684:380;;;:::o;7816:470::-;7995:3;8033:6;8027:13;8049:53;8095:6;8090:3;8083:4;8075:6;8071:17;8049:53;:::i;:::-;8165:13;;8124:16;;;;8187:57;8165:13;8124:16;8221:4;8209:17;;8187:57;:::i;:::-;8260:20;;7816:470;-1:-1:-1;;;;7816:470:43:o;9416:356::-;9618:2;9600:21;;;9637:18;;;9630:30;9696:34;9691:2;9676:18;;9669:62;9763:2;9748:18;;9416:356::o;12699:127::-;12760:10;12755:3;12751:20;12748:1;12741:31;12791:4;12788:1;12781:15;12815:4;12812:1;12805:15;12831:135;12870:3;12891:17;;;12888:43;;12911:18;;:::i;:::-;-1:-1:-1;12958:1:43;12947:13;;12831:135::o;12971:127::-;13032:10;13027:3;13023:20;13020:1;13013:31;13063:4;13060:1;13053:15;13087:4;13084:1;13077:15;13103:120;13143:1;13169;13159:35;;13174:18;;:::i;:::-;-1:-1:-1;13208:9:43;;13103:120::o;13228:125::-;13268:4;13296:1;13293;13290:8;13287:34;;;13301:18;;:::i;:::-;-1:-1:-1;13338:9:43;;13228:125::o;13358:112::-;13390:1;13416;13406:35;;13421:18;;:::i;:::-;-1:-1:-1;13455:9:43;;13358:112::o;13475:128::-;13515:3;13546:1;13542:6;13539:1;13536:13;13533:39;;;13552:18;;:::i;:::-;-1:-1:-1;13588:9:43;;13475:128::o;13608:127::-;13669:10;13664:3;13660:20;13657:1;13650:31;13700:4;13697:1;13690:15;13724:4;13721:1;13714:15;14209:545;14311:2;14306:3;14303:11;14300:448;;;14347:1;14372:5;14368:2;14361:17;14417:4;14413:2;14403:19;14487:2;14475:10;14471:19;14468:1;14464:27;14458:4;14454:38;14523:4;14511:10;14508:20;14505:47;;;-1:-1:-1;14546:4:43;14505:47;14601:2;14596:3;14592:12;14589:1;14585:20;14579:4;14575:31;14565:41;;14656:82;14674:2;14667:5;14664:13;14656:82;;;14719:17;;;14700:1;14689:13;14656:82;;;14660:3;;;14209:545;;;:::o;14930:1352::-;15056:3;15050:10;15083:18;15075:6;15072:30;15069:56;;;15105:18;;:::i;:::-;15134:97;15224:6;15184:38;15216:4;15210:11;15184:38;:::i;:::-;15178:4;15134:97;:::i;:::-;15286:4;;15350:2;15339:14;;15367:1;15362:663;;;;16069:1;16086:6;16083:89;;;-1:-1:-1;16138:19:43;;;16132:26;16083:89;-1:-1:-1;;14887:1:43;14883:11;;;14879:24;14875:29;14865:40;14911:1;14907:11;;;14862:57;16185:81;;15332:944;;15362:663;14156:1;14149:14;;;14193:4;14180:18;;-1:-1:-1;;15398:20:43;;;15516:236;15530:7;15527:1;15524:14;15516:236;;;15619:19;;;15613:26;15598:42;;15711:27;;;;15679:1;15667:14;;;;15546:19;;15516:236;;;15520:3;15780:6;15771:7;15768:19;15765:201;;;15841:19;;;15835:26;-1:-1:-1;;15924:1:43;15920:14;;;15936:3;15916:24;15912:37;15908:42;15893:58;15878:74;;15765:201;-1:-1:-1;;;;;16012:1:43;15996:14;;;15992:22;15979:36;;-1:-1:-1;14930:1352:43:o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "Soulbound Core template. This contract aims at a soulbound token with capped supply, set by the deployer or defaulted to 1000000. Mints and burns affect the current supply of tokens respectively.", + "errors": { + "Unsigned(address)": [ + { + "details": "Thrown when the address passed to the verify function is not signed." + } + ] + }, + "events": { + "IssueWithSignature(address,uint256)": { + "details": "Emitted when a token is minted from Signature." + }, + "RevokeWithSignature(uint256)": { + "details": "Emitted when a token is revoked with Signature." + } + }, + "kind": "dev", + "methods": { + "_getBaseURI()": { + "details": "Returns already set baseURI if it exists.", + "notice": "Callable by anyone.", + "returns": { + "_baseURI": "baseURI set." + } + }, + "balanceOf(address)": { + "details": "ABTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.", + "notice": "Count all ABTs assigned to an owner", + "params": { + "owner": "An address for whom to query the balance" + }, + "returns": { + "_0": "The number of ABTs owned by `owner`, possibly zero" + } + }, + "burn(uint256)": { + "details": "Must emit a `event Revoke` with the `address to` field pointing to the zero address.", + "notice": "Destroys `tokenId`. At any time, an ABT receiver must be able to disassociate themselves from an ABT publicly through calling this function.", + "params": { + "tokenId": "The identifier for an ABT" + } + }, + "constructor": { + "details": "Deploys the 3 contracts inherited by the SoulboundCore." + }, + "generateTokenURI(uint256)": { + "details": "Using the `tokenId` passed, it generates a `stringified` tokenURI, packing the baseURI and the current tokenId. Makes use of OpenZeppelin's uint to string function.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "ID of token whose tokenURI is desired." + }, + "returns": { + "_tokenURI": "TokenURI of the passed tokenId." + } + }, + "getAllowlistOwner()": { + "details": "Return the allowlistOwner.", + "notice": "Callable by anyone.", + "returns": { + "_0": "address of allowlistOwner." + } + }, + "isMinted(address,uint256)": { + "details": "Returns true if token `_tokenId` was minted from this contract to `_to`. `_to` must not be a 0 address. `_tokenId` must be an existent token.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "bool true or false." + } + }, + "issueWithSignature(address,bytes32,bytes,uint256,string)": { + "details": "Mints a particular quantity of tokens to `to`, on the condition that the address has been signed by the allowlistOwner off-chain. This will emit the {MintSoulboundToken} event from the Soulbound.sol.", + "notice": "Callable by anyone.", + "params": { + "addr": "Address to mint tokens to.", + "hash": "Hashed message by the allowlistOwner.", + "sig": "Signature, signed by the allowlistOwner.", + "tokenId": "Id of the tokens to mint to the `addr`.", + "tokenURI": "URI of the token to be minted." + } + }, + "issuerOf(address,uint256)": { + "details": "Since a token cannnot be minted twice. This function returns the address that minted token `_tokenId` to `_to`, otherwise this contract. `_to` must not be a 0 address. `_tokenId` must be an existent token. Owner of _tokenId must be _to.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "address of issuer." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerOf(uint256)": { + "details": "ABTs assigned to zero address are considered invalid, and queries about them do throw.", + "notice": "Find the address bound to an ERC4973 account-bound token", + "params": { + "tokenId": "The identifier for an ABT" + }, + "returns": { + "_0": "The address of the owner bound to the ABT" + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "revokeWithSignature(bytes32,bytes,uint256)": { + "details": "Revokes the ownership of `tokenId` from the owner. The token must exist and the signature must be signed the allowlistOwner. This emits the {RevokeWithSignature} event.", + "notice": "Callable by anyone.", + "params": { + "hash": "Hashed message by the allowlistOwner.", + "sig": "Signature, signed by the allowlistOwner.", + "tokenId": "Id of the token to revoke." + } + }, + "setBaseURI(address,string)": { + "details": "Allows the `caller` (allowlistOwner) to set the baseURI. This is really important when the caller wants to mint Multiple tokens with the same base URI.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "verifySignature(bytes32,bytes)": { + "details": "Returns true if the signer of signature `sig` is the `allowlistOwner`. And false if otherwise.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + }, + "verifySigner(address,bytes32,bytes)": { + "details": "Returns true if the signer of `_signature` is `_signer`.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + } + }, + "stateVariables": { + "supply": { + "details": "With every issue and revoke, this value increases and reduces. It cannot be GT the TOTAL_SUPPLY." + }, + "totalSupply": { + "details": "Total supply limit set by deployer or defaulted to 1000000." + } + }, + "title": "Soulbound Core Contract.", + "version": 1 + }, + "offset": [ + 857, + 7365 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x88433651 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xC9E4C54D GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xC9E4C54D EQ PUSH2 0x28E JUMPI DUP1 PUSH4 0xDACA6F78 EQ PUSH2 0x2A1 JUMPI DUP1 PUSH4 0xE92B0842 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x2C7 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x2DA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x88433651 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x25A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x26B JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x273 JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5899E7B2 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x1E2 JUMPI DUP1 PUSH4 0x6E0A8746 EQ PUSH2 0x20D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x21E JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x23F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x159 JUMPI DUP1 PUSH4 0x8C92E57 EQ PUSH2 0x16E JUMPI DUP1 PUSH4 0x210FA96B EQ PUSH2 0x183 JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x196 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x144 PUSH2 0x13F CALLDATASIZE PUSH1 0x4 PUSH2 0x1451 JUMP JUMPDEST PUSH2 0x2ED JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH2 0x33F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x150 SWAP2 SWAP1 PUSH2 0x14AB JUMP JUMPDEST PUSH2 0x181 PUSH2 0x17C CALLDATASIZE PUSH1 0x4 PUSH2 0x1581 JUMP JUMPDEST PUSH2 0x3D1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x161 PUSH2 0x191 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x50C JUMP JUMPDEST PUSH2 0x181 PUSH2 0x1A4 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x58E JUMP JUMPDEST PUSH2 0x144 PUSH2 0x1B7 CALLDATASIZE PUSH1 0x4 PUSH2 0x1606 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x1F5 PUSH2 0x1F0 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x603 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x231 PUSH2 0x22C CALLDATASIZE PUSH1 0x4 PUSH2 0x1630 JUMP JUMPDEST PUSH2 0x668 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x150 JUMP JUMPDEST PUSH2 0x181 PUSH2 0x6F1 JUMP JUMPDEST PUSH2 0x181 PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0x164B JUMP JUMPDEST PUSH2 0x727 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1F5 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x281 CALLDATASIZE PUSH1 0x4 PUSH2 0x15D1 JUMP JUMPDEST PUSH2 0x7D8 JUMP JUMPDEST PUSH2 0x161 PUSH2 0x8CD JUMP JUMPDEST PUSH2 0x181 PUSH2 0x29C CALLDATASIZE PUSH1 0x4 PUSH2 0x1699 JUMP JUMPDEST PUSH2 0x92A JUMP JUMPDEST PUSH2 0x144 PUSH2 0x2AF CALLDATASIZE PUSH1 0x4 PUSH2 0x1721 JUMP JUMPDEST PUSH2 0xA5F JUMP JUMPDEST PUSH2 0x144 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x1752 JUMP JUMPDEST PUSH2 0xA72 JUMP JUMPDEST PUSH2 0x181 PUSH2 0x2D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1630 JUMP JUMPDEST PUSH2 0xB06 JUMP JUMPDEST PUSH2 0x1F5 PUSH2 0x2E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x1606 JUMP JUMPDEST PUSH2 0xB9E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x31E JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x339 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x34E SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x37A SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3C7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x39C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3C7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3AA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3DA DUP2 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0x42B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x477 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x481 DUP4 DUP4 PUSH2 0xA5F JUMP JUMPDEST PUSH2 0x4C9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x4DB PUSH2 0x4D5 DUP3 PUSH2 0x603 JUMP JUMPDEST DUP3 PUSH2 0xCCF JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH32 0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x516 PUSH2 0x8CD JUMP JUMPDEST MLOAD PUSH1 0x0 SUB PUSH2 0x556 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x55E PUSH2 0x8CD JUMP JUMPDEST PUSH2 0x567 DUP4 PUSH2 0xD97 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x578 SWAP3 SWAP2 SWAP1 PUSH2 0x17E3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x597 DUP2 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x5F7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x600 DUP2 PUSH2 0xEA0 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x339 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x6D5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x422 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x71B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST PUSH2 0x725 PUSH1 0x0 PUSH2 0xF47 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x751 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST DUP2 PUSH2 0x764 PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x7BB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x4E6F7420416C6C6F776C697374204F776E657221 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x7C4 DUP3 PUSH2 0xF99 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x34E SWAP1 PUSH2 0x17A9 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x7E3 DUP3 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0x82F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x848 SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x874 SWAP1 PUSH2 0x17A9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x8C1 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x896 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x8C1 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8A4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x6 DUP1 SLOAD PUSH2 0x8DC SWAP1 PUSH2 0x17A9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x91D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH2 0x34E SWAP1 PUSH2 0x17A9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x978 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP3 MLOAD PUSH1 0x41 EQ PUSH2 0x9C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x9CE DUP5 DUP5 PUSH2 0xA5F JUMP JUMPDEST PUSH2 0xA16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0xA21 DUP6 DUP4 DUP4 PUSH2 0xFEB JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH32 0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6B DUP4 DUP4 PUSH2 0x1002 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xADC JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB30 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xB95 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x600 DUP2 PUSH2 0xF47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBF6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0xBFF DUP3 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0xC41 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC54 DUP4 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xCAA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCDA DUP3 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0xD1C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xD2F DUP4 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xD85 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0xD8E DUP3 PUSH2 0x11A8 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0xDBE JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xDE8 JUMPI DUP1 PUSH2 0xDD2 DUP2 PUSH2 0x185D JUMP JUMPDEST SWAP2 POP PUSH2 0xDE1 SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x188C JUMP JUMPDEST SWAP2 POP PUSH2 0xDC2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xE03 JUMPI PUSH2 0xE03 PUSH2 0x14DE JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xE2D JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0xE98 JUMPI PUSH2 0xE42 PUSH1 0x1 DUP4 PUSH2 0x18A0 JUMP JUMPDEST SWAP2 POP PUSH2 0xE4F PUSH1 0xA DUP7 PUSH2 0x18B7 JUMP JUMPDEST PUSH2 0xE5A SWAP1 PUSH1 0x30 PUSH2 0x18CB JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xE6F JUMPI PUSH2 0xE6F PUSH2 0x18E3 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0xE91 PUSH1 0xA DUP7 PUSH2 0x188C JUMP JUMPDEST SWAP5 POP PUSH2 0xE31 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEAB DUP3 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0xED9 SWAP1 DUP5 SWAP1 PUSH2 0x18A0 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0xF0D SWAP2 PUSH2 0x1403 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0xFDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x92DCECC2D8D2C840D8CADCCEE8D PUSH1 0x93 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x6 PUSH2 0xFE7 DUP3 DUP3 PUSH2 0x1947 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFF8 DUP5 DUP5 DUP5 PUSH2 0x123E JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x102F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x422 SWAP1 PUSH2 0x1812 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x109D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x3C903737B716B7BBB732B9 PUSH1 0xA9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x422 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x10EE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP1 DUP8 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE SWAP7 DUP2 ADD DUP1 DUP7 MSTORE DUP11 SWAP1 MSTORE SWAP1 DUP7 BYTE SWAP4 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP3 SWAP1 MSTORE SWAP3 SWAP4 SWAP1 SWAP3 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1152 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT DUP2 ADD MLOAD PUSH1 0x8 SLOAD SWAP1 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 AND EQ SWAP2 POP DUP2 SWAP1 DUP10 SWAP1 PUSH32 0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36 SWAP1 PUSH1 0x0 SWAP1 LOG3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x11B1 DUP2 PUSH2 0xCB2 JUMP JUMPDEST PUSH2 0x11FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1208 DUP3 PUSH2 0x603 JUMP JUMPDEST SWAP1 POP PUSH2 0x1213 DUP3 PUSH2 0xEA0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x128C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x12CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x22B6B83A3C903A37B5B2B72AA92497 PUSH1 0x89 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH2 0x12DA DUP4 DUP4 DUP4 PUSH2 0x130C JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1317 DUP4 PUSH2 0xCB2 JUMP JUMPDEST ISZERO PUSH2 0x135B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x6D696E743A20746F6B656E494420657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x422 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x1384 SWAP1 DUP5 SWAP1 PUSH2 0x18CB JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH2 0x13C4 DUP4 DUP3 PUSH2 0x1947 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x140F SWAP1 PUSH2 0x17A9 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x141F JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x600 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x144D JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1439 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1463 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xA6B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1496 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x147E JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x14A5 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x14CA DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x147B JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1505 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1520 JUMPI PUSH2 0x1520 PUSH2 0x14DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x1548 JUMPI PUSH2 0x1548 PUSH2 0x14DE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x1561 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1596 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x15B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15C0 DUP7 DUP3 DUP8 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1601 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1619 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1622 DUP4 PUSH2 0x15EA JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1642 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA6B DUP3 PUSH2 0x15EA JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x165E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1667 DUP4 PUSH2 0x15EA JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x168F DUP6 DUP3 DUP7 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x16B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16BA DUP7 PUSH2 0x15EA JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x16DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x16EA DUP10 DUP4 DUP11 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1707 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1714 DUP9 DUP3 DUP10 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1734 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1683 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1767 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1770 DUP5 PUSH2 0x15EA JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1793 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x179F DUP7 DUP3 DUP8 ADD PUSH2 0x14F4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x17BD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x17DD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x17F5 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x147B JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x1809 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x147B JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x186F JUMPI PUSH2 0x186F PUSH2 0x1847 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x189B JUMPI PUSH2 0x189B PUSH2 0x1876 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x18B2 JUMPI PUSH2 0x18B2 PUSH2 0x1847 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x18C6 JUMPI PUSH2 0x18C6 PUSH2 0x1876 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x18DE JUMPI PUSH2 0x18DE PUSH2 0x1847 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x7C4 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1920 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x193F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x192C JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1961 JUMPI PUSH2 0x1961 PUSH2 0x14DE JUMP JUMPDEST PUSH2 0x1975 DUP2 PUSH2 0x196F DUP5 SLOAD PUSH2 0x17A9 JUMP JUMPDEST DUP5 PUSH2 0x18F9 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x19AA JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1992 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x193F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x19D9 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x19BA JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x19F7 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA6 0xBA SLT SWAP10 0xB8 0xBA REVERT 0xBC BASEFEE 0x4D SWAP2 SMOD 0xEC 0xB8 0x5D 0xCE 0xE7 SSTORE 0xC4 DUP1 0xD 0xCC 0xE4 0xEE 0x4E 0xE0 0xDA 0x29 0xE3 DELEGATECALL CALLVALUE 0xF7 PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "MSTORE", + "path": "38" + }, + "5": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "CALLVALUE", + "path": "38" + }, + "6": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "7": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "ISZERO", + "path": "38" + }, + "8": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "12": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "REVERT", + "path": "38" + }, + "16": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPDEST", + "path": "38" + }, + "17": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "POP", + "path": "38" + }, + "18": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "21": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "LT", + "path": "38" + }, + "22": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x12C" + }, + "25": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "26": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "CALLDATALOAD", + "path": "38" + }, + "29": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "SHR", + "path": "38" + }, + "32": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "33": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x88433651" + }, + "38": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "GT", + "path": "38" + }, + "39": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0xAD" + }, + "42": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "43": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "44": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xC9E4C54D" + }, + "49": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "GT", + "path": "38" + }, + "50": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x71" + }, + "53": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "54": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "55": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xC9E4C54D" + }, + "60": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "61": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x28E" + }, + "64": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "65": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "66": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xDACA6F78" + }, + "71": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "72": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2A1" + }, + "75": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "76": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "77": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xE92B0842" + }, + "82": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "83": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2B4" + }, + "86": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "87": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "88": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xF2FDE38B" + }, + "93": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "94": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2C7" + }, + "97": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "98": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "99": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xFB8F198D" + }, + "104": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "105": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2DA" + }, + "108": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "109": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "111": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "112": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "REVERT", + "path": "38" + }, + "113": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPDEST", + "path": "38" + }, + "114": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "115": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x88433651" + }, + "120": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "121": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x247" + }, + "124": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "125": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "126": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x8DA5CB5B" + }, + "131": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "132": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x25A" + }, + "135": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "136": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "137": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x95D89B41" + }, + "142": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "143": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x26B" + }, + "146": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "147": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "148": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xC87B56DD" + }, + "153": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "154": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x273" + }, + "157": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "158": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "159": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0xC9DD94C7" + }, + "164": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "165": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x286" + }, + "168": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "169": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "171": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "172": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "REVERT", + "path": "38" + }, + "173": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPDEST", + "path": "38" + }, + "174": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "175": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x5899E7B2" + }, + "180": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "GT", + "path": "38" + }, + "181": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF4" + }, + "184": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "185": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "186": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x5899E7B2" + }, + "191": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "192": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A9" + }, + "195": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "196": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "197": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x6352211E" + }, + "202": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "203": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1E2" + }, + "206": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "207": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "208": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x6E0A8746" + }, + "213": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "214": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x20D" + }, + "217": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "218": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "219": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x70A08231" + }, + "224": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "225": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x21E" + }, + "228": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "229": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "230": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x715018A6" + }, + "235": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "236": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x23F" + }, + "239": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "240": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "242": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "243": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "REVERT", + "path": "38" + }, + "244": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPDEST", + "path": "38" + }, + "245": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "246": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x1FFC9A7" + }, + "251": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "252": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x131" + }, + "255": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "256": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "257": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x6FDDE03" + }, + "262": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "263": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x159" + }, + "266": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "267": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "268": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x8C92E57" + }, + "273": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "274": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x16E" + }, + "277": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "278": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "279": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x210FA96B" + }, + "284": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "285": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x183" + }, + "288": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "289": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "290": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH4", + "path": "38", + "value": "0x42966C68" + }, + "295": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "EQ", + "path": "38" + }, + "296": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH2", + "path": "38", + "value": "0x196" + }, + "299": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPI", + "path": "38" + }, + "300": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "JUMPDEST", + "path": "38" + }, + "301": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "303": { + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "DUP1", + "path": "38" + }, + "304": { + "first_revert": true, + "fn": null, + "offset": [ + 857, + 7365 + ], + "op": "REVERT", + "path": "38" + }, + "305": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "306": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x144" + }, + "309": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x13F" + }, + "312": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "313": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "315": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1451" + }, + "318": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "319": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "320": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2ED" + }, + "323": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "324": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "325": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "327": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "328": { + "op": "SWAP1" + }, + "329": { + "op": "ISZERO" + }, + "330": { + "op": "ISZERO" + }, + "331": { + "op": "DUP2" + }, + "332": { + "op": "MSTORE" + }, + "333": { + "op": "PUSH1", + "value": "0x20" + }, + "335": { + "op": "ADD" + }, + "336": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "337": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "339": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "340": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "DUP1", + "path": "41" + }, + "341": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "342": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SUB", + "path": "41" + }, + "343": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP1", + "path": "41" + }, + "344": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "RETURN", + "path": "41" + }, + "345": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "346": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x161" + }, + "349": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x33F" + }, + "352": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "353": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "354": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "356": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "MLOAD", + "path": "41" + }, + "357": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x150" + }, + "360": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP2", + "path": "41" + }, + "361": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "362": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x14AB" + }, + "365": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "366": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "367": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x181" + }, + "370": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x17C" + }, + "373": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "374": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "376": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1581" + }, + "379": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "380": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "381": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x3D1" + }, + "384": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "385": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "386": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "STOP", + "path": "38" + }, + "387": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "388": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x161" + }, + "391": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x191" + }, + "394": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "395": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "397": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x15D1" + }, + "400": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "401": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "402": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x50C" + }, + "405": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "406": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "407": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x181" + }, + "410": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1A4" + }, + "413": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "414": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "416": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x15D1" + }, + "419": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "420": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "421": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x58E" + }, + "424": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "425": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "426": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x144" + }, + "429": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1B7" + }, + "432": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "433": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "435": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1606" + }, + "438": { + "fn": "Soulbound.isMinted", + "jump": "i", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "439": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "440": { + "op": "PUSH1", + "value": "0x1" + }, + "442": { + "op": "PUSH1", + "value": "0x1" + }, + "444": { + "op": "PUSH1", + "value": "0xA0" + }, + "446": { + "op": "SHL" + }, + "447": { + "op": "SUB" + }, + "448": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37", + "statement": 0 + }, + "449": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "450": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37" + }, + "451": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "AND", + "path": "37" + }, + "452": { + "fn": "Soulbound.isMinted", + "offset": [ + 5319, + 5323 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "454": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "455": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "456": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "457": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5351 + ], + "op": "PUSH1", + "path": "37", + "value": "0x7" + }, + "459": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "461": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "462": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "463": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "464": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "466": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP1", + "path": "37" + }, + "467": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP4", + "path": "37" + }, + "468": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "KECCAK256", + "path": "37" + }, + "469": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP4", + "path": "37" + }, + "470": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "DUP4", + "path": "37" + }, + "471": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "472": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP3", + "path": "37" + }, + "473": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "474": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "475": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "KECCAK256", + "path": "37" + }, + "476": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SLOAD", + "path": "37" + }, + "477": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "PUSH1", + "path": "37", + "value": "0xFF" + }, + "479": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "AND", + "path": "37" + }, + "480": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "481": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "482": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "483": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1F5" + }, + "486": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1F0" + }, + "489": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "490": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "492": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x15D1" + }, + "495": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "496": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "497": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x603" + }, + "500": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "501": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "502": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "504": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "MLOAD", + "path": "41" + }, + "505": { + "op": "PUSH1", + "value": "0x1" + }, + "507": { + "op": "PUSH1", + "value": "0x1" + }, + "509": { + "op": "PUSH1", + "value": "0xA0" + }, + "511": { + "op": "SHL" + }, + "512": { + "op": "SUB" + }, + "513": { + "op": "SWAP1" + }, + "514": { + "op": "SWAP2" + }, + "515": { + "op": "AND" + }, + "516": { + "op": "DUP2" + }, + "517": { + "op": "MSTORE" + }, + "518": { + "op": "PUSH1", + "value": "0x20" + }, + "520": { + "op": "ADD" + }, + "521": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x150" + }, + "524": { + "op": "JUMP" + }, + "525": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPDEST", + "path": "14" + }, + "526": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "statement": 1, + "value": "0x8" + }, + "528": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "529": { + "op": "PUSH1", + "value": "0x1" + }, + "531": { + "op": "PUSH1", + "value": "0x1" + }, + "533": { + "op": "PUSH1", + "value": "0xA0" + }, + "535": { + "op": "SHL" + }, + "536": { + "op": "SUB" + }, + "537": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "538": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1F5" + }, + "541": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "542": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "543": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x231" + }, + "546": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x22C" + }, + "549": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "550": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "552": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1630" + }, + "555": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "556": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "557": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x668" + }, + "560": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "561": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "562": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "564": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "MLOAD", + "path": "41" + }, + "565": { + "op": "SWAP1" + }, + "566": { + "op": "DUP2" + }, + "567": { + "op": "MSTORE" + }, + "568": { + "op": "PUSH1", + "value": "0x20" + }, + "570": { + "op": "ADD" + }, + "571": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x150" + }, + "574": { + "op": "JUMP" + }, + "575": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "576": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x181" + }, + "579": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6F1" + }, + "582": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "583": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "584": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x181" + }, + "587": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x255" + }, + "590": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "591": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "593": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x164B" + }, + "596": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5539, + 5739 + ], + "op": "JUMP", + "path": "38" + }, + "597": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "598": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x727" + }, + "601": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5539, + 5739 + ], + "op": "JUMP", + "path": "38" + }, + "602": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "603": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "statement": 2, + "value": "0x5" + }, + "605": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "606": { + "op": "PUSH1", + "value": "0x1" + }, + "608": { + "op": "PUSH1", + "value": "0x1" + }, + "610": { + "op": "PUSH1", + "value": "0xA0" + }, + "612": { + "op": "SHL" + }, + "613": { + "op": "SUB" + }, + "614": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "615": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1F5" + }, + "618": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "619": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "620": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x161" + }, + "623": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7C9" + }, + "626": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4886, + 4988 + ], + "op": "JUMP", + "path": "41" + }, + "627": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "628": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x161" + }, + "631": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x281" + }, + "634": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "635": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "637": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x15D1" + }, + "640": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "641": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "642": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7D8" + }, + "645": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "646": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "647": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x161" + }, + "650": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x8CD" + }, + "653": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7425, + 7673 + ], + "op": "JUMP", + "path": "37" + }, + "654": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "655": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x181" + }, + "658": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x29C" + }, + "661": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "662": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "664": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1699" + }, + "667": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "668": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "669": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x92A" + }, + "672": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "673": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "674": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x144" + }, + "677": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2AF" + }, + "680": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "681": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "683": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1721" + }, + "686": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "687": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "688": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0xA5F" + }, + "691": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "692": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "693": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x144" + }, + "696": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2C2" + }, + "699": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "700": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "702": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1752" + }, + "705": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "706": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "707": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0xA72" + }, + "710": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "711": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "712": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x181" + }, + "715": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2D5" + }, + "718": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "719": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "721": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1630" + }, + "724": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "725": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "726": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB06" + }, + "729": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "730": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "731": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1F5" + }, + "734": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2E8" + }, + "737": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "738": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "740": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1606" + }, + "743": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "744": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "745": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0xB9E" + }, + "748": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "749": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "750": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4573, + 4577 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "752": { + "op": "PUSH1", + "value": "0x1" + }, + "754": { + "op": "PUSH1", + "value": "0x1" + }, + "756": { + "op": "PUSH1", + "value": "0xE0" + }, + "758": { + "op": "SHL" + }, + "759": { + "op": "SUB" + }, + "760": { + "op": "NOT" + }, + "761": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP3", + "path": "41", + "statement": 3 + }, + "762": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "AND", + "path": "41" + }, + "763": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "768": { + "op": "PUSH1", + "value": "0xE0" + }, + "770": { + "op": "SHL" + }, + "771": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "EQ", + "path": "41" + }, + "772": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP1", + "path": "41" + }, + "773": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "PUSH2", + "path": "41", + "value": "0x31E" + }, + "776": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPI", + "path": "41" + }, + "777": { + "op": "POP" + }, + "778": { + "op": "PUSH1", + "value": "0x1" + }, + "780": { + "op": "PUSH1", + "value": "0x1" + }, + "782": { + "op": "PUSH1", + "value": "0xE0" + }, + "784": { + "op": "SHL" + }, + "785": { + "op": "SUB" + }, + "786": { + "op": "NOT" + }, + "787": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "DUP3", + "path": "41" + }, + "788": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "AND", + "path": "41" + }, + "789": { + "op": "PUSH4", + "value": "0x5164CF47" + }, + "794": { + "op": "PUSH1", + "value": "0xE0" + }, + "796": { + "op": "SHL" + }, + "797": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "EQ", + "path": "41" + }, + "798": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPDEST", + "path": "41" + }, + "799": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "DUP1", + "path": "41" + }, + "800": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "PUSH2", + "path": "41", + "value": "0x339" + }, + "803": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "JUMPI", + "path": "41" + }, + "804": { + "op": "POP" + }, + "805": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "810": { + "op": "PUSH1", + "value": "0xE0" + }, + "812": { + "op": "SHL" + }, + "813": { + "op": "PUSH1", + "value": "0x1" + }, + "815": { + "op": "PUSH1", + "value": "0x1" + }, + "817": { + "op": "PUSH1", + "value": "0xE0" + }, + "819": { + "op": "SHL" + }, + "820": { + "op": "SUB" + }, + "821": { + "op": "NOT" + }, + "822": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "DUP4", + "path": "41", + "statement": 4 + }, + "823": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "AND", + "path": "41" + }, + "824": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "EQ", + "path": "41" + }, + "825": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4733, + 4769 + ], + "op": "JUMPDEST", + "path": "41" + }, + "826": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4593, + 4769 + ], + "op": "SWAP3", + "path": "41" + }, + "827": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "828": { + "op": "POP" + }, + "829": { + "op": "POP" + }, + "830": { + "fn": "ERC4973.supportsInterface", + "jump": "o", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "831": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "832": { + "fn": "ERC4973.name", + "offset": [ + 4836, + 4849 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "834": { + "fn": "ERC4973.name", + "offset": [ + 4868, + 4873 + ], + "op": "PUSH1", + "path": "41", + "statement": 5, + "value": "0x0" + }, + "836": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "837": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "838": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x34E" + }, + "841": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "842": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x17A9" + }, + "845": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "846": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "847": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "848": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "850": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "851": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "853": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "854": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "855": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "856": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "857": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "859": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "860": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "862": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MLOAD", + "path": "41" + }, + "863": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "864": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "865": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "866": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "868": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "869": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "870": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP3", + "path": "41" + }, + "871": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "872": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "873": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "874": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "875": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "876": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "878": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "879": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "880": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "881": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "882": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x37A" + }, + "885": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "886": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x17A9" + }, + "889": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "890": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "891": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "892": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ISZERO", + "path": "41" + }, + "893": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3C7" + }, + "896": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "897": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "898": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "900": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "LT", + "path": "41" + }, + "901": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x39C" + }, + "904": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "905": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "908": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "909": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "910": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "911": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "912": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "913": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "914": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "915": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "916": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "918": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "919": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "920": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3C7" + }, + "923": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "924": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "925": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "926": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "927": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "928": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "929": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "931": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "932": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "934": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "936": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "KECCAK256", + "path": "41" + }, + "937": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "938": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "939": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "940": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "941": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "942": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "943": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "944": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "946": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "947": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "948": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "950": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "951": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "952": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "953": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "GT", + "path": "41" + }, + "954": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3AA" + }, + "957": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "958": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "959": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "960": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SUB", + "path": "41" + }, + "961": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "963": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "AND", + "path": "41" + }, + "964": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "965": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "966": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "967": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "968": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "969": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "970": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "971": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "972": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "973": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "974": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "975": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "976": { + "fn": "ERC4973.name", + "jump": "o", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "977": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "978": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4471 + ], + "op": "PUSH2", + "path": "38", + "statement": 6, + "value": "0x3DA" + }, + "981": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4463, + 4470 + ], + "op": "DUP2", + "path": "38" + }, + "982": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4462 + ], + "op": "PUSH2", + "path": "38", + "value": "0xCB2" + }, + "985": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4455, + 4471 + ], + "op": "JUMP", + "path": "38" + }, + "986": { + "branch": 78, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4471 + ], + "op": "JUMPDEST", + "path": "38" + }, + "987": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH2", + "path": "38", + "value": "0x42B" + }, + "990": { + "branch": 78, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPI", + "path": "38" + }, + "991": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "993": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MLOAD", + "path": "38" + }, + "994": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "998": { + "op": "PUSH1", + "value": "0xE5" + }, + "1000": { + "op": "SHL" + }, + "1001": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP2", + "path": "38" + }, + "1002": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MSTORE", + "path": "38" + }, + "1003": { + "op": "PUSH1", + "value": "0x20" + }, + "1005": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1007": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP3", + "path": "38" + }, + "1008": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "ADD", + "path": "38" + }, + "1009": { + "op": "MSTORE" + }, + "1010": { + "op": "PUSH1", + "value": "0x1B" + }, + "1012": { + "op": "PUSH1", + "value": "0x24" + }, + "1014": { + "op": "DUP3" + }, + "1015": { + "op": "ADD" + }, + "1016": { + "op": "MSTORE" + }, + "1017": { + "op": "PUSH32", + "value": "0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000" + }, + "1050": { + "op": "PUSH1", + "value": "0x44" + }, + "1052": { + "op": "DUP3" + }, + "1053": { + "op": "ADD" + }, + "1054": { + "op": "MSTORE" + }, + "1055": { + "op": "PUSH1", + "value": "0x64" + }, + "1057": { + "op": "ADD" + }, + "1058": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1059": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1061": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MLOAD", + "path": "38" + }, + "1062": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP1", + "path": "38" + }, + "1063": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "SWAP2", + "path": "38" + }, + "1064": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "SUB", + "path": "38" + }, + "1065": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "SWAP1", + "path": "38" + }, + "1066": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "38" + }, + "1067": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1068": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4741 + ], + "op": "DUP2", + "path": "38", + "statement": 7 + }, + "1069": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4748 + ], + "op": "MLOAD", + "path": "38" + }, + "1070": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4752, + 4754 + ], + "op": "PUSH1", + "path": "38", + "value": "0x41" + }, + "1072": { + "branch": 79, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4754 + ], + "op": "EQ", + "path": "38" + }, + "1073": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH2", + "path": "38", + "value": "0x477" + }, + "1076": { + "branch": 79, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "JUMPI", + "path": "38" + }, + "1077": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1079": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "MLOAD", + "path": "38" + }, + "1080": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1084": { + "op": "PUSH1", + "value": "0xE5" + }, + "1086": { + "op": "SHL" + }, + "1087": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "DUP2", + "path": "38" + }, + "1088": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "MSTORE", + "path": "38" + }, + "1089": { + "op": "PUSH1", + "value": "0x20" + }, + "1091": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1093": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "DUP3", + "path": "38" + }, + "1094": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "ADD", + "path": "38" + }, + "1095": { + "op": "MSTORE" + }, + "1096": { + "op": "PUSH1", + "value": "0x18" + }, + "1098": { + "op": "PUSH1", + "value": "0x24" + }, + "1100": { + "op": "DUP3" + }, + "1101": { + "op": "ADD" + }, + "1102": { + "op": "MSTORE" + }, + "1103": { + "op": "PUSH24", + "value": "0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D" + }, + "1128": { + "op": "PUSH1", + "value": "0x43" + }, + "1130": { + "op": "SHL" + }, + "1131": { + "op": "PUSH1", + "value": "0x44" + }, + "1133": { + "op": "DUP3" + }, + "1134": { + "op": "ADD" + }, + "1135": { + "op": "MSTORE" + }, + "1136": { + "op": "PUSH1", + "value": "0x64" + }, + "1138": { + "op": "ADD" + }, + "1139": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH2", + "path": "38", + "value": "0x422" + }, + "1142": { + "op": "JUMP" + }, + "1143": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1144": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4936 + ], + "op": "PUSH2", + "path": "38", + "statement": 8, + "value": "0x481" + }, + "1147": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4926, + 4930 + ], + "op": "DUP4", + "path": "38" + }, + "1148": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4932, + 4935 + ], + "op": "DUP4", + "path": "38" + }, + "1149": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4925 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA5F" + }, + "1152": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4910, + 4936 + ], + "op": "JUMP", + "path": "38" + }, + "1153": { + "branch": 80, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4936 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1154": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH2", + "path": "38", + "value": "0x4C9" + }, + "1157": { + "branch": 80, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "JUMPI", + "path": "38" + }, + "1158": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1160": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "MLOAD", + "path": "38" + }, + "1161": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1165": { + "op": "PUSH1", + "value": "0xE5" + }, + "1167": { + "op": "SHL" + }, + "1168": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "DUP2", + "path": "38" + }, + "1169": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "MSTORE", + "path": "38" + }, + "1170": { + "op": "PUSH1", + "value": "0x20" + }, + "1172": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1174": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "DUP3", + "path": "38" + }, + "1175": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "ADD", + "path": "38" + }, + "1176": { + "op": "MSTORE" + }, + "1177": { + "op": "PUSH1", + "value": "0x19" + }, + "1179": { + "op": "PUSH1", + "value": "0x24" + }, + "1181": { + "op": "DUP3" + }, + "1182": { + "op": "ADD" + }, + "1183": { + "op": "MSTORE" + }, + "1184": { + "op": "PUSH25", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917" + }, + "1210": { + "op": "PUSH1", + "value": "0x39" + }, + "1212": { + "op": "SHL" + }, + "1213": { + "op": "PUSH1", + "value": "0x44" + }, + "1215": { + "op": "DUP3" + }, + "1216": { + "op": "ADD" + }, + "1217": { + "op": "MSTORE" + }, + "1218": { + "op": "PUSH1", + "value": "0x64" + }, + "1220": { + "op": "ADD" + }, + "1221": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH2", + "path": "38", + "value": "0x422" + }, + "1224": { + "op": "JUMP" + }, + "1225": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1226": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5098 + ], + "op": "PUSH2", + "path": "38", + "statement": 9, + "value": "0x4DB" + }, + "1229": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5088 + ], + "op": "PUSH2", + "path": "38", + "value": "0x4D5" + }, + "1232": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5080, + 5087 + ], + "op": "DUP3", + "path": "38" + }, + "1233": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5079 + ], + "op": "PUSH2", + "path": "38", + "value": "0x603" + }, + "1236": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 5072, + 5088 + ], + "op": "JUMP", + "path": "38" + }, + "1237": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5088 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1238": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5090, + 5097 + ], + "op": "DUP3", + "path": "38" + }, + "1239": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5071 + ], + "op": "PUSH2", + "path": "38", + "value": "0xCCF" + }, + "1242": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 5065, + 5098 + ], + "op": "JUMP", + "path": "38" + }, + "1243": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5098 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1244": { + "op": "POP" + }, + "1245": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH1", + "path": "38", + "statement": 10, + "value": "0x40" + }, + "1247": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "MLOAD", + "path": "38" + }, + "1248": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5186, + 5193 + ], + "op": "DUP2", + "path": "38" + }, + "1249": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5186, + 5193 + ], + "op": "SWAP1", + "path": "38" + }, + "1250": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH32", + "path": "38", + "value": "0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC" + }, + "1283": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "SWAP1", + "path": "38" + }, + "1284": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "1286": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "SWAP1", + "path": "38" + }, + "1287": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "LOG2", + "path": "38" + }, + "1288": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "1289": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "1290": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "1291": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "o", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "1292": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1293": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6227, + 6250 + ], + "op": "PUSH1", + "path": "38", + "value": "0x60" + }, + "1295": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6353 + ], + "op": "PUSH2", + "path": "38", + "statement": 11, + "value": "0x516" + }, + "1298": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6351 + ], + "op": "PUSH2", + "path": "38", + "value": "0x8CD" + }, + "1301": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6340, + 6353 + ], + "op": "JUMP", + "path": "38" + }, + "1302": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6353 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1303": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6334, + 6361 + ], + "op": "MLOAD", + "path": "38" + }, + "1304": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6365, + 6366 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "1306": { + "branch": 81, + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6334, + 6366 + ], + "op": "SUB", + "path": "38" + }, + "1307": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH2", + "path": "38", + "value": "0x556" + }, + "1310": { + "branch": 81, + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "JUMPI", + "path": "38" + }, + "1311": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1313": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "MLOAD", + "path": "38" + }, + "1314": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1318": { + "op": "PUSH1", + "value": "0xE5" + }, + "1320": { + "op": "SHL" + }, + "1321": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "DUP2", + "path": "38" + }, + "1322": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "MSTORE", + "path": "38" + }, + "1323": { + "op": "PUSH1", + "value": "0x20" + }, + "1325": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1327": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "DUP3", + "path": "38" + }, + "1328": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "ADD", + "path": "38" + }, + "1329": { + "op": "MSTORE" + }, + "1330": { + "op": "PUSH1", + "value": "0xD" + }, + "1332": { + "op": "PUSH1", + "value": "0x24" + }, + "1334": { + "op": "DUP3" + }, + "1335": { + "op": "ADD" + }, + "1336": { + "op": "MSTORE" + }, + "1337": { + "op": "PUSH13", + "value": "0x456D7074792062617365555249" + }, + "1351": { + "op": "PUSH1", + "value": "0x98" + }, + "1353": { + "op": "SHL" + }, + "1354": { + "op": "PUSH1", + "value": "0x44" + }, + "1356": { + "op": "DUP3" + }, + "1357": { + "op": "ADD" + }, + "1358": { + "op": "MSTORE" + }, + "1359": { + "op": "PUSH1", + "value": "0x64" + }, + "1361": { + "op": "ADD" + }, + "1362": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH2", + "path": "38", + "value": "0x422" + }, + "1365": { + "op": "JUMP" + }, + "1366": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1367": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6493 + ], + "op": "PUSH2", + "path": "38", + "statement": 12, + "value": "0x55E" + }, + "1370": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6491 + ], + "op": "PUSH2", + "path": "38", + "value": "0x8CD" + }, + "1373": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6480, + 6493 + ], + "op": "JUMP", + "path": "38" + }, + "1374": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6493 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1375": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6512 + ], + "op": "PUSH2", + "path": "38", + "value": "0x567" + }, + "1378": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6504, + 6511 + ], + "op": "DUP4", + "path": "38" + }, + "1379": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6503 + ], + "op": "PUSH2", + "path": "38", + "value": "0xD97" + }, + "1382": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6495, + 6512 + ], + "op": "JUMP", + "path": "38" + }, + "1383": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6512 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1384": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1386": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MLOAD", + "path": "38" + }, + "1387": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "1389": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "ADD", + "path": "38" + }, + "1390": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH2", + "path": "38", + "value": "0x578" + }, + "1393": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP3", + "path": "38" + }, + "1394": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP2", + "path": "38" + }, + "1395": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP1", + "path": "38" + }, + "1396": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH2", + "path": "38", + "value": "0x17E3" + }, + "1399": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6463, + 6513 + ], + "op": "JUMP", + "path": "38" + }, + "1400": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1401": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1403": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MLOAD", + "path": "38" + }, + "1404": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "1406": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP2", + "path": "38" + }, + "1407": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP4", + "path": "38" + }, + "1408": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SUB", + "path": "38" + }, + "1409": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SUB", + "path": "38" + }, + "1410": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP2", + "path": "38" + }, + "1411": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MSTORE", + "path": "38" + }, + "1412": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP1", + "path": "38" + }, + "1413": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1415": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MSTORE", + "path": "38" + }, + "1416": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6444, + 6514 + ], + "op": "SWAP1", + "path": "38" + }, + "1417": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6444, + 6514 + ], + "op": "POP", + "path": "38" + }, + "1418": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "SWAP2", + "path": "38" + }, + "1419": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "SWAP1", + "path": "38" + }, + "1420": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "POP", + "path": "38" + }, + "1421": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "o", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "1422": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1423": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "PUSH2", + "path": "41", + "statement": 13, + "value": "0x597" + }, + "1426": { + "fn": "ERC4973.burn", + "offset": [ + 5338, + 5345 + ], + "op": "DUP2", + "path": "41" + }, + "1427": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x603" + }, + "1430": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5330, + 5346 + ], + "op": "JUMP", + "path": "41" + }, + "1431": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1432": { + "op": "PUSH1", + "value": "0x1" + }, + "1434": { + "op": "PUSH1", + "value": "0x1" + }, + "1436": { + "op": "PUSH1", + "value": "0xA0" + }, + "1438": { + "op": "SHL" + }, + "1439": { + "op": "SUB" + }, + "1440": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "1441": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5326 + ], + "op": "CALLER", + "path": "41" + }, + "1442": { + "op": "PUSH1", + "value": "0x1" + }, + "1444": { + "op": "PUSH1", + "value": "0x1" + }, + "1446": { + "op": "PUSH1", + "value": "0xA0" + }, + "1448": { + "op": "SHL" + }, + "1449": { + "op": "SUB" + }, + "1450": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "1451": { + "branch": 89, + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "EQ", + "path": "41" + }, + "1452": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH2", + "path": "41", + "value": "0x5F7" + }, + "1455": { + "branch": 89, + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPI", + "path": "41" + }, + "1456": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1458": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MLOAD", + "path": "41" + }, + "1459": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1463": { + "op": "PUSH1", + "value": "0xE5" + }, + "1465": { + "op": "SHL" + }, + "1466": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP2", + "path": "41" + }, + "1467": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MSTORE", + "path": "41" + }, + "1468": { + "op": "PUSH1", + "value": "0x20" + }, + "1470": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1472": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP3", + "path": "41" + }, + "1473": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "ADD", + "path": "41" + }, + "1474": { + "op": "MSTORE" + }, + "1475": { + "op": "PUSH1", + "value": "0x1A" + }, + "1477": { + "op": "PUSH1", + "value": "0x24" + }, + "1479": { + "op": "DUP3" + }, + "1480": { + "op": "ADD" + }, + "1481": { + "op": "MSTORE" + }, + "1482": { + "op": "PUSH32", + "value": "0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000" + }, + "1515": { + "op": "PUSH1", + "value": "0x44" + }, + "1517": { + "op": "DUP3" + }, + "1518": { + "op": "ADD" + }, + "1519": { + "op": "MSTORE" + }, + "1520": { + "op": "PUSH1", + "value": "0x64" + }, + "1522": { + "op": "ADD" + }, + "1523": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH2", + "path": "41", + "value": "0x422" + }, + "1526": { + "op": "JUMP" + }, + "1527": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1528": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "PUSH2", + "path": "41", + "statement": 14, + "value": "0x600" + }, + "1531": { + "fn": "ERC4973.burn", + "offset": [ + 5393, + 5400 + ], + "op": "DUP2", + "path": "41" + }, + "1532": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5392 + ], + "op": "PUSH2", + "path": "41", + "value": "0xEA0" + }, + "1535": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5387, + 5401 + ], + "op": "JUMP", + "path": "41" + }, + "1536": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1537": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "POP", + "path": "41" + }, + "1538": { + "fn": "ERC4973.burn", + "jump": "o", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "1539": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1540": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5768, + 5775 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1542": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "1543": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "1544": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "1545": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5810 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "1547": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1549": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "1550": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1552": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "1553": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "KECCAK256", + "path": "41" + }, + "1554": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "SLOAD", + "path": "41" + }, + "1555": { + "op": "PUSH1", + "value": "0x1" + }, + "1557": { + "op": "PUSH1", + "value": "0x1" + }, + "1559": { + "op": "PUSH1", + "value": "0xA0" + }, + "1561": { + "op": "SHL" + }, + "1562": { + "op": "SUB" + }, + "1563": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "AND", + "path": "41" + }, + "1564": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP1", + "path": "41" + }, + "1565": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "statement": 15, + "value": "0x339" + }, + "1568": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "JUMPI", + "path": "41" + }, + "1569": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1571": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MLOAD", + "path": "41" + }, + "1572": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1576": { + "op": "PUSH1", + "value": "0xE5" + }, + "1578": { + "op": "SHL" + }, + "1579": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP2", + "path": "41" + }, + "1580": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MSTORE", + "path": "41" + }, + "1581": { + "op": "PUSH1", + "value": "0x20" + }, + "1583": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1585": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP3", + "path": "41" + }, + "1586": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "ADD", + "path": "41" + }, + "1587": { + "op": "MSTORE" + }, + "1588": { + "op": "PUSH1", + "value": "0x1C" + }, + "1590": { + "op": "PUSH1", + "value": "0x24" + }, + "1592": { + "op": "DUP3" + }, + "1593": { + "op": "ADD" + }, + "1594": { + "op": "MSTORE" + }, + "1595": { + "op": "PUSH32", + "value": "0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000" + }, + "1628": { + "op": "PUSH1", + "value": "0x44" + }, + "1630": { + "op": "DUP3" + }, + "1631": { + "op": "ADD" + }, + "1632": { + "op": "MSTORE" + }, + "1633": { + "op": "PUSH1", + "value": "0x64" + }, + "1635": { + "op": "ADD" + }, + "1636": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "value": "0x422" + }, + "1639": { + "op": "JUMP" + }, + "1640": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1641": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5526, + 5533 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1643": { + "op": "PUSH1", + "value": "0x1" + }, + "1645": { + "op": "PUSH1", + "value": "0x1" + }, + "1647": { + "op": "PUSH1", + "value": "0xA0" + }, + "1649": { + "op": "SHL" + }, + "1650": { + "op": "SUB" + }, + "1651": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "DUP3", + "path": "41", + "statement": 16 + }, + "1652": { + "branch": 90, + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "AND", + "path": "41" + }, + "1653": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6D5" + }, + "1656": { + "branch": 90, + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPI", + "path": "41" + }, + "1657": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1659": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MLOAD", + "path": "41" + }, + "1660": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1664": { + "op": "PUSH1", + "value": "0xE5" + }, + "1666": { + "op": "SHL" + }, + "1667": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP2", + "path": "41" + }, + "1668": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MSTORE", + "path": "41" + }, + "1669": { + "op": "PUSH1", + "value": "0x20" + }, + "1671": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1673": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP3", + "path": "41" + }, + "1674": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "ADD", + "path": "41" + }, + "1675": { + "op": "MSTORE" + }, + "1676": { + "op": "PUSH1", + "value": "0x2C" + }, + "1678": { + "op": "PUSH1", + "value": "0x24" + }, + "1680": { + "op": "DUP3" + }, + "1681": { + "op": "ADD" + }, + "1682": { + "op": "MSTORE" + }, + "1683": { + "op": "PUSH32", + "value": "0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061" + }, + "1716": { + "op": "PUSH1", + "value": "0x44" + }, + "1718": { + "op": "DUP3" + }, + "1719": { + "op": "ADD" + }, + "1720": { + "op": "MSTORE" + }, + "1721": { + "op": "PUSH12", + "value": "0x103B30B634B21037BBB732B9" + }, + "1734": { + "op": "PUSH1", + "value": "0xA1" + }, + "1736": { + "op": "SHL" + }, + "1737": { + "op": "PUSH1", + "value": "0x64" + }, + "1739": { + "op": "DUP3" + }, + "1740": { + "op": "ADD" + }, + "1741": { + "op": "MSTORE" + }, + "1742": { + "op": "PUSH1", + "value": "0x84" + }, + "1744": { + "op": "ADD" + }, + "1745": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x422" + }, + "1748": { + "op": "JUMP" + }, + "1749": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1750": { + "op": "POP" + }, + "1751": { + "op": "PUSH1", + "value": "0x1" + }, + "1753": { + "op": "PUSH1", + "value": "0x1" + }, + "1755": { + "op": "PUSH1", + "value": "0xA0" + }, + "1757": { + "op": "SHL" + }, + "1758": { + "op": "SUB" + }, + "1759": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "AND", + "path": "41", + "statement": 17 + }, + "1760": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1762": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1763": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "DUP2", + "path": "41" + }, + "1764": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "1765": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5685 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1767": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1769": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "1770": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1772": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1773": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "KECCAK256", + "path": "41" + }, + "1774": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SLOAD", + "path": "41" + }, + "1775": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1776": { + "fn": "ERC4973.balanceOf", + "jump": "o", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "1777": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1778": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "1780": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1781": { + "op": "PUSH1", + "value": "0x1" + }, + "1783": { + "op": "PUSH1", + "value": "0x1" + }, + "1785": { + "op": "PUSH1", + "value": "0xA0" + }, + "1787": { + "op": "SHL" + }, + "1788": { + "op": "SUB" + }, + "1789": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1790": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 18 + }, + "1791": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1792": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x71B" + }, + "1795": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1796": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1798": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1799": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1803": { + "op": "PUSH1", + "value": "0xE5" + }, + "1805": { + "op": "SHL" + }, + "1806": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1807": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1808": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1810": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1811": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x422" + }, + "1814": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1815": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1812" + }, + "1818": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1819": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1820": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH2", + "path": "0", + "statement": 19, + "value": "0x725" + }, + "1823": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1825": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH2", + "path": "0", + "value": "0xF47" + }, + "1828": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "1829": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1830": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "1831": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1832": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "1834": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1835": { + "op": "PUSH1", + "value": "0x1" + }, + "1837": { + "op": "PUSH1", + "value": "0x1" + }, + "1839": { + "op": "PUSH1", + "value": "0xA0" + }, + "1841": { + "op": "SHL" + }, + "1842": { + "op": "SUB" + }, + "1843": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1844": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "1845": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1846": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x751" + }, + "1849": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1850": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1852": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1853": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1857": { + "op": "PUSH1", + "value": "0xE5" + }, + "1859": { + "op": "SHL" + }, + "1860": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1861": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1862": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1864": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1865": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x422" + }, + "1868": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1869": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1812" + }, + "1872": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1873": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1874": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5659, + 5665 + ], + "op": "DUP2", + "path": "38" + }, + "1875": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x764" + }, + "1878": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x8" + }, + "1880": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "1881": { + "op": "PUSH1", + "value": "0x1" + }, + "1883": { + "op": "PUSH1", + "value": "0x1" + }, + "1885": { + "op": "PUSH1", + "value": "0xA0" + }, + "1887": { + "op": "SHL" + }, + "1888": { + "op": "SUB" + }, + "1889": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "1890": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "1891": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "1892": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1893": { + "op": "PUSH1", + "value": "0x1" + }, + "1895": { + "op": "PUSH1", + "value": "0x1" + }, + "1897": { + "op": "PUSH1", + "value": "0xA0" + }, + "1899": { + "op": "SHL" + }, + "1900": { + "op": "SUB" + }, + "1901": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "1902": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "1903": { + "op": "PUSH1", + "value": "0x1" + }, + "1905": { + "op": "PUSH1", + "value": "0x1" + }, + "1907": { + "op": "PUSH1", + "value": "0xA0" + }, + "1909": { + "op": "SHL" + }, + "1910": { + "op": "SUB" + }, + "1911": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "1912": { + "branch": 82, + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "1913": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x7BB" + }, + "1916": { + "branch": 82, + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "1917": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1919": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "1920": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1924": { + "op": "PUSH1", + "value": "0xE5" + }, + "1926": { + "op": "SHL" + }, + "1927": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "1928": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "1929": { + "op": "PUSH1", + "value": "0x20" + }, + "1931": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1933": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "DUP3", + "path": "38" + }, + "1934": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "1935": { + "op": "MSTORE" + }, + "1936": { + "op": "PUSH1", + "value": "0x14" + }, + "1938": { + "op": "PUSH1", + "value": "0x24" + }, + "1940": { + "op": "DUP3" + }, + "1941": { + "op": "ADD" + }, + "1942": { + "op": "MSTORE" + }, + "1943": { + "op": "PUSH20", + "value": "0x4E6F7420416C6C6F776C697374204F776E657221" + }, + "1964": { + "op": "PUSH1", + "value": "0x60" + }, + "1966": { + "op": "SHL" + }, + "1967": { + "op": "PUSH1", + "value": "0x44" + }, + "1969": { + "op": "DUP3" + }, + "1970": { + "op": "ADD" + }, + "1971": { + "op": "MSTORE" + }, + "1972": { + "op": "PUSH1", + "value": "0x64" + }, + "1974": { + "op": "ADD" + }, + "1975": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x422" + }, + "1978": { + "op": "JUMP" + }, + "1979": { + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1980": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5711, + 5732 + ], + "op": "PUSH2", + "path": "38", + "statement": 20, + "value": "0x7C4" + }, + "1983": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5723, + 5731 + ], + "op": "DUP3", + "path": "38" + }, + "1984": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5711, + 5722 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF99" + }, + "1987": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5711, + 5732 + ], + "op": "JUMP", + "path": "38" + }, + "1988": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5711, + 5732 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1989": { + "offset": [ + 1318, + 1319 + ], + "op": "POP", + "path": "0" + }, + "1990": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "POP", + "path": "38" + }, + "1991": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "POP", + "path": "38" + }, + "1992": { + "fn": "SoulboundCore.setBaseURI", + "jump": "o", + "offset": [ + 5539, + 5739 + ], + "op": "JUMP", + "path": "38" + }, + "1993": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1994": { + "fn": "ERC4973.symbol", + "offset": [ + 4942, + 4955 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "1996": { + "fn": "ERC4973.symbol", + "offset": [ + 4974, + 4981 + ], + "op": "PUSH1", + "path": "41", + "statement": 21, + "value": "0x1" + }, + "1998": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "DUP1", + "path": "41" + }, + "1999": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SLOAD", + "path": "41" + }, + "2000": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x34E" + }, + "2003": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SWAP1", + "path": "41" + }, + "2004": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x17A9" + }, + "2007": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4967, + 4981 + ], + "op": "JUMP", + "path": "41" + }, + "2008": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2009": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5107, + 5120 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "2011": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5160 + ], + "op": "PUSH2", + "path": "41", + "statement": 22, + "value": "0x7E3" + }, + "2014": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5152, + 5159 + ], + "op": "DUP3", + "path": "41" + }, + "2015": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5151 + ], + "op": "PUSH2", + "path": "41", + "value": "0xCB2" + }, + "2018": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5144, + 5160 + ], + "op": "JUMP", + "path": "41" + }, + "2019": { + "branch": 91, + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5160 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2020": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "value": "0x82F" + }, + "2023": { + "branch": 91, + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPI", + "path": "41" + }, + "2024": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2026": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MLOAD", + "path": "41" + }, + "2027": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2031": { + "op": "PUSH1", + "value": "0xE5" + }, + "2033": { + "op": "SHL" + }, + "2034": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP2", + "path": "41" + }, + "2035": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MSTORE", + "path": "41" + }, + "2036": { + "op": "PUSH1", + "value": "0x20" + }, + "2038": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "2040": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP3", + "path": "41" + }, + "2041": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "ADD", + "path": "41" + }, + "2042": { + "op": "MSTORE" + }, + "2043": { + "op": "PUSH1", + "value": "0x1D" + }, + "2045": { + "op": "PUSH1", + "value": "0x24" + }, + "2047": { + "op": "DUP3" + }, + "2048": { + "op": "ADD" + }, + "2049": { + "op": "MSTORE" + }, + "2050": { + "op": "PUSH32", + "value": "0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000" + }, + "2083": { + "op": "PUSH1", + "value": "0x44" + }, + "2085": { + "op": "DUP3" + }, + "2086": { + "op": "ADD" + }, + "2087": { + "op": "MSTORE" + }, + "2088": { + "op": "PUSH1", + "value": "0x64" + }, + "2090": { + "op": "ADD" + }, + "2091": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "value": "0x422" + }, + "2094": { + "op": "JUMP" + }, + "2095": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2096": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "statement": 23, + "value": "0x0" + }, + "2098": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2099": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2100": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2101": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5221 + ], + "op": "PUSH1", + "path": "41", + "value": "0x3" + }, + "2103": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2105": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2106": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2108": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2109": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "2110": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2111": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2112": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x848" + }, + "2115": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2116": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x17A9" + }, + "2119": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "2120": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2121": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2122": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2124": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2125": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2127": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2128": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2129": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "2130": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "2131": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2133": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2134": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2136": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MLOAD", + "path": "41" + }, + "2137": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2138": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2139": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2140": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2142": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2143": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2144": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP3", + "path": "41" + }, + "2145": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2146": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2147": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2148": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2149": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2150": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2152": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2153": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2154": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2155": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2156": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x874" + }, + "2159": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2160": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x17A9" + }, + "2163": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "2164": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2165": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2166": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ISZERO", + "path": "41" + }, + "2167": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x8C1" + }, + "2170": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "2171": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2172": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2174": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "LT", + "path": "41" + }, + "2175": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x896" + }, + "2178": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "2179": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "2182": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2183": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "2184": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2185": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "2186": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "2187": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "2188": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2189": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2190": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2192": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2193": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2194": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x8C1" + }, + "2197": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "2198": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2199": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2200": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2201": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2202": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2203": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "2205": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2206": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2208": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "2210": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "2211": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2212": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2213": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2214": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2215": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2216": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2217": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2218": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "2220": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2221": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2222": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2224": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2225": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2226": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "2227": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "GT", + "path": "41" + }, + "2228": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x8A4" + }, + "2231": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "2232": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2233": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2234": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SUB", + "path": "41" + }, + "2235": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2237": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "AND", + "path": "41" + }, + "2238": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2239": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2240": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2241": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2242": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2243": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2244": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2245": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2246": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2247": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2248": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2249": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP2", + "path": "41" + }, + "2250": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP1", + "path": "41" + }, + "2251": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "POP", + "path": "41" + }, + "2252": { + "fn": "ERC4973.tokenURI", + "jump": "o", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "2253": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "2254": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7469, + 7491 + ], + "op": "PUSH1", + "path": "37", + "value": "0x60" + }, + "2256": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7567, + 7574 + ], + "op": "PUSH1", + "path": "37", + "statement": 24, + "value": "0x6" + }, + "2258": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "DUP1", + "path": "37" + }, + "2259": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SLOAD", + "path": "37" + }, + "2260": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x8DC" + }, + "2263": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "2264": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x17A9" + }, + "2267": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7561, + 7582 + ], + "op": "JUMP", + "path": "37" + }, + "2268": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "JUMPDEST", + "path": "37" + }, + "2269": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "2270": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "POP", + "path": "37" + }, + "2271": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7586, + 7587 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "2273": { + "branch": 94, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7587 + ], + "op": "SUB", + "path": "37" + }, + "2274": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x91D" + }, + "2277": { + "branch": 94, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPI", + "path": "37" + }, + "2278": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "2280": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MLOAD", + "path": "37" + }, + "2281": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2285": { + "op": "PUSH1", + "value": "0xE5" + }, + "2287": { + "op": "SHL" + }, + "2288": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP2", + "path": "37" + }, + "2289": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MSTORE", + "path": "37" + }, + "2290": { + "op": "PUSH1", + "value": "0x20" + }, + "2292": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "2294": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP3", + "path": "37" + }, + "2295": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "ADD", + "path": "37" + }, + "2296": { + "op": "MSTORE" + }, + "2297": { + "op": "PUSH1", + "value": "0xD" + }, + "2299": { + "op": "PUSH1", + "value": "0x24" + }, + "2301": { + "op": "DUP3" + }, + "2302": { + "op": "ADD" + }, + "2303": { + "op": "MSTORE" + }, + "2304": { + "op": "PUSH13", + "value": "0x456D7074792062617365555249" + }, + "2318": { + "op": "PUSH1", + "value": "0x98" + }, + "2320": { + "op": "SHL" + }, + "2321": { + "op": "PUSH1", + "value": "0x44" + }, + "2323": { + "op": "DUP3" + }, + "2324": { + "op": "ADD" + }, + "2325": { + "op": "MSTORE" + }, + "2326": { + "op": "PUSH1", + "value": "0x64" + }, + "2328": { + "op": "ADD" + }, + "2329": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "2332": { + "op": "JUMP" + }, + "2333": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPDEST", + "path": "37" + }, + "2334": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7659, + 7666 + ], + "op": "PUSH1", + "path": "37", + "statement": 25, + "value": "0x6" + }, + "2336": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "DUP1", + "path": "37" + }, + "2337": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SLOAD", + "path": "37" + }, + "2338": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x34E" + }, + "2341": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SWAP1", + "path": "37" + }, + "2342": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x17A9" + }, + "2345": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7648, + 7666 + ], + "op": "JUMP", + "path": "37" + }, + "2346": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2347": { + "op": "PUSH1", + "value": "0x1" + }, + "2349": { + "op": "PUSH1", + "value": "0x1" + }, + "2351": { + "op": "PUSH1", + "value": "0xA0" + }, + "2353": { + "op": "SHL" + }, + "2354": { + "op": "SUB" + }, + "2355": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3058, + 3076 + ], + "op": "DUP6", + "path": "38", + "statement": 26 + }, + "2356": { + "branch": 83, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3058, + 3076 + ], + "op": "AND", + "path": "38" + }, + "2357": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH2", + "path": "38", + "value": "0x978" + }, + "2360": { + "branch": 83, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "JUMPI", + "path": "38" + }, + "2361": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2363": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "MLOAD", + "path": "38" + }, + "2364": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2368": { + "op": "PUSH1", + "value": "0xE5" + }, + "2370": { + "op": "SHL" + }, + "2371": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "DUP2", + "path": "38" + }, + "2372": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "MSTORE", + "path": "38" + }, + "2373": { + "op": "PUSH1", + "value": "0x20" + }, + "2375": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2377": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "DUP3", + "path": "38" + }, + "2378": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "ADD", + "path": "38" + }, + "2379": { + "op": "MSTORE" + }, + "2380": { + "op": "PUSH1", + "value": "0x15" + }, + "2382": { + "op": "PUSH1", + "value": "0x24" + }, + "2384": { + "op": "DUP3" + }, + "2385": { + "op": "ADD" + }, + "2386": { + "op": "MSTORE" + }, + "2387": { + "op": "PUSH21", + "value": "0x26B4B73A103A37903D32B9379030B2323932B9B997" + }, + "2409": { + "op": "PUSH1", + "value": "0x59" + }, + "2411": { + "op": "SHL" + }, + "2412": { + "op": "PUSH1", + "value": "0x44" + }, + "2414": { + "op": "DUP3" + }, + "2415": { + "op": "ADD" + }, + "2416": { + "op": "MSTORE" + }, + "2417": { + "op": "PUSH1", + "value": "0x64" + }, + "2419": { + "op": "ADD" + }, + "2420": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH2", + "path": "38", + "value": "0x422" + }, + "2423": { + "op": "JUMP" + }, + "2424": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2425": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3340 + ], + "op": "DUP3", + "path": "38", + "statement": 27 + }, + "2426": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3347 + ], + "op": "MLOAD", + "path": "38" + }, + "2427": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3351, + 3353 + ], + "op": "PUSH1", + "path": "38", + "value": "0x41" + }, + "2429": { + "branch": 84, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3353 + ], + "op": "EQ", + "path": "38" + }, + "2430": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH2", + "path": "38", + "value": "0x9C4" + }, + "2433": { + "branch": 84, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "JUMPI", + "path": "38" + }, + "2434": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2436": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "MLOAD", + "path": "38" + }, + "2437": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2441": { + "op": "PUSH1", + "value": "0xE5" + }, + "2443": { + "op": "SHL" + }, + "2444": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "DUP2", + "path": "38" + }, + "2445": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "MSTORE", + "path": "38" + }, + "2446": { + "op": "PUSH1", + "value": "0x20" + }, + "2448": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2450": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "DUP3", + "path": "38" + }, + "2451": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "ADD", + "path": "38" + }, + "2452": { + "op": "MSTORE" + }, + "2453": { + "op": "PUSH1", + "value": "0x18" + }, + "2455": { + "op": "PUSH1", + "value": "0x24" + }, + "2457": { + "op": "DUP3" + }, + "2458": { + "op": "ADD" + }, + "2459": { + "op": "MSTORE" + }, + "2460": { + "op": "PUSH24", + "value": "0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D" + }, + "2485": { + "op": "PUSH1", + "value": "0x43" + }, + "2487": { + "op": "SHL" + }, + "2488": { + "op": "PUSH1", + "value": "0x44" + }, + "2490": { + "op": "DUP3" + }, + "2491": { + "op": "ADD" + }, + "2492": { + "op": "MSTORE" + }, + "2493": { + "op": "PUSH1", + "value": "0x64" + }, + "2495": { + "op": "ADD" + }, + "2496": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH2", + "path": "38", + "value": "0x422" + }, + "2499": { + "op": "JUMP" + }, + "2500": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2501": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3535 + ], + "op": "PUSH2", + "path": "38", + "statement": 28, + "value": "0x9CE" + }, + "2504": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3525, + 3529 + ], + "op": "DUP5", + "path": "38" + }, + "2505": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3531, + 3534 + ], + "op": "DUP5", + "path": "38" + }, + "2506": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3524 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA5F" + }, + "2509": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 3509, + 3535 + ], + "op": "JUMP", + "path": "38" + }, + "2510": { + "branch": 85, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3535 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2511": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA16" + }, + "2514": { + "branch": 85, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "JUMPI", + "path": "38" + }, + "2515": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2517": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "MLOAD", + "path": "38" + }, + "2518": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2522": { + "op": "PUSH1", + "value": "0xE5" + }, + "2524": { + "op": "SHL" + }, + "2525": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "DUP2", + "path": "38" + }, + "2526": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "MSTORE", + "path": "38" + }, + "2527": { + "op": "PUSH1", + "value": "0x20" + }, + "2529": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2531": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "DUP3", + "path": "38" + }, + "2532": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "ADD", + "path": "38" + }, + "2533": { + "op": "MSTORE" + }, + "2534": { + "op": "PUSH1", + "value": "0x19" + }, + "2536": { + "op": "PUSH1", + "value": "0x24" + }, + "2538": { + "op": "DUP3" + }, + "2539": { + "op": "ADD" + }, + "2540": { + "op": "MSTORE" + }, + "2541": { + "op": "PUSH25", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917" + }, + "2567": { + "op": "PUSH1", + "value": "0x39" + }, + "2569": { + "op": "SHL" + }, + "2570": { + "op": "PUSH1", + "value": "0x44" + }, + "2572": { + "op": "DUP3" + }, + "2573": { + "op": "ADD" + }, + "2574": { + "op": "MSTORE" + }, + "2575": { + "op": "PUSH1", + "value": "0x64" + }, + "2577": { + "op": "ADD" + }, + "2578": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH2", + "path": "38", + "value": "0x422" + }, + "2581": { + "op": "JUMP" + }, + "2582": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2583": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3694 + ], + "op": "PUSH2", + "path": "38", + "statement": 29, + "value": "0xA21" + }, + "2586": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3670, + 3674 + ], + "op": "DUP6", + "path": "38" + }, + "2587": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3676, + 3683 + ], + "op": "DUP4", + "path": "38" + }, + "2588": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3685, + 3693 + ], + "op": "DUP4", + "path": "38" + }, + "2589": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3669 + ], + "op": "PUSH2", + "path": "38", + "value": "0xFEB" + }, + "2592": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 3664, + 3694 + ], + "op": "JUMP", + "path": "38" + }, + "2593": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3694 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2594": { + "op": "POP" + }, + "2595": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH1", + "path": "38", + "statement": 30, + "value": "0x40" + }, + "2597": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "MLOAD", + "path": "38" + }, + "2598": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3786, + 3793 + ], + "op": "DUP3", + "path": "38" + }, + "2599": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3786, + 3793 + ], + "op": "SWAP1", + "path": "38" + }, + "2600": { + "op": "PUSH1", + "value": "0x1" + }, + "2602": { + "op": "PUSH1", + "value": "0x1" + }, + "2604": { + "op": "PUSH1", + "value": "0xA0" + }, + "2606": { + "op": "SHL" + }, + "2607": { + "op": "SUB" + }, + "2608": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "DUP8", + "path": "38" + }, + "2609": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "AND", + "path": "38" + }, + "2610": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "2611": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH32", + "path": "38", + "value": "0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556" + }, + "2644": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "2645": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "2647": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "2648": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "LOG3", + "path": "38" + }, + "2649": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2650": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2651": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2652": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2653": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2654": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "o", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "2655": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2656": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2584, + 2588 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2658": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "PUSH2", + "path": "14", + "statement": 31, + "value": "0xA6B" + }, + "2661": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2628, + 2632 + ], + "op": "DUP4", + "path": "14" + }, + "2662": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2634, + 2637 + ], + "op": "DUP4", + "path": "14" + }, + "2663": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2627 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1002" + }, + "2666": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2611, + 2638 + ], + "op": "JUMP", + "path": "14" + }, + "2667": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2668": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2604, + 2638 + ], + "op": "SWAP4", + "path": "14" + }, + "2669": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "SWAP3", + "path": "14" + }, + "2670": { + "op": "POP" + }, + "2671": { + "op": "POP" + }, + "2672": { + "op": "POP" + }, + "2673": { + "fn": "Allowlist.verifySignature", + "jump": "o", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "2674": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2675": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "2677": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "2678": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "2679": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "2680": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "2681": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "2683": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "2684": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP5", + "path": "14" + }, + "2685": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "2686": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "2687": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "2689": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "2690": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP7", + "path": "14" + }, + "2691": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "2692": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "2693": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP4", + "path": "14", + "statement": 32 + }, + "2694": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "2695": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2697": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2698": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP3", + "path": "14" + }, + "2699": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "2700": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "2701": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP9", + "path": "14" + }, + "2702": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "2703": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2704": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP8", + "path": "14" + }, + "2705": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "2706": { + "op": "DUP11" + }, + "2707": { + "op": "SWAP1" + }, + "2708": { + "op": "MSTORE" + }, + "2709": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "2710": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP3", + "path": "14" + }, + "2711": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "2712": { + "op": "DUP2" + }, + "2713": { + "op": "DUP7" + }, + "2714": { + "op": "ADD" + }, + "2715": { + "op": "DUP2" + }, + "2716": { + "op": "SWAP1" + }, + "2717": { + "op": "MSTORE" + }, + "2718": { + "op": "SWAP3" + }, + "2719": { + "op": "DUP2" + }, + "2720": { + "op": "ADD" + }, + "2721": { + "op": "DUP7" + }, + "2722": { + "op": "SWAP1" + }, + "2723": { + "op": "MSTORE" + }, + "2724": { + "op": "PUSH1", + "value": "0x80" + }, + "2726": { + "op": "DUP2" + }, + "2727": { + "op": "ADD" + }, + "2728": { + "op": "DUP5" + }, + "2729": { + "op": "SWAP1" + }, + "2730": { + "op": "MSTORE" + }, + "2731": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP4", + "path": "14" + }, + "2732": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "2733": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP1", + "path": "14" + }, + "2734": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP6", + "path": "14" + }, + "2735": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "2736": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP4", + "path": "14" + }, + "2737": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "2738": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP3", + "path": "14" + }, + "2739": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "2741": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "2742": { + "op": "PUSH1", + "value": "0xA0" + }, + "2744": { + "op": "DUP1" + }, + "2745": { + "op": "DUP3" + }, + "2746": { + "op": "ADD" + }, + "2747": { + "op": "SWAP4" + }, + "2748": { + "op": "PUSH1", + "value": "0x1F" + }, + "2750": { + "op": "NOT" + }, + "2751": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "2752": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "2753": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "2754": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "2755": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "2756": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "2757": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "2758": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP2", + "path": "14" + }, + "2759": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "2760": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "2761": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP6", + "path": "14" + }, + "2762": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "GAS", + "path": "14" + }, + "2763": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "STATICCALL", + "path": "14" + }, + "2764": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "2765": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2766": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "2767": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH2", + "path": "14", + "value": "0xADC" + }, + "2770": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPI", + "path": "14" + }, + "2771": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "2772": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2774": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2775": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "2776": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "2777": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2779": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "REVERT", + "path": "14" + }, + "2780": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2781": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "2782": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "2783": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "2784": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "2786": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "2788": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "2789": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "2790": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "2791": { + "op": "PUSH1", + "value": "0x1" + }, + "2793": { + "op": "PUSH1", + "value": "0x1" + }, + "2795": { + "op": "PUSH1", + "value": "0xA0" + }, + "2797": { + "op": "SHL" + }, + "2798": { + "op": "SUB" + }, + "2799": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "2800": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5083 + ], + "op": "DUP8", + "path": "14" + }, + "2801": { + "op": "PUSH1", + "value": "0x1" + }, + "2803": { + "op": "PUSH1", + "value": "0x1" + }, + "2805": { + "op": "PUSH1", + "value": "0xA0" + }, + "2807": { + "op": "SHL" + }, + "2808": { + "op": "SUB" + }, + "2809": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "2810": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "EQ", + "path": "14" + }, + "2811": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "SWAP4", + "path": "14" + }, + "2812": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "2813": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "2814": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "2815": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "2816": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP4", + "path": "14" + }, + "2817": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP3", + "path": "14" + }, + "2818": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "2819": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "2820": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "2821": { + "fn": "Allowlist.verifySigner", + "jump": "o", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "2822": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2823": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "2825": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "2826": { + "op": "PUSH1", + "value": "0x1" + }, + "2828": { + "op": "PUSH1", + "value": "0x1" + }, + "2830": { + "op": "PUSH1", + "value": "0xA0" + }, + "2832": { + "op": "SHL" + }, + "2833": { + "op": "SUB" + }, + "2834": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "2835": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2836": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "2837": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB30" + }, + "2840": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "2841": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2843": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "2844": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2848": { + "op": "PUSH1", + "value": "0xE5" + }, + "2850": { + "op": "SHL" + }, + "2851": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "2852": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "2853": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2855": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "2856": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x422" + }, + "2859": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "2860": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1812" + }, + "2863": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "2864": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2865": { + "op": "PUSH1", + "value": "0x1" + }, + "2867": { + "op": "PUSH1", + "value": "0x1" + }, + "2869": { + "op": "PUSH1", + "value": "0xA0" + }, + "2871": { + "op": "SHL" + }, + "2872": { + "op": "SUB" + }, + "2873": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 33 + }, + "2874": { + "branch": 93, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "2875": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0xB95" + }, + "2878": { + "branch": 93, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "2879": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2881": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "2882": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2886": { + "op": "PUSH1", + "value": "0xE5" + }, + "2888": { + "op": "SHL" + }, + "2889": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "2890": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "2891": { + "op": "PUSH1", + "value": "0x20" + }, + "2893": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2895": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "2896": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "2897": { + "op": "MSTORE" + }, + "2898": { + "op": "PUSH1", + "value": "0x26" + }, + "2900": { + "op": "PUSH1", + "value": "0x24" + }, + "2902": { + "op": "DUP3" + }, + "2903": { + "op": "ADD" + }, + "2904": { + "op": "MSTORE" + }, + "2905": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "2938": { + "op": "PUSH1", + "value": "0x44" + }, + "2940": { + "op": "DUP3" + }, + "2941": { + "op": "ADD" + }, + "2942": { + "op": "MSTORE" + }, + "2943": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "2950": { + "op": "PUSH1", + "value": "0xD0" + }, + "2952": { + "op": "SHL" + }, + "2953": { + "op": "PUSH1", + "value": "0x64" + }, + "2955": { + "op": "DUP3" + }, + "2956": { + "op": "ADD" + }, + "2957": { + "op": "MSTORE" + }, + "2958": { + "op": "PUSH1", + "value": "0x84" + }, + "2960": { + "op": "ADD" + }, + "2961": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x422" + }, + "2964": { + "op": "JUMP" + }, + "2965": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2966": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH2", + "path": "0", + "statement": 34, + "value": "0x600" + }, + "2969": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "2970": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH2", + "path": "0", + "value": "0xF47" + }, + "2973": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "2974": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "2975": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4396, + 4403 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "2977": { + "op": "PUSH1", + "value": "0x1" + }, + "2979": { + "op": "PUSH1", + "value": "0x1" + }, + "2981": { + "op": "PUSH1", + "value": "0xA0" + }, + "2983": { + "op": "SHL" + }, + "2984": { + "op": "SUB" + }, + "2985": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "DUP4", + "path": "37", + "statement": 35 + }, + "2986": { + "branch": 95, + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "AND", + "path": "37" + }, + "2987": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0xBF6" + }, + "2990": { + "branch": 95, + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPI", + "path": "37" + }, + "2991": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "2993": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MLOAD", + "path": "37" + }, + "2994": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2998": { + "op": "PUSH1", + "value": "0xE5" + }, + "3000": { + "op": "SHL" + }, + "3001": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP2", + "path": "37" + }, + "3002": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MSTORE", + "path": "37" + }, + "3003": { + "op": "PUSH1", + "value": "0x20" + }, + "3005": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3007": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP3", + "path": "37" + }, + "3008": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "ADD", + "path": "37" + }, + "3009": { + "op": "MSTORE" + }, + "3010": { + "op": "PUSH1", + "value": "0x17" + }, + "3012": { + "op": "PUSH1", + "value": "0x24" + }, + "3014": { + "op": "DUP3" + }, + "3015": { + "op": "ADD" + }, + "3016": { + "op": "MSTORE" + }, + "3017": { + "op": "PUSH32", + "value": "0x517565727920666F72207A65726F20616464726573732E000000000000000000" + }, + "3050": { + "op": "PUSH1", + "value": "0x44" + }, + "3052": { + "op": "DUP3" + }, + "3053": { + "op": "ADD" + }, + "3054": { + "op": "MSTORE" + }, + "3055": { + "op": "PUSH1", + "value": "0x64" + }, + "3057": { + "op": "ADD" + }, + "3058": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "3061": { + "op": "JUMP" + }, + "3062": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3063": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4598 + ], + "op": "PUSH2", + "path": "37", + "statement": 36, + "value": "0xBFF" + }, + "3066": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4589, + 4597 + ], + "op": "DUP3", + "path": "37" + }, + "3067": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4588 + ], + "op": "PUSH2", + "path": "37", + "value": "0xCB2" + }, + "3070": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4581, + 4598 + ], + "op": "JUMP", + "path": "37" + }, + "3071": { + "branch": 96, + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4598 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3072": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "value": "0xC41" + }, + "3075": { + "branch": 96, + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPI", + "path": "37" + }, + "3076": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3078": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MLOAD", + "path": "37" + }, + "3079": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3083": { + "op": "PUSH1", + "value": "0xE5" + }, + "3085": { + "op": "SHL" + }, + "3086": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP2", + "path": "37" + }, + "3087": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MSTORE", + "path": "37" + }, + "3088": { + "op": "PUSH1", + "value": "0x20" + }, + "3090": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3092": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP3", + "path": "37" + }, + "3093": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "ADD", + "path": "37" + }, + "3094": { + "op": "MSTORE" + }, + "3095": { + "op": "PUSH1", + "value": "0x13" + }, + "3097": { + "op": "PUSH1", + "value": "0x24" + }, + "3099": { + "op": "DUP3" + }, + "3100": { + "op": "ADD" + }, + "3101": { + "op": "MSTORE" + }, + "3102": { + "op": "PUSH19", + "value": "0x2737B716B2BC34B9BA32B73A103A37B5B2B717" + }, + "3122": { + "op": "PUSH1", + "value": "0x69" + }, + "3124": { + "op": "SHL" + }, + "3125": { + "op": "PUSH1", + "value": "0x44" + }, + "3127": { + "op": "DUP3" + }, + "3128": { + "op": "ADD" + }, + "3129": { + "op": "MSTORE" + }, + "3130": { + "op": "PUSH1", + "value": "0x64" + }, + "3132": { + "op": "ADD" + }, + "3133": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "3136": { + "op": "JUMP" + }, + "3137": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3138": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4712, + 4715 + ], + "op": "DUP3", + "path": "37", + "statement": 37 + }, + "3139": { + "op": "PUSH1", + "value": "0x1" + }, + "3141": { + "op": "PUSH1", + "value": "0x1" + }, + "3143": { + "op": "PUSH1", + "value": "0xA0" + }, + "3145": { + "op": "SHL" + }, + "3146": { + "op": "SUB" + }, + "3147": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "3148": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "PUSH2", + "path": "37", + "value": "0xC54" + }, + "3151": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4699, + 4707 + ], + "op": "DUP4", + "path": "37" + }, + "3152": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4698 + ], + "op": "PUSH2", + "path": "37", + "value": "0x603" + }, + "3155": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4691, + 4708 + ], + "op": "JUMP", + "path": "37" + }, + "3156": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3157": { + "op": "PUSH1", + "value": "0x1" + }, + "3159": { + "op": "PUSH1", + "value": "0x1" + }, + "3161": { + "op": "PUSH1", + "value": "0xA0" + }, + "3163": { + "op": "SHL" + }, + "3164": { + "op": "SUB" + }, + "3165": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "3166": { + "branch": 97, + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "EQ", + "path": "37" + }, + "3167": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0xCAA" + }, + "3170": { + "branch": 97, + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPI", + "path": "37" + }, + "3171": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3173": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MLOAD", + "path": "37" + }, + "3174": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3178": { + "op": "PUSH1", + "value": "0xE5" + }, + "3180": { + "op": "SHL" + }, + "3181": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP2", + "path": "37" + }, + "3182": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MSTORE", + "path": "37" + }, + "3183": { + "op": "PUSH1", + "value": "0x20" + }, + "3185": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3187": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP3", + "path": "37" + }, + "3188": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "ADD", + "path": "37" + }, + "3189": { + "op": "MSTORE" + }, + "3190": { + "op": "PUSH1", + "value": "0x1A" + }, + "3192": { + "op": "PUSH1", + "value": "0x24" + }, + "3194": { + "op": "DUP3" + }, + "3195": { + "op": "ADD" + }, + "3196": { + "op": "MSTORE" + }, + "3197": { + "op": "PUSH32", + "value": "0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000" + }, + "3230": { + "op": "PUSH1", + "value": "0x44" + }, + "3232": { + "op": "DUP3" + }, + "3233": { + "op": "ADD" + }, + "3234": { + "op": "MSTORE" + }, + "3235": { + "op": "PUSH1", + "value": "0x64" + }, + "3237": { + "op": "ADD" + }, + "3238": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "3241": { + "op": "JUMP" + }, + "3242": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3243": { + "op": "POP" + }, + "3244": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4810, + 4814 + ], + "op": "ADDRESS", + "path": "37", + "statement": 38 + }, + "3245": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP3", + "path": "37" + }, + "3246": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP2", + "path": "37" + }, + "3247": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "3248": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "3249": { + "fn": "Soulbound.issuerOf", + "jump": "o", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "3250": { + "fn": "ERC4973._exists", + "offset": [ + 5924, + 6049 + ], + "op": "JUMPDEST", + "path": "41" + }, + "3251": { + "fn": "ERC4973._exists", + "offset": [ + 5989, + 5993 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "3253": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41", + "statement": 39 + }, + "3254": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "DUP2", + "path": "41" + }, + "3255": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "3256": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6019 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "3258": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "3260": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "3261": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "3263": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41" + }, + "3264": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "KECCAK256", + "path": "41" + }, + "3265": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SLOAD", + "path": "41" + }, + "3266": { + "op": "PUSH1", + "value": "0x1" + }, + "3268": { + "op": "PUSH1", + "value": "0x1" + }, + "3270": { + "op": "PUSH1", + "value": "0xA0" + }, + "3272": { + "op": "SHL" + }, + "3273": { + "op": "SUB" + }, + "3274": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "AND", + "path": "41" + }, + "3275": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "ISZERO", + "path": "41" + }, + "3276": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "ISZERO", + "path": "41" + }, + "3277": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "SWAP1", + "path": "41" + }, + "3278": { + "fn": "ERC4973._exists", + "jump": "o", + "offset": [ + 5924, + 6049 + ], + "op": "JUMP", + "path": "41" + }, + "3279": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3280": { + "fn": "Soulbound.revoke", + "offset": [ + 3405, + 3409 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "3282": { + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3485 + ], + "op": "PUSH2", + "path": "37", + "statement": 40, + "value": "0xCDA" + }, + "3285": { + "fn": "Soulbound.revoke", + "offset": [ + 3476, + 3484 + ], + "op": "DUP3", + "path": "37" + }, + "3286": { + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3475 + ], + "op": "PUSH2", + "path": "37", + "value": "0xCB2" + }, + "3289": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3468, + 3485 + ], + "op": "JUMP", + "path": "37" + }, + "3290": { + "branch": 98, + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3485 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3291": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH2", + "path": "37", + "value": "0xD1C" + }, + "3294": { + "branch": 98, + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "JUMPI", + "path": "37" + }, + "3295": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3297": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "MLOAD", + "path": "37" + }, + "3298": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3302": { + "op": "PUSH1", + "value": "0xE5" + }, + "3304": { + "op": "SHL" + }, + "3305": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "DUP2", + "path": "37" + }, + "3306": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "MSTORE", + "path": "37" + }, + "3307": { + "op": "PUSH1", + "value": "0x20" + }, + "3309": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3311": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "DUP3", + "path": "37" + }, + "3312": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "ADD", + "path": "37" + }, + "3313": { + "op": "MSTORE" + }, + "3314": { + "op": "PUSH1", + "value": "0x13" + }, + "3316": { + "op": "PUSH1", + "value": "0x24" + }, + "3318": { + "op": "DUP3" + }, + "3319": { + "op": "ADD" + }, + "3320": { + "op": "MSTORE" + }, + "3321": { + "op": "PUSH19", + "value": "0x2737B716B2BC34B9BA32B73A103A37B5B2B717" + }, + "3341": { + "op": "PUSH1", + "value": "0x69" + }, + "3343": { + "op": "SHL" + }, + "3344": { + "op": "PUSH1", + "value": "0x44" + }, + "3346": { + "op": "DUP3" + }, + "3347": { + "op": "ADD" + }, + "3348": { + "op": "MSTORE" + }, + "3349": { + "op": "PUSH1", + "value": "0x64" + }, + "3351": { + "op": "ADD" + }, + "3352": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "3355": { + "op": "JUMP" + }, + "3356": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3357": { + "fn": "Soulbound.revoke", + "offset": [ + 3601, + 3606 + ], + "op": "DUP3", + "path": "37", + "statement": 41 + }, + "3358": { + "op": "PUSH1", + "value": "0x1" + }, + "3360": { + "op": "PUSH1", + "value": "0x1" + }, + "3362": { + "op": "PUSH1", + "value": "0xA0" + }, + "3364": { + "op": "SHL" + }, + "3365": { + "op": "SUB" + }, + "3366": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "AND", + "path": "37" + }, + "3367": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3597 + ], + "op": "PUSH2", + "path": "37", + "value": "0xD2F" + }, + "3370": { + "fn": "Soulbound.revoke", + "offset": [ + 3588, + 3596 + ], + "op": "DUP4", + "path": "37" + }, + "3371": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3587 + ], + "op": "PUSH2", + "path": "37", + "value": "0x603" + }, + "3374": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3580, + 3597 + ], + "op": "JUMP", + "path": "37" + }, + "3375": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3597 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3376": { + "op": "PUSH1", + "value": "0x1" + }, + "3378": { + "op": "PUSH1", + "value": "0x1" + }, + "3380": { + "op": "PUSH1", + "value": "0xA0" + }, + "3382": { + "op": "SHL" + }, + "3383": { + "op": "SUB" + }, + "3384": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "AND", + "path": "37" + }, + "3385": { + "branch": 99, + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "EQ", + "path": "37" + }, + "3386": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH2", + "path": "37", + "value": "0xD85" + }, + "3389": { + "branch": 99, + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "JUMPI", + "path": "37" + }, + "3390": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3392": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "MLOAD", + "path": "37" + }, + "3393": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3397": { + "op": "PUSH1", + "value": "0xE5" + }, + "3399": { + "op": "SHL" + }, + "3400": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "DUP2", + "path": "37" + }, + "3401": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "MSTORE", + "path": "37" + }, + "3402": { + "op": "PUSH1", + "value": "0x20" + }, + "3404": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3406": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "DUP3", + "path": "37" + }, + "3407": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "ADD", + "path": "37" + }, + "3408": { + "op": "MSTORE" + }, + "3409": { + "op": "PUSH1", + "value": "0x1A" + }, + "3411": { + "op": "PUSH1", + "value": "0x24" + }, + "3413": { + "op": "DUP3" + }, + "3414": { + "op": "ADD" + }, + "3415": { + "op": "MSTORE" + }, + "3416": { + "op": "PUSH32", + "value": "0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000" + }, + "3449": { + "op": "PUSH1", + "value": "0x44" + }, + "3451": { + "op": "DUP3" + }, + "3452": { + "op": "ADD" + }, + "3453": { + "op": "MSTORE" + }, + "3454": { + "op": "PUSH1", + "value": "0x64" + }, + "3456": { + "op": "ADD" + }, + "3457": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "3460": { + "op": "JUMP" + }, + "3461": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3462": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3708 + ], + "op": "PUSH2", + "path": "37", + "statement": 42, + "value": "0xD8E" + }, + "3465": { + "fn": "Soulbound.revoke", + "offset": [ + 3699, + 3707 + ], + "op": "DUP3", + "path": "37" + }, + "3466": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3698 + ], + "op": "PUSH2", + "path": "37", + "value": "0x11A8" + }, + "3469": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3680, + 3708 + ], + "op": "JUMP", + "path": "37" + }, + "3470": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3708 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3471": { + "op": "POP" + }, + "3472": { + "fn": "Soulbound.revoke", + "offset": [ + 3755, + 3759 + ], + "op": "PUSH1", + "path": "37", + "statement": 43, + "value": "0x1" + }, + "3474": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "SWAP3", + "path": "37" + }, + "3475": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "SWAP2", + "path": "37" + }, + "3476": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "POP", + "path": "37" + }, + "3477": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "POP", + "path": "37" + }, + "3478": { + "fn": "Soulbound.revoke", + "jump": "o", + "offset": [ + 3338, + 3766 + ], + "op": "JUMP", + "path": "37" + }, + "3479": { + "fn": "SoulboundCore.toString", + "offset": [ + 6660, + 7363 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3480": { + "fn": "SoulboundCore.toString", + "offset": [ + 6716, + 6729 + ], + "op": "PUSH1", + "path": "38", + "value": "0x60" + }, + "3482": { + "fn": "SoulboundCore.toString", + "offset": [ + 6933, + 6938 + ], + "op": "DUP2", + "path": "38" + }, + "3483": { + "fn": "SoulboundCore.toString", + "offset": [ + 6942, + 6943 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "3485": { + "branch": 86, + "fn": "SoulboundCore.toString", + "offset": [ + 6933, + 6943 + ], + "op": "SUB", + "path": "38" + }, + "3486": { + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "PUSH2", + "path": "38", + "value": "0xDBE" + }, + "3489": { + "branch": 86, + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "JUMPI", + "path": "38" + }, + "3490": { + "op": "POP" + }, + "3491": { + "op": "POP" + }, + "3492": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "statement": 44, + "value": "0x40" + }, + "3494": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP1", + "path": "38" + }, + "3495": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MLOAD", + "path": "38" + }, + "3496": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP1", + "path": "38" + }, + "3497": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP3", + "path": "38" + }, + "3498": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "ADD", + "path": "38" + }, + "3499": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP1", + "path": "38" + }, + "3500": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP2", + "path": "38" + }, + "3501": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "3502": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1" + }, + "3504": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP2", + "path": "38" + }, + "3505": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "3506": { + "op": "PUSH1", + "value": "0x3" + }, + "3508": { + "op": "PUSH1", + "value": "0xFC" + }, + "3510": { + "op": "SHL" + }, + "3511": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "3513": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP3", + "path": "38" + }, + "3514": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "ADD", + "path": "38" + }, + "3515": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "3516": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP1", + "path": "38" + }, + "3517": { + "fn": "SoulboundCore.toString", + "jump": "o", + "offset": [ + 6660, + 7363 + ], + "op": "JUMP", + "path": "38" + }, + "3518": { + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3519": { + "fn": "SoulboundCore.toString", + "offset": [ + 7004, + 7009 + ], + "op": "DUP2", + "path": "38" + }, + "3520": { + "fn": "SoulboundCore.toString", + "offset": [ + 6989, + 7001 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "3522": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3523": { + "fn": "SoulboundCore.toString", + "offset": [ + 7050, + 7059 + ], + "op": "DUP2", + "path": "38" + }, + "3524": { + "fn": "SoulboundCore.toString", + "offset": [ + 7050, + 7059 + ], + "op": "ISZERO", + "path": "38" + }, + "3525": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "PUSH2", + "path": "38", + "value": "0xDE8" + }, + "3528": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPI", + "path": "38" + }, + "3529": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "DUP1", + "path": "38", + "statement": 45 + }, + "3530": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "PUSH2", + "path": "38", + "value": "0xDD2" + }, + "3533": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "DUP2", + "path": "38" + }, + "3534": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "PUSH2", + "path": "38", + "value": "0x185D" + }, + "3537": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7075, + 7083 + ], + "op": "JUMP", + "path": "38" + }, + "3538": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3539": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "SWAP2", + "path": "38" + }, + "3540": { + "op": "POP" + }, + "3541": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "PUSH2", + "path": "38", + "statement": 46, + "value": "0xDE1" + }, + "3544": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "SWAP1", + "path": "38" + }, + "3545": { + "op": "POP" + }, + "3546": { + "fn": "SoulboundCore.toString", + "offset": [ + 7105, + 7107 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "3548": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "DUP4", + "path": "38" + }, + "3549": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "PUSH2", + "path": "38", + "value": "0x188C" + }, + "3552": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7097, + 7107 + ], + "op": "JUMP", + "path": "38" + }, + "3553": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3554": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "SWAP2", + "path": "38" + }, + "3555": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "POP", + "path": "38" + }, + "3556": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "PUSH2", + "path": "38", + "value": "0xDC2" + }, + "3559": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMP", + "path": "38" + }, + "3560": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3561": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7146 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "3563": { + "fn": "SoulboundCore.toString", + "offset": [ + 7159, + 7165 + ], + "op": "DUP2", + "path": "38" + }, + "3564": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH8", + "path": "38", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3573": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP2", + "path": "38" + }, + "3574": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "GT", + "path": "38" + }, + "3575": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ISZERO", + "path": "38" + }, + "3576": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE03" + }, + "3579": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPI", + "path": "38" + }, + "3580": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE03" + }, + "3583": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0x14DE" + }, + "3586": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7149, + 7166 + ], + "op": "JUMP", + "path": "38" + }, + "3587": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3588": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "3590": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MLOAD", + "path": "38" + }, + "3591": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "3592": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3593": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "3594": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MSTORE", + "path": "38" + }, + "3595": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3596": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1F" + }, + "3598": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3599": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1F" + }, + "3601": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "NOT", + "path": "38" + }, + "3602": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "AND", + "path": "38" + }, + "3603": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "3605": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3606": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "3607": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3608": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "3610": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MSTORE", + "path": "38" + }, + "3611": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3612": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ISZERO", + "path": "38" + }, + "3613": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE2D" + }, + "3616": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPI", + "path": "38" + }, + "3617": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "3619": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "3620": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3621": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP2", + "path": "38" + }, + "3622": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3623": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "3624": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP4", + "path": "38" + }, + "3625": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "CALLDATACOPY", + "path": "38" + }, + "3626": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3627": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "3628": { + "op": "POP" + }, + "3629": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3630": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "POP", + "path": "38" + }, + "3631": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "3632": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7166 + ], + "op": "POP", + "path": "38" + }, + "3633": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3634": { + "fn": "SoulboundCore.toString", + "offset": [ + 7183, + 7193 + ], + "op": "DUP5", + "path": "38" + }, + "3635": { + "fn": "SoulboundCore.toString", + "offset": [ + 7183, + 7193 + ], + "op": "ISZERO", + "path": "38" + }, + "3636": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE98" + }, + "3639": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPI", + "path": "38" + }, + "3640": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "PUSH2", + "path": "38", + "statement": 47, + "value": "0xE42" + }, + "3643": { + "fn": "SoulboundCore.toString", + "offset": [ + 7219, + 7220 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1" + }, + "3645": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "DUP4", + "path": "38" + }, + "3646": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "PUSH2", + "path": "38", + "value": "0x18A0" + }, + "3649": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7209, + 7220 + ], + "op": "JUMP", + "path": "38" + }, + "3650": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3651": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "SWAP2", + "path": "38" + }, + "3652": { + "op": "POP" + }, + "3653": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "PUSH2", + "path": "38", + "statement": 48, + "value": "0xE4F" + }, + "3656": { + "fn": "SoulboundCore.toString", + "offset": [ + 7285, + 7287 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "3658": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7282 + ], + "op": "DUP7", + "path": "38" + }, + "3659": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "PUSH2", + "path": "38", + "value": "0x18B7" + }, + "3662": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7277, + 7287 + ], + "op": "JUMP", + "path": "38" + }, + "3663": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3664": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE5A" + }, + "3667": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "SWAP1", + "path": "38" + }, + "3668": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7266 + ], + "op": "PUSH1", + "path": "38", + "value": "0x30" + }, + "3670": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "PUSH2", + "path": "38", + "value": "0x18CB" + }, + "3673": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7264, + 7288 + ], + "op": "JUMP", + "path": "38" + }, + "3674": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3675": { + "fn": "SoulboundCore.toString", + "offset": [ + 7251, + 7290 + ], + "op": "PUSH1", + "path": "38", + "value": "0xF8" + }, + "3677": { + "fn": "SoulboundCore.toString", + "offset": [ + 7251, + 7290 + ], + "op": "SHL", + "path": "38" + }, + "3678": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7240 + ], + "op": "DUP2", + "path": "38" + }, + "3679": { + "fn": "SoulboundCore.toString", + "offset": [ + 7241, + 7247 + ], + "op": "DUP4", + "path": "38" + }, + "3680": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "DUP2", + "path": "38" + }, + "3681": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "MLOAD", + "path": "38" + }, + "3682": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "DUP2", + "path": "38" + }, + "3683": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "LT", + "path": "38" + }, + "3684": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE6F" + }, + "3687": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "JUMPI", + "path": "38" + }, + "3688": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE6F" + }, + "3691": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0x18E3" + }, + "3694": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7234, + 7248 + ], + "op": "JUMP", + "path": "38" + }, + "3695": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3696": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "3698": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "ADD", + "path": "38" + }, + "3699": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "ADD", + "path": "38" + }, + "3700": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "3701": { + "op": "PUSH1", + "value": "0x1" + }, + "3703": { + "op": "PUSH1", + "value": "0x1" + }, + "3705": { + "op": "PUSH1", + "value": "0xF8" + }, + "3707": { + "op": "SHL" + }, + "3708": { + "op": "SUB" + }, + "3709": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "NOT", + "path": "38" + }, + "3710": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "AND", + "path": "38" + }, + "3711": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "3712": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "DUP2", + "path": "38" + }, + "3713": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "3715": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "BYTE", + "path": "38" + }, + "3716": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "3717": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "MSTORE8", + "path": "38" + }, + "3718": { + "op": "POP" + }, + "3719": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "PUSH2", + "path": "38", + "statement": 49, + "value": "0xE91" + }, + "3722": { + "fn": "SoulboundCore.toString", + "offset": [ + 7313, + 7315 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "3724": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "DUP7", + "path": "38" + }, + "3725": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "PUSH2", + "path": "38", + "value": "0x188C" + }, + "3728": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7304, + 7315 + ], + "op": "JUMP", + "path": "38" + }, + "3729": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3730": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "SWAP5", + "path": "38" + }, + "3731": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "POP", + "path": "38" + }, + "3732": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE31" + }, + "3735": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMP", + "path": "38" + }, + "3736": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3737": { + "fn": "SoulboundCore.toString", + "offset": [ + 7349, + 7355 + ], + "op": "SWAP5", + "path": "38", + "statement": 50 + }, + "3738": { + "fn": "SoulboundCore.toString", + "offset": [ + 6660, + 7363 + ], + "op": "SWAP4", + "path": "38" + }, + "3739": { + "op": "POP" + }, + "3740": { + "op": "POP" + }, + "3741": { + "op": "POP" + }, + "3742": { + "op": "POP" + }, + "3743": { + "fn": "SoulboundCore.toString", + "jump": "o", + "offset": [ + 6660, + 7363 + ], + "op": "JUMP", + "path": "38" + }, + "3744": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "JUMPDEST", + "path": "41" + }, + "3745": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6480 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "3747": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "PUSH2", + "path": "41", + "value": "0xEAB" + }, + "3750": { + "fn": "ERC4973._burn", + "offset": [ + 6491, + 6498 + ], + "op": "DUP3", + "path": "41" + }, + "3751": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6490 + ], + "op": "PUSH2", + "path": "41", + "value": "0x603" + }, + "3754": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6483, + 6499 + ], + "op": "JUMP", + "path": "41" + }, + "3755": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "JUMPDEST", + "path": "41" + }, + "3756": { + "op": "PUSH1", + "value": "0x1" + }, + "3758": { + "op": "PUSH1", + "value": "0x1" + }, + "3760": { + "op": "PUSH1", + "value": "0xA0" + }, + "3762": { + "op": "SHL" + }, + "3763": { + "op": "SUB" + }, + "3764": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41", + "statement": 51 + }, + "3765": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "AND", + "path": "41" + }, + "3766": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "3768": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "3769": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "3770": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "3771": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6519 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "3773": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "3775": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "3776": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "3778": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "3779": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "KECCAK256", + "path": "41" + }, + "3780": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "DUP1", + "path": "41" + }, + "3781": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SLOAD", + "path": "41" + }, + "3782": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP3", + "path": "41" + }, + "3783": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP4", + "path": "41" + }, + "3784": { + "op": "POP" + }, + "3785": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "3787": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP3", + "path": "41" + }, + "3788": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "3789": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP2", + "path": "41" + }, + "3790": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "3791": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0xED9" + }, + "3794": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "3795": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "DUP5", + "path": "41" + }, + "3796": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "3797": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0x18A0" + }, + "3800": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6510, + 6531 + ], + "op": "JUMP", + "path": "41" + }, + "3801": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "JUMPDEST", + "path": "41" + }, + "3802": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "3803": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP2", + "path": "41" + }, + "3804": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SSTORE", + "path": "41" + }, + "3805": { + "op": "POP" + }, + "3806": { + "op": "POP" + }, + "3807": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "statement": 52, + "value": "0x0" + }, + "3809": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP3", + "path": "41" + }, + "3810": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "3811": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "3812": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6555 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "3814": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "3816": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "3817": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "3818": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "3819": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "3821": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "3822": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP4", + "path": "41" + }, + "3823": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "KECCAK256", + "path": "41" + }, + "3824": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "3825": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SLOAD", + "path": "41" + }, + "3826": { + "op": "PUSH1", + "value": "0x1" + }, + "3828": { + "op": "PUSH1", + "value": "0x1" + }, + "3830": { + "op": "PUSH1", + "value": "0xA0" + }, + "3832": { + "op": "SHL" + }, + "3833": { + "op": "SUB" + }, + "3834": { + "op": "NOT" + }, + "3835": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "AND", + "path": "41" + }, + "3836": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "3837": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SSTORE", + "path": "41" + }, + "3838": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6591 + ], + "op": "PUSH1", + "path": "41", + "statement": 53, + "value": "0x3" + }, + "3840": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP1", + "path": "41" + }, + "3841": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "3842": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "MSTORE", + "path": "41" + }, + "3843": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "DUP2", + "path": "41" + }, + "3844": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "KECCAK256", + "path": "41" + }, + "3845": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0xF0D" + }, + "3848": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "3849": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1403" + }, + "3852": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6574, + 6600 + ], + "op": "JUMP", + "path": "41" + }, + "3853": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "JUMPDEST", + "path": "41" + }, + "3854": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "statement": 54, + "value": "0x40" + }, + "3856": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "MLOAD", + "path": "41" + }, + "3857": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "DUP3", + "path": "41" + }, + "3858": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "SWAP1", + "path": "41" + }, + "3859": { + "op": "PUSH1", + "value": "0x1" + }, + "3861": { + "op": "PUSH1", + "value": "0x1" + }, + "3863": { + "op": "PUSH1", + "value": "0xA0" + }, + "3865": { + "op": "SHL" + }, + "3866": { + "op": "SUB" + }, + "3867": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "DUP4", + "path": "41" + }, + "3868": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "AND", + "path": "41" + }, + "3869": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "3870": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH32", + "path": "41", + "value": "0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B" + }, + "3903": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "3904": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "3906": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "3907": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "LOG3", + "path": "41" + }, + "3908": { + "fn": "ERC4973._burn", + "offset": [ + 6457, + 6645 + ], + "op": "POP", + "path": "41" + }, + "3909": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "POP", + "path": "41" + }, + "3910": { + "fn": "ERC4973._burn", + "jump": "o", + "offset": [ + 6408, + 6645 + ], + "op": "JUMP", + "path": "41" + }, + "3911": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3912": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "3914": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "3915": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "3916": { + "op": "PUSH1", + "value": "0x1" + }, + "3918": { + "op": "PUSH1", + "value": "0x1" + }, + "3920": { + "op": "PUSH1", + "value": "0xA0" + }, + "3922": { + "op": "SHL" + }, + "3923": { + "op": "SUB" + }, + "3924": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 55 + }, + "3925": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "3926": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "3927": { + "op": "PUSH1", + "value": "0x1" + }, + "3929": { + "op": "PUSH1", + "value": "0x1" + }, + "3931": { + "op": "PUSH1", + "value": "0xA0" + }, + "3933": { + "op": "SHL" + }, + "3934": { + "op": "SUB" + }, + "3935": { + "op": "NOT" + }, + "3936": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "3937": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "3938": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "3939": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "3940": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "3941": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP4", + "path": "0" + }, + "3942": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "3943": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 56, + "value": "0x40" + }, + "3945": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "3946": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "3947": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "3948": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "3949": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "3950": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP3", + "path": "0" + }, + "3951": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "3952": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "3985": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP1", + "path": "0" + }, + "3986": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "3988": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "3989": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "3990": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "3991": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "3992": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "3993": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7029, + 7263 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3994": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7158, + 7166 + ], + "op": "DUP1", + "path": "37", + "statement": 57 + }, + "3995": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7152, + 7174 + ], + "op": "MLOAD", + "path": "37" + }, + "3996": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7178, + 7179 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "3998": { + "branch": 100, + "fn": "Soulbound._setBaseURI", + "offset": [ + 7152, + 7179 + ], + "op": "SUB", + "path": "37" + }, + "3999": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH2", + "path": "37", + "value": "0xFDB" + }, + "4002": { + "branch": 100, + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "JUMPI", + "path": "37" + }, + "4003": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4005": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "MLOAD", + "path": "37" + }, + "4006": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4010": { + "op": "PUSH1", + "value": "0xE5" + }, + "4012": { + "op": "SHL" + }, + "4013": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "DUP2", + "path": "37" + }, + "4014": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "MSTORE", + "path": "37" + }, + "4015": { + "op": "PUSH1", + "value": "0x20" + }, + "4017": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "4019": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "DUP3", + "path": "37" + }, + "4020": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "ADD", + "path": "37" + }, + "4021": { + "op": "MSTORE" + }, + "4022": { + "op": "PUSH1", + "value": "0xE" + }, + "4024": { + "op": "PUSH1", + "value": "0x24" + }, + "4026": { + "op": "DUP3" + }, + "4027": { + "op": "ADD" + }, + "4028": { + "op": "MSTORE" + }, + "4029": { + "op": "PUSH14", + "value": "0x92DCECC2D8D2C840D8CADCCEE8D" + }, + "4044": { + "op": "PUSH1", + "value": "0x93" + }, + "4046": { + "op": "SHL" + }, + "4047": { + "op": "PUSH1", + "value": "0x44" + }, + "4049": { + "op": "DUP3" + }, + "4050": { + "op": "ADD" + }, + "4051": { + "op": "MSTORE" + }, + "4052": { + "op": "PUSH1", + "value": "0x64" + }, + "4054": { + "op": "ADD" + }, + "4055": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "4058": { + "op": "JUMP" + }, + "4059": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4060": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7245 + ], + "op": "PUSH1", + "path": "37", + "statement": 58, + "value": "0x6" + }, + "4062": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "PUSH2", + "path": "37", + "value": "0xFE7" + }, + "4065": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7248, + 7256 + ], + "op": "DUP3", + "path": "37" + }, + "4066": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7245 + ], + "op": "DUP3", + "path": "37" + }, + "4067": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1947" + }, + "4070": { + "fn": "Soulbound._setBaseURI", + "jump": "i", + "offset": [ + 7238, + 7256 + ], + "op": "JUMP", + "path": "37" + }, + "4071": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4072": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "POP", + "path": "37" + }, + "4073": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7029, + 7263 + ], + "op": "POP", + "path": "37" + }, + "4074": { + "fn": "Soulbound._setBaseURI", + "jump": "o", + "offset": [ + 7029, + 7263 + ], + "op": "JUMP", + "path": "37" + }, + "4075": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4076": { + "fn": "Soulbound.issue", + "offset": [ + 2314, + 2318 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4078": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2443 + ], + "op": "PUSH2", + "path": "37", + "statement": 59, + "value": "0xFF8" + }, + "4081": { + "fn": "Soulbound.issue", + "offset": [ + 2419, + 2422 + ], + "op": "DUP5", + "path": "37" + }, + "4082": { + "fn": "Soulbound.issue", + "offset": [ + 2424, + 2432 + ], + "op": "DUP5", + "path": "37" + }, + "4083": { + "fn": "Soulbound.issue", + "offset": [ + 2434, + 2442 + ], + "op": "DUP5", + "path": "37" + }, + "4084": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2418 + ], + "op": "PUSH2", + "path": "37", + "value": "0x123E" + }, + "4087": { + "fn": "Soulbound.issue", + "jump": "i", + "offset": [ + 2400, + 2443 + ], + "op": "JUMP", + "path": "37" + }, + "4088": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2443 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4089": { + "op": "POP" + }, + "4090": { + "fn": "Soulbound.issue", + "offset": [ + 2490, + 2494 + ], + "op": "PUSH1", + "path": "37", + "statement": 60, + "value": "0x1" + }, + "4092": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "SWAP4", + "path": "37" + }, + "4093": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "SWAP3", + "path": "37" + }, + "4094": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "4095": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "4096": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "4097": { + "fn": "Soulbound.issue", + "jump": "o", + "offset": [ + 2196, + 2501 + ], + "op": "JUMP", + "path": "37" + }, + "4098": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4099": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "4101": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "4102": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3732, + 3736 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4104": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3732, + 3736 + ], + "op": "SWAP1", + "path": "14" + }, + "4105": { + "op": "PUSH1", + "value": "0x1" + }, + "4107": { + "op": "PUSH1", + "value": "0x1" + }, + "4109": { + "op": "PUSH1", + "value": "0xA0" + }, + "4111": { + "op": "SHL" + }, + "4112": { + "op": "SUB" + }, + "4113": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "4114": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4115": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "4116": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x102F" + }, + "4119": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "4120": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "4122": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "4123": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4127": { + "op": "PUSH1", + "value": "0xE5" + }, + "4129": { + "op": "SHL" + }, + "4130": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "4131": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "4132": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "4134": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "4135": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x422" + }, + "4138": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "4139": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1812" + }, + "4142": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "4143": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "4144": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "4146": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "4147": { + "op": "PUSH1", + "value": "0x1" + }, + "4149": { + "op": "PUSH1", + "value": "0x1" + }, + "4151": { + "op": "PUSH1", + "value": "0xA0" + }, + "4153": { + "op": "SHL" + }, + "4154": { + "op": "SUB" + }, + "4155": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "4156": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4157": { + "branch": 87, + "fn": "Allowlist._verifySignature", + "offset": [ + 3897, + 3920 + ], + "op": "EQ", + "path": "14", + "statement": 61 + }, + "4158": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x109D" + }, + "4161": { + "branch": 87, + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPI", + "path": "14" + }, + "4162": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4164": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MLOAD", + "path": "14" + }, + "4165": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4169": { + "op": "PUSH1", + "value": "0xE5" + }, + "4171": { + "op": "SHL" + }, + "4172": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP2", + "path": "14" + }, + "4173": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MSTORE", + "path": "14" + }, + "4174": { + "op": "PUSH1", + "value": "0x20" + }, + "4176": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "4178": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP3", + "path": "14" + }, + "4179": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "ADD", + "path": "14" + }, + "4180": { + "op": "MSTORE" + }, + "4181": { + "op": "PUSH1", + "value": "0x2B" + }, + "4183": { + "op": "PUSH1", + "value": "0x24" + }, + "4185": { + "op": "DUP3" + }, + "4186": { + "op": "ADD" + }, + "4187": { + "op": "MSTORE" + }, + "4188": { + "op": "PUSH32", + "value": "0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062" + }, + "4221": { + "op": "PUSH1", + "value": "0x44" + }, + "4223": { + "op": "DUP3" + }, + "4224": { + "op": "ADD" + }, + "4225": { + "op": "MSTORE" + }, + "4226": { + "op": "PUSH11", + "value": "0x3C903737B716B7BBB732B9" + }, + "4238": { + "op": "PUSH1", + "value": "0xA9" + }, + "4240": { + "op": "SHL" + }, + "4241": { + "op": "PUSH1", + "value": "0x64" + }, + "4243": { + "op": "DUP3" + }, + "4244": { + "op": "ADD" + }, + "4245": { + "op": "MSTORE" + }, + "4246": { + "op": "PUSH1", + "value": "0x84" + }, + "4248": { + "op": "ADD" + }, + "4249": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x422" + }, + "4252": { + "op": "JUMP" + }, + "4253": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4254": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4070 + ], + "op": "DUP2", + "path": "14", + "statement": 62 + }, + "4255": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4077 + ], + "op": "MLOAD", + "path": "14" + }, + "4256": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4081, + 4083 + ], + "op": "PUSH1", + "path": "14", + "value": "0x41" + }, + "4258": { + "branch": 88, + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4083 + ], + "op": "EQ", + "path": "14" + }, + "4259": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x10EE" + }, + "4262": { + "branch": 88, + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPI", + "path": "14" + }, + "4263": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4265": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MLOAD", + "path": "14" + }, + "4266": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4270": { + "op": "PUSH1", + "value": "0xE5" + }, + "4272": { + "op": "SHL" + }, + "4273": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP2", + "path": "14" + }, + "4274": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MSTORE", + "path": "14" + }, + "4275": { + "op": "PUSH1", + "value": "0x20" + }, + "4277": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "4279": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP3", + "path": "14" + }, + "4280": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "ADD", + "path": "14" + }, + "4281": { + "op": "MSTORE" + }, + "4282": { + "op": "PUSH1", + "value": "0x1E" + }, + "4284": { + "op": "PUSH1", + "value": "0x24" + }, + "4286": { + "op": "DUP3" + }, + "4287": { + "op": "ADD" + }, + "4288": { + "op": "MSTORE" + }, + "4289": { + "op": "PUSH32", + "value": "0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000" + }, + "4322": { + "op": "PUSH1", + "value": "0x44" + }, + "4324": { + "op": "DUP3" + }, + "4325": { + "op": "ADD" + }, + "4326": { + "op": "MSTORE" + }, + "4327": { + "op": "PUSH1", + "value": "0x64" + }, + "4329": { + "op": "ADD" + }, + "4330": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x422" + }, + "4333": { + "op": "JUMP" + }, + "4334": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4335": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "4337": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP3", + "path": "14" + }, + "4338": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "4339": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "4340": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "4341": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4343": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "4344": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP6", + "path": "14" + }, + "4345": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "4346": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "4347": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "4349": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "4350": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP8", + "path": "14" + }, + "4351": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "4352": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "4353": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP4", + "path": "14" + }, + "4354": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4355": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4197, + 4206 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4357": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4358": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP3", + "path": "14" + }, + "4359": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "4360": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP7", + "path": "14" + }, + "4361": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "4362": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "4363": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4364": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP7", + "path": "14" + }, + "4365": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "4366": { + "op": "DUP11" + }, + "4367": { + "op": "SWAP1" + }, + "4368": { + "op": "MSTORE" + }, + "4369": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP1", + "path": "14" + }, + "4370": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP7", + "path": "14" + }, + "4371": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "4372": { + "op": "SWAP4" + }, + "4373": { + "op": "DUP2" + }, + "4374": { + "op": "ADD" + }, + "4375": { + "op": "DUP5" + }, + "4376": { + "op": "SWAP1" + }, + "4377": { + "op": "MSTORE" + }, + "4378": { + "op": "SWAP1" + }, + "4379": { + "op": "DUP2" + }, + "4380": { + "op": "ADD" + }, + "4381": { + "op": "DUP5" + }, + "4382": { + "op": "SWAP1" + }, + "4383": { + "op": "MSTORE" + }, + "4384": { + "op": "PUSH1", + "value": "0x80" + }, + "4386": { + "op": "DUP2" + }, + "4387": { + "op": "ADD" + }, + "4388": { + "op": "DUP3" + }, + "4389": { + "op": "SWAP1" + }, + "4390": { + "op": "MSTORE" + }, + "4391": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP3", + "path": "14" + }, + "4392": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP4", + "path": "14" + }, + "4393": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP1", + "path": "14" + }, + "4394": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "4395": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "4397": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4398": { + "op": "PUSH1", + "value": "0xA0" + }, + "4400": { + "op": "ADD" + }, + "4401": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "4403": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4405": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4406": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "4408": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "4409": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "4410": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4411": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4412": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP5", + "path": "14" + }, + "4413": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "4414": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4415": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP6", + "path": "14" + }, + "4416": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "GAS", + "path": "14" + }, + "4417": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "STATICCALL", + "path": "14" + }, + "4418": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "4419": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4420": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "4421": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1152" + }, + "4424": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPI", + "path": "14" + }, + "4425": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "4426": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4428": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4429": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "4430": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "4431": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4433": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "REVERT", + "path": "14" + }, + "4434": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4435": { + "op": "POP" + }, + "4436": { + "op": "POP" + }, + "4437": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4439": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4440": { + "op": "PUSH1", + "value": "0x1F" + }, + "4442": { + "op": "NOT" + }, + "4443": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "4444": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "4445": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4446": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "PUSH1", + "path": "14", + "value": "0x8" + }, + "4448": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SLOAD", + "path": "14" + }, + "4449": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4450": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP4", + "path": "14" + }, + "4451": { + "op": "POP" + }, + "4452": { + "op": "PUSH1", + "value": "0x1" + }, + "4454": { + "op": "PUSH1", + "value": "0x1" + }, + "4456": { + "op": "PUSH1", + "value": "0xA0" + }, + "4458": { + "op": "SHL" + }, + "4459": { + "op": "SUB" + }, + "4460": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP1", + "path": "14" + }, + "4461": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP6", + "path": "14" + }, + "4462": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "AND", + "path": "14" + }, + "4463": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "4464": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "AND", + "path": "14" + }, + "4465": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "EQ", + "path": "14" + }, + "4466": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "4467": { + "op": "POP" + }, + "4468": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP2", + "path": "14" + }, + "4469": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP1", + "path": "14" + }, + "4470": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "DUP10", + "path": "14", + "statement": 63 + }, + "4471": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "SWAP1", + "path": "14" + }, + "4472": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "PUSH32", + "path": "14", + "value": "0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36" + }, + "4505": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "SWAP1", + "path": "14" + }, + "4506": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4508": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "SWAP1", + "path": "14" + }, + "4509": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "LOG3", + "path": "14" + }, + "4510": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4648, + 4670 + ], + "op": "SWAP8", + "path": "14", + "statement": 64 + }, + "4511": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "SWAP7", + "path": "14" + }, + "4512": { + "op": "POP" + }, + "4513": { + "op": "POP" + }, + "4514": { + "op": "POP" + }, + "4515": { + "op": "POP" + }, + "4516": { + "op": "POP" + }, + "4517": { + "op": "POP" + }, + "4518": { + "op": "POP" + }, + "4519": { + "fn": "Allowlist._verifySignature", + "jump": "o", + "offset": [ + 3622, + 4677 + ], + "op": "JUMP", + "path": "14" + }, + "4520": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6437, + 6858 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4521": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6580 + ], + "op": "PUSH2", + "path": "37", + "statement": 65, + "value": "0x11B1" + }, + "4524": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6572, + 6579 + ], + "op": "DUP2", + "path": "37" + }, + "4525": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6571 + ], + "op": "PUSH2", + "path": "37", + "value": "0xCB2" + }, + "4528": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6564, + 6580 + ], + "op": "JUMP", + "path": "37" + }, + "4529": { + "branch": 101, + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6580 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4530": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH2", + "path": "37", + "value": "0x11FD" + }, + "4533": { + "branch": 101, + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "JUMPI", + "path": "37" + }, + "4534": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4536": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "MLOAD", + "path": "37" + }, + "4537": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4541": { + "op": "PUSH1", + "value": "0xE5" + }, + "4543": { + "op": "SHL" + }, + "4544": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "DUP2", + "path": "37" + }, + "4545": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "MSTORE", + "path": "37" + }, + "4546": { + "op": "PUSH1", + "value": "0x20" + }, + "4548": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "4550": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "DUP3", + "path": "37" + }, + "4551": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "ADD", + "path": "37" + }, + "4552": { + "op": "MSTORE" + }, + "4553": { + "op": "PUSH1", + "value": "0x18" + }, + "4555": { + "op": "PUSH1", + "value": "0x24" + }, + "4557": { + "op": "DUP3" + }, + "4558": { + "op": "ADD" + }, + "4559": { + "op": "MSTORE" + }, + "4560": { + "op": "PUSH32", + "value": "0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000" + }, + "4593": { + "op": "PUSH1", + "value": "0x44" + }, + "4595": { + "op": "DUP3" + }, + "4596": { + "op": "ADD" + }, + "4597": { + "op": "MSTORE" + }, + "4598": { + "op": "PUSH1", + "value": "0x64" + }, + "4600": { + "op": "ADD" + }, + "4601": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "4604": { + "op": "JUMP" + }, + "4605": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4606": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6683 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4608": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6702 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1208" + }, + "4611": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6694, + 6701 + ], + "op": "DUP3", + "path": "37" + }, + "4612": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6693 + ], + "op": "PUSH2", + "path": "37", + "value": "0x603" + }, + "4615": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6686, + 6702 + ], + "op": "JUMP", + "path": "37" + }, + "4616": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6702 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4617": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6702 + ], + "op": "SWAP1", + "path": "37" + }, + "4618": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6702 + ], + "op": "POP", + "path": "37" + }, + "4619": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6759 + ], + "op": "PUSH2", + "path": "37", + "statement": 66, + "value": "0x1213" + }, + "4622": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6751, + 6758 + ], + "op": "DUP3", + "path": "37" + }, + "4623": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6750 + ], + "op": "PUSH2", + "path": "37", + "value": "0xEA0" + }, + "4626": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6745, + 6759 + ], + "op": "JUMP", + "path": "37" + }, + "4627": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6759 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4628": { + "op": "PUSH1", + "value": "0x1" + }, + "4630": { + "op": "PUSH1", + "value": "0x1" + }, + "4632": { + "op": "PUSH1", + "value": "0xA0" + }, + "4634": { + "op": "SHL" + }, + "4635": { + "op": "SUB" + }, + "4636": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "AND", + "path": "37", + "statement": 67 + }, + "4637": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6846, + 6851 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4639": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "SWAP1", + "path": "37" + }, + "4640": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP2", + "path": "37" + }, + "4641": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "MSTORE", + "path": "37" + }, + "4642": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6821 + ], + "op": "PUSH1", + "path": "37", + "value": "0x7" + }, + "4644": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "4646": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "SWAP1", + "path": "37" + }, + "4647": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP2", + "path": "37" + }, + "4648": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "MSTORE", + "path": "37" + }, + "4649": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4651": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP1", + "path": "37" + }, + "4652": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP4", + "path": "37" + }, + "4653": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "KECCAK256", + "path": "37" + }, + "4654": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP4", + "path": "37" + }, + "4655": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "DUP4", + "path": "37" + }, + "4656": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "MSTORE", + "path": "37" + }, + "4657": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP3", + "path": "37" + }, + "4658": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP1", + "path": "37" + }, + "4659": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "MSTORE", + "path": "37" + }, + "4660": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "KECCAK256", + "path": "37" + }, + "4661": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "DUP1", + "path": "37" + }, + "4662": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SLOAD", + "path": "37" + }, + "4663": { + "op": "PUSH1", + "value": "0xFF" + }, + "4665": { + "op": "NOT" + }, + "4666": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "AND", + "path": "37" + }, + "4667": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SWAP1", + "path": "37" + }, + "4668": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SSTORE", + "path": "37" + }, + "4669": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "o", + "offset": [ + 6437, + 6858 + ], + "op": "JUMP", + "path": "37" + }, + "4670": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5609, + 6276 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4671": { + "op": "PUSH1", + "value": "0x1" + }, + "4673": { + "op": "PUSH1", + "value": "0x1" + }, + "4675": { + "op": "PUSH1", + "value": "0xA0" + }, + "4677": { + "op": "SHL" + }, + "4678": { + "op": "SUB" + }, + "4679": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5816, + 5832 + ], + "op": "DUP4", + "path": "37", + "statement": 68 + }, + "4680": { + "branch": 102, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5816, + 5832 + ], + "op": "AND", + "path": "37" + }, + "4681": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH2", + "path": "37", + "value": "0x128C" + }, + "4684": { + "branch": 102, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "JUMPI", + "path": "37" + }, + "4685": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4687": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "MLOAD", + "path": "37" + }, + "4688": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4692": { + "op": "PUSH1", + "value": "0xE5" + }, + "4694": { + "op": "SHL" + }, + "4695": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "DUP2", + "path": "37" + }, + "4696": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "MSTORE", + "path": "37" + }, + "4697": { + "op": "PUSH1", + "value": "0x20" + }, + "4699": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "4701": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "DUP3", + "path": "37" + }, + "4702": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "ADD", + "path": "37" + }, + "4703": { + "op": "MSTORE" + }, + "4704": { + "op": "PUSH1", + "value": "0x15" + }, + "4706": { + "op": "PUSH1", + "value": "0x24" + }, + "4708": { + "op": "DUP3" + }, + "4709": { + "op": "ADD" + }, + "4710": { + "op": "MSTORE" + }, + "4711": { + "op": "PUSH21", + "value": "0x26B4B73A103A37903D32B9379030B2323932B9B997" + }, + "4733": { + "op": "PUSH1", + "value": "0x59" + }, + "4735": { + "op": "SHL" + }, + "4736": { + "op": "PUSH1", + "value": "0x44" + }, + "4738": { + "op": "DUP3" + }, + "4739": { + "op": "ADD" + }, + "4740": { + "op": "MSTORE" + }, + "4741": { + "op": "PUSH1", + "value": "0x64" + }, + "4743": { + "op": "ADD" + }, + "4744": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "4747": { + "op": "JUMP" + }, + "4748": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4749": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6004, + 6012 + ], + "op": "DUP1", + "path": "37", + "statement": 69 + }, + "4750": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5998, + 6020 + ], + "op": "MLOAD", + "path": "37" + }, + "4751": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6024, + 6025 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4753": { + "branch": 103, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5998, + 6025 + ], + "op": "SUB", + "path": "37" + }, + "4754": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH2", + "path": "37", + "value": "0x12CF" + }, + "4757": { + "branch": 103, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "JUMPI", + "path": "37" + }, + "4758": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4760": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "MLOAD", + "path": "37" + }, + "4761": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4765": { + "op": "PUSH1", + "value": "0xE5" + }, + "4767": { + "op": "SHL" + }, + "4768": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "DUP2", + "path": "37" + }, + "4769": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "MSTORE", + "path": "37" + }, + "4770": { + "op": "PUSH1", + "value": "0x20" + }, + "4772": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "4774": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "DUP3", + "path": "37" + }, + "4775": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "ADD", + "path": "37" + }, + "4776": { + "op": "MSTORE" + }, + "4777": { + "op": "PUSH1", + "value": "0xF" + }, + "4779": { + "op": "PUSH1", + "value": "0x24" + }, + "4781": { + "op": "DUP3" + }, + "4782": { + "op": "ADD" + }, + "4783": { + "op": "MSTORE" + }, + "4784": { + "op": "PUSH15", + "value": "0x22B6B83A3C903A37B5B2B72AA92497" + }, + "4800": { + "op": "PUSH1", + "value": "0x89" + }, + "4802": { + "op": "SHL" + }, + "4803": { + "op": "PUSH1", + "value": "0x44" + }, + "4805": { + "op": "DUP3" + }, + "4806": { + "op": "ADD" + }, + "4807": { + "op": "MSTORE" + }, + "4808": { + "op": "PUSH1", + "value": "0x64" + }, + "4810": { + "op": "ADD" + }, + "4811": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH2", + "path": "37", + "value": "0x422" + }, + "4814": { + "op": "JUMP" + }, + "4815": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4816": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6188 + ], + "op": "PUSH2", + "path": "37", + "statement": 70, + "value": "0x12DA" + }, + "4819": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6166, + 6168 + ], + "op": "DUP4", + "path": "37" + }, + "4820": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6170, + 6177 + ], + "op": "DUP4", + "path": "37" + }, + "4821": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6179, + 6187 + ], + "op": "DUP4", + "path": "37" + }, + "4822": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6165 + ], + "op": "PUSH2", + "path": "37", + "value": "0x130C" + }, + "4825": { + "fn": "Soulbound.mintSoulboundToken", + "jump": "i", + "offset": [ + 6160, + 6188 + ], + "op": "JUMP", + "path": "37" + }, + "4826": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6188 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4827": { + "op": "POP" + }, + "4828": { + "op": "POP" + }, + "4829": { + "op": "PUSH1", + "value": "0x1" + }, + "4831": { + "op": "PUSH1", + "value": "0x1" + }, + "4833": { + "op": "PUSH1", + "value": "0xA0" + }, + "4835": { + "op": "SHL" + }, + "4836": { + "op": "SUB" + }, + "4837": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37", + "statement": 71 + }, + "4838": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP2", + "path": "37" + }, + "4839": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "AND", + "path": "37" + }, + "4840": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4842": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37" + }, + "4843": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP2", + "path": "37" + }, + "4844": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "MSTORE", + "path": "37" + }, + "4845": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6249 + ], + "op": "PUSH1", + "path": "37", + "value": "0x7" + }, + "4847": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "4849": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37" + }, + "4850": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP2", + "path": "37" + }, + "4851": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "MSTORE", + "path": "37" + }, + "4852": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4854": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP1", + "path": "37" + }, + "4855": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP4", + "path": "37" + }, + "4856": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "KECCAK256", + "path": "37" + }, + "4857": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP4", + "path": "37" + }, + "4858": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "DUP4", + "path": "37" + }, + "4859": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "MSTORE", + "path": "37" + }, + "4860": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP3", + "path": "37" + }, + "4861": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP1", + "path": "37" + }, + "4862": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "MSTORE", + "path": "37" + }, + "4863": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "KECCAK256", + "path": "37" + }, + "4864": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "DUP1", + "path": "37" + }, + "4865": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SLOAD", + "path": "37" + }, + "4866": { + "op": "PUSH1", + "value": "0xFF" + }, + "4868": { + "op": "NOT" + }, + "4869": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "AND", + "path": "37" + }, + "4870": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6265, + 6269 + ], + "op": "PUSH1", + "path": "37", + "value": "0x1" + }, + "4872": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "OR", + "path": "37" + }, + "4873": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SWAP1", + "path": "37" + }, + "4874": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SSTORE", + "path": "37" + }, + "4875": { + "fn": "Soulbound.mintSoulboundToken", + "jump": "o", + "offset": [ + 5609, + 6276 + ], + "op": "JUMP", + "path": "37" + }, + "4876": { + "fn": "ERC4973._mint", + "offset": [ + 6055, + 6402 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4877": { + "fn": "ERC4973._mint", + "offset": [ + 6174, + 6181 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4879": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6218 + ], + "op": "PUSH2", + "path": "41", + "statement": 72, + "value": "0x1317" + }, + "4882": { + "fn": "ERC4973._mint", + "offset": [ + 6210, + 6217 + ], + "op": "DUP4", + "path": "41" + }, + "4883": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6209 + ], + "op": "PUSH2", + "path": "41", + "value": "0xCB2" + }, + "4886": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6202, + 6218 + ], + "op": "JUMP", + "path": "41" + }, + "4887": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6218 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4888": { + "branch": 92, + "fn": "ERC4973._mint", + "offset": [ + 6201, + 6218 + ], + "op": "ISZERO", + "path": "41" + }, + "4889": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH2", + "path": "41", + "value": "0x135B" + }, + "4892": { + "branch": 92, + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "JUMPI", + "path": "41" + }, + "4893": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4895": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "MLOAD", + "path": "41" + }, + "4896": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4900": { + "op": "PUSH1", + "value": "0xE5" + }, + "4902": { + "op": "SHL" + }, + "4903": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "DUP2", + "path": "41" + }, + "4904": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "MSTORE", + "path": "41" + }, + "4905": { + "op": "PUSH1", + "value": "0x20" + }, + "4907": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "4909": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "DUP3", + "path": "41" + }, + "4910": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "ADD", + "path": "41" + }, + "4911": { + "op": "MSTORE" + }, + "4912": { + "op": "PUSH1", + "value": "0x14" + }, + "4914": { + "op": "PUSH1", + "value": "0x24" + }, + "4916": { + "op": "DUP3" + }, + "4917": { + "op": "ADD" + }, + "4918": { + "op": "MSTORE" + }, + "4919": { + "op": "PUSH20", + "value": "0x6D696E743A20746F6B656E494420657869737473" + }, + "4940": { + "op": "PUSH1", + "value": "0x60" + }, + "4942": { + "op": "SHL" + }, + "4943": { + "op": "PUSH1", + "value": "0x44" + }, + "4945": { + "op": "DUP3" + }, + "4946": { + "op": "ADD" + }, + "4947": { + "op": "MSTORE" + }, + "4948": { + "op": "PUSH1", + "value": "0x64" + }, + "4950": { + "op": "ADD" + }, + "4951": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH2", + "path": "41", + "value": "0x422" + }, + "4954": { + "op": "JUMP" + }, + "4955": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4956": { + "op": "PUSH1", + "value": "0x1" + }, + "4958": { + "op": "PUSH1", + "value": "0x1" + }, + "4960": { + "op": "PUSH1", + "value": "0xA0" + }, + "4962": { + "op": "SHL" + }, + "4963": { + "op": "SUB" + }, + "4964": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP5", + "path": "41", + "statement": 73 + }, + "4965": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "AND", + "path": "41" + }, + "4966": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4968": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "SWAP1", + "path": "41" + }, + "4969": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP2", + "path": "41" + }, + "4970": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "MSTORE", + "path": "41" + }, + "4971": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6262 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "4973": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "4975": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "MSTORE", + "path": "41" + }, + "4976": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4978": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP2", + "path": "41" + }, + "4979": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "KECCAK256", + "path": "41" + }, + "4980": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "DUP1", + "path": "41" + }, + "4981": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SLOAD", + "path": "41" + }, + "4982": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "4984": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "SWAP3", + "path": "41" + }, + "4985": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "SWAP1", + "path": "41" + }, + "4986": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1384" + }, + "4989": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "4990": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "DUP5", + "path": "41" + }, + "4991": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "4992": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "PUSH2", + "path": "41", + "value": "0x18CB" + }, + "4995": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6253, + 6271 + ], + "op": "JUMP", + "path": "41" + }, + "4996": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4997": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "4998": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP2", + "path": "41" + }, + "4999": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SSTORE", + "path": "41" + }, + "5000": { + "op": "POP" + }, + "5001": { + "op": "POP" + }, + "5002": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "statement": 74, + "value": "0x0" + }, + "5004": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP4", + "path": "41" + }, + "5005": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP2", + "path": "41" + }, + "5006": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "MSTORE", + "path": "41" + }, + "5007": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6288 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "5009": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "5011": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "SWAP1", + "path": "41" + }, + "5012": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP2", + "path": "41" + }, + "5013": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "MSTORE", + "path": "41" + }, + "5014": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "5016": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP1", + "path": "41" + }, + "5017": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP4", + "path": "41" + }, + "5018": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "KECCAK256", + "path": "41" + }, + "5019": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "DUP1", + "path": "41" + }, + "5020": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SLOAD", + "path": "41" + }, + "5021": { + "op": "PUSH1", + "value": "0x1" + }, + "5023": { + "op": "PUSH1", + "value": "0x1" + }, + "5025": { + "op": "PUSH1", + "value": "0xA0" + }, + "5027": { + "op": "SHL" + }, + "5028": { + "op": "SUB" + }, + "5029": { + "op": "NOT" + }, + "5030": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "AND", + "path": "41" + }, + "5031": { + "op": "PUSH1", + "value": "0x1" + }, + "5033": { + "op": "PUSH1", + "value": "0x1" + }, + "5035": { + "op": "PUSH1", + "value": "0xA0" + }, + "5037": { + "op": "SHL" + }, + "5038": { + "op": "SUB" + }, + "5039": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "DUP10", + "path": "41" + }, + "5040": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "AND", + "path": "41" + }, + "5041": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "OR", + "path": "41" + }, + "5042": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SWAP1", + "path": "41" + }, + "5043": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SSTORE", + "path": "41" + }, + "5044": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6322 + ], + "op": "PUSH1", + "path": "41", + "statement": 75, + "value": "0x3" + }, + "5046": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP1", + "path": "41" + }, + "5047": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP2", + "path": "41" + }, + "5048": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "MSTORE", + "path": "41" + }, + "5049": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP1", + "path": "41" + }, + "5050": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "KECCAK256", + "path": "41" + }, + "5051": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x13C4" + }, + "5054": { + "fn": "ERC4973._mint", + "offset": [ + 6334, + 6337 + ], + "op": "DUP4", + "path": "41" + }, + "5055": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "DUP3", + "path": "41" + }, + "5056": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1947" + }, + "5059": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6312, + 6337 + ], + "op": "JUMP", + "path": "41" + }, + "5060": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "JUMPDEST", + "path": "41" + }, + "5061": { + "op": "POP" + }, + "5062": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH1", + "path": "41", + "statement": 76, + "value": "0x40" + }, + "5064": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "MLOAD", + "path": "41" + }, + "5065": { + "fn": "ERC4973._mint", + "offset": [ + 6363, + 6370 + ], + "op": "DUP4", + "path": "41" + }, + "5066": { + "fn": "ERC4973._mint", + "offset": [ + 6363, + 6370 + ], + "op": "SWAP1", + "path": "41" + }, + "5067": { + "op": "PUSH1", + "value": "0x1" + }, + "5069": { + "op": "PUSH1", + "value": "0x1" + }, + "5071": { + "op": "PUSH1", + "value": "0xA0" + }, + "5073": { + "op": "SHL" + }, + "5074": { + "op": "SUB" + }, + "5075": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "DUP7", + "path": "41" + }, + "5076": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "AND", + "path": "41" + }, + "5077": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "5078": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH32", + "path": "41", + "value": "0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27" + }, + "5111": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "5112": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "5114": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "5115": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "LOG3", + "path": "41" + }, + "5116": { + "op": "POP" + }, + "5117": { + "fn": "ERC4973._mint", + "offset": [ + 6388, + 6395 + ], + "op": "SWAP1", + "path": "41", + "statement": 77 + }, + "5118": { + "fn": "ERC4973._mint", + "offset": [ + 6388, + 6395 + ], + "op": "SWAP3", + "path": "41" + }, + "5119": { + "fn": "ERC4973._mint", + "offset": [ + 6055, + 6402 + ], + "op": "SWAP2", + "path": "41" + }, + "5120": { + "op": "POP" + }, + "5121": { + "op": "POP" + }, + "5122": { + "fn": "ERC4973._mint", + "jump": "o", + "offset": [ + 6055, + 6402 + ], + "op": "JUMP", + "path": "41" + }, + "5123": { + "op": "JUMPDEST" + }, + "5124": { + "op": "POP" + }, + "5125": { + "op": "DUP1" + }, + "5126": { + "op": "SLOAD" + }, + "5127": { + "op": "PUSH2", + "value": "0x140F" + }, + "5130": { + "op": "SWAP1" + }, + "5131": { + "op": "PUSH2", + "value": "0x17A9" + }, + "5134": { + "jump": "i", + "op": "JUMP" + }, + "5135": { + "op": "JUMPDEST" + }, + "5136": { + "op": "PUSH1", + "value": "0x0" + }, + "5138": { + "op": "DUP3" + }, + "5139": { + "op": "SSTORE" + }, + "5140": { + "op": "DUP1" + }, + "5141": { + "op": "PUSH1", + "value": "0x1F" + }, + "5143": { + "op": "LT" + }, + "5144": { + "op": "PUSH2", + "value": "0x141F" + }, + "5147": { + "op": "JUMPI" + }, + "5148": { + "op": "POP" + }, + "5149": { + "op": "POP" + }, + "5150": { + "jump": "o", + "op": "JUMP" + }, + "5151": { + "op": "JUMPDEST" + }, + "5152": { + "op": "PUSH1", + "value": "0x1F" + }, + "5154": { + "op": "ADD" + }, + "5155": { + "op": "PUSH1", + "value": "0x20" + }, + "5157": { + "op": "SWAP1" + }, + "5158": { + "op": "DIV" + }, + "5159": { + "op": "SWAP1" + }, + "5160": { + "op": "PUSH1", + "value": "0x0" + }, + "5162": { + "op": "MSTORE" + }, + "5163": { + "op": "PUSH1", + "value": "0x20" + }, + "5165": { + "op": "PUSH1", + "value": "0x0" + }, + "5167": { + "op": "KECCAK256" + }, + "5168": { + "op": "SWAP1" + }, + "5169": { + "op": "DUP2" + }, + "5170": { + "op": "ADD" + }, + "5171": { + "op": "SWAP1" + }, + "5172": { + "op": "PUSH2", + "value": "0x600" + }, + "5175": { + "op": "SWAP2" + }, + "5176": { + "op": "SWAP1" + }, + "5177": { + "op": "JUMPDEST" + }, + "5178": { + "op": "DUP1" + }, + "5179": { + "op": "DUP3" + }, + "5180": { + "op": "GT" + }, + "5181": { + "op": "ISZERO" + }, + "5182": { + "op": "PUSH2", + "value": "0x144D" + }, + "5185": { + "op": "JUMPI" + }, + "5186": { + "op": "PUSH1", + "value": "0x0" + }, + "5188": { + "op": "DUP2" + }, + "5189": { + "op": "SSTORE" + }, + "5190": { + "op": "PUSH1", + "value": "0x1" + }, + "5192": { + "op": "ADD" + }, + "5193": { + "op": "PUSH2", + "value": "0x1439" + }, + "5196": { + "op": "JUMP" + }, + "5197": { + "op": "JUMPDEST" + }, + "5198": { + "op": "POP" + }, + "5199": { + "op": "SWAP1" + }, + "5200": { + "jump": "o", + "op": "JUMP" + }, + "5201": { + "op": "JUMPDEST" + }, + "5202": { + "op": "PUSH1", + "value": "0x0" + }, + "5204": { + "op": "PUSH1", + "value": "0x20" + }, + "5206": { + "op": "DUP3" + }, + "5207": { + "op": "DUP5" + }, + "5208": { + "op": "SUB" + }, + "5209": { + "op": "SLT" + }, + "5210": { + "op": "ISZERO" + }, + "5211": { + "op": "PUSH2", + "value": "0x1463" + }, + "5214": { + "op": "JUMPI" + }, + "5215": { + "op": "PUSH1", + "value": "0x0" + }, + "5217": { + "op": "DUP1" + }, + "5218": { + "op": "REVERT" + }, + "5219": { + "op": "JUMPDEST" + }, + "5220": { + "op": "DUP2" + }, + "5221": { + "op": "CALLDATALOAD" + }, + "5222": { + "op": "PUSH1", + "value": "0x1" + }, + "5224": { + "op": "PUSH1", + "value": "0x1" + }, + "5226": { + "op": "PUSH1", + "value": "0xE0" + }, + "5228": { + "op": "SHL" + }, + "5229": { + "op": "SUB" + }, + "5230": { + "op": "NOT" + }, + "5231": { + "op": "DUP2" + }, + "5232": { + "op": "AND" + }, + "5233": { + "op": "DUP2" + }, + "5234": { + "op": "EQ" + }, + "5235": { + "op": "PUSH2", + "value": "0xA6B" + }, + "5238": { + "op": "JUMPI" + }, + "5239": { + "op": "PUSH1", + "value": "0x0" + }, + "5241": { + "op": "DUP1" + }, + "5242": { + "op": "REVERT" + }, + "5243": { + "op": "JUMPDEST" + }, + "5244": { + "op": "PUSH1", + "value": "0x0" + }, + "5246": { + "op": "JUMPDEST" + }, + "5247": { + "op": "DUP4" + }, + "5248": { + "op": "DUP2" + }, + "5249": { + "op": "LT" + }, + "5250": { + "op": "ISZERO" + }, + "5251": { + "op": "PUSH2", + "value": "0x1496" + }, + "5254": { + "op": "JUMPI" + }, + "5255": { + "op": "DUP2" + }, + "5256": { + "op": "DUP2" + }, + "5257": { + "op": "ADD" + }, + "5258": { + "op": "MLOAD" + }, + "5259": { + "op": "DUP4" + }, + "5260": { + "op": "DUP3" + }, + "5261": { + "op": "ADD" + }, + "5262": { + "op": "MSTORE" + }, + "5263": { + "op": "PUSH1", + "value": "0x20" + }, + "5265": { + "op": "ADD" + }, + "5266": { + "op": "PUSH2", + "value": "0x147E" + }, + "5269": { + "op": "JUMP" + }, + "5270": { + "op": "JUMPDEST" + }, + "5271": { + "op": "DUP4" + }, + "5272": { + "op": "DUP2" + }, + "5273": { + "op": "GT" + }, + "5274": { + "op": "ISZERO" + }, + "5275": { + "op": "PUSH2", + "value": "0x14A5" + }, + "5278": { + "op": "JUMPI" + }, + "5279": { + "op": "PUSH1", + "value": "0x0" + }, + "5281": { + "op": "DUP5" + }, + "5282": { + "op": "DUP5" + }, + "5283": { + "op": "ADD" + }, + "5284": { + "op": "MSTORE" + }, + "5285": { + "op": "JUMPDEST" + }, + "5286": { + "op": "POP" + }, + "5287": { + "op": "POP" + }, + "5288": { + "op": "POP" + }, + "5289": { + "op": "POP" + }, + "5290": { + "jump": "o", + "op": "JUMP" + }, + "5291": { + "op": "JUMPDEST" + }, + "5292": { + "op": "PUSH1", + "value": "0x20" + }, + "5294": { + "op": "DUP2" + }, + "5295": { + "op": "MSTORE" + }, + "5296": { + "op": "PUSH1", + "value": "0x0" + }, + "5298": { + "op": "DUP3" + }, + "5299": { + "op": "MLOAD" + }, + "5300": { + "op": "DUP1" + }, + "5301": { + "op": "PUSH1", + "value": "0x20" + }, + "5303": { + "op": "DUP5" + }, + "5304": { + "op": "ADD" + }, + "5305": { + "op": "MSTORE" + }, + "5306": { + "op": "PUSH2", + "value": "0x14CA" + }, + "5309": { + "op": "DUP2" + }, + "5310": { + "op": "PUSH1", + "value": "0x40" + }, + "5312": { + "op": "DUP6" + }, + "5313": { + "op": "ADD" + }, + "5314": { + "op": "PUSH1", + "value": "0x20" + }, + "5316": { + "op": "DUP8" + }, + "5317": { + "op": "ADD" + }, + "5318": { + "op": "PUSH2", + "value": "0x147B" + }, + "5321": { + "jump": "i", + "op": "JUMP" + }, + "5322": { + "op": "JUMPDEST" + }, + "5323": { + "op": "PUSH1", + "value": "0x1F" + }, + "5325": { + "op": "ADD" + }, + "5326": { + "op": "PUSH1", + "value": "0x1F" + }, + "5328": { + "op": "NOT" + }, + "5329": { + "op": "AND" + }, + "5330": { + "op": "SWAP2" + }, + "5331": { + "op": "SWAP1" + }, + "5332": { + "op": "SWAP2" + }, + "5333": { + "op": "ADD" + }, + "5334": { + "op": "PUSH1", + "value": "0x40" + }, + "5336": { + "op": "ADD" + }, + "5337": { + "op": "SWAP3" + }, + "5338": { + "op": "SWAP2" + }, + "5339": { + "op": "POP" + }, + "5340": { + "op": "POP" + }, + "5341": { + "jump": "o", + "op": "JUMP" + }, + "5342": { + "op": "JUMPDEST" + }, + "5343": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5348": { + "op": "PUSH1", + "value": "0xE0" + }, + "5350": { + "op": "SHL" + }, + "5351": { + "op": "PUSH1", + "value": "0x0" + }, + "5353": { + "op": "MSTORE" + }, + "5354": { + "op": "PUSH1", + "value": "0x41" + }, + "5356": { + "op": "PUSH1", + "value": "0x4" + }, + "5358": { + "op": "MSTORE" + }, + "5359": { + "op": "PUSH1", + "value": "0x24" + }, + "5361": { + "op": "PUSH1", + "value": "0x0" + }, + "5363": { + "op": "REVERT" + }, + "5364": { + "op": "JUMPDEST" + }, + "5365": { + "op": "PUSH1", + "value": "0x0" + }, + "5367": { + "op": "DUP3" + }, + "5368": { + "op": "PUSH1", + "value": "0x1F" + }, + "5370": { + "op": "DUP4" + }, + "5371": { + "op": "ADD" + }, + "5372": { + "op": "SLT" + }, + "5373": { + "op": "PUSH2", + "value": "0x1505" + }, + "5376": { + "op": "JUMPI" + }, + "5377": { + "op": "PUSH1", + "value": "0x0" + }, + "5379": { + "op": "DUP1" + }, + "5380": { + "op": "REVERT" + }, + "5381": { + "op": "JUMPDEST" + }, + "5382": { + "op": "DUP2" + }, + "5383": { + "op": "CALLDATALOAD" + }, + "5384": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5393": { + "op": "DUP1" + }, + "5394": { + "op": "DUP3" + }, + "5395": { + "op": "GT" + }, + "5396": { + "op": "ISZERO" + }, + "5397": { + "op": "PUSH2", + "value": "0x1520" + }, + "5400": { + "op": "JUMPI" + }, + "5401": { + "op": "PUSH2", + "value": "0x1520" + }, + "5404": { + "op": "PUSH2", + "value": "0x14DE" + }, + "5407": { + "jump": "i", + "op": "JUMP" + }, + "5408": { + "op": "JUMPDEST" + }, + "5409": { + "op": "PUSH1", + "value": "0x40" + }, + "5411": { + "op": "MLOAD" + }, + "5412": { + "op": "PUSH1", + "value": "0x1F" + }, + "5414": { + "op": "DUP4" + }, + "5415": { + "op": "ADD" + }, + "5416": { + "op": "PUSH1", + "value": "0x1F" + }, + "5418": { + "op": "NOT" + }, + "5419": { + "op": "SWAP1" + }, + "5420": { + "op": "DUP2" + }, + "5421": { + "op": "AND" + }, + "5422": { + "op": "PUSH1", + "value": "0x3F" + }, + "5424": { + "op": "ADD" + }, + "5425": { + "op": "AND" + }, + "5426": { + "op": "DUP2" + }, + "5427": { + "op": "ADD" + }, + "5428": { + "op": "SWAP1" + }, + "5429": { + "op": "DUP3" + }, + "5430": { + "op": "DUP3" + }, + "5431": { + "op": "GT" + }, + "5432": { + "op": "DUP2" + }, + "5433": { + "op": "DUP4" + }, + "5434": { + "op": "LT" + }, + "5435": { + "op": "OR" + }, + "5436": { + "op": "ISZERO" + }, + "5437": { + "op": "PUSH2", + "value": "0x1548" + }, + "5440": { + "op": "JUMPI" + }, + "5441": { + "op": "PUSH2", + "value": "0x1548" + }, + "5444": { + "op": "PUSH2", + "value": "0x14DE" + }, + "5447": { + "jump": "i", + "op": "JUMP" + }, + "5448": { + "op": "JUMPDEST" + }, + "5449": { + "op": "DUP2" + }, + "5450": { + "op": "PUSH1", + "value": "0x40" + }, + "5452": { + "op": "MSTORE" + }, + "5453": { + "op": "DUP4" + }, + "5454": { + "op": "DUP2" + }, + "5455": { + "op": "MSTORE" + }, + "5456": { + "op": "DUP7" + }, + "5457": { + "op": "PUSH1", + "value": "0x20" + }, + "5459": { + "op": "DUP6" + }, + "5460": { + "op": "DUP9" + }, + "5461": { + "op": "ADD" + }, + "5462": { + "op": "ADD" + }, + "5463": { + "op": "GT" + }, + "5464": { + "op": "ISZERO" + }, + "5465": { + "op": "PUSH2", + "value": "0x1561" + }, + "5468": { + "op": "JUMPI" + }, + "5469": { + "op": "PUSH1", + "value": "0x0" + }, + "5471": { + "op": "DUP1" + }, + "5472": { + "op": "REVERT" + }, + "5473": { + "op": "JUMPDEST" + }, + "5474": { + "op": "DUP4" + }, + "5475": { + "op": "PUSH1", + "value": "0x20" + }, + "5477": { + "op": "DUP8" + }, + "5478": { + "op": "ADD" + }, + "5479": { + "op": "PUSH1", + "value": "0x20" + }, + "5481": { + "op": "DUP4" + }, + "5482": { + "op": "ADD" + }, + "5483": { + "op": "CALLDATACOPY" + }, + "5484": { + "op": "PUSH1", + "value": "0x0" + }, + "5486": { + "op": "PUSH1", + "value": "0x20" + }, + "5488": { + "op": "DUP6" + }, + "5489": { + "op": "DUP4" + }, + "5490": { + "op": "ADD" + }, + "5491": { + "op": "ADD" + }, + "5492": { + "op": "MSTORE" + }, + "5493": { + "op": "DUP1" + }, + "5494": { + "op": "SWAP5" + }, + "5495": { + "op": "POP" + }, + "5496": { + "op": "POP" + }, + "5497": { + "op": "POP" + }, + "5498": { + "op": "POP" + }, + "5499": { + "op": "POP" + }, + "5500": { + "op": "SWAP3" + }, + "5501": { + "op": "SWAP2" + }, + "5502": { + "op": "POP" + }, + "5503": { + "op": "POP" + }, + "5504": { + "jump": "o", + "op": "JUMP" + }, + "5505": { + "op": "JUMPDEST" + }, + "5506": { + "op": "PUSH1", + "value": "0x0" + }, + "5508": { + "op": "DUP1" + }, + "5509": { + "op": "PUSH1", + "value": "0x0" + }, + "5511": { + "op": "PUSH1", + "value": "0x60" + }, + "5513": { + "op": "DUP5" + }, + "5514": { + "op": "DUP7" + }, + "5515": { + "op": "SUB" + }, + "5516": { + "op": "SLT" + }, + "5517": { + "op": "ISZERO" + }, + "5518": { + "op": "PUSH2", + "value": "0x1596" + }, + "5521": { + "op": "JUMPI" + }, + "5522": { + "op": "PUSH1", + "value": "0x0" + }, + "5524": { + "op": "DUP1" + }, + "5525": { + "op": "REVERT" + }, + "5526": { + "op": "JUMPDEST" + }, + "5527": { + "op": "DUP4" + }, + "5528": { + "op": "CALLDATALOAD" + }, + "5529": { + "op": "SWAP3" + }, + "5530": { + "op": "POP" + }, + "5531": { + "op": "PUSH1", + "value": "0x20" + }, + "5533": { + "op": "DUP5" + }, + "5534": { + "op": "ADD" + }, + "5535": { + "op": "CALLDATALOAD" + }, + "5536": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5545": { + "op": "DUP2" + }, + "5546": { + "op": "GT" + }, + "5547": { + "op": "ISZERO" + }, + "5548": { + "op": "PUSH2", + "value": "0x15B4" + }, + "5551": { + "op": "JUMPI" + }, + "5552": { + "op": "PUSH1", + "value": "0x0" + }, + "5554": { + "op": "DUP1" + }, + "5555": { + "op": "REVERT" + }, + "5556": { + "op": "JUMPDEST" + }, + "5557": { + "op": "PUSH2", + "value": "0x15C0" + }, + "5560": { + "op": "DUP7" + }, + "5561": { + "op": "DUP3" + }, + "5562": { + "op": "DUP8" + }, + "5563": { + "op": "ADD" + }, + "5564": { + "op": "PUSH2", + "value": "0x14F4" + }, + "5567": { + "jump": "i", + "op": "JUMP" + }, + "5568": { + "op": "JUMPDEST" + }, + "5569": { + "op": "SWAP3" + }, + "5570": { + "op": "POP" + }, + "5571": { + "op": "POP" + }, + "5572": { + "op": "PUSH1", + "value": "0x40" + }, + "5574": { + "op": "DUP5" + }, + "5575": { + "op": "ADD" + }, + "5576": { + "op": "CALLDATALOAD" + }, + "5577": { + "op": "SWAP1" + }, + "5578": { + "op": "POP" + }, + "5579": { + "op": "SWAP3" + }, + "5580": { + "op": "POP" + }, + "5581": { + "op": "SWAP3" + }, + "5582": { + "op": "POP" + }, + "5583": { + "op": "SWAP3" + }, + "5584": { + "jump": "o", + "op": "JUMP" + }, + "5585": { + "op": "JUMPDEST" + }, + "5586": { + "op": "PUSH1", + "value": "0x0" + }, + "5588": { + "op": "PUSH1", + "value": "0x20" + }, + "5590": { + "op": "DUP3" + }, + "5591": { + "op": "DUP5" + }, + "5592": { + "op": "SUB" + }, + "5593": { + "op": "SLT" + }, + "5594": { + "op": "ISZERO" + }, + "5595": { + "op": "PUSH2", + "value": "0x15E3" + }, + "5598": { + "op": "JUMPI" + }, + "5599": { + "op": "PUSH1", + "value": "0x0" + }, + "5601": { + "op": "DUP1" + }, + "5602": { + "op": "REVERT" + }, + "5603": { + "op": "JUMPDEST" + }, + "5604": { + "op": "POP" + }, + "5605": { + "op": "CALLDATALOAD" + }, + "5606": { + "op": "SWAP2" + }, + "5607": { + "op": "SWAP1" + }, + "5608": { + "op": "POP" + }, + "5609": { + "jump": "o", + "op": "JUMP" + }, + "5610": { + "op": "JUMPDEST" + }, + "5611": { + "op": "DUP1" + }, + "5612": { + "op": "CALLDATALOAD" + }, + "5613": { + "op": "PUSH1", + "value": "0x1" + }, + "5615": { + "op": "PUSH1", + "value": "0x1" + }, + "5617": { + "op": "PUSH1", + "value": "0xA0" + }, + "5619": { + "op": "SHL" + }, + "5620": { + "op": "SUB" + }, + "5621": { + "op": "DUP2" + }, + "5622": { + "op": "AND" + }, + "5623": { + "op": "DUP2" + }, + "5624": { + "op": "EQ" + }, + "5625": { + "op": "PUSH2", + "value": "0x1601" + }, + "5628": { + "op": "JUMPI" + }, + "5629": { + "op": "PUSH1", + "value": "0x0" + }, + "5631": { + "op": "DUP1" + }, + "5632": { + "op": "REVERT" + }, + "5633": { + "op": "JUMPDEST" + }, + "5634": { + "op": "SWAP2" + }, + "5635": { + "op": "SWAP1" + }, + "5636": { + "op": "POP" + }, + "5637": { + "jump": "o", + "op": "JUMP" + }, + "5638": { + "op": "JUMPDEST" + }, + "5639": { + "op": "PUSH1", + "value": "0x0" + }, + "5641": { + "op": "DUP1" + }, + "5642": { + "op": "PUSH1", + "value": "0x40" + }, + "5644": { + "op": "DUP4" + }, + "5645": { + "op": "DUP6" + }, + "5646": { + "op": "SUB" + }, + "5647": { + "op": "SLT" + }, + "5648": { + "op": "ISZERO" + }, + "5649": { + "op": "PUSH2", + "value": "0x1619" + }, + "5652": { + "op": "JUMPI" + }, + "5653": { + "op": "PUSH1", + "value": "0x0" + }, + "5655": { + "op": "DUP1" + }, + "5656": { + "op": "REVERT" + }, + "5657": { + "op": "JUMPDEST" + }, + "5658": { + "op": "PUSH2", + "value": "0x1622" + }, + "5661": { + "op": "DUP4" + }, + "5662": { + "op": "PUSH2", + "value": "0x15EA" + }, + "5665": { + "jump": "i", + "op": "JUMP" + }, + "5666": { + "op": "JUMPDEST" + }, + "5667": { + "op": "SWAP5" + }, + "5668": { + "op": "PUSH1", + "value": "0x20" + }, + "5670": { + "op": "SWAP4" + }, + "5671": { + "op": "SWAP1" + }, + "5672": { + "op": "SWAP4" + }, + "5673": { + "op": "ADD" + }, + "5674": { + "op": "CALLDATALOAD" + }, + "5675": { + "op": "SWAP4" + }, + "5676": { + "op": "POP" + }, + "5677": { + "op": "POP" + }, + "5678": { + "op": "POP" + }, + "5679": { + "jump": "o", + "op": "JUMP" + }, + "5680": { + "op": "JUMPDEST" + }, + "5681": { + "op": "PUSH1", + "value": "0x0" + }, + "5683": { + "op": "PUSH1", + "value": "0x20" + }, + "5685": { + "op": "DUP3" + }, + "5686": { + "op": "DUP5" + }, + "5687": { + "op": "SUB" + }, + "5688": { + "op": "SLT" + }, + "5689": { + "op": "ISZERO" + }, + "5690": { + "op": "PUSH2", + "value": "0x1642" + }, + "5693": { + "op": "JUMPI" + }, + "5694": { + "op": "PUSH1", + "value": "0x0" + }, + "5696": { + "op": "DUP1" + }, + "5697": { + "op": "REVERT" + }, + "5698": { + "op": "JUMPDEST" + }, + "5699": { + "op": "PUSH2", + "value": "0xA6B" + }, + "5702": { + "op": "DUP3" + }, + "5703": { + "op": "PUSH2", + "value": "0x15EA" + }, + "5706": { + "jump": "i", + "op": "JUMP" + }, + "5707": { + "op": "JUMPDEST" + }, + "5708": { + "op": "PUSH1", + "value": "0x0" + }, + "5710": { + "op": "DUP1" + }, + "5711": { + "op": "PUSH1", + "value": "0x40" + }, + "5713": { + "op": "DUP4" + }, + "5714": { + "op": "DUP6" + }, + "5715": { + "op": "SUB" + }, + "5716": { + "op": "SLT" + }, + "5717": { + "op": "ISZERO" + }, + "5718": { + "op": "PUSH2", + "value": "0x165E" + }, + "5721": { + "op": "JUMPI" + }, + "5722": { + "op": "PUSH1", + "value": "0x0" + }, + "5724": { + "op": "DUP1" + }, + "5725": { + "op": "REVERT" + }, + "5726": { + "op": "JUMPDEST" + }, + "5727": { + "op": "PUSH2", + "value": "0x1667" + }, + "5730": { + "op": "DUP4" + }, + "5731": { + "op": "PUSH2", + "value": "0x15EA" + }, + "5734": { + "jump": "i", + "op": "JUMP" + }, + "5735": { + "op": "JUMPDEST" + }, + "5736": { + "op": "SWAP2" + }, + "5737": { + "op": "POP" + }, + "5738": { + "op": "PUSH1", + "value": "0x20" + }, + "5740": { + "op": "DUP4" + }, + "5741": { + "op": "ADD" + }, + "5742": { + "op": "CALLDATALOAD" + }, + "5743": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5752": { + "op": "DUP2" + }, + "5753": { + "op": "GT" + }, + "5754": { + "op": "ISZERO" + }, + "5755": { + "op": "PUSH2", + "value": "0x1683" + }, + "5758": { + "op": "JUMPI" + }, + "5759": { + "op": "PUSH1", + "value": "0x0" + }, + "5761": { + "op": "DUP1" + }, + "5762": { + "op": "REVERT" + }, + "5763": { + "op": "JUMPDEST" + }, + "5764": { + "op": "PUSH2", + "value": "0x168F" + }, + "5767": { + "op": "DUP6" + }, + "5768": { + "op": "DUP3" + }, + "5769": { + "op": "DUP7" + }, + "5770": { + "op": "ADD" + }, + "5771": { + "op": "PUSH2", + "value": "0x14F4" + }, + "5774": { + "jump": "i", + "op": "JUMP" + }, + "5775": { + "op": "JUMPDEST" + }, + "5776": { + "op": "SWAP2" + }, + "5777": { + "op": "POP" + }, + "5778": { + "op": "POP" + }, + "5779": { + "op": "SWAP3" + }, + "5780": { + "op": "POP" + }, + "5781": { + "op": "SWAP3" + }, + "5782": { + "op": "SWAP1" + }, + "5783": { + "op": "POP" + }, + "5784": { + "jump": "o", + "op": "JUMP" + }, + "5785": { + "op": "JUMPDEST" + }, + "5786": { + "op": "PUSH1", + "value": "0x0" + }, + "5788": { + "op": "DUP1" + }, + "5789": { + "op": "PUSH1", + "value": "0x0" + }, + "5791": { + "op": "DUP1" + }, + "5792": { + "op": "PUSH1", + "value": "0x0" + }, + "5794": { + "op": "PUSH1", + "value": "0xA0" + }, + "5796": { + "op": "DUP7" + }, + "5797": { + "op": "DUP9" + }, + "5798": { + "op": "SUB" + }, + "5799": { + "op": "SLT" + }, + "5800": { + "op": "ISZERO" + }, + "5801": { + "op": "PUSH2", + "value": "0x16B1" + }, + "5804": { + "op": "JUMPI" + }, + "5805": { + "op": "PUSH1", + "value": "0x0" + }, + "5807": { + "op": "DUP1" + }, + "5808": { + "op": "REVERT" + }, + "5809": { + "op": "JUMPDEST" + }, + "5810": { + "op": "PUSH2", + "value": "0x16BA" + }, + "5813": { + "op": "DUP7" + }, + "5814": { + "op": "PUSH2", + "value": "0x15EA" + }, + "5817": { + "jump": "i", + "op": "JUMP" + }, + "5818": { + "op": "JUMPDEST" + }, + "5819": { + "op": "SWAP5" + }, + "5820": { + "op": "POP" + }, + "5821": { + "op": "PUSH1", + "value": "0x20" + }, + "5823": { + "op": "DUP7" + }, + "5824": { + "op": "ADD" + }, + "5825": { + "op": "CALLDATALOAD" + }, + "5826": { + "op": "SWAP4" + }, + "5827": { + "op": "POP" + }, + "5828": { + "op": "PUSH1", + "value": "0x40" + }, + "5830": { + "op": "DUP7" + }, + "5831": { + "op": "ADD" + }, + "5832": { + "op": "CALLDATALOAD" + }, + "5833": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5842": { + "op": "DUP1" + }, + "5843": { + "op": "DUP3" + }, + "5844": { + "op": "GT" + }, + "5845": { + "op": "ISZERO" + }, + "5846": { + "op": "PUSH2", + "value": "0x16DE" + }, + "5849": { + "op": "JUMPI" + }, + "5850": { + "op": "PUSH1", + "value": "0x0" + }, + "5852": { + "op": "DUP1" + }, + "5853": { + "op": "REVERT" + }, + "5854": { + "op": "JUMPDEST" + }, + "5855": { + "op": "PUSH2", + "value": "0x16EA" + }, + "5858": { + "op": "DUP10" + }, + "5859": { + "op": "DUP4" + }, + "5860": { + "op": "DUP11" + }, + "5861": { + "op": "ADD" + }, + "5862": { + "op": "PUSH2", + "value": "0x14F4" + }, + "5865": { + "jump": "i", + "op": "JUMP" + }, + "5866": { + "op": "JUMPDEST" + }, + "5867": { + "op": "SWAP5" + }, + "5868": { + "op": "POP" + }, + "5869": { + "op": "PUSH1", + "value": "0x60" + }, + "5871": { + "op": "DUP9" + }, + "5872": { + "op": "ADD" + }, + "5873": { + "op": "CALLDATALOAD" + }, + "5874": { + "op": "SWAP4" + }, + "5875": { + "op": "POP" + }, + "5876": { + "op": "PUSH1", + "value": "0x80" + }, + "5878": { + "op": "DUP9" + }, + "5879": { + "op": "ADD" + }, + "5880": { + "op": "CALLDATALOAD" + }, + "5881": { + "op": "SWAP2" + }, + "5882": { + "op": "POP" + }, + "5883": { + "op": "DUP1" + }, + "5884": { + "op": "DUP3" + }, + "5885": { + "op": "GT" + }, + "5886": { + "op": "ISZERO" + }, + "5887": { + "op": "PUSH2", + "value": "0x1707" + }, + "5890": { + "op": "JUMPI" + }, + "5891": { + "op": "PUSH1", + "value": "0x0" + }, + "5893": { + "op": "DUP1" + }, + "5894": { + "op": "REVERT" + }, + "5895": { + "op": "JUMPDEST" + }, + "5896": { + "op": "POP" + }, + "5897": { + "op": "PUSH2", + "value": "0x1714" + }, + "5900": { + "op": "DUP9" + }, + "5901": { + "op": "DUP3" + }, + "5902": { + "op": "DUP10" + }, + "5903": { + "op": "ADD" + }, + "5904": { + "op": "PUSH2", + "value": "0x14F4" + }, + "5907": { + "jump": "i", + "op": "JUMP" + }, + "5908": { + "op": "JUMPDEST" + }, + "5909": { + "op": "SWAP2" + }, + "5910": { + "op": "POP" + }, + "5911": { + "op": "POP" + }, + "5912": { + "op": "SWAP3" + }, + "5913": { + "op": "SWAP6" + }, + "5914": { + "op": "POP" + }, + "5915": { + "op": "SWAP3" + }, + "5916": { + "op": "SWAP6" + }, + "5917": { + "op": "SWAP1" + }, + "5918": { + "op": "SWAP4" + }, + "5919": { + "op": "POP" + }, + "5920": { + "jump": "o", + "op": "JUMP" + }, + "5921": { + "op": "JUMPDEST" + }, + "5922": { + "op": "PUSH1", + "value": "0x0" + }, + "5924": { + "op": "DUP1" + }, + "5925": { + "op": "PUSH1", + "value": "0x40" + }, + "5927": { + "op": "DUP4" + }, + "5928": { + "op": "DUP6" + }, + "5929": { + "op": "SUB" + }, + "5930": { + "op": "SLT" + }, + "5931": { + "op": "ISZERO" + }, + "5932": { + "op": "PUSH2", + "value": "0x1734" + }, + "5935": { + "op": "JUMPI" + }, + "5936": { + "op": "PUSH1", + "value": "0x0" + }, + "5938": { + "op": "DUP1" + }, + "5939": { + "op": "REVERT" + }, + "5940": { + "op": "JUMPDEST" + }, + "5941": { + "op": "DUP3" + }, + "5942": { + "op": "CALLDATALOAD" + }, + "5943": { + "op": "SWAP2" + }, + "5944": { + "op": "POP" + }, + "5945": { + "op": "PUSH1", + "value": "0x20" + }, + "5947": { + "op": "DUP4" + }, + "5948": { + "op": "ADD" + }, + "5949": { + "op": "CALLDATALOAD" + }, + "5950": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5959": { + "op": "DUP2" + }, + "5960": { + "op": "GT" + }, + "5961": { + "op": "ISZERO" + }, + "5962": { + "op": "PUSH2", + "value": "0x1683" + }, + "5965": { + "op": "JUMPI" + }, + "5966": { + "op": "PUSH1", + "value": "0x0" + }, + "5968": { + "op": "DUP1" + }, + "5969": { + "op": "REVERT" + }, + "5970": { + "op": "JUMPDEST" + }, + "5971": { + "op": "PUSH1", + "value": "0x0" + }, + "5973": { + "op": "DUP1" + }, + "5974": { + "op": "PUSH1", + "value": "0x0" + }, + "5976": { + "op": "PUSH1", + "value": "0x60" + }, + "5978": { + "op": "DUP5" + }, + "5979": { + "op": "DUP7" + }, + "5980": { + "op": "SUB" + }, + "5981": { + "op": "SLT" + }, + "5982": { + "op": "ISZERO" + }, + "5983": { + "op": "PUSH2", + "value": "0x1767" + }, + "5986": { + "op": "JUMPI" + }, + "5987": { + "op": "PUSH1", + "value": "0x0" + }, + "5989": { + "op": "DUP1" + }, + "5990": { + "op": "REVERT" + }, + "5991": { + "op": "JUMPDEST" + }, + "5992": { + "op": "PUSH2", + "value": "0x1770" + }, + "5995": { + "op": "DUP5" + }, + "5996": { + "op": "PUSH2", + "value": "0x15EA" + }, + "5999": { + "jump": "i", + "op": "JUMP" + }, + "6000": { + "op": "JUMPDEST" + }, + "6001": { + "op": "SWAP3" + }, + "6002": { + "op": "POP" + }, + "6003": { + "op": "PUSH1", + "value": "0x20" + }, + "6005": { + "op": "DUP5" + }, + "6006": { + "op": "ADD" + }, + "6007": { + "op": "CALLDATALOAD" + }, + "6008": { + "op": "SWAP2" + }, + "6009": { + "op": "POP" + }, + "6010": { + "op": "PUSH1", + "value": "0x40" + }, + "6012": { + "op": "DUP5" + }, + "6013": { + "op": "ADD" + }, + "6014": { + "op": "CALLDATALOAD" + }, + "6015": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "6024": { + "op": "DUP2" + }, + "6025": { + "op": "GT" + }, + "6026": { + "op": "ISZERO" + }, + "6027": { + "op": "PUSH2", + "value": "0x1793" + }, + "6030": { + "op": "JUMPI" + }, + "6031": { + "op": "PUSH1", + "value": "0x0" + }, + "6033": { + "op": "DUP1" + }, + "6034": { + "op": "REVERT" + }, + "6035": { + "op": "JUMPDEST" + }, + "6036": { + "op": "PUSH2", + "value": "0x179F" + }, + "6039": { + "op": "DUP7" + }, + "6040": { + "op": "DUP3" + }, + "6041": { + "op": "DUP8" + }, + "6042": { + "op": "ADD" + }, + "6043": { + "op": "PUSH2", + "value": "0x14F4" + }, + "6046": { + "jump": "i", + "op": "JUMP" + }, + "6047": { + "op": "JUMPDEST" + }, + "6048": { + "op": "SWAP2" + }, + "6049": { + "op": "POP" + }, + "6050": { + "op": "POP" + }, + "6051": { + "op": "SWAP3" + }, + "6052": { + "op": "POP" + }, + "6053": { + "op": "SWAP3" + }, + "6054": { + "op": "POP" + }, + "6055": { + "op": "SWAP3" + }, + "6056": { + "jump": "o", + "op": "JUMP" + }, + "6057": { + "op": "JUMPDEST" + }, + "6058": { + "op": "PUSH1", + "value": "0x1" + }, + "6060": { + "op": "DUP2" + }, + "6061": { + "op": "DUP2" + }, + "6062": { + "op": "SHR" + }, + "6063": { + "op": "SWAP1" + }, + "6064": { + "op": "DUP3" + }, + "6065": { + "op": "AND" + }, + "6066": { + "op": "DUP1" + }, + "6067": { + "op": "PUSH2", + "value": "0x17BD" + }, + "6070": { + "op": "JUMPI" + }, + "6071": { + "op": "PUSH1", + "value": "0x7F" + }, + "6073": { + "op": "DUP3" + }, + "6074": { + "op": "AND" + }, + "6075": { + "op": "SWAP2" + }, + "6076": { + "op": "POP" + }, + "6077": { + "op": "JUMPDEST" + }, + "6078": { + "op": "PUSH1", + "value": "0x20" + }, + "6080": { + "op": "DUP3" + }, + "6081": { + "op": "LT" + }, + "6082": { + "op": "DUP2" + }, + "6083": { + "op": "SUB" + }, + "6084": { + "op": "PUSH2", + "value": "0x17DD" + }, + "6087": { + "op": "JUMPI" + }, + "6088": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6093": { + "op": "PUSH1", + "value": "0xE0" + }, + "6095": { + "op": "SHL" + }, + "6096": { + "op": "PUSH1", + "value": "0x0" + }, + "6098": { + "op": "MSTORE" + }, + "6099": { + "op": "PUSH1", + "value": "0x22" + }, + "6101": { + "op": "PUSH1", + "value": "0x4" + }, + "6103": { + "op": "MSTORE" + }, + "6104": { + "op": "PUSH1", + "value": "0x24" + }, + "6106": { + "op": "PUSH1", + "value": "0x0" + }, + "6108": { + "op": "REVERT" + }, + "6109": { + "op": "JUMPDEST" + }, + "6110": { + "op": "POP" + }, + "6111": { + "op": "SWAP2" + }, + "6112": { + "op": "SWAP1" + }, + "6113": { + "op": "POP" + }, + "6114": { + "jump": "o", + "op": "JUMP" + }, + "6115": { + "op": "JUMPDEST" + }, + "6116": { + "op": "PUSH1", + "value": "0x0" + }, + "6118": { + "op": "DUP4" + }, + "6119": { + "op": "MLOAD" + }, + "6120": { + "op": "PUSH2", + "value": "0x17F5" + }, + "6123": { + "op": "DUP2" + }, + "6124": { + "op": "DUP5" + }, + "6125": { + "op": "PUSH1", + "value": "0x20" + }, + "6127": { + "op": "DUP9" + }, + "6128": { + "op": "ADD" + }, + "6129": { + "op": "PUSH2", + "value": "0x147B" + }, + "6132": { + "jump": "i", + "op": "JUMP" + }, + "6133": { + "op": "JUMPDEST" + }, + "6134": { + "op": "DUP4" + }, + "6135": { + "op": "MLOAD" + }, + "6136": { + "op": "SWAP1" + }, + "6137": { + "op": "DUP4" + }, + "6138": { + "op": "ADD" + }, + "6139": { + "op": "SWAP1" + }, + "6140": { + "op": "PUSH2", + "value": "0x1809" + }, + "6143": { + "op": "DUP2" + }, + "6144": { + "op": "DUP4" + }, + "6145": { + "op": "PUSH1", + "value": "0x20" + }, + "6147": { + "op": "DUP9" + }, + "6148": { + "op": "ADD" + }, + "6149": { + "op": "PUSH2", + "value": "0x147B" + }, + "6152": { + "jump": "i", + "op": "JUMP" + }, + "6153": { + "op": "JUMPDEST" + }, + "6154": { + "op": "ADD" + }, + "6155": { + "op": "SWAP5" + }, + "6156": { + "op": "SWAP4" + }, + "6157": { + "op": "POP" + }, + "6158": { + "op": "POP" + }, + "6159": { + "op": "POP" + }, + "6160": { + "op": "POP" + }, + "6161": { + "jump": "o", + "op": "JUMP" + }, + "6162": { + "op": "JUMPDEST" + }, + "6163": { + "op": "PUSH1", + "value": "0x20" + }, + "6165": { + "op": "DUP1" + }, + "6166": { + "op": "DUP3" + }, + "6167": { + "op": "MSTORE" + }, + "6168": { + "op": "DUP2" + }, + "6169": { + "op": "DUP2" + }, + "6170": { + "op": "ADD" + }, + "6171": { + "op": "MSTORE" + }, + "6172": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "6205": { + "op": "PUSH1", + "value": "0x40" + }, + "6207": { + "op": "DUP3" + }, + "6208": { + "op": "ADD" + }, + "6209": { + "op": "MSTORE" + }, + "6210": { + "op": "PUSH1", + "value": "0x60" + }, + "6212": { + "op": "ADD" + }, + "6213": { + "op": "SWAP1" + }, + "6214": { + "jump": "o", + "op": "JUMP" + }, + "6215": { + "op": "JUMPDEST" + }, + "6216": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6221": { + "op": "PUSH1", + "value": "0xE0" + }, + "6223": { + "op": "SHL" + }, + "6224": { + "op": "PUSH1", + "value": "0x0" + }, + "6226": { + "op": "MSTORE" + }, + "6227": { + "op": "PUSH1", + "value": "0x11" + }, + "6229": { + "op": "PUSH1", + "value": "0x4" + }, + "6231": { + "op": "MSTORE" + }, + "6232": { + "op": "PUSH1", + "value": "0x24" + }, + "6234": { + "op": "PUSH1", + "value": "0x0" + }, + "6236": { + "op": "REVERT" + }, + "6237": { + "op": "JUMPDEST" + }, + "6238": { + "op": "PUSH1", + "value": "0x0" + }, + "6240": { + "op": "PUSH1", + "value": "0x1" + }, + "6242": { + "op": "DUP3" + }, + "6243": { + "op": "ADD" + }, + "6244": { + "op": "PUSH2", + "value": "0x186F" + }, + "6247": { + "op": "JUMPI" + }, + "6248": { + "op": "PUSH2", + "value": "0x186F" + }, + "6251": { + "op": "PUSH2", + "value": "0x1847" + }, + "6254": { + "jump": "i", + "op": "JUMP" + }, + "6255": { + "op": "JUMPDEST" + }, + "6256": { + "op": "POP" + }, + "6257": { + "op": "PUSH1", + "value": "0x1" + }, + "6259": { + "op": "ADD" + }, + "6260": { + "op": "SWAP1" + }, + "6261": { + "jump": "o", + "op": "JUMP" + }, + "6262": { + "op": "JUMPDEST" + }, + "6263": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6268": { + "op": "PUSH1", + "value": "0xE0" + }, + "6270": { + "op": "SHL" + }, + "6271": { + "op": "PUSH1", + "value": "0x0" + }, + "6273": { + "op": "MSTORE" + }, + "6274": { + "op": "PUSH1", + "value": "0x12" + }, + "6276": { + "op": "PUSH1", + "value": "0x4" + }, + "6278": { + "op": "MSTORE" + }, + "6279": { + "op": "PUSH1", + "value": "0x24" + }, + "6281": { + "op": "PUSH1", + "value": "0x0" + }, + "6283": { + "op": "REVERT" + }, + "6284": { + "op": "JUMPDEST" + }, + "6285": { + "op": "PUSH1", + "value": "0x0" + }, + "6287": { + "op": "DUP3" + }, + "6288": { + "op": "PUSH2", + "value": "0x189B" + }, + "6291": { + "op": "JUMPI" + }, + "6292": { + "op": "PUSH2", + "value": "0x189B" + }, + "6295": { + "op": "PUSH2", + "value": "0x1876" + }, + "6298": { + "jump": "i", + "op": "JUMP" + }, + "6299": { + "op": "JUMPDEST" + }, + "6300": { + "op": "POP" + }, + "6301": { + "op": "DIV" + }, + "6302": { + "op": "SWAP1" + }, + "6303": { + "jump": "o", + "op": "JUMP" + }, + "6304": { + "op": "JUMPDEST" + }, + "6305": { + "op": "PUSH1", + "value": "0x0" + }, + "6307": { + "op": "DUP3" + }, + "6308": { + "op": "DUP3" + }, + "6309": { + "op": "LT" + }, + "6310": { + "op": "ISZERO" + }, + "6311": { + "op": "PUSH2", + "value": "0x18B2" + }, + "6314": { + "op": "JUMPI" + }, + "6315": { + "op": "PUSH2", + "value": "0x18B2" + }, + "6318": { + "op": "PUSH2", + "value": "0x1847" + }, + "6321": { + "jump": "i", + "op": "JUMP" + }, + "6322": { + "op": "JUMPDEST" + }, + "6323": { + "op": "POP" + }, + "6324": { + "op": "SUB" + }, + "6325": { + "op": "SWAP1" + }, + "6326": { + "jump": "o", + "op": "JUMP" + }, + "6327": { + "op": "JUMPDEST" + }, + "6328": { + "op": "PUSH1", + "value": "0x0" + }, + "6330": { + "op": "DUP3" + }, + "6331": { + "op": "PUSH2", + "value": "0x18C6" + }, + "6334": { + "op": "JUMPI" + }, + "6335": { + "op": "PUSH2", + "value": "0x18C6" + }, + "6338": { + "op": "PUSH2", + "value": "0x1876" + }, + "6341": { + "jump": "i", + "op": "JUMP" + }, + "6342": { + "op": "JUMPDEST" + }, + "6343": { + "op": "POP" + }, + "6344": { + "op": "MOD" + }, + "6345": { + "op": "SWAP1" + }, + "6346": { + "jump": "o", + "op": "JUMP" + }, + "6347": { + "op": "JUMPDEST" + }, + "6348": { + "op": "PUSH1", + "value": "0x0" + }, + "6350": { + "op": "DUP3" + }, + "6351": { + "op": "NOT" + }, + "6352": { + "op": "DUP3" + }, + "6353": { + "op": "GT" + }, + "6354": { + "op": "ISZERO" + }, + "6355": { + "op": "PUSH2", + "value": "0x18DE" + }, + "6358": { + "op": "JUMPI" + }, + "6359": { + "op": "PUSH2", + "value": "0x18DE" + }, + "6362": { + "op": "PUSH2", + "value": "0x1847" + }, + "6365": { + "jump": "i", + "op": "JUMP" + }, + "6366": { + "op": "JUMPDEST" + }, + "6367": { + "op": "POP" + }, + "6368": { + "op": "ADD" + }, + "6369": { + "op": "SWAP1" + }, + "6370": { + "jump": "o", + "op": "JUMP" + }, + "6371": { + "op": "JUMPDEST" + }, + "6372": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6377": { + "op": "PUSH1", + "value": "0xE0" + }, + "6379": { + "op": "SHL" + }, + "6380": { + "op": "PUSH1", + "value": "0x0" + }, + "6382": { + "op": "MSTORE" + }, + "6383": { + "op": "PUSH1", + "value": "0x32" + }, + "6385": { + "op": "PUSH1", + "value": "0x4" + }, + "6387": { + "op": "MSTORE" + }, + "6388": { + "op": "PUSH1", + "value": "0x24" + }, + "6390": { + "op": "PUSH1", + "value": "0x0" + }, + "6392": { + "op": "REVERT" + }, + "6393": { + "op": "JUMPDEST" + }, + "6394": { + "op": "PUSH1", + "value": "0x1F" + }, + "6396": { + "op": "DUP3" + }, + "6397": { + "op": "GT" + }, + "6398": { + "op": "ISZERO" + }, + "6399": { + "op": "PUSH2", + "value": "0x7C4" + }, + "6402": { + "op": "JUMPI" + }, + "6403": { + "op": "PUSH1", + "value": "0x0" + }, + "6405": { + "op": "DUP2" + }, + "6406": { + "op": "DUP2" + }, + "6407": { + "op": "MSTORE" + }, + "6408": { + "op": "PUSH1", + "value": "0x20" + }, + "6410": { + "op": "DUP2" + }, + "6411": { + "op": "KECCAK256" + }, + "6412": { + "op": "PUSH1", + "value": "0x1F" + }, + "6414": { + "op": "DUP6" + }, + "6415": { + "op": "ADD" + }, + "6416": { + "op": "PUSH1", + "value": "0x5" + }, + "6418": { + "op": "SHR" + }, + "6419": { + "op": "DUP2" + }, + "6420": { + "op": "ADD" + }, + "6421": { + "op": "PUSH1", + "value": "0x20" + }, + "6423": { + "op": "DUP7" + }, + "6424": { + "op": "LT" + }, + "6425": { + "op": "ISZERO" + }, + "6426": { + "op": "PUSH2", + "value": "0x1920" + }, + "6429": { + "op": "JUMPI" + }, + "6430": { + "op": "POP" + }, + "6431": { + "op": "DUP1" + }, + "6432": { + "op": "JUMPDEST" + }, + "6433": { + "op": "PUSH1", + "value": "0x1F" + }, + "6435": { + "op": "DUP6" + }, + "6436": { + "op": "ADD" + }, + "6437": { + "op": "PUSH1", + "value": "0x5" + }, + "6439": { + "op": "SHR" + }, + "6440": { + "op": "DUP3" + }, + "6441": { + "op": "ADD" + }, + "6442": { + "op": "SWAP2" + }, + "6443": { + "op": "POP" + }, + "6444": { + "op": "JUMPDEST" + }, + "6445": { + "op": "DUP2" + }, + "6446": { + "op": "DUP2" + }, + "6447": { + "op": "LT" + }, + "6448": { + "op": "ISZERO" + }, + "6449": { + "op": "PUSH2", + "value": "0x193F" + }, + "6452": { + "op": "JUMPI" + }, + "6453": { + "op": "DUP3" + }, + "6454": { + "op": "DUP2" + }, + "6455": { + "op": "SSTORE" + }, + "6456": { + "op": "PUSH1", + "value": "0x1" + }, + "6458": { + "op": "ADD" + }, + "6459": { + "op": "PUSH2", + "value": "0x192C" + }, + "6462": { + "op": "JUMP" + }, + "6463": { + "op": "JUMPDEST" + }, + "6464": { + "op": "POP" + }, + "6465": { + "op": "POP" + }, + "6466": { + "op": "POP" + }, + "6467": { + "op": "POP" + }, + "6468": { + "op": "POP" + }, + "6469": { + "op": "POP" + }, + "6470": { + "jump": "o", + "op": "JUMP" + }, + "6471": { + "op": "JUMPDEST" + }, + "6472": { + "op": "DUP2" + }, + "6473": { + "op": "MLOAD" + }, + "6474": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "6483": { + "op": "DUP2" + }, + "6484": { + "op": "GT" + }, + "6485": { + "op": "ISZERO" + }, + "6486": { + "op": "PUSH2", + "value": "0x1961" + }, + "6489": { + "op": "JUMPI" + }, + "6490": { + "op": "PUSH2", + "value": "0x1961" + }, + "6493": { + "op": "PUSH2", + "value": "0x14DE" + }, + "6496": { + "jump": "i", + "op": "JUMP" + }, + "6497": { + "op": "JUMPDEST" + }, + "6498": { + "op": "PUSH2", + "value": "0x1975" + }, + "6501": { + "op": "DUP2" + }, + "6502": { + "op": "PUSH2", + "value": "0x196F" + }, + "6505": { + "op": "DUP5" + }, + "6506": { + "op": "SLOAD" + }, + "6507": { + "op": "PUSH2", + "value": "0x17A9" + }, + "6510": { + "jump": "i", + "op": "JUMP" + }, + "6511": { + "op": "JUMPDEST" + }, + "6512": { + "op": "DUP5" + }, + "6513": { + "op": "PUSH2", + "value": "0x18F9" + }, + "6516": { + "jump": "i", + "op": "JUMP" + }, + "6517": { + "op": "JUMPDEST" + }, + "6518": { + "op": "PUSH1", + "value": "0x20" + }, + "6520": { + "op": "DUP1" + }, + "6521": { + "op": "PUSH1", + "value": "0x1F" + }, + "6523": { + "op": "DUP4" + }, + "6524": { + "op": "GT" + }, + "6525": { + "op": "PUSH1", + "value": "0x1" + }, + "6527": { + "op": "DUP2" + }, + "6528": { + "op": "EQ" + }, + "6529": { + "op": "PUSH2", + "value": "0x19AA" + }, + "6532": { + "op": "JUMPI" + }, + "6533": { + "op": "PUSH1", + "value": "0x0" + }, + "6535": { + "op": "DUP5" + }, + "6536": { + "op": "ISZERO" + }, + "6537": { + "op": "PUSH2", + "value": "0x1992" + }, + "6540": { + "op": "JUMPI" + }, + "6541": { + "op": "POP" + }, + "6542": { + "op": "DUP6" + }, + "6543": { + "op": "DUP4" + }, + "6544": { + "op": "ADD" + }, + "6545": { + "op": "MLOAD" + }, + "6546": { + "op": "JUMPDEST" + }, + "6547": { + "op": "PUSH1", + "value": "0x0" + }, + "6549": { + "op": "NOT" + }, + "6550": { + "op": "PUSH1", + "value": "0x3" + }, + "6552": { + "op": "DUP7" + }, + "6553": { + "op": "SWAP1" + }, + "6554": { + "op": "SHL" + }, + "6555": { + "op": "SHR" + }, + "6556": { + "op": "NOT" + }, + "6557": { + "op": "AND" + }, + "6558": { + "op": "PUSH1", + "value": "0x1" + }, + "6560": { + "op": "DUP6" + }, + "6561": { + "op": "SWAP1" + }, + "6562": { + "op": "SHL" + }, + "6563": { + "op": "OR" + }, + "6564": { + "op": "DUP6" + }, + "6565": { + "op": "SSTORE" + }, + "6566": { + "op": "PUSH2", + "value": "0x193F" + }, + "6569": { + "op": "JUMP" + }, + "6570": { + "op": "JUMPDEST" + }, + "6571": { + "op": "PUSH1", + "value": "0x0" + }, + "6573": { + "op": "DUP6" + }, + "6574": { + "op": "DUP2" + }, + "6575": { + "op": "MSTORE" + }, + "6576": { + "op": "PUSH1", + "value": "0x20" + }, + "6578": { + "op": "DUP2" + }, + "6579": { + "op": "KECCAK256" + }, + "6580": { + "op": "PUSH1", + "value": "0x1F" + }, + "6582": { + "op": "NOT" + }, + "6583": { + "op": "DUP7" + }, + "6584": { + "op": "AND" + }, + "6585": { + "op": "SWAP2" + }, + "6586": { + "op": "JUMPDEST" + }, + "6587": { + "op": "DUP3" + }, + "6588": { + "op": "DUP2" + }, + "6589": { + "op": "LT" + }, + "6590": { + "op": "ISZERO" + }, + "6591": { + "op": "PUSH2", + "value": "0x19D9" + }, + "6594": { + "op": "JUMPI" + }, + "6595": { + "op": "DUP9" + }, + "6596": { + "op": "DUP7" + }, + "6597": { + "op": "ADD" + }, + "6598": { + "op": "MLOAD" + }, + "6599": { + "op": "DUP3" + }, + "6600": { + "op": "SSTORE" + }, + "6601": { + "op": "SWAP5" + }, + "6602": { + "op": "DUP5" + }, + "6603": { + "op": "ADD" + }, + "6604": { + "op": "SWAP5" + }, + "6605": { + "op": "PUSH1", + "value": "0x1" + }, + "6607": { + "op": "SWAP1" + }, + "6608": { + "op": "SWAP2" + }, + "6609": { + "op": "ADD" + }, + "6610": { + "op": "SWAP1" + }, + "6611": { + "op": "DUP5" + }, + "6612": { + "op": "ADD" + }, + "6613": { + "op": "PUSH2", + "value": "0x19BA" + }, + "6616": { + "op": "JUMP" + }, + "6617": { + "op": "JUMPDEST" + }, + "6618": { + "op": "POP" + }, + "6619": { + "op": "DUP6" + }, + "6620": { + "op": "DUP3" + }, + "6621": { + "op": "LT" + }, + "6622": { + "op": "ISZERO" + }, + "6623": { + "op": "PUSH2", + "value": "0x19F7" + }, + "6626": { + "op": "JUMPI" + }, + "6627": { + "op": "DUP8" + }, + "6628": { + "op": "DUP6" + }, + "6629": { + "op": "ADD" + }, + "6630": { + "op": "MLOAD" + }, + "6631": { + "op": "PUSH1", + "value": "0x0" + }, + "6633": { + "op": "NOT" + }, + "6634": { + "op": "PUSH1", + "value": "0x3" + }, + "6636": { + "op": "DUP9" + }, + "6637": { + "op": "SWAP1" + }, + "6638": { + "op": "SHL" + }, + "6639": { + "op": "PUSH1", + "value": "0xF8" + }, + "6641": { + "op": "AND" + }, + "6642": { + "op": "SHR" + }, + "6643": { + "op": "NOT" + }, + "6644": { + "op": "AND" + }, + "6645": { + "op": "DUP2" + }, + "6646": { + "op": "SSTORE" + }, + "6647": { + "op": "JUMPDEST" + }, + "6648": { + "op": "POP" + }, + "6649": { + "op": "POP" + }, + "6650": { + "op": "POP" + }, + "6651": { + "op": "POP" + }, + "6652": { + "op": "POP" + }, + "6653": { + "op": "PUSH1", + "value": "0x1" + }, + "6655": { + "op": "SWAP1" + }, + "6656": { + "op": "DUP2" + }, + "6657": { + "op": "SHL" + }, + "6658": { + "op": "ADD" + }, + "6659": { + "op": "SWAP1" + }, + "6660": { + "op": "SSTORE" + }, + "6661": { + "op": "POP" + }, + "6662": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "4637e91bb7aab5531c7d9f40eed34fc3173e23ce", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n/// _____ ______ ______ ______ ______ ______ _____\n/// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n/// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n/// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n/// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.8;\n\nimport \"./Soulbound.sol\";\nimport \"../../common/Allowlist.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\n/**\n * @title Soulbound Core Contract.\n * @author Daccred.\n * @dev Soulbound Core template. This contract aims at a soulbound token with\n * capped supply, set by the deployer or defaulted to 1000000.\n * Mints and burns affect the current supply of tokens respectively.\n */\ncontract SoulboundCore is Ownable, Soulbound, Allowlist {\n /// @dev Total supply limit set by deployer or defaulted to 1000000.\n uint256 internal totalSupply;\n /// @dev With every issue and revoke, this value\n /// increases and reduces.\n /// It cannot be GT the TOTAL_SUPPLY.\n uint256 internal supply;\n\n /// @dev Emitted when a token is minted from Signature.\n event IssueWithSignature(address indexed to, uint256 indexed tokenId);\n /// @dev Emitted when a token is revoked with Signature.\n event RevokeWithSignature(uint256 indexed tokenId);\n\n /**\n * @dev Security check to require that the address calling a particular\n * function is the allowlistOwner.\n *\n * @param _caller Address.\n */\n modifier onlyAllowlistOwner(address _caller) {\n require(_caller == getAllowlistOwner(), \"Not Allowlist Owner!\");\n _;\n }\n\n /// @dev Deploys the 3 contracts inherited by the SoulboundCore.\n constructor(\n string memory name,\n string memory symbol,\n address _allowlistOwner,\n uint256 _totalSupply\n ) Soulbound(name, symbol) Allowlist(_allowlistOwner) {\n if (_totalSupply == 0) {\n totalSupply = 1e6;\n } else {\n totalSupply = _totalSupply;\n }\n }\n\n /**\n * @dev Mints a particular quantity of tokens to `to`,\n * on the condition that the address has been\n * signed by the allowlistOwner off-chain.\n * This will emit the {MintSoulboundToken} event\n * from the Soulbound.sol.\n *\n * @notice Callable by anyone.\n *\n * @param addr Address to mint tokens to.\n * @param hash Hashed message by the allowlistOwner.\n * @param sig Signature, signed by the allowlistOwner.\n * @param tokenId Id of the tokens to mint to the `addr`.\n * @param tokenURI URI of the token to be minted.\n */\n function issueWithSignature(\n address addr,\n bytes32 hash,\n bytes memory sig,\n uint256 tokenId,\n string memory tokenURI\n ) public {\n /// @dev Require that the address is not a zero address.\n require(addr != address(0), \"Mint to zero address.\");\n /// @dev Require that the hash is actually 32 [64 characters]\n /// in length.\n require(hash.length == 32, \"Invalid hash.\");\n /// @dev Require the length of the signature is 65.\n require(sig.length == 65, \"Invalid signature length\");\n /// @dev Verifies that the address was actually signed by the\n /// allowlistOwner.\n require(verifySignature(hash, sig), \"Hash not signed by owner.\");\n /// @dev Mint the tokens to address.\n /// [Ref Soulbound.sol].\n issue(addr, tokenId, tokenURI);\n /// @dev Emit the IssueWithSignature event.\n emit IssueWithSignature(addr, tokenId);\n }\n\n /**\n * @dev Revokes the ownership of `tokenId` from the owner.\n * The token must exist and the signature must be signed the\n * allowlistOwner.\n * This emits the {RevokeWithSignature} event.\n *\n * @notice Callable by anyone.\n *\n * @param hash Hashed message by the allowlistOwner.\n * @param sig Signature, signed by the allowlistOwner.\n * @param tokenId Id of the token to revoke.\n */\n function revokeWithSignature(\n bytes32 hash,\n bytes memory sig,\n uint256 tokenId\n ) public {\n /// @dev Require that the token exists.\n require(_exists(tokenId), \"Revoke of inexistent token.\");\n /// @dev Require that the hash is actually 32 [64 characters]\n /// in length.\n require(hash.length == 32, \"Invalid hash.\");\n /// @dev Require the length of the signature is 65.\n require(sig.length == 65, \"Invalid signature length\");\n /// @dev Verifies that the address was actually signed by the\n /// allowlistOwner.\n require(verifySignature(hash, sig), \"Hash not signed by owner.\");\n /// @dev Mint the tokens to address.\n /// [Ref Soulbound.sol].\n revoke(ownerOf(tokenId), tokenId);\n /// @dev Emit the RevokeWithSignature event.\n emit RevokeWithSignature(tokenId);\n }\n\n /**\n * @dev Allows the `caller` (allowlistOwner) to set the baseURI.\n * This is really important when the caller wants to mint\n * Multiple tokens with the same base URI.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer]\n * and the allowlistOwner.\n */\n function setBaseURI(address caller, string memory _baseURI)\n public\n onlyOwner\n onlyAllowlistOwner(caller)\n {\n /// @dev Set baseURI.\n _setBaseURI(_baseURI);\n }\n\n /**\n * @dev Using the `tokenId` passed, it generates a `stringified` tokenURI,\n * packing the baseURI and the current tokenId.\n * Makes use of OpenZeppelin's uint to string function.\n *\n * @notice Callable by anyone.\n *\n * @param tokenId ID of token whose tokenURI is desired.\n *\n * @return _tokenURI TokenURI of the passed tokenId.\n */\n function generateTokenURI(uint256 tokenId)\n public\n view\n returns (string memory _tokenURI)\n {\n /// @dev Require baseURI length is not currently 0.\n require(bytes(_getBaseURI()).length != 0, \"Empty baseURI\");\n /// @dev Return a packed tokenURI string.\n _tokenURI = string(abi.encodePacked(_getBaseURI(), toString(tokenId)));\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n * Copied from OpenZeppelin.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n}\n", + "sourceMap": "857:6508:38:-:0;;;1841:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2014:15;1990:4;1996:6;1990:4;1996:6;4395:5:41;:13;1990:4:38;4395:5:41;:13;:::i;:::-;-1:-1:-1;4418:7:41;:17;4428:7;4418;:17;:::i;:::-;;4329:113;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;:32::i;:::-;-1:-1:-1;;;;;;;1710:29:14;;1702:58;;;;-1:-1:-1;;;1702:58:14;;4623:2:43;1702:58:14;;;4605:21:43;4662:2;4642:18;;;4635:30;-1:-1:-1;;;4681:18:43;;;4674:46;4737:18;;1702:58:14;;;;;;;;1810:14;:32;;-1:-1:-1;;;;;;1810:32:14;-1:-1:-1;;;;;1810:32:14;;;;;;;;;;-1:-1:-1;2045:17:38;;;2041:122:::2;;2092:3;2078:11;:17:::0;2041:122:::2;;;2126:11;:26:::0;;;2041:122:::2;1841:328:::0;;;;857:6508;;640:96:5;719:10;;640:96::o;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;14:127:43:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:791::-;1153:6;1161;1169;1177;1230:3;1218:9;1209:7;1205:23;1201:33;1198:53;;;1247:1;1244;1237:12;1198:53;1274:16;;-1:-1:-1;;;;;1339:14:43;;;1336:34;;;1366:1;1363;1356:12;1336:34;1389:61;1442:7;1433:6;1422:9;1418:22;1389:61;:::i;:::-;1379:71;;1496:2;1485:9;1481:18;1475:25;1459:41;;1525:2;1515:8;1512:16;1509:36;;;1541:1;1538;1531:12;1509:36;;1564:63;1619:7;1608:8;1597:9;1593:24;1564:63;:::i;:::-;1670:2;1655:18;;1649:25;1554:73;;-1:-1:-1;1649:25:43;-1:-1:-1;;;;;;1703:31:43;;1693:42;;1683:70;;1749:1;1746;1739:12;1683:70;1817:2;1802:18;;;;1796:25;1036:791;;;;-1:-1:-1;;;1036:791:43:o;1832:380::-;1911:1;1907:12;;;;1954;;;1975:61;;2029:4;2021:6;2017:17;2007:27;;1975:61;2082:2;2074:6;2071:14;2051:18;2048:38;2045:161;;2128:10;2123:3;2119:20;2116:1;2109:31;2163:4;2160:1;2153:15;2191:4;2188:1;2181:15;2045:161;;1832:380;;;:::o;2343:545::-;2445:2;2440:3;2437:11;2434:448;;;2481:1;2506:5;2502:2;2495:17;2551:4;2547:2;2537:19;2621:2;2609:10;2605:19;2602:1;2598:27;2592:4;2588:38;2657:4;2645:10;2642:20;2639:47;;;-1:-1:-1;2680:4:43;2639:47;2735:2;2730:3;2726:12;2723:1;2719:20;2713:4;2709:31;2699:41;;2790:82;2808:2;2801:5;2798:13;2790:82;;;2853:17;;;2834:1;2823:13;2790:82;;;2794:3;;;2434:448;2343:545;;;:::o;3064:1352::-;3184:10;;-1:-1:-1;;;;;3206:30:43;;3203:56;;;3239:18;;:::i;:::-;3268:97;3358:6;3318:38;3350:4;3344:11;3318:38;:::i;:::-;3312:4;3268:97;:::i;:::-;3420:4;;3484:2;3473:14;;3501:1;3496:663;;;;4203:1;4220:6;4217:89;;;-1:-1:-1;4272:19:43;;;4266:26;4217:89;-1:-1:-1;;3021:1:43;3017:11;;;3013:24;3009:29;2999:40;3045:1;3041:11;;;2996:57;4319:81;;3466:944;;3496:663;2290:1;2283:14;;;2327:4;2314:18;;-1:-1:-1;;3532:20:43;;;3650:236;3664:7;3661:1;3658:14;3650:236;;;3753:19;;;3747:26;3732:42;;3845:27;;;;3813:1;3801:14;;;;3680:19;;3650:236;;;3654:3;3914:6;3905:7;3902:19;3899:201;;;3975:19;;;3969:26;-1:-1:-1;;4058:1:43;4054:14;;;4070:3;4050:24;4046:37;4042:42;4027:58;4012:74;;3899:201;-1:-1:-1;;;;;4146:1:43;4130:14;;;4126:22;4113:36;;-1:-1:-1;3064:1352:43:o;4421:340::-;857:6508:38;;;;;;", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/SoulboundRedeemable.json b/tests/build/contracts/SoulboundRedeemable.json new file mode 100644 index 0000000..d377767 --- /dev/null +++ b/tests/build/contracts/SoulboundRedeemable.json @@ -0,0 +1,59040 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_priceLimit", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenPrice", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Unsigned", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Attest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "Extended", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "IssueWithSignature", + "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": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "extension", + "type": "uint256" + } + ], + "name": "Redeemed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Revoke", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "RevokeWithSignature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Signed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Verified", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "addressHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bool", + "name": "result", + "type": "bool" + } + ], + "name": "VerifySignature", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "_getBaseURI", + "outputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "time", + "type": "uint256" + } + ], + "name": "extendExpiry", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "generateTokenURI", + "outputs": [ + { + "internalType": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllowlistOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getExpiryDate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getIndividualTokenPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "_tokenPrice", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getPriceLimit", + "outputs": [ + { + "internalType": "uint256", + "name": "_priceLimit", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getTimeLeft", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isMinted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "isValid", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + } + ], + "name": "issueWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "issuerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenExpiryDate", + "type": "uint256" + } + ], + "name": "mintPendingRedeemableToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + } + ], + "name": "ownerIssueWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerRevokeWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "payToReceiveToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenExpiryDate", + "type": "uint256" + } + ], + "name": "redeemMintedToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_caller", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenExpiryDate", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + } + ], + "name": "redeemMintedTokenWithSignature", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenExpiryDate", + "type": "uint256" + } + ], + "name": "redeemPendingToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_caller", + "type": "address" + }, + { + "internalType": "address", + "name": "_receiver", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_tokenExpiryDate", + "type": "uint256" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + } + ], + "name": "redeemPendingTokenWithSignature", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "revokeWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_price", + "type": "uint256" + } + ], + "name": "setPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_caller", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "14": "contracts/contracts/packages/common/Allowlist.sol", + "15": "contracts/contracts/packages/common/IAllowlist.sol", + "36": "contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol", + "37": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "38": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "39": "contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol", + "40": "contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol", + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol", + "exportedSymbols": { + "Allowlist": [ + 1120 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IAllowlist": [ + 1161 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ], + "ISoulbond": [ + 5970 + ], + "IsValidWithDate": [ + 4116 + ], + "Ownable": [ + 6075 + ], + "Soulbound": [ + 4383 + ], + "SoulboundCore": [ + 4708 + ], + "SoulboundRedeemable": [ + 5423 + ], + "SoulboundWithSignature": [ + 5516 + ] + }, + "id": 5424, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4710, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "438:23:39" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol", + "file": "./SoulboundWithSignature.sol", + "id": 4711, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 5424, + "sourceUnit": 5517, + "src": "463:38:39", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol", + "file": "./IsValidWithDate.sol", + "id": 4712, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 5424, + "sourceUnit": 4117, + "src": "502:31:39", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 4714, + "name": "IsValidWithDate", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4116, + "src": "858:15:39" + }, + "id": 4715, + "nodeType": "InheritanceSpecifier", + "src": "858:15:39" + }, + { + "baseName": { + "id": 4716, + "name": "SoulboundWithSignature", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5516, + "src": "875:22:39" + }, + "id": 4717, + "nodeType": "InheritanceSpecifier", + "src": "875:22:39" + } + ], + "canonicalName": "SoulboundRedeemable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4713, + "nodeType": "StructuredDocumentation", + "src": "535:290:39", + "text": " @title Soulbound Redeemable.\n @author Daccred.\n @dev An instance of the Soulbound token with capped supply\n and tokens having their own individual expiry date.\n Tokens are minted to and are pendng until receivers\n pay to receive their complete token." + }, + "fullyImplemented": true, + "id": 5423, + "linearizedBaseContracts": [ + 5423, + 5516, + 4708, + 1120, + 4383, + 6075, + 6410, + 1161, + 5876, + 5605, + 5567, + 5549, + 5528, + 4116 + ], + "name": "SoulboundRedeemable", + "nameLocation": "835:19:39", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 4718, + "nodeType": "StructuredDocumentation", + "src": "904:55:39", + "text": "@dev Total sales of tokens [Total tokens paid for]." + }, + "id": 4720, + "mutability": "mutable", + "name": "totalSales", + "nameLocation": "980:10:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "964:26:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4719, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "964:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4721, + "nodeType": "StructuredDocumentation", + "src": "996:34:39", + "text": "@dev Total revenue from sales." + }, + "id": 4723, + "mutability": "mutable", + "name": "totalRevenue", + "nameLocation": "1051:12:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "1035:28:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1035:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4724, + "nodeType": "StructuredDocumentation", + "src": "1069:56:39", + "text": "@dev Price Limit [in eth] set by deploying contract." + }, + "id": 4726, + "mutability": "mutable", + "name": "priceLimit", + "nameLocation": "1146:10:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "1130:26:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4725, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1130:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4727, + "nodeType": "StructuredDocumentation", + "src": "1162:53:39", + "text": "@dev Price of individual tokens, set by deployer." + }, + "id": 4729, + "mutability": "mutable", + "name": "tokenPrice", + "nameLocation": "1236:10:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "1220:26:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1220:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4730, + "nodeType": "StructuredDocumentation", + "src": "1252:33:39", + "text": "@dev Pending token receivals." + }, + "id": 4734, + "mutability": "mutable", + "name": "pending", + "nameLocation": "1323:7:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "1290:40:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "typeName": { + "id": 4733, + "keyType": { + "id": 4731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1298:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1290:24:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + }, + "valueType": { + "id": 4732, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1309:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4735, + "nodeType": "StructuredDocumentation", + "src": "1336:43:39", + "text": "@dev Pending address to receive tokens." + }, + "id": 4739, + "mutability": "mutable", + "name": "pendingReceivers", + "nameLocation": "1420:16:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "1384:52:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "typeName": { + "id": 4738, + "keyType": { + "id": 4736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1392:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1384:27:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + }, + "valueType": { + "id": 4737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1403:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4740, + "nodeType": "StructuredDocumentation", + "src": "1442:89:39", + "text": "@dev Tax for token redemptions.\n 15 represents 1.5% of total sales." + }, + "id": 4743, + "mutability": "mutable", + "name": "tax", + "nameLocation": "1552:3:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "1536:24:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4741, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1536:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "3135", + "id": 4742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1558:2:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "15" + }, + "visibility": "private" + }, + { + "constant": false, + "documentation": { + "id": 4744, + "nodeType": "StructuredDocumentation", + "src": "1566:25:39", + "text": "@dev ReEntrancy Lock." + }, + "id": 4746, + "mutability": "mutable", + "name": "locked", + "nameLocation": "1609:6:39", + "nodeType": "VariableDeclaration", + "scope": 5423, + "src": "1596:19:39", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4745, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1596:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "documentation": { + "id": 4747, + "nodeType": "StructuredDocumentation", + "src": "1622:42:39", + "text": "@dev Emitted when a token is redeemed." + }, + "eventSelector": "6f73b7b8d37df32ea60a45eadc8fc3d2d716d705ee099bd506817482ce847316", + "id": 4753, + "name": "Redeemed", + "nameLocation": "1675:8:39", + "nodeType": "EventDefinition", + "parameters": { + "id": 4752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4749, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1700:7:39", + "nodeType": "VariableDeclaration", + "scope": 4753, + "src": "1684:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4748, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1684:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4751, + "indexed": true, + "mutability": "mutable", + "name": "extension", + "nameLocation": "1725:9:39", + "nodeType": "VariableDeclaration", + "scope": 4753, + "src": "1709:25:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4750, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1709:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1683:52:39" + }, + "src": "1669:67:39" + }, + { + "body": { + "id": 4790, + "nodeType": "Block", + "src": "2141:307:39", + "statements": [ + { + "documentation": "@dev Ensure that limit is higher or equal to individual token price.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4776, + "name": "_tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4766, + "src": "2240:11:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 4777, + "name": "_priceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4764, + "src": "2255:11:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2240:26:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "507269636520686967686572207468616e206c696d69742e", + "id": 4779, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2268:26:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7b146f5a9a7ca2f626343d6bffe001d397c63c34b0f5f9411b5d9ebfbed8c9de", + "typeString": "literal_string \"Price higher than limit.\"" + }, + "value": "Price higher than limit." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7b146f5a9a7ca2f626343d6bffe001d397c63c34b0f5f9411b5d9ebfbed8c9de", + "typeString": "literal_string \"Price higher than limit.\"" + } + ], + "id": 4775, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2232:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2232:63:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4781, + "nodeType": "ExpressionStatement", + "src": "2232:63:39" + }, + { + "documentation": "@dev Set priceLimit.", + "expression": { + "id": 4784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4782, + "name": "priceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4726, + "src": "2338:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4783, + "name": "_priceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4764, + "src": "2351:11:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2338:24:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4785, + "nodeType": "ExpressionStatement", + "src": "2338:24:39" + }, + { + "documentation": "@dev Set individual token price.", + "expression": { + "id": 4788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4786, + "name": "tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4729, + "src": "2417:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4787, + "name": "_tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4766, + "src": "2430:11:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2417:24:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4789, + "nodeType": "ExpressionStatement", + "src": "2417:24:39" + } + ] + }, + "documentation": { + "id": 4754, + "nodeType": "StructuredDocumentation", + "src": "1742:129:39", + "text": "@dev Deploy the SoulboundWithSignature with set\n total supply, priceLimit and price of an individual token." + }, + "id": 4791, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 4769, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4756, + "src": "2096:4:39", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4770, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4758, + "src": "2102:6:39", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4771, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "2110:15:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4772, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4762, + "src": "2127:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 4773, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 4768, + "name": "SoulboundWithSignature", + "nodeType": "IdentifierPath", + "referencedDeclaration": 5516, + "src": "2073:22:39" + }, + "nodeType": "ModifierInvocation", + "src": "2073:67:39" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4767, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4756, + "mutability": "mutable", + "name": "name", + "nameLocation": "1911:4:39", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "1897:18:39", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4755, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1897:6:39", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4758, + "mutability": "mutable", + "name": "symbol", + "nameLocation": "1939:6:39", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "1925:20:39", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4757, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1925:6:39", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4760, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "1963:15:39", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "1955:23:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4759, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1955:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4762, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1996:12:39", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "1988:20:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1988:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4764, + "mutability": "mutable", + "name": "_priceLimit", + "nameLocation": "2026:11:39", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "2018:19:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4763, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2018:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4766, + "mutability": "mutable", + "name": "_tokenPrice", + "nameLocation": "2055:11:39", + "nodeType": "VariableDeclaration", + "scope": 4791, + "src": "2047:19:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4765, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2047:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1887:185:39" + }, + "returnParameters": { + "id": 4774, + "nodeType": "ParameterList", + "parameters": [], + "src": "2141:0:39" + }, + "scope": 5423, + "src": "1876:572:39", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4795, + "nodeType": "Block", + "src": "2512:2:39", + "statements": [] + }, + "documentation": { + "id": 4792, + "nodeType": "StructuredDocumentation", + "src": "2454:26:39", + "text": "@dev Receive function." + }, + "id": 4796, + "implemented": true, + "kind": "receive", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4793, + "nodeType": "ParameterList", + "parameters": [], + "src": "2492:2:39" + }, + "returnParameters": { + "id": 4794, + "nodeType": "ParameterList", + "parameters": [], + "src": "2512:0:39" + }, + "scope": 5423, + "src": "2485:29:39", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4800, + "nodeType": "Block", + "src": "2580:2:39", + "statements": [] + }, + "documentation": { + "id": 4797, + "nodeType": "StructuredDocumentation", + "src": "2520:27:39", + "text": "@dev Fallback function." + }, + "id": 4801, + "implemented": true, + "kind": "fallback", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4798, + "nodeType": "ParameterList", + "parameters": [], + "src": "2560:2:39" + }, + "returnParameters": { + "id": 4799, + "nodeType": "ParameterList", + "parameters": [], + "src": "2580:0:39" + }, + "scope": 5423, + "src": "2552:30:39", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 4818, + "nodeType": "Block", + "src": "2669:91:39", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 4806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "2687:7:39", + "subExpression": { + "id": 4805, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4746, + "src": "2688:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 4804, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2679:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", + "typeString": "function (bool) pure" + } + }, + "id": 4807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2679:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4808, + "nodeType": "ExpressionStatement", + "src": "2679:16:39" + }, + { + "expression": { + "id": 4811, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4809, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4746, + "src": "2705:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 4810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2714:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "2705:13:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4812, + "nodeType": "ExpressionStatement", + "src": "2705:13:39" + }, + { + "id": 4813, + "nodeType": "PlaceholderStatement", + "src": "2728:1:39" + }, + { + "expression": { + "id": 4816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4814, + "name": "locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4746, + "src": "2739:6:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 4815, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2748:5:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "2739:14:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4817, + "nodeType": "ExpressionStatement", + "src": "2739:14:39" + } + ] + }, + "documentation": { + "id": 4802, + "nodeType": "StructuredDocumentation", + "src": "2588:52:39", + "text": " @dev Protect against Re-Entrancy." + }, + "id": 4819, + "name": "nonReentrant", + "nameLocation": "2654:12:39", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 4803, + "nodeType": "ParameterList", + "parameters": [], + "src": "2666:2:39" + }, + "src": "2645:115:39", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4829, + "nodeType": "Block", + "src": "3052:41:39", + "statements": [ + { + "expression": { + "id": 4827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4825, + "name": "_tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4823, + "src": "3062:11:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4826, + "name": "tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4729, + "src": "3076:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3062:24:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4828, + "nodeType": "ExpressionStatement", + "src": "3062:24:39" + } + ] + }, + "documentation": { + "id": 4820, + "nodeType": "StructuredDocumentation", + "src": "2766:176:39", + "text": " @dev Return the price of one token, set by the deployer.\n @notice Callable by anyone.\n @return _tokenPrice Price of a single token." + }, + "functionSelector": "fad54de7", + "id": 4830, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getIndividualTokenPrice", + "nameLocation": "2956:23:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4821, + "nodeType": "ParameterList", + "parameters": [], + "src": "2979:2:39" + }, + "returnParameters": { + "id": 4824, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4823, + "mutability": "mutable", + "name": "_tokenPrice", + "nameLocation": "3035:11:39", + "nodeType": "VariableDeclaration", + "scope": 4830, + "src": "3027:19:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4822, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3027:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3026:21:39" + }, + "scope": 5423, + "src": "2947:146:39", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4840, + "nodeType": "Block", + "src": "3341:41:39", + "statements": [ + { + "expression": { + "id": 4838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4836, + "name": "_priceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4834, + "src": "3351:11:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4837, + "name": "priceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4726, + "src": "3365:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3351:24:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4839, + "nodeType": "ExpressionStatement", + "src": "3351:24:39" + } + ] + }, + "documentation": { + "id": 4831, + "nodeType": "StructuredDocumentation", + "src": "3099:170:39", + "text": " @dev Return the highest possible price for a token.\n @notice Callable by anyone.\n @return _priceLimit Highest possible price." + }, + "functionSelector": "a0b97daa", + "id": 4841, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getPriceLimit", + "nameLocation": "3283:13:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4832, + "nodeType": "ParameterList", + "parameters": [], + "src": "3296:2:39" + }, + "returnParameters": { + "id": 4835, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4834, + "mutability": "mutable", + "name": "_priceLimit", + "nameLocation": "3328:11:39", + "nodeType": "VariableDeclaration", + "scope": 4841, + "src": "3320:19:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4833, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3320:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3319:21:39" + }, + "scope": 5423, + "src": "3274:108:39", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4866, + "nodeType": "Block", + "src": "3794:215:39", + "statements": [ + { + "documentation": "@dev Ensure that the price passed isn't more than the price limit.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4855, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4846, + "src": "3891:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4856, + "name": "getPriceLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4841, + "src": "3901:13:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 4857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3901:15:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3891:25:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "507269636520686967686572207468616e206c696d69742e", + "id": 4859, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3918:26:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7b146f5a9a7ca2f626343d6bffe001d397c63c34b0f5f9411b5d9ebfbed8c9de", + "typeString": "literal_string \"Price higher than limit.\"" + }, + "value": "Price higher than limit." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_7b146f5a9a7ca2f626343d6bffe001d397c63c34b0f5f9411b5d9ebfbed8c9de", + "typeString": "literal_string \"Price higher than limit.\"" + } + ], + "id": 4854, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3883:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3883:62:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4861, + "nodeType": "ExpressionStatement", + "src": "3883:62:39" + }, + { + "documentation": "@dev Set price.", + "expression": { + "id": 4864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4862, + "name": "tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4729, + "src": "3983:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4863, + "name": "_price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4846, + "src": "3996:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3983:19:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4865, + "nodeType": "ExpressionStatement", + "src": "3983:19:39" + } + ] + }, + "documentation": { + "id": 4842, + "nodeType": "StructuredDocumentation", + "src": "3388:279:39", + "text": " @dev Allows `caller` to set `_price` as price of one token.\n @notice Callable by the deployer of this contract [DaccredDeployer]\n and the allowlistOwner.\n @param caller AllowlistOwner.\n @param _price New price." + }, + "functionSelector": "00e4768b", + "id": 4867, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4849, + "kind": "modifierInvocation", + "modifierName": { + "id": 4848, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "3745:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "3745:9:39" + }, + { + "arguments": [ + { + "id": 4851, + "name": "caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4844, + "src": "3782:6:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4852, + "kind": "modifierInvocation", + "modifierName": { + "id": 4850, + "name": "onlyAllowlistOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4428, + "src": "3763:18:39" + }, + "nodeType": "ModifierInvocation", + "src": "3763:26:39" + } + ], + "name": "setPrice", + "nameLocation": "3681:8:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4847, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4844, + "mutability": "mutable", + "name": "caller", + "nameLocation": "3698:6:39", + "nodeType": "VariableDeclaration", + "scope": 4867, + "src": "3690:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4843, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3690:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4846, + "mutability": "mutable", + "name": "_price", + "nameLocation": "3714:6:39", + "nodeType": "VariableDeclaration", + "scope": 4867, + "src": "3706:14:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4845, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3706:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3689:32:39" + }, + "returnParameters": { + "id": 4853, + "nodeType": "ParameterList", + "parameters": [], + "src": "3794:0:39" + }, + "scope": 5423, + "src": "3672:337:39", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 4937, + "nodeType": "Block", + "src": "4733:1037:39", + "statements": [ + { + "documentation": "@dev Ensure that the supply is not crossed.\n @dev Should all soulbound tokens need to be limited,\n copy this code and paste in Soulboundcore.sol\n issueWithSignature function.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4885, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "4990:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 4886, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "4999:11:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4990:20:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "49737375652043617020526561636865642e", + "id": 4888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5012:20:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c12f09333ab4a78ede2485ac6001e2180fc9f9af3ed199b4e198f266f939e331", + "typeString": "literal_string \"Issue Cap Reached.\"" + }, + "value": "Issue Cap Reached." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c12f09333ab4a78ede2485ac6001e2180fc9f9af3ed199b4e198f266f939e331", + "typeString": "literal_string \"Issue Cap Reached.\"" + } + ], + "id": 4884, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4982:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4889, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4982:51:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4890, + "nodeType": "ExpressionStatement", + "src": "4982:51:39" + }, + { + "documentation": "@dev Require `to` is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4892, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "5104:2:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 4895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5118:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5110:7:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5110:7:39", + "typeDescriptions": {} + } + }, + "id": 4896, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5110:10:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5104:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e7420746f207a65726f20616464726573732e", + "id": 4898, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5122:23:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + }, + "value": "Mint to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + } + ], + "id": 4891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5096:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5096:50:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4900, + "nodeType": "ExpressionStatement", + "src": "5096:50:39" + }, + { + "documentation": "@dev Require the token does not exist already.", + "expression": { + "arguments": [ + { + "id": 4905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5223:17:39", + "subExpression": { + "arguments": [ + { + "id": 4903, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4874, + "src": "5232:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4902, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "5224:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 4904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5224:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e", + "id": 4906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5242:33:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27ad91d600ded7340a92af1e8e323e341145b457e0043d73b881842f9f40f1c5", + "typeString": "literal_string \"Mint of already existing token.\"" + }, + "value": "Mint of already existing token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_27ad91d600ded7340a92af1e8e323e341145b457e0043d73b881842f9f40f1c5", + "typeString": "literal_string \"Mint of already existing token.\"" + } + ], + "id": 4901, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5215:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5215:61:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4908, + "nodeType": "ExpressionStatement", + "src": "5215:61:39" + }, + { + "documentation": "@dev Require that the token is not on the pending list.", + "expression": { + "arguments": [ + { + "id": 4913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5362:17:39", + "subExpression": { + "baseExpression": { + "id": 4910, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4734, + "src": "5363:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 4912, + "indexExpression": { + "id": 4911, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4874, + "src": "5371:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5363:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e74206f6620616c72656164792070656e64696e6720746f6b656e2e", + "id": 4914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5381:32:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f293e6d359cb146b4c3b38b2a261884788ebaefb2f9c4e33004c4a815c1569e3", + "typeString": "literal_string \"Mint of already pending token.\"" + }, + "value": "Mint of already pending token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f293e6d359cb146b4c3b38b2a261884788ebaefb2f9c4e33004c4a815c1569e3", + "typeString": "literal_string \"Mint of already pending token.\"" + } + ], + "id": 4909, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5354:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4915, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5354:60:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4916, + "nodeType": "ExpressionStatement", + "src": "5354:60:39" + }, + { + "documentation": "@dev Set the token's pending state to true.", + "expression": { + "id": 4921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4917, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4734, + "src": "5480:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 4919, + "indexExpression": { + "id": 4918, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4874, + "src": "5488:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5480:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 4920, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5499:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5480:23:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 4922, + "nodeType": "ExpressionStatement", + "src": "5480:23:39" + }, + { + "documentation": "@dev Set the pending receiver of the token to `to`.", + "expression": { + "id": 4927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 4923, + "name": "pendingReceivers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4739, + "src": "5577:16:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 4925, + "indexExpression": { + "id": 4924, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4874, + "src": "5594:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5577:25:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4926, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4872, + "src": "5605:2:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5577:30:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 4928, + "nodeType": "ExpressionStatement", + "src": "5577:30:39" + }, + { + "documentation": "@dev Set a new expiry date for the token.", + "expression": { + "arguments": [ + { + "id": 4930, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4874, + "src": "5684:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4931, + "name": "_tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4876, + "src": "5693:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4929, + "name": "extendExpiry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4059, + "src": "5671:12:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 4932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5671:39:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4933, + "nodeType": "ExpressionStatement", + "src": "5671:39:39" + }, + { + "documentation": "@dev Increment supply.", + "expression": { + "id": 4935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "5755:8:39", + "subExpression": { + "id": 4934, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "5755:6:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4936, + "nodeType": "ExpressionStatement", + "src": "5755:8:39" + } + ] + }, + "documentation": { + "id": 4868, + "nodeType": "StructuredDocumentation", + "src": "4015:528:39", + "text": " @dev Mints a pending soulbound token to `to`.\n Pending tokens are minted and the receiver pays\n to receive and completely mint them.\n @notice Callable by the deployer of this contract [DaccredDeployer]\n and the allowlistOwner.\n @param from Allowlist owner.\n @param to Receiver.\n @param tokenId Id of token to be minted.\n @param _tokenExpiryDate Set expiry date from the deployer." + }, + "functionSelector": "bd97a6ad", + "id": 4938, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4879, + "kind": "modifierInvocation", + "modifierName": { + "id": 4878, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "4698:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "4698:9:39" + }, + { + "arguments": [ + { + "id": 4881, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4870, + "src": "4727:4:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 4882, + "kind": "modifierInvocation", + "modifierName": { + "id": 4880, + "name": "onlyAllowlistOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4428, + "src": "4708:18:39" + }, + "nodeType": "ModifierInvocation", + "src": "4708:24:39" + } + ], + "name": "mintPendingRedeemableToken", + "nameLocation": "4557:26:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4877, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4870, + "mutability": "mutable", + "name": "from", + "nameLocation": "4601:4:39", + "nodeType": "VariableDeclaration", + "scope": 4938, + "src": "4593:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4869, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4593:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4872, + "mutability": "mutable", + "name": "to", + "nameLocation": "4623:2:39", + "nodeType": "VariableDeclaration", + "scope": 4938, + "src": "4615:10:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4871, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4615:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4874, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4643:7:39", + "nodeType": "VariableDeclaration", + "scope": 4938, + "src": "4635:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4873, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4635:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4876, + "mutability": "mutable", + "name": "_tokenExpiryDate", + "nameLocation": "4668:16:39", + "nodeType": "VariableDeclaration", + "scope": 4938, + "src": "4660:24:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4875, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4660:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4583:107:39" + }, + "returnParameters": { + "id": 4883, + "nodeType": "ParameterList", + "parameters": [], + "src": "4733:0:39" + }, + "scope": 5423, + "src": "4548:1222:39", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5055, + "nodeType": "Block", + "src": "6240:1830:39", + "statements": [ + { + "documentation": "@dev Require that the receiver is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 4951, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4941, + "src": "6324:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 4954, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6345:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 4953, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6337:7:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 4952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6337:7:39", + "typeDescriptions": {} + } + }, + "id": 4955, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6337:10:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6324:23:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e7420746f207a65726f20616464726573732e", + "id": 4957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6349:23:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + }, + "value": "Mint to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b3cd0cc0adee66fdd10c0f21fe5cb0de39672daa3845cfc9b86f6248c4187fe0", + "typeString": "literal_string \"Mint to zero address.\"" + } + ], + "id": 4950, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6316:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4958, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6316:57:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4959, + "nodeType": "ExpressionStatement", + "src": "6316:57:39" + }, + { + "documentation": "@dev Require that the token does not exist yet.", + "expression": { + "arguments": [ + { + "id": 4964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6451:17:39", + "subExpression": { + "arguments": [ + { + "id": 4962, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "6460:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4961, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "6452:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 4963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6452:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e", + "id": 4965, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6470:33:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27ad91d600ded7340a92af1e8e323e341145b457e0043d73b881842f9f40f1c5", + "typeString": "literal_string \"Mint of already existing token.\"" + }, + "value": "Mint of already existing token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_27ad91d600ded7340a92af1e8e323e341145b457e0043d73b881842f9f40f1c5", + "typeString": "literal_string \"Mint of already existing token.\"" + } + ], + "id": 4960, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6443:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6443:61:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4967, + "nodeType": "ExpressionStatement", + "src": "6443:61:39" + }, + { + "documentation": "@dev Require that the token is indeed pending.", + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 4969, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4734, + "src": "6581:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 4971, + "indexExpression": { + "id": 4970, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "6589:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6581:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416c726561647920726563656976656420746f6b656e2e", + "id": 4972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6599:25:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12cc045ad24f383fd375b78e3f9b44570c2ab7e10a54320acd82e5dd71df5f27", + "typeString": "literal_string \"Already received token.\"" + }, + "value": "Already received token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12cc045ad24f383fd375b78e3f9b44570c2ab7e10a54320acd82e5dd71df5f27", + "typeString": "literal_string \"Already received token.\"" + } + ], + "id": 4968, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6573:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6573:52:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4974, + "nodeType": "ExpressionStatement", + "src": "6573:52:39" + }, + { + "documentation": "@dev Require that the expected receiver of pending\n token is the `_receiver`.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 4980, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 4976, + "name": "pendingReceivers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4739, + "src": "6768:16:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 4978, + "indexExpression": { + "id": 4977, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "6785:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6768:25:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 4979, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4941, + "src": "6797:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6768:38:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f742070656e64696e672072656365697665722e", + "id": 4981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6820:23:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a16ec8e5ff180a35a460e12ce81cf7b6dfd3872605270f5cfeb853c3e10fc874", + "typeString": "literal_string \"Not pending receiver.\"" + }, + "value": "Not pending receiver." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a16ec8e5ff180a35a460e12ce81cf7b6dfd3872605270f5cfeb853c3e10fc874", + "typeString": "literal_string \"Not pending receiver.\"" + } + ], + "id": 4975, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6747:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4982, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6747:106:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4983, + "nodeType": "ExpressionStatement", + "src": "6747:106:39" + }, + { + "documentation": "@dev Require that the token has not expired already.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 4986, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "6944:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 4985, + "name": "isValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "6936:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 4987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6936:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526563656976616c206f66206578706972656420746f6b656e2c2072656465656d20746f6b656e2e", + "id": 4988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6954:42:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_139167712b23610ca89c74e594394396d48fdd1707b40d47ee305fc2a27ea0b9", + "typeString": "literal_string \"Receival of expired token, redeem token.\"" + }, + "value": "Receival of expired token, redeem token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_139167712b23610ca89c74e594394396d48fdd1707b40d47ee305fc2a27ea0b9", + "typeString": "literal_string \"Receival of expired token, redeem token.\"" + } + ], + "id": 4984, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6928:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6928:69:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4990, + "nodeType": "ExpressionStatement", + "src": "6928:69:39" + }, + { + "documentation": "@dev Require that the amount sent is GTE the price of one token.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 4995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 4992, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7092:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "7092:9:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 4994, + "name": "tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4729, + "src": "7105:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7092:23:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5072696365206c6f776572207468616e20746f6b656e20636f73742e", + "id": 4996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7117:30:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3f582117bae28b735f149af9be0894d5dd380425ff79d8dc2f8db5a41eb0fff9", + "typeString": "literal_string \"Price lower than token cost.\"" + }, + "value": "Price lower than token cost." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3f582117bae28b735f149af9be0894d5dd380425ff79d8dc2f8db5a41eb0fff9", + "typeString": "literal_string \"Price lower than token cost.\"" + } + ], + "id": 4991, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7084:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 4997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7084:64:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4998, + "nodeType": "ExpressionStatement", + "src": "7084:64:39" + }, + { + "assignments": [ + 5001 + ], + "declarations": [ + { + "constant": false, + "id": 5001, + "mutability": "mutable", + "name": "balance", + "nameLocation": "7203:7:39", + "nodeType": "VariableDeclaration", + "scope": 5055, + "src": "7195:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5000, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7195:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Initialize balance.", + "id": 5002, + "nodeType": "VariableDeclarationStatement", + "src": "7195:15:39" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5003, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7300:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "7300:9:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "id": 5005, + "name": "tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4729, + "src": "7312:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7300:22:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "documentation": "@dev If the amount sent is bigger than the price of one token.", + "id": 5023, + "nodeType": "IfStatement", + "src": "7296:252:39", + "trueBody": { + "id": 5022, + "nodeType": "Block", + "src": "7324:224:39", + "statements": [ + { + "documentation": "@dev Calculate the balance of the `_receiver`.", + "expression": { + "id": 5012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5007, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5001, + "src": "7401:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5008, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7411:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "7411:9:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5010, + "name": "tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4729, + "src": "7423:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7411:22:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7401:32:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5013, + "nodeType": "ExpressionStatement", + "src": "7401:32:39" + }, + { + "documentation": "@dev Pay the `_receiver` his balance.", + "expression": { + "arguments": [ + { + "id": 5019, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5001, + "src": "7529:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 5016, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4941, + "src": "7509:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7501:8:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 5014, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7501:8:39", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 5017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7501:18:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 5018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "7501:27:39", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5020, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7501:36:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5021, + "nodeType": "ExpressionStatement", + "src": "7501:36:39" + } + ] + } + }, + { + "assignments": [ + 5026 + ], + "declarations": [ + { + "constant": false, + "id": 5026, + "mutability": "mutable", + "name": "_tokenURI", + "nameLocation": "7608:9:39", + "nodeType": "VariableDeclaration", + "scope": 5055, + "src": "7594:23:39", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5025, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7594:6:39", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Generate tokenURI.", + "id": 5030, + "initialValue": { + "arguments": [ + { + "id": 5028, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "7637:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5027, + "name": "generateTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4628, + "src": "7620:16:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256) view returns (string memory)" + } + }, + "id": 5029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7620:25:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7594:51:39" + }, + { + "documentation": "@dev Finally issue the token to the `_receiver`.", + "expression": { + "arguments": [ + { + "id": 5032, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4941, + "src": "7722:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5033, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "7733:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5034, + "name": "_tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5026, + "src": "7742:9:39", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5031, + "name": "issue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4167, + "src": "7716:5:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (address,uint256,string memory) returns (bool)" + } + }, + "id": 5035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7716:36:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5036, + "nodeType": "ExpressionStatement", + "src": "7716:36:39" + }, + { + "documentation": "@dev Increment totalSales.", + "expression": { + "id": 5038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "7801:12:39", + "subExpression": { + "id": 5037, + "name": "totalSales", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "7801:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5039, + "nodeType": "ExpressionStatement", + "src": "7801:12:39" + }, + { + "documentation": "@dev Add to the total Revenue.", + "expression": { + "id": 5042, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5040, + "name": "totalRevenue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "7866:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5041, + "name": "tokenPrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4729, + "src": "7882:10:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7866:26:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5043, + "nodeType": "ExpressionStatement", + "src": "7866:26:39" + }, + { + "documentation": "@dev Set the pending token to false.", + "expression": { + "id": 5048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 5044, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4734, + "src": "7951:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 5046, + "indexExpression": { + "id": 5045, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "7959:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7951:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 5047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7970:5:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7951:24:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 5049, + "nodeType": "ExpressionStatement", + "src": "7951:24:39" + }, + { + "documentation": "@dev Delete the pending receiver.", + "expression": { + "id": 5053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "8031:32:39", + "subExpression": { + "baseExpression": { + "id": 5050, + "name": "pendingReceivers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4739, + "src": "8038:16:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5052, + "indexExpression": { + "id": 5051, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4943, + "src": "8055:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8038:25:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5054, + "nodeType": "ExpressionStatement", + "src": "8031:32:39" + } + ] + }, + "documentation": { + "id": 4939, + "nodeType": "StructuredDocumentation", + "src": "5776:322:39", + "text": " @dev Allows the `_receiver` to pay the price of one token to\n fully mint the pending token.\n @notice Callable by the deployer of this contract [DaccredDeployer].\n @param _receiver Receiver of the token.\n @param tokenId Pending tokenId for the receiver." + }, + "functionSelector": "33e085c1", + "id": 5056, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4946, + "kind": "modifierInvocation", + "modifierName": { + "id": 4945, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "6205:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "6205:9:39" + }, + { + "id": 4948, + "kind": "modifierInvocation", + "modifierName": { + "id": 4947, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4819, + "src": "6223:12:39" + }, + "nodeType": "ModifierInvocation", + "src": "6223:12:39" + } + ], + "name": "payToReceiveToken", + "nameLocation": "6112:17:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4941, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "6138:9:39", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "6130:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6130:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4943, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "6157:7:39", + "nodeType": "VariableDeclaration", + "scope": 5056, + "src": "6149:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4942, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6149:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6129:36:39" + }, + "returnParameters": { + "id": 4949, + "nodeType": "ParameterList", + "parameters": [], + "src": "6240:0:39" + }, + "scope": 5423, + "src": "6103:1967:39", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5161, + "nodeType": "Block", + "src": "8751:1370:39", + "statements": [ + { + "documentation": "@dev Require _receiver is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5076, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5071, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5059, + "src": "8827:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8848:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8840:7:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8840:7:39", + "typeDescriptions": {} + } + }, + "id": 5075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8840:10:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8827:23:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526564656d7074696f6e20746f207a65726f20616464726573732e", + "id": 5077, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8852:29:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8ae517d4fbdf4aa8a9a0c9b30153fe2f49b5b913f6c5df159128e1c8e765e0c", + "typeString": "literal_string \"Redemption to zero address.\"" + }, + "value": "Redemption to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f8ae517d4fbdf4aa8a9a0c9b30153fe2f49b5b913f6c5df159128e1c8e765e0c", + "typeString": "literal_string \"Redemption to zero address.\"" + } + ], + "id": 5070, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8819:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8819:63:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5079, + "nodeType": "ExpressionStatement", + "src": "8819:63:39" + }, + { + "documentation": "@dev Require tokenId is existent.", + "expression": { + "arguments": [ + { + "id": 5084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "8946:17:39", + "subExpression": { + "arguments": [ + { + "id": 5082, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "8955:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5081, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "8947:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8947:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526564656d7074696f6e206f66206578697374696e6720746f6b656e2e", + "id": 5085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8965:31:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8eea3e14730fdda4b1b67df25114b765b9e055f222676279aedc274e392d5c70", + "typeString": "literal_string \"Redemption of existing token.\"" + }, + "value": "Redemption of existing token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8eea3e14730fdda4b1b67df25114b765b9e055f222676279aedc274e392d5c70", + "typeString": "literal_string \"Redemption of existing token.\"" + } + ], + "id": 5080, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8938:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8938:59:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5087, + "nodeType": "ExpressionStatement", + "src": "8938:59:39" + }, + { + "documentation": "@dev Require that the token is still pending.", + "expression": { + "arguments": [ + { + "baseExpression": { + "id": 5089, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4734, + "src": "9073:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 5091, + "indexExpression": { + "id": 5090, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "9081:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9073:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416c726561647920726563656976656420746f6b656e2e", + "id": 5092, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9091:25:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12cc045ad24f383fd375b78e3f9b44570c2ab7e10a54320acd82e5dd71df5f27", + "typeString": "literal_string \"Already received token.\"" + }, + "value": "Already received token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12cc045ad24f383fd375b78e3f9b44570c2ab7e10a54320acd82e5dd71df5f27", + "typeString": "literal_string \"Already received token.\"" + } + ], + "id": 5088, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9065:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9065:52:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5094, + "nodeType": "ExpressionStatement", + "src": "9065:52:39" + }, + { + "documentation": "@dev Require that the pending receiver is the `_receiver`.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5100, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 5096, + "name": "pendingReceivers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4739, + "src": "9219:16:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", + "typeString": "mapping(uint256 => address)" + } + }, + "id": 5098, + "indexExpression": { + "id": 5097, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "9236:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9219:25:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5099, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5059, + "src": "9248:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9219:38:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f742070656e64696e672072656365697665722e", + "id": 5101, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9271:23:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a16ec8e5ff180a35a460e12ce81cf7b6dfd3872605270f5cfeb853c3e10fc874", + "typeString": "literal_string \"Not pending receiver.\"" + }, + "value": "Not pending receiver." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a16ec8e5ff180a35a460e12ce81cf7b6dfd3872605270f5cfeb853c3e10fc874", + "typeString": "literal_string \"Not pending receiver.\"" + } + ], + "id": 5095, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9198:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9198:106:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5103, + "nodeType": "ExpressionStatement", + "src": "9198:106:39" + }, + { + "documentation": "@dev Require the token has expired.", + "expression": { + "arguments": [ + { + "id": 5108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "9370:17:39", + "subExpression": { + "arguments": [ + { + "id": 5106, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "9379:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5105, + "name": "isValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "9371:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9371:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e20756e657870697265642e", + "id": 5109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9389:18:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ddea6342fcbf01338b6010e536f87fae8e42a6f07a6359c41895245782d6531", + "typeString": "literal_string \"Token unexpired.\"" + }, + "value": "Token unexpired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5ddea6342fcbf01338b6010e536f87fae8e42a6f07a6359c41895245782d6531", + "typeString": "literal_string \"Token unexpired.\"" + } + ], + "id": 5104, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9362:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9362:46:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5111, + "nodeType": "ExpressionStatement", + "src": "9362:46:39" + }, + { + "assignments": [ + 5114 + ], + "declarations": [ + { + "constant": false, + "id": 5114, + "mutability": "mutable", + "name": "_tax", + "nameLocation": "9458:4:39", + "nodeType": "VariableDeclaration", + "scope": 5161, + "src": "9450:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5113, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9450:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Calculate tax.", + "id": 5118, + "initialValue": { + "arguments": [ + { + "id": 5116, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4743, + "src": "9478:3:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5115, + "name": "calculateTax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5422, + "src": "9465:12:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 5117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9465:17:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9450:32:39" + }, + { + "documentation": "@dev Require that the amount sent is GTE the tax.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5120, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9562:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9562:9:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 5122, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5114, + "src": "9575:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9562:17:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5072696365206c6f776572207468616e20726564656d7074696f6e207461782e", + "id": 5124, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9581:34:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fa10b2cd99908573898b40e409d7d992862dab35683fc79ab1b58428430f440f", + "typeString": "literal_string \"Price lower than redemption tax.\"" + }, + "value": "Price lower than redemption tax." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fa10b2cd99908573898b40e409d7d992862dab35683fc79ab1b58428430f440f", + "typeString": "literal_string \"Price lower than redemption tax.\"" + } + ], + "id": 5119, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9554:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9554:62:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5126, + "nodeType": "ExpressionStatement", + "src": "9554:62:39" + }, + { + "assignments": [ + 5129 + ], + "declarations": [ + { + "constant": false, + "id": 5129, + "mutability": "mutable", + "name": "balance", + "nameLocation": "9669:7:39", + "nodeType": "VariableDeclaration", + "scope": 5161, + "src": "9661:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5128, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9661:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Initiate balance.", + "id": 5130, + "nodeType": "VariableDeclarationStatement", + "src": "9661:15:39" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5131, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5114, + "src": "9729:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 5132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9737:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "9729:9:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "documentation": "@dev If the tax is not 0.", + "id": 5150, + "nodeType": "IfStatement", + "src": "9725:205:39", + "trueBody": { + "id": 5149, + "nodeType": "Block", + "src": "9740:190:39", + "statements": [ + { + "documentation": "@dev Calculate receiver's balance.", + "expression": { + "id": 5139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5134, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5129, + "src": "9805:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5135, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "9815:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "9815:9:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5137, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5114, + "src": "9827:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9815:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9805:26:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5140, + "nodeType": "ExpressionStatement", + "src": "9805:26:39" + }, + { + "documentation": "@dev Pay to receiver.", + "expression": { + "arguments": [ + { + "id": 5146, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5129, + "src": "9911:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 5143, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5059, + "src": "9891:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9883:8:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 5141, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9883:8:39", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 5144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9883:18:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 5145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "9883:27:39", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9883:36:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5148, + "nodeType": "ExpressionStatement", + "src": "9883:36:39" + } + ] + } + }, + { + "documentation": "@dev Extend expiry of tokenId.", + "expression": { + "arguments": [ + { + "id": 5152, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "9996:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5153, + "name": "_tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5063, + "src": "10005:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5151, + "name": "extendExpiry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4059, + "src": "9983:12:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5154, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9983:39:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5155, + "nodeType": "ExpressionStatement", + "src": "9983:39:39" + }, + { + "documentation": "@dev Emit the Redeemed event.", + "eventCall": { + "arguments": [ + { + "id": 5157, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "10088:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5158, + "name": "_tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5063, + "src": "10097:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5156, + "name": "Redeemed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4753, + "src": "10079:8:39", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10079:35:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5160, + "nodeType": "EmitStatement", + "src": "10074:40:39" + } + ] + }, + "documentation": { + "id": 5057, + "nodeType": "StructuredDocumentation", + "src": "8076:512:39", + "text": " @dev For expired pending tokens, this function redeems them and makes\n valid for another period of time.\n Tokens must be expired for it to be redeemed.\n Emits the {Redeemed} event.\n @notice Callable by the deployer of this contract [DaccredDeployer].\n @param _receiver Receiver of the token.\n @param tokenId Pending tokenId for the receiver.\n @param _tokenExpiryDate New expiry date for tokens." + }, + "functionSelector": "ed734730", + "id": 5162, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5066, + "kind": "modifierInvocation", + "modifierName": { + "id": 5065, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "8728:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "8728:9:39" + }, + { + "id": 5068, + "kind": "modifierInvocation", + "modifierName": { + "id": 5067, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4819, + "src": "8738:12:39" + }, + "nodeType": "ModifierInvocation", + "src": "8738:12:39" + } + ], + "name": "redeemPendingToken", + "nameLocation": "8602:18:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5064, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5059, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "8638:9:39", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "8630:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5058, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8630:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5061, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "8665:7:39", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "8657:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5060, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8657:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5063, + "mutability": "mutable", + "name": "_tokenExpiryDate", + "nameLocation": "8690:16:39", + "nodeType": "VariableDeclaration", + "scope": 5162, + "src": "8682:24:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5062, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8682:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8620:92:39" + }, + "returnParameters": { + "id": 5069, + "nodeType": "ParameterList", + "parameters": [], + "src": "8751:0:39" + }, + "scope": 5423, + "src": "8593:1528:39", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5267, + "nodeType": "Block", + "src": "10800:1323:39", + "statements": [ + { + "documentation": "@dev Require _receiver is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5177, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5165, + "src": "10876:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10897:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10889:7:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10889:7:39", + "typeDescriptions": {} + } + }, + "id": 5181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10889:10:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10876:23:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526564656d7074696f6e20746f207a65726f20616464726573732e", + "id": 5183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10901:29:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8ae517d4fbdf4aa8a9a0c9b30153fe2f49b5b913f6c5df159128e1c8e765e0c", + "typeString": "literal_string \"Redemption to zero address.\"" + }, + "value": "Redemption to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f8ae517d4fbdf4aa8a9a0c9b30153fe2f49b5b913f6c5df159128e1c8e765e0c", + "typeString": "literal_string \"Redemption to zero address.\"" + } + ], + "id": 5176, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10868:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10868:63:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5185, + "nodeType": "ExpressionStatement", + "src": "10868:63:39" + }, + { + "documentation": "@dev Require tokenId is existent.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5188, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "11003:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5187, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "10995:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5189, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10995:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526564656d7074696f6e206f66206e6f6e2d6578697374696e6720746f6b656e2e", + "id": 5190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11013:35:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cbb568e74a4e0859ba3703040914a4b98b5d188a3f26ea09cee63b8d438e279b", + "typeString": "literal_string \"Redemption of non-existing token.\"" + }, + "value": "Redemption of non-existing token." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cbb568e74a4e0859ba3703040914a4b98b5d188a3f26ea09cee63b8d438e279b", + "typeString": "literal_string \"Redemption of non-existing token.\"" + } + ], + "id": 5186, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10987:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10987:62:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5192, + "nodeType": "ExpressionStatement", + "src": "10987:62:39" + }, + { + "documentation": "@dev Require that the token is still pending.", + "expression": { + "arguments": [ + { + "id": 5197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11125:17:39", + "subExpression": { + "baseExpression": { + "id": 5194, + "name": "pending", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4734, + "src": "11126:7:39", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", + "typeString": "mapping(uint256 => bool)" + } + }, + "id": 5196, + "indexExpression": { + "id": 5195, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "11134:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11126:16:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e207374696c6c2070656e64696e672e", + "id": 5198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11144:22:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2b156dcdb30e77c44e138b6c32ca50b0fb732d157e9d549e2a7b839489b59283", + "typeString": "literal_string \"Token still pending.\"" + }, + "value": "Token still pending." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2b156dcdb30e77c44e138b6c32ca50b0fb732d157e9d549e2a7b839489b59283", + "typeString": "literal_string \"Token still pending.\"" + } + ], + "id": 5193, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11117:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11117:50:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5200, + "nodeType": "ExpressionStatement", + "src": "11117:50:39" + }, + { + "documentation": "@dev Require that the pending receiver is the `_receiver`.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 5203, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "11264:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5202, + "name": "ownerOf", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "11256:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 5204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11256:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 5205, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5165, + "src": "11276:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11256:29:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420746f6b656e206f776e65722e", + "id": 5207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11287:18:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01c2b96a94efb063c6ecb037e311fd4167859a7e8380231289135c1d35497ae4", + "typeString": "literal_string \"Not token owner.\"" + }, + "value": "Not token owner." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_01c2b96a94efb063c6ecb037e311fd4167859a7e8380231289135c1d35497ae4", + "typeString": "literal_string \"Not token owner.\"" + } + ], + "id": 5201, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11248:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11248:58:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5209, + "nodeType": "ExpressionStatement", + "src": "11248:58:39" + }, + { + "documentation": "@dev Require the token has expired.", + "expression": { + "arguments": [ + { + "id": 5214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11372:17:39", + "subExpression": { + "arguments": [ + { + "id": 5212, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "11381:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5211, + "name": "isValid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4088, + "src": "11373:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 5213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11373:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "546f6b656e20756e657870697265642e", + "id": 5215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11391:18:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ddea6342fcbf01338b6010e536f87fae8e42a6f07a6359c41895245782d6531", + "typeString": "literal_string \"Token unexpired.\"" + }, + "value": "Token unexpired." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5ddea6342fcbf01338b6010e536f87fae8e42a6f07a6359c41895245782d6531", + "typeString": "literal_string \"Token unexpired.\"" + } + ], + "id": 5210, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11364:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11364:46:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5217, + "nodeType": "ExpressionStatement", + "src": "11364:46:39" + }, + { + "assignments": [ + 5220 + ], + "declarations": [ + { + "constant": false, + "id": 5220, + "mutability": "mutable", + "name": "_tax", + "nameLocation": "11460:4:39", + "nodeType": "VariableDeclaration", + "scope": 5267, + "src": "11452:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5219, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11452:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Calculate tax.", + "id": 5224, + "initialValue": { + "arguments": [ + { + "id": 5222, + "name": "tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4743, + "src": "11480:3:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5221, + "name": "calculateTax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5422, + "src": "11467:12:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256) view returns (uint256)" + } + }, + "id": 5223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11467:17:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11452:32:39" + }, + { + "documentation": "@dev Require that the amount sent is GTE the tax.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5226, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11564:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "11564:9:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 5228, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "11577:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11564:17:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5072696365206c6f776572207468616e20726564656d7074696f6e207461782e", + "id": 5230, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11583:34:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fa10b2cd99908573898b40e409d7d992862dab35683fc79ab1b58428430f440f", + "typeString": "literal_string \"Price lower than redemption tax.\"" + }, + "value": "Price lower than redemption tax." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fa10b2cd99908573898b40e409d7d992862dab35683fc79ab1b58428430f440f", + "typeString": "literal_string \"Price lower than redemption tax.\"" + } + ], + "id": 5225, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11556:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11556:62:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5232, + "nodeType": "ExpressionStatement", + "src": "11556:62:39" + }, + { + "assignments": [ + 5235 + ], + "declarations": [ + { + "constant": false, + "id": 5235, + "mutability": "mutable", + "name": "balance", + "nameLocation": "11671:7:39", + "nodeType": "VariableDeclaration", + "scope": 5267, + "src": "11663:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5234, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11663:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "documentation": "@dev Initiate balance.", + "id": 5236, + "nodeType": "VariableDeclarationStatement", + "src": "11663:15:39" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5237, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "11731:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 5238, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11739:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "11731:9:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "documentation": "@dev If the tax is not 0.", + "id": 5256, + "nodeType": "IfStatement", + "src": "11727:205:39", + "trueBody": { + "id": 5255, + "nodeType": "Block", + "src": "11742:190:39", + "statements": [ + { + "documentation": "@dev Calculate receiver's balance.", + "expression": { + "id": 5245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5240, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5235, + "src": "11807:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5244, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 5241, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "11817:3:39", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 5242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "11817:9:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 5243, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5220, + "src": "11829:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11817:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11807:26:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5246, + "nodeType": "ExpressionStatement", + "src": "11807:26:39" + }, + { + "documentation": "@dev Pay to receiver.", + "expression": { + "arguments": [ + { + "id": 5252, + "name": "balance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5235, + "src": "11913:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 5249, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5165, + "src": "11893:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "11885:8:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 5247, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11885:8:39", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 5250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11885:18:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 5251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "11885:27:39", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11885:36:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5254, + "nodeType": "ExpressionStatement", + "src": "11885:36:39" + } + ] + } + }, + { + "documentation": "@dev Extend expiry of tokenId.", + "expression": { + "arguments": [ + { + "id": 5258, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "11998:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5259, + "name": "_tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5169, + "src": "12007:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5257, + "name": "extendExpiry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4059, + "src": "11985:12:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11985:39:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5261, + "nodeType": "ExpressionStatement", + "src": "11985:39:39" + }, + { + "documentation": "@dev Emit the Redeemed event.", + "eventCall": { + "arguments": [ + { + "id": 5263, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5167, + "src": "12090:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5264, + "name": "_tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5169, + "src": "12099:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5262, + "name": "Redeemed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4753, + "src": "12081:8:39", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256)" + } + }, + "id": 5265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12081:35:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5266, + "nodeType": "EmitStatement", + "src": "12076:40:39" + } + ] + }, + "documentation": { + "id": 5163, + "nodeType": "StructuredDocumentation", + "src": "10127:511:39", + "text": " @dev For expired minted tokens, this function redeems them and makes\n valid for another period of time.\n Tokens must be expired for it to be redeemed.\n Emits the {Redeemed} event.\n @notice Callable by the deployer of this contract [DaccredDeployer].\n @param _receiver Receiver of the token.\n @param tokenId Pending tokenId for the receiver.\n @param _tokenExpiryDate New expiry date for tokens." + }, + "functionSelector": "3d1a350e", + "id": 5268, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5172, + "kind": "modifierInvocation", + "modifierName": { + "id": 5171, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "10777:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "10777:9:39" + }, + { + "id": 5174, + "kind": "modifierInvocation", + "modifierName": { + "id": 5173, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4819, + "src": "10787:12:39" + }, + "nodeType": "ModifierInvocation", + "src": "10787:12:39" + } + ], + "name": "redeemMintedToken", + "nameLocation": "10652:17:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5165, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "10687:9:39", + "nodeType": "VariableDeclaration", + "scope": 5268, + "src": "10679:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10679:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5167, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "10714:7:39", + "nodeType": "VariableDeclaration", + "scope": 5268, + "src": "10706:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5166, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10706:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5169, + "mutability": "mutable", + "name": "_tokenExpiryDate", + "nameLocation": "10739:16:39", + "nodeType": "VariableDeclaration", + "scope": 5268, + "src": "10731:24:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5168, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10731:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10669:92:39" + }, + "returnParameters": { + "id": 5175, + "nodeType": "ParameterList", + "parameters": [], + "src": "10800:0:39" + }, + "scope": 5423, + "src": "10643:1480:39", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5305, + "nodeType": "Block", + "src": "12964:239:39", + "statements": [ + { + "documentation": "@dev Require that the signer is the allowlistowner.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5293, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5279, + "src": "13062:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5294, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5281, + "src": "13068:3:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5292, + "name": "verifySignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "13046:15:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes memory) returns (bool)" + } + }, + "id": 5295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13046:26:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "48617368206e6f74207369676e656420627920796f752e", + "id": 5296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13074:25:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ef5f160e4668f863b4f5f0eb6838380bb3459b7b0bafc4b8dc1f326dd0a6eedf", + "typeString": "literal_string \"Hash not signed by you.\"" + }, + "value": "Hash not signed by you." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ef5f160e4668f863b4f5f0eb6838380bb3459b7b0bafc4b8dc1f326dd0a6eedf", + "typeString": "literal_string \"Hash not signed by you.\"" + } + ], + "id": 5291, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "13038:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13038:62:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5298, + "nodeType": "ExpressionStatement", + "src": "13038:62:39" + }, + { + "documentation": "@dev RedeemToken.", + "expression": { + "arguments": [ + { + "id": 5300, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5273, + "src": "13159:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5301, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5275, + "src": "13170:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5302, + "name": "_tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5277, + "src": "13179:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5299, + "name": "redeemPendingToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5162, + "src": "13140:18:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 5303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13140:56:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5304, + "nodeType": "ExpressionStatement", + "src": "13140:56:39" + } + ] + }, + "documentation": { + "id": 5269, + "nodeType": "StructuredDocumentation", + "src": "12129:558:39", + "text": " @dev Allows the allowlistOwner to redeem an expired pending\n token on behalf of the tokenOwner.\n @notice Callable by the deployer of this contract [DaccredDeployer]\n and the allowlistOwner.\n @param _caller Allowlist owner.\n @param _receiver Address of receiver.\n @param tokenId TokenId.\n @param _tokenExpiryDate Days to extend the token.\n @param hash Hash of message.\n @param sig Signature." + }, + "functionSelector": "bd131786", + "id": 5306, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5284, + "kind": "modifierInvocation", + "modifierName": { + "id": 5283, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "12913:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "12913:9:39" + }, + { + "arguments": [ + { + "id": 5286, + "name": "_caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5271, + "src": "12942:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 5287, + "kind": "modifierInvocation", + "modifierName": { + "id": 5285, + "name": "onlyAllowlistOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4428, + "src": "12923:18:39" + }, + "nodeType": "ModifierInvocation", + "src": "12923:27:39" + }, + { + "id": 5289, + "kind": "modifierInvocation", + "modifierName": { + "id": 5288, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4819, + "src": "12951:12:39" + }, + "nodeType": "ModifierInvocation", + "src": "12951:12:39" + } + ], + "name": "redeemPendingTokenWithSignature", + "nameLocation": "12701:31:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5271, + "mutability": "mutable", + "name": "_caller", + "nameLocation": "12750:7:39", + "nodeType": "VariableDeclaration", + "scope": 5306, + "src": "12742:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12742:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5273, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "12775:9:39", + "nodeType": "VariableDeclaration", + "scope": 5306, + "src": "12767:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5272, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12767:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5275, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "12802:7:39", + "nodeType": "VariableDeclaration", + "scope": 5306, + "src": "12794:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5274, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12794:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5277, + "mutability": "mutable", + "name": "_tokenExpiryDate", + "nameLocation": "12827:16:39", + "nodeType": "VariableDeclaration", + "scope": 5306, + "src": "12819:24:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5276, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12819:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5279, + "mutability": "mutable", + "name": "hash", + "nameLocation": "12861:4:39", + "nodeType": "VariableDeclaration", + "scope": 5306, + "src": "12853:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "12853:7:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5281, + "mutability": "mutable", + "name": "sig", + "nameLocation": "12888:3:39", + "nodeType": "VariableDeclaration", + "scope": 5306, + "src": "12875:16:39", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5280, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "12875:5:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "12732:165:39" + }, + "returnParameters": { + "id": 5290, + "nodeType": "ParameterList", + "parameters": [], + "src": "12964:0:39" + }, + "scope": 5423, + "src": "12692:511:39", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5343, + "nodeType": "Block", + "src": "14042:238:39", + "statements": [ + { + "documentation": "@dev Require that the signer is the allowlistowner.", + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 5331, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5317, + "src": "14140:4:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5332, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5319, + "src": "14146:3:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5330, + "name": "verifySignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1007, + "src": "14124:15:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$", + "typeString": "function (bytes32,bytes memory) returns (bool)" + } + }, + "id": 5333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14124:26:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "48617368206e6f74207369676e656420627920796f752e", + "id": 5334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14152:25:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ef5f160e4668f863b4f5f0eb6838380bb3459b7b0bafc4b8dc1f326dd0a6eedf", + "typeString": "literal_string \"Hash not signed by you.\"" + }, + "value": "Hash not signed by you." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ef5f160e4668f863b4f5f0eb6838380bb3459b7b0bafc4b8dc1f326dd0a6eedf", + "typeString": "literal_string \"Hash not signed by you.\"" + } + ], + "id": 5329, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "14116:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14116:62:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5336, + "nodeType": "ExpressionStatement", + "src": "14116:62:39" + }, + { + "documentation": "@dev RedeemToken.", + "expression": { + "arguments": [ + { + "id": 5338, + "name": "_receiver", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5311, + "src": "14236:9:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5339, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5313, + "src": "14247:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5340, + "name": "_tokenExpiryDate", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5315, + "src": "14256:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5337, + "name": "redeemMintedToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5268, + "src": "14218:17:39", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256,uint256)" + } + }, + "id": 5341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14218:55:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5342, + "nodeType": "ExpressionStatement", + "src": "14218:55:39" + } + ] + }, + "documentation": { + "id": 5307, + "nodeType": "StructuredDocumentation", + "src": "13209:557:39", + "text": " @dev Allows the allowlistOwner to redeem an expired minted\n token on behalf of the tokenOwner.\n @notice Callable by the deployer of this contract [DaccredDeployer]\n and the allowlistOwner.\n @param _caller Allowlist owner.\n @param _receiver Address of receiver.\n @param tokenId TokenId.\n @param _tokenExpiryDate Days to extend the token.\n @param hash Hash of message.\n @param sig Signature." + }, + "functionSelector": "983a8b94", + "id": 5344, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5322, + "kind": "modifierInvocation", + "modifierName": { + "id": 5321, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "13991:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "13991:9:39" + }, + { + "arguments": [ + { + "id": 5324, + "name": "_caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5309, + "src": "14020:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 5325, + "kind": "modifierInvocation", + "modifierName": { + "id": 5323, + "name": "onlyAllowlistOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4428, + "src": "14001:18:39" + }, + "nodeType": "ModifierInvocation", + "src": "14001:27:39" + }, + { + "id": 5327, + "kind": "modifierInvocation", + "modifierName": { + "id": 5326, + "name": "nonReentrant", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4819, + "src": "14029:12:39" + }, + "nodeType": "ModifierInvocation", + "src": "14029:12:39" + } + ], + "name": "redeemMintedTokenWithSignature", + "nameLocation": "13780:30:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5320, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5309, + "mutability": "mutable", + "name": "_caller", + "nameLocation": "13828:7:39", + "nodeType": "VariableDeclaration", + "scope": 5344, + "src": "13820:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13820:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5311, + "mutability": "mutable", + "name": "_receiver", + "nameLocation": "13853:9:39", + "nodeType": "VariableDeclaration", + "scope": 5344, + "src": "13845:17:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5310, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13845:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5313, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "13880:7:39", + "nodeType": "VariableDeclaration", + "scope": 5344, + "src": "13872:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5312, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13872:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5315, + "mutability": "mutable", + "name": "_tokenExpiryDate", + "nameLocation": "13905:16:39", + "nodeType": "VariableDeclaration", + "scope": 5344, + "src": "13897:24:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5314, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13897:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5317, + "mutability": "mutable", + "name": "hash", + "nameLocation": "13939:4:39", + "nodeType": "VariableDeclaration", + "scope": 5344, + "src": "13931:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5316, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "13931:7:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5319, + "mutability": "mutable", + "name": "sig", + "nameLocation": "13966:3:39", + "nodeType": "VariableDeclaration", + "scope": 5344, + "src": "13953:16:39", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5318, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "13953:5:39", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "13810:165:39" + }, + "returnParameters": { + "id": 5328, + "nodeType": "ParameterList", + "parameters": [], + "src": "14042:0:39" + }, + "scope": 5423, + "src": "13771:509:39", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5388, + "nodeType": "Block", + "src": "14667:533:39", + "statements": [ + { + "documentation": "@dev Require that the allowlistowner is not a zero address.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 5361, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5356, + "name": "_caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5347, + "src": "14757:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 5359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14776:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 5358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14768:7:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5357, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14768:7:39", + "typeDescriptions": {} + } + }, + "id": 5360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14768:10:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "14757:21:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53656e64696e6720746f207a65726f20616464726573732e", + "id": 5362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14780:26:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_69550820d91345eff27185892db9732301bb932a686959ef02a532beee79fc14", + "typeString": "literal_string \"Sending to zero address.\"" + }, + "value": "Sending to zero address." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_69550820d91345eff27185892db9732301bb932a686959ef02a532beee79fc14", + "typeString": "literal_string \"Sending to zero address.\"" + } + ], + "id": 5355, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "14749:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14749:58:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5364, + "nodeType": "ExpressionStatement", + "src": "14749:58:39" + }, + { + "documentation": "@dev Require that the balance of this contract is GTE the totalRevenue.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 5368, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "14930:4:39", + "typeDescriptions": { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SoulboundRedeemable_$5423", + "typeString": "contract SoulboundRedeemable" + } + ], + "id": 5367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "14922:7:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 5366, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14922:7:39", + "typeDescriptions": {} + } + }, + "id": 5369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14922:13:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 5370, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "14922:21:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 5371, + "name": "totalRevenue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "14947:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "14922:37:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526576656e756520213d20436f6e74726163742062616c616e63652e", + "id": 5373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14973:30:39", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fca07585151cf995e4811867d30d75ea50f98637b078e7e8276134b3a72fcd66", + "typeString": "literal_string \"Revenue != Contract balance.\"" + }, + "value": "Revenue != Contract balance." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fca07585151cf995e4811867d30d75ea50f98637b078e7e8276134b3a72fcd66", + "typeString": "literal_string \"Revenue != Contract balance.\"" + } + ], + "id": 5365, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "14901:7:39", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14901:112:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5375, + "nodeType": "ExpressionStatement", + "src": "14901:112:39" + }, + { + "documentation": "@dev Pay the totalRevenue to the allowlistowner.", + "expression": { + "arguments": [ + { + "id": 5381, + "name": "totalRevenue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "15110:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 5378, + "name": "_caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5347, + "src": "15092:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "15084:8:39", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_payable_$", + "typeString": "type(address payable)" + }, + "typeName": { + "id": 5376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15084:8:39", + "stateMutability": "payable", + "typeDescriptions": {} + } + }, + "id": 5379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15084:16:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 5380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "transfer", + "nodeType": "MemberAccess", + "src": "15084:25:39", + "typeDescriptions": { + "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 5382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15084:39:39", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5383, + "nodeType": "ExpressionStatement", + "src": "15084:39:39" + }, + { + "documentation": "@dev Set the totalRevenue to 0.", + "expression": { + "id": 5386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5384, + "name": "totalRevenue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "15177:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15192:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15177:16:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5387, + "nodeType": "ExpressionStatement", + "src": "15177:16:39" + } + ] + }, + "documentation": { + "id": 5345, + "nodeType": "StructuredDocumentation", + "src": "14286:268:39", + "text": " @dev Allows the allowlistowner to withdraw his funds to his wallet.\n @notice Callable by the deployer of this contract [DaccredDeployer]\n and the allowlistOwner.\n @param _caller Address of allowlistowner." + }, + "functionSelector": "51cff8d9", + "id": 5389, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5350, + "kind": "modifierInvocation", + "modifierName": { + "id": 5349, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "14617:9:39" + }, + "nodeType": "ModifierInvocation", + "src": "14617:9:39" + }, + { + "arguments": [ + { + "id": 5352, + "name": "_caller", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5347, + "src": "14654:7:39", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 5353, + "kind": "modifierInvocation", + "modifierName": { + "id": 5351, + "name": "onlyAllowlistOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4428, + "src": "14635:18:39" + }, + "nodeType": "ModifierInvocation", + "src": "14635:27:39" + } + ], + "name": "withdraw", + "nameLocation": "14568:8:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5348, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5347, + "mutability": "mutable", + "name": "_caller", + "nameLocation": "14585:7:39", + "nodeType": "VariableDeclaration", + "scope": 5389, + "src": "14577:15:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5346, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14577:7:39", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14576:17:39" + }, + "returnParameters": { + "id": 5354, + "nodeType": "ParameterList", + "parameters": [], + "src": "14667:0:39" + }, + "scope": 5423, + "src": "14559:641:39", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5421, + "nodeType": "Block", + "src": "15432:347:39", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 5403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5399, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5397, + "name": "totalRevenue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "15551:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30", + "id": 5398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15567:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15551:17:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5400, + "name": "totalRevenue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "15572:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "hexValue": "353030", + "id": 5401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15587:8:39", + "subdenomination": "gwei", + "typeDescriptions": { + "typeIdentifier": "t_rational_500000000000_by_1", + "typeString": "int_const 500000000000" + }, + "value": "500" + }, + "src": "15572:23:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "15551:44:39", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "documentation": "Grant free tax if the total revenue of the contract is\n in range of 0 - 500 gwei.", + "id": 5409, + "nodeType": "IfStatement", + "src": "15547:118:39", + "trueBody": { + "id": 5408, + "nodeType": "Block", + "src": "15597:68:39", + "statements": [ + { + "documentation": "@dev Set tax to 0.", + "expression": { + "id": 5406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5404, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5392, + "src": "15646:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 5405, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15653:1:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "15646:8:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5407, + "nodeType": "ExpressionStatement", + "src": "15646:8:39" + } + ] + } + }, + { + "documentation": "Else simply calculate tax on total revenue.", + "expression": { + "id": 5419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5410, + "name": "__tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5395, + "src": "15731:5:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5411, + "name": "_tax", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5392, + "src": "15740:4:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 5412, + "name": "totalRevenue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4723, + "src": "15747:12:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15740:19:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "3130", + "id": 5414, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15762:2:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "15740:24:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5416, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "15739:26:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "hexValue": "31303030", + "id": 5417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15768:4:39", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "15739:33:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "15731:41:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5420, + "nodeType": "ExpressionStatement", + "src": "15731:41:39" + } + ] + }, + "documentation": { + "id": 5390, + "nodeType": "StructuredDocumentation", + "src": "15206:148:39", + "text": " @dev Calculates the tax off the totalSales.\n @param _tax Percentage tax.\n @return __tax Tax calculated." + }, + "id": 5422, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "calculateTax", + "nameLocation": "15368:12:39", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5392, + "mutability": "mutable", + "name": "_tax", + "nameLocation": "15389:4:39", + "nodeType": "VariableDeclaration", + "scope": 5422, + "src": "15381:12:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15381:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15380:14:39" + }, + "returnParameters": { + "id": 5396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5395, + "mutability": "mutable", + "name": "__tax", + "nameLocation": "15425:5:39", + "nodeType": "VariableDeclaration", + "scope": 5422, + "src": "15417:13:39", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "15417:7:39", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15416:15:39" + }, + "scope": 5423, + "src": "15359:420:39", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + } + ], + "scope": 5424, + "src": "826:14955:39", + "usedErrors": [ + 1138 + ] + } + ], + "src": "438:15344:39" + }, + "bytecode": "6080604052600f6012553480156200001657600080fd5b50604051620033403803806200334083398101604081905262000039916200029f565b858585858383838381848481816001620000548382620003d7565b506002620000638282620003d7565b505050620000806200007a6200017c60201b60201c565b62000180565b50506001600160a01b038116620000d15760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b60448201526064015b60405180910390fd5b600980546001600160a01b0319166001600160a01b039290921691909117905560008190036200010857620f4240600a556200010e565b600a8190555b505050505050505081811115620001685760405162461bcd60e51b815260206004820152601860248201527f507269636520686967686572207468616e206c696d69742e00000000000000006044820152606401620000c8565b600e91909155600f5550620004a392505050565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001fa57600080fd5b81516001600160401b0380821115620002175762000217620001d2565b604051601f8301601f19908116603f01168101908282118183101715620002425762000242620001d2565b816040528381526020925086838588010111156200025f57600080fd5b600091505b8382101562000283578582018301518183018401529082019062000264565b83821115620002955760008385830101525b9695505050505050565b60008060008060008060c08789031215620002b957600080fd5b86516001600160401b0380821115620002d157600080fd5b620002df8a838b01620001e8565b97506020890151915080821115620002f657600080fd5b506200030589828a01620001e8565b604089015190965090506001600160a01b03811681146200032557600080fd5b80945050606087015192506080870151915060a087015190509295509295509295565b600181811c908216806200035d57607f821691505b6020821081036200037e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003d257600081815260208120601f850160051c81016020861015620003ad5750805b601f850160051c820191505b81811015620003ce57828155600101620003b9565b5050505b505050565b81516001600160401b03811115620003f357620003f3620001d2565b6200040b8162000404845462000348565b8462000384565b602080601f8311600181146200044357600084156200042a5750858301515b600019600386901b1c1916600185901b178555620003ce565b600085815260208120601f198616915b82811015620004745788860151825594840194600190910190840162000453565b5085821015620004935787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612e8d80620004b36000396000f3fe6080604052600436106101fa5760003560e01c806395d89b411161010c578063daca6f781161009a578063ed7347301161006c578063ed734730146105ef578063f2fde38b14610602578063f577a50014610622578063fad54de714610652578063fb8f198d1461066757005b8063daca6f781461056f578063e8c587631461058f578063e92b0842146105af578063ea5353c7146105cf57005b8063bd97a6ad116100de578063bd97a6ad146104da578063c3cab38a146104fa578063c87b56dd1461051a578063c9dd94c71461053a578063c9e4c54d1461054f57005b806395d89b411461048a578063983a8b941461049f578063a0b97daa146104b2578063bd131786146104c757005b806351cff8d9116101895780636e0a87461161015b5780636e0a8746146103f957806370a0823114610417578063715018a614610437578063884336511461044c5780638da5cb5b1461046c57005b806351cff8d9146103205780635899e7b2146103405780636352211e146103865780636833f200146103be57005b80631f04d135116101cd5780631f04d1351461029a578063210fa96b146102ba57806333e085c1146102da5780633d1a350e146102ed57806342966c681461030057005b8062e4768b1461020357806301ffc9a71461022357806306fdde031461025857806308c92e571461027a57005b3661020157005b005b34801561020f57600080fd5b5061020161021e366004612719565b610687565b34801561022f57600080fd5b5061024361023e366004612743565b610756565b60405190151581526020015b60405180910390f35b34801561026457600080fd5b5061026d6107a8565b60405161024f919061279d565b34801561028657600080fd5b50610201610295366004612873565b61083a565b3480156102a657600080fd5b506102016102b5366004612873565b610970565b3480156102c657600080fd5b5061026d6102d53660046128c3565b610a0c565b6102016102e8366004612719565b610a8e565b6102016102fb3660046128dc565b610da6565b34801561030c57600080fd5b5061020161031b3660046128c3565b611098565b34801561032c57600080fd5b5061020161033b36600461290f565b61110d565b34801561034c57600080fd5b5061024361035b366004612719565b6001600160a01b03919091166000908152600860209081526040808320938352929052205460ff1690565b34801561039257600080fd5b506103a66103a13660046128c3565b611263565b6040516001600160a01b03909116815260200161024f565b3480156103ca57600080fd5b506103eb6103d93660046128c3565b60009081526020819052604090205490565b60405190815260200161024f565b34801561040557600080fd5b506009546001600160a01b03166103a6565b34801561042357600080fd5b506103eb61043236600461290f565b6112c8565b34801561044357600080fd5b50610201611351565b34801561045857600080fd5b5061020161046736600461292a565b611387565b34801561047857600080fd5b506006546001600160a01b03166103a6565b34801561049657600080fd5b5061026d6113fd565b6102016104ad366004612978565b61140c565b3480156104be57600080fd5b50600e546103eb565b6102016104d5366004612978565b611504565b3480156104e657600080fd5b506102016104f53660046129f2565b6115e9565b34801561050657600080fd5b50610201610515366004612a34565b6117dd565b34801561052657600080fd5b5061026d6105353660046128c3565b611835565b34801561054657600080fd5b5061026d61192a565b34801561055b57600080fd5b5061020161056a366004612a56565b611987565b34801561057b57600080fd5b5061024361058a366004612ade565b611a94565b34801561059b57600080fd5b506103eb6105aa3660046128c3565b611aa7565b3480156105bb57600080fd5b506102436105ca366004612b0f565b611ae4565b3480156105db57600080fd5b506102016105ea366004612a56565b611b78565b6102016105fd3660046128dc565b611bf7565b34801561060e57600080fd5b5061020161061d36600461290f565b611da3565b34801561062e57600080fd5b5061024361063d3660046128c3565b60009081526020819052604090205442111590565b34801561065e57600080fd5b50600f546103eb565b34801561067357600080fd5b506103a6610682366004612719565b611e3b565b6006546001600160a01b031633146106ba5760405162461bcd60e51b81526004016106b190612b66565b60405180910390fd5b816106cd6009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146106fd5760405162461bcd60e51b81526004016106b190612b9b565b600e5482111561074f5760405162461bcd60e51b815260206004820152601860248201527f507269636520686967686572207468616e206c696d69742e000000000000000060448201526064016106b1565b50600f5550565b60006001600160e01b03198216635b5e139f60e01b148061078757506001600160e01b03198216635164cf4760e01b145b806107a257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546107b790612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546107e390612bc9565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b5050505050905090565b61084381611f4f565b61088f5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064016106b1565b81516041146108db5760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b6108e58383611a94565b61092d5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b61093f61093982611263565b82611f6c565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6006546001600160a01b0316331461099a5760405162461bcd60e51b81526004016106b190612b66565b600b54156109bc57600b80549060006109b283612c19565b91905055506109fc565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b60448201526064016106b1565b610a0783838361083a565b505050565b6060610a1661192a565b51600003610a565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b610a5e61192a565b610a6783612034565b604051602001610a78929190612c30565b6040516020818303038152906040529050919050565b6006546001600160a01b03163314610ab85760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610ac857600080fd5b6013805460ff191660011790556001600160a01b038216610afb5760405162461bcd60e51b81526004016106b190612c5f565b610b0481611f4f565b15610b515760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008181526010602052604090205460ff16610ba95760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000818152601160205260409020546001600160a01b03838116911614610c0a5760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b600081815260208190526040902054421115610c795760405162461bcd60e51b815260206004820152602860248201527f526563656976616c206f66206578706972656420746f6b656e2c20726564656560448201526736903a37b5b2b71760c11b60648201526084016106b1565b600f54341015610ccb5760405162461bcd60e51b815260206004820152601c60248201527f5072696365206c6f776572207468616e20746f6b656e20636f73742e0000000060448201526064016106b1565b6000600f54341115610d1f57600f54610ce49034612c8e565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610d1d573d6000803e3d6000fd5b505b6000610d2a83610a0c565b9050610d3784848361213d565b50600c8054906000610d4883612ca5565b9190505550600f54600d6000828254610d619190612cbe565b909155505050600091825250601060209081526040808320805460ff19908116909155601190925290912080546001600160a01b031916905560138054909116905550565b6006546001600160a01b03163314610dd05760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610de057600080fd5b6013805460ff191660011790556001600160a01b038316610e435760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b610e4c82611f4f565b610ea25760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e206f66206e6f6e2d6578697374696e6720746f6b656e6044820152601760f91b60648201526084016106b1565b60008281526010602052604090205460ff1615610ef85760405162461bcd60e51b81526020600482015260146024820152732a37b5b2b71039ba34b636103832b73234b7339760611b60448201526064016106b1565b826001600160a01b0316610f0b83611263565b6001600160a01b031614610f545760405162461bcd60e51b815260206004820152601060248201526f2737ba103a37b5b2b71037bbb732b91760811b60448201526064016106b1565b6000828152602081905260409020544211610fa45760405162461bcd60e51b815260206004820152601060248201526f2a37b5b2b7103ab732bc3834b932b21760811b60448201526064016106b1565b6000610fb1601254612154565b9050803410156110035760405162461bcd60e51b815260206004820181905260248201527f5072696365206c6f776572207468616e20726564656d7074696f6e207461782e60448201526064016106b1565b60008115611050576110158234612c8e565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f1935050505015801561104e573d6000803e3d6000fd5b505b61105a84846117dd565b604051839085907f6f73b7b8d37df32ea60a45eadc8fc3d2d716d705ee099bd506817482ce84731690600090a350506013805460ff19169055505050565b6110a181611263565b6001600160a01b0316336001600160a01b0316146111015760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064016106b1565b61110a81612190565b50565b6006546001600160a01b031633146111375760405162461bcd60e51b81526004016106b190612b66565b8061114a6009546001600160a01b031690565b6001600160a01b0316816001600160a01b03161461117a5760405162461bcd60e51b81526004016106b190612b9b565b6001600160a01b0382166111d05760405162461bcd60e51b815260206004820152601860248201527f53656e64696e6720746f207a65726f20616464726573732e000000000000000060448201526064016106b1565b600d544710156112225760405162461bcd60e51b815260206004820152601c60248201527f526576656e756520213d20436f6e74726163742062616c616e63652e0000000060448201526064016106b1565b600d546040516001600160a01b0384169180156108fc02916000818181858888f19350505050158015611259573d6000803e3d6000fd5b50506000600d5550565b6000818152600360205260408120546001600160a01b0316806107a25760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016106b1565b60006001600160a01b0382166113355760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016106b1565b506001600160a01b031660009081526005602052604090205490565b6006546001600160a01b0316331461137b5760405162461bcd60e51b81526004016106b190612b66565b6113856000612237565b565b6006546001600160a01b031633146113b15760405162461bcd60e51b81526004016106b190612b66565b816113c46009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146113f45760405162461bcd60e51b81526004016106b190612b9b565b610a0782612289565b6060600280546107b790612bc9565b6006546001600160a01b031633146114365760405162461bcd60e51b81526004016106b190612b66565b856114496009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146114795760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561148957600080fd5b6013805460ff191660011790556114a08383611a94565b6114e65760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686610da6565b50506013805460ff191690555050505050565b6006546001600160a01b0316331461152e5760405162461bcd60e51b81526004016106b190612b66565b856115416009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146115715760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561158157600080fd5b6013805460ff191660011790556115988383611a94565b6115de5760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686611bf7565b6006546001600160a01b031633146116135760405162461bcd60e51b81526004016106b190612b66565b836116266009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146116565760405162461bcd60e51b81526004016106b190612b9b565b600a54600b541061169e5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6001600160a01b0384166116c45760405162461bcd60e51b81526004016106b190612c5f565b6116cd83611f4f565b1561171a5760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008381526010602052604090205460ff16156117795760405162461bcd60e51b815260206004820152601e60248201527f4d696e74206f6620616c72656164792070656e64696e6720746f6b656e2e000060448201526064016106b1565b6000838152601060209081526040808320805460ff191660011790556011909152902080546001600160a01b0386166001600160a01b03199091161790556117c183836117dd565b600b80549060006117d183612ca5565b91905055505050505050565b6117e78142612cbe565b600083815260208181526040918290209290925580518481529182018390527f41a73beb1018a8b63e0f451a8a4f483806142cf14be45b1a58a23776a1e9b4bc910160405180910390a15050565b606061184082611f4f565b61188c5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016106b1565b600082815260046020526040902080546118a590612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546118d190612bc9565b801561191e5780601f106118f35761010080835404028352916020019161191e565b820191906000526020600020905b81548152906001019060200180831161190157829003601f168201915b50505050509050919050565b60606007805461193990612bc9565b905060000361197a5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b600780546107b790612bc9565b6001600160a01b0385166119ad5760405162461bcd60e51b81526004016106b190612c5f565b82516041146119f95760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b611a038484611a94565b611a4b5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b611a5685838361213d565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000611aa083836122db565b9392505050565b600081815260208190526040812054421115611ac557506000919050565b6000828152602081905260409020546107a2904290612c8e565b919050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015611b4e573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6006546001600160a01b03163314611ba25760405162461bcd60e51b81526004016106b190612b66565b600a54600b5410611bea5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6117c18585858585611987565b6006546001600160a01b03163314611c215760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615611c3157600080fd5b6013805460ff191660011790556001600160a01b038316611c945760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b611c9d82611f4f565b15611cea5760405162461bcd60e51b815260206004820152601d60248201527f526564656d7074696f6e206f66206578697374696e6720746f6b656e2e00000060448201526064016106b1565b60008281526010602052604090205460ff16611d425760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000828152601160205260409020546001600160a01b03848116911614610f545760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b6006546001600160a01b03163314611dcd5760405162461bcd60e51b81526004016106b190612b66565b6001600160a01b038116611e325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b1565b61110a81612237565b60006001600160a01b038316611e935760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016106b1565b611e9c82611f4f565b611ede5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611ef183611263565b6001600160a01b031614611f475760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b503092915050565b6000908152600360205260409020546001600160a01b0316151590565b6000611f7782611f4f565b611fb95760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611fcc83611263565b6001600160a01b0316146120225760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b61202b82612481565b50600192915050565b60608160000361205b5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612085578061206f81612ca5565b915061207e9050600a83612cec565b915061205f565b60008167ffffffffffffffff8111156120a0576120a06127d0565b6040519080825280601f01601f1916602001820160405280156120ca576020820181803683370190505b5090505b8415612135576120df600183612c8e565b91506120ec600a86612d00565b6120f7906030612cbe565b60f81b81838151811061210c5761210c612d14565b60200101906001600160f81b031916908160001a90535061212e600a86612cec565b94506120ce565b949350505050565b600061214a848484612517565b5060019392505050565b600064746a528800600d54101561216a57600091505b6103e8600d548361217b9190612d2a565b61218690600a612d2a565b6107a29190612cec565b600061219b82611263565b6001600160a01b038116600090815260056020526040812080549293506001929091906121c9908490612c8e565b9091555050600082815260036020908152604080832080546001600160a01b0319169055600490915281206121fd916126b4565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036122cb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b60448201526064016106b1565b60076122d78282612d97565b5050565b6006546000906001600160a01b031633146123085760405162461bcd60e51b81526004016106b190612b66565b6006546001600160a01b031633146123765760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b60648201526084016106b1565b81516041146123c75760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e677468000060448201526064016106b1565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa15801561242b573d6000803e3d6000fd5b5050604051601f198101516009549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61248a81611f4f565b6124d65760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e000000000000000060448201526064016106b1565b60006124e182611263565b90506124ec82612190565b6001600160a01b0316600090815260086020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661253d5760405162461bcd60e51b81526004016106b190612c5f565b80516000036125805760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b60448201526064016106b1565b61258b8383836125bd565b50506001600160a01b03909116600090815260086020908152604080832093835292905220805460ff19166001179055565b60006125c883611f4f565b1561260c5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b60448201526064016106b1565b6001600160a01b0384166000908152600560205260408120805460019290612635908490612cbe565b9091555050600083815260036020908152604080832080546001600160a01b0319166001600160a01b038916179055600490915290206126758382612d97565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b5080546126c090612bc9565b6000825580601f106126d0575050565b601f01602090049060005260206000209081019061110a91905b808211156126fe57600081556001016126ea565b5090565b80356001600160a01b0381168114611adf57600080fd5b6000806040838503121561272c57600080fd5b61273583612702565b946020939093013593505050565b60006020828403121561275557600080fd5b81356001600160e01b031981168114611aa057600080fd5b60005b83811015612788578181015183820152602001612770565b83811115612797576000848401525b50505050565b60208152600082518060208401526127bc81604085016020870161276d565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127f757600080fd5b813567ffffffffffffffff80821115612812576128126127d0565b604051601f8301601f19908116603f0116810190828211818310171561283a5761283a6127d0565b8160405283815286602085880101111561285357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561288857600080fd5b83359250602084013567ffffffffffffffff8111156128a657600080fd5b6128b2868287016127e6565b925050604084013590509250925092565b6000602082840312156128d557600080fd5b5035919050565b6000806000606084860312156128f157600080fd5b6128fa84612702565b95602085013595506040909401359392505050565b60006020828403121561292157600080fd5b611aa082612702565b6000806040838503121561293d57600080fd5b61294683612702565b9150602083013567ffffffffffffffff81111561296257600080fd5b61296e858286016127e6565b9150509250929050565b60008060008060008060c0878903121561299157600080fd5b61299a87612702565b95506129a860208801612702565b945060408701359350606087013592506080870135915060a087013567ffffffffffffffff8111156129d957600080fd5b6129e589828a016127e6565b9150509295509295509295565b60008060008060808587031215612a0857600080fd5b612a1185612702565b9350612a1f60208601612702565b93969395505050506040820135916060013590565b60008060408385031215612a4757600080fd5b50508035926020909101359150565b600080600080600060a08688031215612a6e57600080fd5b612a7786612702565b945060208601359350604086013567ffffffffffffffff80821115612a9b57600080fd5b612aa789838a016127e6565b9450606088013593506080880135915080821115612ac457600080fd5b50612ad1888289016127e6565b9150509295509295909350565b60008060408385031215612af157600080fd5b82359150602083013567ffffffffffffffff81111561296257600080fd5b600080600060608486031215612b2457600080fd5b612b2d84612702565b925060208401359150604084013567ffffffffffffffff811115612b5057600080fd5b612b5c868287016127e6565b9150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601490820152734e6f7420416c6c6f776c697374204f776e65722160601b604082015260600190565b600181811c90821680612bdd57607f821691505b602082108103612bfd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600081612c2857612c28612c03565b506000190190565b60008351612c4281846020880161276d565b835190830190612c5681836020880161276d565b01949350505050565b60208082526015908201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604082015260600190565b600082821015612ca057612ca0612c03565b500390565b600060018201612cb757612cb7612c03565b5060010190565b60008219821115612cd157612cd1612c03565b500190565b634e487b7160e01b600052601260045260246000fd5b600082612cfb57612cfb612cd6565b500490565b600082612d0f57612d0f612cd6565b500690565b634e487b7160e01b600052603260045260246000fd5b6000816000190483118215151615612d4457612d44612c03565b500290565b601f821115610a0757600081815260208120601f850160051c81016020861015612d705750805b601f850160051c820191505b81811015612d8f57828155600101612d7c565b505050505050565b815167ffffffffffffffff811115612db157612db16127d0565b612dc581612dbf8454612bc9565b84612d49565b602080601f831160018114612dfa5760008415612de25750858301515b600019600386901b1c1916600185901b178555612d8f565b600085815260208120601f198616915b82811015612e2957888601518255948401946001909101908401612e0a565b5085821015612e475787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220d84be31b55b9957eedec9ac513cd6049f6f334a1ebc344347050ca815bd44d6864736f6c634300080f0033", + "bytecodeSha1": "cae05163a6e53907f9a771b99db512f3f068f731", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "SoulboundRedeemable", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "171": [ + 2006, + 2028, + true + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "164": [ + 3897, + 3920, + true + ], + "165": [ + 4067, + 4083, + true + ] + } + }, + "15": {}, + "36": { + "IsValidWithDate.getTimeLeft": { + "170": [ + 2255, + 2295, + false + ] + } + }, + "37": { + "Soulbound._getBaseURI": { + "172": [ + 7561, + 7587, + true + ] + }, + "Soulbound._setBaseURI": { + "178": [ + 7152, + 7179, + true + ] + }, + "Soulbound.burnSoulboundToken": { + "179": [ + 6564, + 6580, + true + ] + }, + "Soulbound.issuerOf": { + "173": [ + 4479, + 4496, + true + ], + "174": [ + 4581, + 4598, + true + ], + "175": [ + 4691, + 4715, + true + ] + }, + "Soulbound.mintSoulboundToken": { + "180": [ + 5816, + 5832, + true + ], + "181": [ + 5998, + 6025, + true + ] + }, + "Soulbound.revoke": { + "176": [ + 3468, + 3485, + true + ], + "177": [ + 3580, + 3606, + true + ] + } + }, + "38": { + "Allowlist.getAllowlistOwner": { + "186": [ + 1693, + 1723, + true + ] + }, + "SoulboundCore.generateTokenURI": { + "185": [ + 6334, + 6366, + true + ] + }, + "SoulboundCore.issueWithSignature": { + "187": [ + 3058, + 3076, + true + ], + "188": [ + 3337, + 3353, + true + ], + "189": [ + 3509, + 3535, + true + ] + }, + "SoulboundCore.revokeWithSignature": { + "182": [ + 4455, + 4471, + true + ], + "183": [ + 4738, + 4754, + true + ], + "184": [ + 4910, + 4936, + true + ] + }, + "SoulboundCore.toString": { + "190": [ + 6933, + 6943, + false + ] + } + }, + "39": { + "SoulboundRedeemable.calculateTax": { + "163": [ + 15572, + 15595, + false + ] + }, + "SoulboundRedeemable.mintPendingRedeemableToken": { + "155": [ + 4990, + 5010, + true + ], + "156": [ + 5104, + 5120, + true + ], + "157": [ + 5223, + 5240, + true + ], + "158": [ + 5362, + 5379, + true + ] + }, + "SoulboundRedeemable.payToReceiveToken": { + "139": [ + 6324, + 6347, + true + ], + "140": [ + 6451, + 6468, + true + ], + "141": [ + 6581, + 6597, + true + ], + "142": [ + 6768, + 6806, + true + ], + "143": [ + 7092, + 7115, + true + ], + "144": [ + 7300, + 7322, + false + ] + }, + "SoulboundRedeemable.redeemMintedToken": { + "145": [ + 10876, + 10899, + true + ], + "146": [ + 10995, + 11011, + true + ], + "147": [ + 11125, + 11142, + true + ], + "148": [ + 11256, + 11285, + true + ], + "149": [ + 11564, + 11581, + true + ], + "150": [ + 11731, + 11740, + false + ] + }, + "SoulboundRedeemable.redeemMintedTokenWithSignature": { + "153": [ + 14124, + 14150, + true + ] + }, + "SoulboundRedeemable.redeemPendingToken": { + "159": [ + 8827, + 8850, + true + ], + "160": [ + 8946, + 8963, + true + ], + "161": [ + 9073, + 9089, + true + ], + "162": [ + 9219, + 9257, + true + ] + }, + "SoulboundRedeemable.redeemPendingTokenWithSignature": { + "154": [ + 13046, + 13072, + true + ] + }, + "SoulboundRedeemable.setPrice": { + "138": [ + 3891, + 3916, + true + ] + }, + "SoulboundRedeemable.withdraw": { + "151": [ + 14757, + 14778, + true + ], + "152": [ + 14922, + 14959, + true + ] + } + }, + "40": { + "SoulboundWithSignature.ownerIssueWithSignature": { + "192": [ + 1905, + 1925, + true + ] + }, + "SoulboundWithSignature.ownerRevokeWithSignature": { + "191": [ + 3272, + 3283, + false + ] + } + }, + "41": { + "ERC4973._mint": { + "169": [ + 6201, + 6218, + true + ] + }, + "ERC4973.balanceOf": { + "167": [ + 5570, + 5589, + true + ] + }, + "ERC4973.burn": { + "166": [ + 5316, + 5346, + true + ] + }, + "ERC4973.tokenURI": { + "168": [ + 5144, + 5160, + true + ] + } + }, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "117": [ + 2378, + 2395 + ], + "118": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "3": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "55": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "91": [ + 1998, + 2071 + ], + "92": [ + 2081, + 2109 + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "121": [ + 3876, + 3989 + ], + "122": [ + 4059, + 4118 + ], + "123": [ + 4545, + 4595 + ], + "124": [ + 4641, + 4670 + ] + }, + "Allowlist.getAllowlistOwner": { + "2": [ + 2240, + 2261 + ] + }, + "Allowlist.verifySignature": { + "81": [ + 2604, + 2638 + ] + }, + "Allowlist.verifySigner": { + "84": [ + 5068, + 5113 + ] + } + }, + "15": {}, + "36": { + "IsValidWithDate.extendExpiry": { + "70": [ + 1028, + 1077 + ], + "71": [ + 1131, + 1159 + ] + }, + "IsValidWithDate.getExpiryDate": { + "1": [ + 1452, + 1483 + ] + }, + "IsValidWithDate.getTimeLeft": { + "82": [ + 2342, + 2350 + ], + "83": [ + 2453, + 2500 + ] + }, + "IsValidWithDate.isValid": { + "5": [ + 1794, + 1842 + ] + } + }, + "37": { + "Soulbound._getBaseURI": { + "74": [ + 7553, + 7605 + ], + "75": [ + 7648, + 7666 + ] + }, + "Soulbound._setBaseURI": { + "119": [ + 7144, + 7198 + ], + "120": [ + 7238, + 7256 + ] + }, + "Soulbound.burnSoulboundToken": { + "125": [ + 6556, + 6609 + ], + "126": [ + 6745, + 6759 + ], + "127": [ + 6816, + 6851 + ] + }, + "Soulbound.isMinted": { + "0": [ + 5339, + 5366 + ] + }, + "Soulbound.issue": { + "109": [ + 2400, + 2443 + ], + "110": [ + 2483, + 2494 + ] + }, + "Soulbound.issuerOf": { + "93": [ + 4471, + 4524 + ], + "94": [ + 4573, + 4622 + ], + "95": [ + 4683, + 4746 + ], + "96": [ + 4795, + 4815 + ] + }, + "Soulbound.mintSoulboundToken": { + "128": [ + 5808, + 5858 + ], + "129": [ + 5990, + 6045 + ], + "130": [ + 6160, + 6188 + ], + "131": [ + 6244, + 6269 + ] + }, + "Soulbound.revoke": { + "98": [ + 3460, + 3509 + ], + "99": [ + 3572, + 3637 + ], + "100": [ + 3680, + 3708 + ], + "101": [ + 3748, + 3759 + ] + } + }, + "38": { + "SoulboundCore.generateTokenURI": { + "21": [ + 6326, + 6384 + ], + "22": [ + 6444, + 6514 + ] + }, + "SoulboundCore.issueWithSignature": { + "76": [ + 3050, + 3102 + ], + "77": [ + 3329, + 3382 + ], + "78": [ + 3501, + 3565 + ], + "79": [ + 3664, + 3694 + ], + "80": [ + 3756, + 3794 + ] + }, + "SoulboundCore.revokeWithSignature": { + "13": [ + 4447, + 4503 + ], + "14": [ + 4730, + 4783 + ], + "15": [ + 4902, + 4966 + ], + "16": [ + 5065, + 5098 + ], + "17": [ + 5161, + 5194 + ] + }, + "SoulboundCore.setBaseURI": { + "56": [ + 5711, + 5732 + ] + }, + "SoulboundCore.toString": { + "102": [ + 6959, + 6969 + ], + "103": [ + 7075, + 7083 + ], + "104": [ + 7097, + 7107 + ], + "105": [ + 7209, + 7220 + ], + "106": [ + 7234, + 7290 + ], + "107": [ + 7304, + 7315 + ], + "108": [ + 7335, + 7356 + ] + } + }, + "39": { + "SoulboundRedeemable.calculateTax": { + "111": [ + 15646, + 15654 + ], + "112": [ + 15731, + 15772 + ] + }, + "SoulboundRedeemable.getIndividualTokenPrice": { + "6": [ + 3062, + 3086 + ] + }, + "SoulboundRedeemable.getPriceLimit": { + "4": [ + 3351, + 3375 + ] + }, + "SoulboundRedeemable.mintPendingRedeemableToken": { + "62": [ + 4982, + 5033 + ], + "63": [ + 5096, + 5146 + ], + "64": [ + 5215, + 5276 + ], + "65": [ + 5354, + 5414 + ], + "66": [ + 5480, + 5503 + ], + "67": [ + 5577, + 5607 + ], + "68": [ + 5671, + 5710 + ], + "69": [ + 5755, + 5763 + ] + }, + "SoulboundRedeemable.payToReceiveToken": { + "23": [ + 6316, + 6373 + ], + "24": [ + 6443, + 6504 + ], + "25": [ + 6573, + 6625 + ], + "26": [ + 6747, + 6853 + ], + "27": [ + 6928, + 6997 + ], + "28": [ + 7084, + 7148 + ], + "29": [ + 7401, + 7433 + ], + "30": [ + 7501, + 7537 + ], + "31": [ + 7716, + 7752 + ], + "32": [ + 7801, + 7813 + ], + "33": [ + 7866, + 7892 + ], + "34": [ + 7951, + 7975 + ], + "35": [ + 8031, + 8063 + ] + }, + "SoulboundRedeemable.redeemMintedToken": { + "36": [ + 10868, + 10931 + ], + "37": [ + 10987, + 11049 + ], + "38": [ + 11117, + 11167 + ], + "39": [ + 11248, + 11306 + ], + "40": [ + 11364, + 11410 + ], + "41": [ + 11556, + 11618 + ], + "42": [ + 11807, + 11833 + ], + "43": [ + 11885, + 11921 + ], + "44": [ + 11985, + 12024 + ], + "45": [ + 12076, + 12116 + ] + }, + "SoulboundRedeemable.redeemMintedTokenWithSignature": { + "58": [ + 14116, + 14178 + ], + "59": [ + 14218, + 14273 + ] + }, + "SoulboundRedeemable.redeemPendingToken": { + "87": [ + 8819, + 8882 + ], + "88": [ + 8938, + 8997 + ], + "89": [ + 9065, + 9117 + ], + "90": [ + 9198, + 9304 + ] + }, + "SoulboundRedeemable.redeemPendingTokenWithSignature": { + "60": [ + 13038, + 13100 + ], + "61": [ + 13140, + 13196 + ] + }, + "SoulboundRedeemable.setPrice": { + "8": [ + 3883, + 3945 + ], + "9": [ + 3983, + 4002 + ] + }, + "SoulboundRedeemable.withdraw": { + "48": [ + 14749, + 14807 + ], + "49": [ + 14901, + 15013 + ], + "50": [ + 15084, + 15123 + ], + "51": [ + 15177, + 15193 + ] + } + }, + "40": { + "SoulboundWithSignature.ownerIssueWithSignature": { + "85": [ + 1897, + 1948 + ], + "86": [ + 1997, + 2051 + ] + }, + "SoulboundWithSignature.ownerRevokeWithSignature": { + "18": [ + 3338, + 3346 + ], + "19": [ + 3427, + 3458 + ], + "20": [ + 3519, + 3558 + ] + } + }, + "41": { + "ERC165.supportsInterface": { + "11": [ + 1750, + 1797 + ] + }, + "ERC4973._burn": { + "113": [ + 6510, + 6531 + ], + "114": [ + 6541, + 6564 + ], + "115": [ + 6574, + 6600 + ], + "116": [ + 6611, + 6638 + ] + }, + "ERC4973._exists": { + "97": [ + 6005, + 6042 + ] + }, + "ERC4973._mint": { + "132": [ + 6193, + 6243 + ], + "133": [ + 6253, + 6271 + ], + "134": [ + 6281, + 6302 + ], + "135": [ + 6312, + 6337 + ], + "136": [ + 6347, + 6371 + ], + "137": [ + 6381, + 6395 + ] + }, + "ERC4973.balanceOf": { + "53": [ + 5549, + 5659 + ], + "54": [ + 5669, + 5692 + ] + }, + "ERC4973.burn": { + "46": [ + 5308, + 5377 + ], + "47": [ + 5387, + 5401 + ] + }, + "ERC4973.name": { + "12": [ + 4861, + 4873 + ] + }, + "ERC4973.ownerOf": { + "52": [ + 5829, + 5889 + ] + }, + "ERC4973.supportsInterface": { + "10": [ + 4593, + 4769 + ] + }, + "ERC4973.symbol": { + "57": [ + 4967, + 4981 + ] + }, + "ERC4973.tokenURI": { + "72": [ + 5136, + 5194 + ], + "73": [ + 5204, + 5230 + ] + } + }, + "5": { + "Context._msgSender": { + "7": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "Allowlist", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "ERC165", + "ERC4973", + "IAllowlist", + "IERC165", + "IERC4973", + "IERC721Metadata", + "IsValidWithDate", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable", + "Soulbound", + "SoulboundCore", + "SoulboundWithSignature" + ], + "deployedBytecode": "6080604052600436106101fa5760003560e01c806395d89b411161010c578063daca6f781161009a578063ed7347301161006c578063ed734730146105ef578063f2fde38b14610602578063f577a50014610622578063fad54de714610652578063fb8f198d1461066757005b8063daca6f781461056f578063e8c587631461058f578063e92b0842146105af578063ea5353c7146105cf57005b8063bd97a6ad116100de578063bd97a6ad146104da578063c3cab38a146104fa578063c87b56dd1461051a578063c9dd94c71461053a578063c9e4c54d1461054f57005b806395d89b411461048a578063983a8b941461049f578063a0b97daa146104b2578063bd131786146104c757005b806351cff8d9116101895780636e0a87461161015b5780636e0a8746146103f957806370a0823114610417578063715018a614610437578063884336511461044c5780638da5cb5b1461046c57005b806351cff8d9146103205780635899e7b2146103405780636352211e146103865780636833f200146103be57005b80631f04d135116101cd5780631f04d1351461029a578063210fa96b146102ba57806333e085c1146102da5780633d1a350e146102ed57806342966c681461030057005b8062e4768b1461020357806301ffc9a71461022357806306fdde031461025857806308c92e571461027a57005b3661020157005b005b34801561020f57600080fd5b5061020161021e366004612719565b610687565b34801561022f57600080fd5b5061024361023e366004612743565b610756565b60405190151581526020015b60405180910390f35b34801561026457600080fd5b5061026d6107a8565b60405161024f919061279d565b34801561028657600080fd5b50610201610295366004612873565b61083a565b3480156102a657600080fd5b506102016102b5366004612873565b610970565b3480156102c657600080fd5b5061026d6102d53660046128c3565b610a0c565b6102016102e8366004612719565b610a8e565b6102016102fb3660046128dc565b610da6565b34801561030c57600080fd5b5061020161031b3660046128c3565b611098565b34801561032c57600080fd5b5061020161033b36600461290f565b61110d565b34801561034c57600080fd5b5061024361035b366004612719565b6001600160a01b03919091166000908152600860209081526040808320938352929052205460ff1690565b34801561039257600080fd5b506103a66103a13660046128c3565b611263565b6040516001600160a01b03909116815260200161024f565b3480156103ca57600080fd5b506103eb6103d93660046128c3565b60009081526020819052604090205490565b60405190815260200161024f565b34801561040557600080fd5b506009546001600160a01b03166103a6565b34801561042357600080fd5b506103eb61043236600461290f565b6112c8565b34801561044357600080fd5b50610201611351565b34801561045857600080fd5b5061020161046736600461292a565b611387565b34801561047857600080fd5b506006546001600160a01b03166103a6565b34801561049657600080fd5b5061026d6113fd565b6102016104ad366004612978565b61140c565b3480156104be57600080fd5b50600e546103eb565b6102016104d5366004612978565b611504565b3480156104e657600080fd5b506102016104f53660046129f2565b6115e9565b34801561050657600080fd5b50610201610515366004612a34565b6117dd565b34801561052657600080fd5b5061026d6105353660046128c3565b611835565b34801561054657600080fd5b5061026d61192a565b34801561055b57600080fd5b5061020161056a366004612a56565b611987565b34801561057b57600080fd5b5061024361058a366004612ade565b611a94565b34801561059b57600080fd5b506103eb6105aa3660046128c3565b611aa7565b3480156105bb57600080fd5b506102436105ca366004612b0f565b611ae4565b3480156105db57600080fd5b506102016105ea366004612a56565b611b78565b6102016105fd3660046128dc565b611bf7565b34801561060e57600080fd5b5061020161061d36600461290f565b611da3565b34801561062e57600080fd5b5061024361063d3660046128c3565b60009081526020819052604090205442111590565b34801561065e57600080fd5b50600f546103eb565b34801561067357600080fd5b506103a6610682366004612719565b611e3b565b6006546001600160a01b031633146106ba5760405162461bcd60e51b81526004016106b190612b66565b60405180910390fd5b816106cd6009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146106fd5760405162461bcd60e51b81526004016106b190612b9b565b600e5482111561074f5760405162461bcd60e51b815260206004820152601860248201527f507269636520686967686572207468616e206c696d69742e000000000000000060448201526064016106b1565b50600f5550565b60006001600160e01b03198216635b5e139f60e01b148061078757506001600160e01b03198216635164cf4760e01b145b806107a257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546107b790612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546107e390612bc9565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b5050505050905090565b61084381611f4f565b61088f5760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064016106b1565b81516041146108db5760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b6108e58383611a94565b61092d5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b61093f61093982611263565b82611f6c565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6006546001600160a01b0316331461099a5760405162461bcd60e51b81526004016106b190612b66565b600b54156109bc57600b80549060006109b283612c19565b91905055506109fc565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b60448201526064016106b1565b610a0783838361083a565b505050565b6060610a1661192a565b51600003610a565760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b610a5e61192a565b610a6783612034565b604051602001610a78929190612c30565b6040516020818303038152906040529050919050565b6006546001600160a01b03163314610ab85760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610ac857600080fd5b6013805460ff191660011790556001600160a01b038216610afb5760405162461bcd60e51b81526004016106b190612c5f565b610b0481611f4f565b15610b515760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008181526010602052604090205460ff16610ba95760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000818152601160205260409020546001600160a01b03838116911614610c0a5760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b600081815260208190526040902054421115610c795760405162461bcd60e51b815260206004820152602860248201527f526563656976616c206f66206578706972656420746f6b656e2c20726564656560448201526736903a37b5b2b71760c11b60648201526084016106b1565b600f54341015610ccb5760405162461bcd60e51b815260206004820152601c60248201527f5072696365206c6f776572207468616e20746f6b656e20636f73742e0000000060448201526064016106b1565b6000600f54341115610d1f57600f54610ce49034612c8e565b6040519091506001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610d1d573d6000803e3d6000fd5b505b6000610d2a83610a0c565b9050610d3784848361213d565b50600c8054906000610d4883612ca5565b9190505550600f54600d6000828254610d619190612cbe565b909155505050600091825250601060209081526040808320805460ff19908116909155601190925290912080546001600160a01b031916905560138054909116905550565b6006546001600160a01b03163314610dd05760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615610de057600080fd5b6013805460ff191660011790556001600160a01b038316610e435760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b610e4c82611f4f565b610ea25760405162461bcd60e51b815260206004820152602160248201527f526564656d7074696f6e206f66206e6f6e2d6578697374696e6720746f6b656e6044820152601760f91b60648201526084016106b1565b60008281526010602052604090205460ff1615610ef85760405162461bcd60e51b81526020600482015260146024820152732a37b5b2b71039ba34b636103832b73234b7339760611b60448201526064016106b1565b826001600160a01b0316610f0b83611263565b6001600160a01b031614610f545760405162461bcd60e51b815260206004820152601060248201526f2737ba103a37b5b2b71037bbb732b91760811b60448201526064016106b1565b6000828152602081905260409020544211610fa45760405162461bcd60e51b815260206004820152601060248201526f2a37b5b2b7103ab732bc3834b932b21760811b60448201526064016106b1565b6000610fb1601254612154565b9050803410156110035760405162461bcd60e51b815260206004820181905260248201527f5072696365206c6f776572207468616e20726564656d7074696f6e207461782e60448201526064016106b1565b60008115611050576110158234612c8e565b6040519091506001600160a01b0386169082156108fc029083906000818181858888f1935050505015801561104e573d6000803e3d6000fd5b505b61105a84846117dd565b604051839085907f6f73b7b8d37df32ea60a45eadc8fc3d2d716d705ee099bd506817482ce84731690600090a350506013805460ff19169055505050565b6110a181611263565b6001600160a01b0316336001600160a01b0316146111015760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e657200000000000060448201526064016106b1565b61110a81612190565b50565b6006546001600160a01b031633146111375760405162461bcd60e51b81526004016106b190612b66565b8061114a6009546001600160a01b031690565b6001600160a01b0316816001600160a01b03161461117a5760405162461bcd60e51b81526004016106b190612b9b565b6001600160a01b0382166111d05760405162461bcd60e51b815260206004820152601860248201527f53656e64696e6720746f207a65726f20616464726573732e000000000000000060448201526064016106b1565b600d544710156112225760405162461bcd60e51b815260206004820152601c60248201527f526576656e756520213d20436f6e74726163742062616c616e63652e0000000060448201526064016106b1565b600d546040516001600160a01b0384169180156108fc02916000818181858888f19350505050158015611259573d6000803e3d6000fd5b50506000600d5550565b6000818152600360205260408120546001600160a01b0316806107a25760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e27742065786973740000000060448201526064016106b1565b60006001600160a01b0382166113355760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b60648201526084016106b1565b506001600160a01b031660009081526005602052604090205490565b6006546001600160a01b0316331461137b5760405162461bcd60e51b81526004016106b190612b66565b6113856000612237565b565b6006546001600160a01b031633146113b15760405162461bcd60e51b81526004016106b190612b66565b816113c46009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146113f45760405162461bcd60e51b81526004016106b190612b9b565b610a0782612289565b6060600280546107b790612bc9565b6006546001600160a01b031633146114365760405162461bcd60e51b81526004016106b190612b66565b856114496009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146114795760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561148957600080fd5b6013805460ff191660011790556114a08383611a94565b6114e65760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686610da6565b50506013805460ff191690555050505050565b6006546001600160a01b0316331461152e5760405162461bcd60e51b81526004016106b190612b66565b856115416009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146115715760405162461bcd60e51b81526004016106b190612b9b565b60135460ff161561158157600080fd5b6013805460ff191660011790556115988383611a94565b6115de5760405162461bcd60e51b81526020600482015260176024820152762430b9b4103737ba1039b4b3b732b210313c903cb7ba9760491b60448201526064016106b1565b6114f1868686611bf7565b6006546001600160a01b031633146116135760405162461bcd60e51b81526004016106b190612b66565b836116266009546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146116565760405162461bcd60e51b81526004016106b190612b9b565b600a54600b541061169e5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6001600160a01b0384166116c45760405162461bcd60e51b81526004016106b190612c5f565b6116cd83611f4f565b1561171a5760405162461bcd60e51b815260206004820152601f60248201527f4d696e74206f6620616c7265616479206578697374696e6720746f6b656e2e0060448201526064016106b1565b60008381526010602052604090205460ff16156117795760405162461bcd60e51b815260206004820152601e60248201527f4d696e74206f6620616c72656164792070656e64696e6720746f6b656e2e000060448201526064016106b1565b6000838152601060209081526040808320805460ff191660011790556011909152902080546001600160a01b0386166001600160a01b03199091161790556117c183836117dd565b600b80549060006117d183612ca5565b91905055505050505050565b6117e78142612cbe565b600083815260208181526040918290209290925580518481529182018390527f41a73beb1018a8b63e0f451a8a4f483806142cf14be45b1a58a23776a1e9b4bc910160405180910390a15050565b606061184082611f4f565b61188c5760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e277420657869737400000060448201526064016106b1565b600082815260046020526040902080546118a590612bc9565b80601f01602080910402602001604051908101604052809291908181526020018280546118d190612bc9565b801561191e5780601f106118f35761010080835404028352916020019161191e565b820191906000526020600020905b81548152906001019060200180831161190157829003601f168201915b50505050509050919050565b60606007805461193990612bc9565b905060000361197a5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b60448201526064016106b1565b600780546107b790612bc9565b6001600160a01b0385166119ad5760405162461bcd60e51b81526004016106b190612c5f565b82516041146119f95760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b60448201526064016106b1565b611a038484611a94565b611a4b5760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b60448201526064016106b1565b611a5685838361213d565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000611aa083836122db565b9392505050565b600081815260208190526040812054421115611ac557506000919050565b6000828152602081905260409020546107a2904290612c8e565b919050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015611b4e573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6006546001600160a01b03163314611ba25760405162461bcd60e51b81526004016106b190612b66565b600a54600b5410611bea5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b60448201526064016106b1565b6117c18585858585611987565b6006546001600160a01b03163314611c215760405162461bcd60e51b81526004016106b190612b66565b60135460ff1615611c3157600080fd5b6013805460ff191660011790556001600160a01b038316611c945760405162461bcd60e51b815260206004820152601b60248201527f526564656d7074696f6e20746f207a65726f20616464726573732e000000000060448201526064016106b1565b611c9d82611f4f565b15611cea5760405162461bcd60e51b815260206004820152601d60248201527f526564656d7074696f6e206f66206578697374696e6720746f6b656e2e00000060448201526064016106b1565b60008281526010602052604090205460ff16611d425760405162461bcd60e51b815260206004820152601760248201527620b63932b0b23c903932b1b2b4bb32b2103a37b5b2b71760491b60448201526064016106b1565b6000828152601160205260409020546001600160a01b03848116911614610f545760405162461bcd60e51b81526020600482015260156024820152742737ba103832b73234b733903932b1b2b4bb32b91760591b60448201526064016106b1565b6006546001600160a01b03163314611dcd5760405162461bcd60e51b81526004016106b190612b66565b6001600160a01b038116611e325760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106b1565b61110a81612237565b60006001600160a01b038316611e935760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e00000000000000000060448201526064016106b1565b611e9c82611f4f565b611ede5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611ef183611263565b6001600160a01b031614611f475760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b503092915050565b6000908152600360205260409020546001600160a01b0316151590565b6000611f7782611f4f565b611fb95760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b60448201526064016106b1565b826001600160a01b0316611fcc83611263565b6001600160a01b0316146120225760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e6564206279206164647265737300000000000060448201526064016106b1565b61202b82612481565b50600192915050565b60608160000361205b5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612085578061206f81612ca5565b915061207e9050600a83612cec565b915061205f565b60008167ffffffffffffffff8111156120a0576120a06127d0565b6040519080825280601f01601f1916602001820160405280156120ca576020820181803683370190505b5090505b8415612135576120df600183612c8e565b91506120ec600a86612d00565b6120f7906030612cbe565b60f81b81838151811061210c5761210c612d14565b60200101906001600160f81b031916908160001a90535061212e600a86612cec565b94506120ce565b949350505050565b600061214a848484612517565b5060019392505050565b600064746a528800600d54101561216a57600091505b6103e8600d548361217b9190612d2a565b61218690600a612d2a565b6107a29190612cec565b600061219b82611263565b6001600160a01b038116600090815260056020526040812080549293506001929091906121c9908490612c8e565b9091555050600082815260036020908152604080832080546001600160a01b0319169055600490915281206121fd916126b4565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036122cb5760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b60448201526064016106b1565b60076122d78282612d97565b5050565b6006546000906001600160a01b031633146123085760405162461bcd60e51b81526004016106b190612b66565b6006546001600160a01b031633146123765760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b60648201526084016106b1565b81516041146123c75760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e677468000060448201526064016106b1565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa15801561242b573d6000803e3d6000fd5b5050604051601f198101516009549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61248a81611f4f565b6124d65760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e000000000000000060448201526064016106b1565b60006124e182611263565b90506124ec82612190565b6001600160a01b0316600090815260086020908152604080832093835292905220805460ff19169055565b6001600160a01b03831661253d5760405162461bcd60e51b81526004016106b190612c5f565b80516000036125805760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b60448201526064016106b1565b61258b8383836125bd565b50506001600160a01b03909116600090815260086020908152604080832093835292905220805460ff19166001179055565b60006125c883611f4f565b1561260c5760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b60448201526064016106b1565b6001600160a01b0384166000908152600560205260408120805460019290612635908490612cbe565b9091555050600083815260036020908152604080832080546001600160a01b0319166001600160a01b038916179055600490915290206126758382612d97565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b5080546126c090612bc9565b6000825580601f106126d0575050565b601f01602090049060005260206000209081019061110a91905b808211156126fe57600081556001016126ea565b5090565b80356001600160a01b0381168114611adf57600080fd5b6000806040838503121561272c57600080fd5b61273583612702565b946020939093013593505050565b60006020828403121561275557600080fd5b81356001600160e01b031981168114611aa057600080fd5b60005b83811015612788578181015183820152602001612770565b83811115612797576000848401525b50505050565b60208152600082518060208401526127bc81604085016020870161276d565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126127f757600080fd5b813567ffffffffffffffff80821115612812576128126127d0565b604051601f8301601f19908116603f0116810190828211818310171561283a5761283a6127d0565b8160405283815286602085880101111561285357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561288857600080fd5b83359250602084013567ffffffffffffffff8111156128a657600080fd5b6128b2868287016127e6565b925050604084013590509250925092565b6000602082840312156128d557600080fd5b5035919050565b6000806000606084860312156128f157600080fd5b6128fa84612702565b95602085013595506040909401359392505050565b60006020828403121561292157600080fd5b611aa082612702565b6000806040838503121561293d57600080fd5b61294683612702565b9150602083013567ffffffffffffffff81111561296257600080fd5b61296e858286016127e6565b9150509250929050565b60008060008060008060c0878903121561299157600080fd5b61299a87612702565b95506129a860208801612702565b945060408701359350606087013592506080870135915060a087013567ffffffffffffffff8111156129d957600080fd5b6129e589828a016127e6565b9150509295509295509295565b60008060008060808587031215612a0857600080fd5b612a1185612702565b9350612a1f60208601612702565b93969395505050506040820135916060013590565b60008060408385031215612a4757600080fd5b50508035926020909101359150565b600080600080600060a08688031215612a6e57600080fd5b612a7786612702565b945060208601359350604086013567ffffffffffffffff80821115612a9b57600080fd5b612aa789838a016127e6565b9450606088013593506080880135915080821115612ac457600080fd5b50612ad1888289016127e6565b9150509295509295909350565b60008060408385031215612af157600080fd5b82359150602083013567ffffffffffffffff81111561296257600080fd5b600080600060608486031215612b2457600080fd5b612b2d84612702565b925060208401359150604084013567ffffffffffffffff811115612b5057600080fd5b612b5c868287016127e6565b9150509250925092565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601490820152734e6f7420416c6c6f776c697374204f776e65722160601b604082015260600190565b600181811c90821680612bdd57607f821691505b602082108103612bfd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600081612c2857612c28612c03565b506000190190565b60008351612c4281846020880161276d565b835190830190612c5681836020880161276d565b01949350505050565b60208082526015908201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604082015260600190565b600082821015612ca057612ca0612c03565b500390565b600060018201612cb757612cb7612c03565b5060010190565b60008219821115612cd157612cd1612c03565b500190565b634e487b7160e01b600052601260045260246000fd5b600082612cfb57612cfb612cd6565b500490565b600082612d0f57612d0f612cd6565b500690565b634e487b7160e01b600052603260045260246000fd5b6000816000190483118215151615612d4457612d44612c03565b500290565b601f821115610a0757600081815260208120601f850160051c81016020861015612d705750805b601f850160051c820191505b81811015612d8f57828155600101612d7c565b505050505050565b815167ffffffffffffffff811115612db157612db16127d0565b612dc581612dbf8454612bc9565b84612d49565b602080601f831160018114612dfa5760008415612de25750858301515b600019600386901b1c1916600185901b178555612d8f565b600085815260208120601f198616915b82811015612e2957888601518255948401946001909101908401612e0a565b5085821015612e475787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220d84be31b55b9957eedec9ac513cd6049f6f334a1ebc344347050ca815bd44d6864736f6c634300080f0033", + "deployedSourceMap": "826:14955:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3672:337;;;;;;;;;;-1:-1:-1;3672:337:39;;;;;:::i;:::-;;:::i;4448:328:41:-;;;;;;;;;;-1:-1:-1;4448:328:41;;;;;:::i;:::-;;:::i;:::-;;;907:14:43;;900:22;882:41;;870:2;855:18;4448:328:41;;;;;;;;4782:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4274:927:38:-;;;;;;;;;;-1:-1:-1;4274:927:38;;;;;:::i;:::-;;:::i;2850:715:40:-;;;;;;;;;;-1:-1:-1;2850:715:40;;;;;:::i;:::-;;:::i;6139:382:38:-;;;;;;;;;;-1:-1:-1;6139:382:38;;;;;:::i;:::-;;:::i;6103:1967:39:-;;;;;;:::i;:::-;;:::i;10643:1480::-;;;;;;:::i;:::-;;:::i;5243:165:41:-;;;;;;;;;;-1:-1:-1;5243:165:41;;;;;:::i;:::-;;:::i;14559:641:39:-;;;;;;;;;;-1:-1:-1;14559:641:39;;;;;:::i;:::-;;:::i;5225:148:37:-;;;;;;;;;;-1:-1:-1;5225:148:37;;;;;:::i;:::-;-1:-1:-1;;;;;5346:10:37;;;;5319:4;5346:10;;;:5;:10;;;;;;;;:20;;;;;;;;;;;5225:148;5705:213:41;;;;;;;;;;-1:-1:-1;5705:213:41;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3768:32:43;;;3750:51;;3738:2;3723:18;5705:213:41;3604:203:43;1372:118:36;;;;;;;;;;-1:-1:-1;1372:118:36;;;;;:::i;:::-;1433:7;1459:24;;;;;;;;;;;;1372:118;;;;3958:25:43;;;3946:2;3931:18;1372:118:36;3812:177:43;2171:97:14;;;;;;;;;;-1:-1:-1;2247:14:14;;-1:-1:-1;;;;;2247:14:14;2171:97;;5414:285:41;;;;;;;;;;-1:-1:-1;5414:285:41;;;;;:::i;:::-;;:::i;1668:101:0:-;;;;;;;;;;;;;:::i;5539:200:38:-;;;;;;;;;;-1:-1:-1;5539:200:38;;;;;:::i;:::-;;:::i;1036:85:0:-;;;;;;;;;;-1:-1:-1;1108:6:0;;-1:-1:-1;;;;;1108:6:0;1036:85;;4886:102:41;;;;;;;;;;;;;:::i;13771:509:39:-;;;;;;:::i;:::-;;:::i;3274:108::-;;;;;;;;;;-1:-1:-1;3365:10:39;;3274:108;;12692:511;;;;;;:::i;:::-;;:::i;4548:1222::-;;;;;;;;;;-1:-1:-1;4548:1222:39;;;;;:::i;:::-;;:::i;917:249:36:-;;;;;;;;;;-1:-1:-1;917:249:36;;;;;:::i;:::-;;:::i;4994:243:41:-;;;;;;;;;;-1:-1:-1;4994:243:41;;;;;:::i;:::-;;:::i;7425:248:37:-;;;;;;;;;;;;;:::i;2807:994:38:-;;;;;;;;;;-1:-1:-1;2807:994:38;;;;;:::i;:::-;;:::i;2495:150:14:-;;;;;;;;;;-1:-1:-1;2495:150:14;;;;;:::i;:::-;;:::i;2069:448:36:-;;;;;;;;;;-1:-1:-1;2069:448:36;;;;;:::i;:::-;;:::i;4852:268:14:-;;;;;;;;;;-1:-1:-1;4852:268:14;;;;;:::i;:::-;;:::i;1465:666:40:-;;;;;;;;;;-1:-1:-1;1465:666:40;;;;;:::i;:::-;;:::i;8593:1528:39:-;;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;;;;;-1:-1:-1;1918:198:0;;;;;:::i;:::-;;:::i;1723:126:36:-;;;;;;;;;;-1:-1:-1;1723:126:36;;;;;:::i;:::-;1778:4;1459:24;;;;;;;;;;;1801:15;:41;;;1723:126;2947:146:39;;;;;;;;;;-1:-1:-1;3076:10:39;;2947:146;;4302:520:37;;;;;;;;;;-1:-1:-1;4302:520:37;;;;;:::i;:::-;;:::i;3672:337:39:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;;;;;;;;;3782:6:39::1;1704:19:38;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;;-1:-1:-1::0;;;1685:63:38::1;;;;;;;:::i;:::-;3365:10:39::0;;3891:6:::2;:25;;3883:62;;;::::0;-1:-1:-1;;;3883:62:39;;8258:2:43;3883:62:39::2;::::0;::::2;8240:21:43::0;8297:2;8277:18;;;8270:30;8336:26;8316:18;;;8309:54;8380:18;;3883:62:39::2;8056:348:43::0;3883:62:39::2;-1:-1:-1::0;3983:10:39::2;:19:::0;-1:-1:-1;3672:337:39:o;4448:328:41:-;4573:4;-1:-1:-1;;;;;;4612:48:41;;-1:-1:-1;;;4612:48:41;;:105;;-1:-1:-1;;;;;;;4676:41:41;;-1:-1:-1;;;4676:41:41;4612:105;:157;;;-1:-1:-1;;;;;;;;;;1757:40:41;;;4733:36;4593:176;4448:328;-1:-1:-1;;4448:328:41:o;4782:98::-;4836:13;4868:5;4861:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4782:98;:::o;4274:927:38:-;4455:16;4463:7;4455;:16::i;:::-;4447:56;;;;-1:-1:-1;;;4447:56:38;;8996:2:43;4447:56:38;;;8978:21:43;9035:2;9015:18;;;9008:30;9074:29;9054:18;;;9047:57;9121:18;;4447:56:38;8794:351:43;4447:56:38;4738:3;:10;4752:2;4738:16;4730:53;;;;-1:-1:-1;;;4730:53:38;;9694:2:43;4730:53:38;;;9676:21:43;9733:2;9713:18;;;9706:30;-1:-1:-1;;;9752:18:43;;;9745:54;9816:18;;4730:53:38;9492:348:43;4730:53:38;4910:26;4926:4;4932:3;4910:15;:26::i;:::-;4902:64;;;;-1:-1:-1;;;4902:64:38;;10047:2:43;4902:64:38;;;10029:21:43;10086:2;10066:18;;;10059:30;-1:-1:-1;;;10105:18:43;;;10098:55;10170:18;;4902:64:38;9845:349:43;4902:64:38;5065:33;5072:16;5080:7;5072;:16::i;:::-;5090:7;5065:6;:33::i;:::-;-1:-1:-1;5166:28:38;;5186:7;;5166:28;;;;;4274:927;;;:::o;2850:715:40:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;3272:6:40::1;::::0;:11;3268:201:::1;;3338:6;:8:::0;;;:6:::1;:8;::::0;::::1;:::i;:::-;;;;;;3268:201;;;3427:31;::::0;-1:-1:-1;;;3427:31:40;;10674:2:43;3427:31:40::1;::::0;::::1;10656:21:43::0;10713:2;10693:18;;;10686:30;-1:-1:-1;;;10732:18:43;;;10725:51;10793:18;;3427:31:40::1;10472:345:43::0;3268:201:40::1;3519:39;3539:4;3545:3;3550:7;3519:19;:39::i;:::-;2850:715:::0;;;:::o;6139:382:38:-;6227:23;6340:13;:11;:13::i;:::-;6334:27;6365:1;6334:32;6326:58;;;;-1:-1:-1;;;6326:58:38;;11024:2:43;6326:58:38;;;11006:21:43;11063:2;11043:18;;;11036:30;-1:-1:-1;;;11082:18:43;;;11075:43;11135:18;;6326:58:38;10822:337:43;6326:58:38;6480:13;:11;:13::i;:::-;6495:17;6504:7;6495:8;:17::i;:::-;6463:50;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6444:70;;6139:382;;;:::o;6103:1967:39:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2688:6:39::1;::::0;::::1;;2687:7;2679:16;;;::::0;::::1;;2705:6;:13:::0;;-1:-1:-1;;2705:13:39::1;2714:4;2705:13;::::0;;-1:-1:-1;;;;;6324:23:39;::::2;6316:57;;;;-1:-1:-1::0;;;6316:57:39::2;;;;;;;:::i;:::-;6452:16;6460:7;6452;:16::i;:::-;6451:17;6443:61;;;::::0;-1:-1:-1;;;6443:61:39;;12191:2:43;6443:61:39::2;::::0;::::2;12173:21:43::0;12230:2;12210:18;;;12203:30;12269:33;12249:18;;;12242:61;12320:18;;6443:61:39::2;11989:355:43::0;6443:61:39::2;6581:16;::::0;;;:7:::2;:16;::::0;;;;;::::2;;6573:52;;;::::0;-1:-1:-1;;;6573:52:39;;12551:2:43;6573:52:39::2;::::0;::::2;12533:21:43::0;12590:2;12570:18;;;12563:30;-1:-1:-1;;;12609:18:43;;;12602:53;12672:18;;6573:52:39::2;12349:347:43::0;6573:52:39::2;6768:25;::::0;;;:16:::2;:25;::::0;;;;;-1:-1:-1;;;;;6768:38:39;;::::2;:25:::0;::::2;:38;6747:106;;;::::0;-1:-1:-1;;;6747:106:39;;12903:2:43;6747:106:39::2;::::0;::::2;12885:21:43::0;12942:2;12922:18;;;12915:30;-1:-1:-1;;;12961:18:43;;;12954:51;13022:18;;6747:106:39::2;12701:345:43::0;6747:106:39::2;1778:4:36::0;1459:24;;;;;;;;;;;1801:15;:41;;6928:69:39::2;;;::::0;-1:-1:-1;;;6928:69:39;;13253:2:43;6928:69:39::2;::::0;::::2;13235:21:43::0;13292:2;13272:18;;;13265:30;13331:34;13311:18;;;13304:62;-1:-1:-1;;;13382:18:43;;;13375:38;13430:19;;6928:69:39::2;13051:404:43::0;6928:69:39::2;7105:10;;7092:9;:23;;7084:64;;;::::0;-1:-1:-1;;;7084:64:39;;13662:2:43;7084:64:39::2;::::0;::::2;13644:21:43::0;13701:2;13681:18;;;13674:30;13740;13720:18;;;13713:58;13788:18;;7084:64:39::2;13460:352:43::0;7084:64:39::2;7195:15;7312:10;;7300:9;:22;7296:252;;;7423:10;::::0;7411:22:::2;::::0;:9:::2;:22;:::i;:::-;7501:36;::::0;7401:32;;-1:-1:-1;;;;;;7501:27:39;::::2;::::0;:36;::::2;;;::::0;7401:32;;7501:36:::2;::::0;;;7401:32;7501:27;:36;::::2;;;;;;;;;;;;;::::0;::::2;;;;;;7296:252;7594:23;7620:25;7637:7;7620:16;:25::i;:::-;7594:51;;7716:36;7722:9;7733:7;7742:9;7716:5;:36::i;:::-;-1:-1:-1::0;7801:10:39::2;:12:::0;;;:10:::2;:12;::::0;::::2;:::i;:::-;;;;;;7882:10;;7866:12;;:26;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;7970:5:39::2;7951:16:::0;;;-1:-1:-1;7951:7:39::2;:16;::::0;;;;;;;:24;;-1:-1:-1;;7951:24:39;;::::2;::::0;;;8038:16:::2;:25:::0;;;;;;8031:32;;-1:-1:-1;;;;;;8031:32:39::2;::::0;;2739:6:::1;:14:::0;;;;::::1;::::0;;-1:-1:-1;6103:1967:39:o;10643:1480::-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2688:6:39::1;::::0;::::1;;2687:7;2679:16;;;::::0;::::1;;2705:6;:13:::0;;-1:-1:-1;;2705:13:39::1;2714:4;2705:13;::::0;;-1:-1:-1;;;;;10876:23:39;::::2;10868:63;;;::::0;-1:-1:-1;;;10868:63:39;;14422:2:43;10868:63:39::2;::::0;::::2;14404:21:43::0;14461:2;14441:18;;;14434:30;14500:29;14480:18;;;14473:57;14547:18;;10868:63:39::2;14220:351:43::0;10868:63:39::2;10995:16;11003:7;10995;:16::i;:::-;10987:62;;;::::0;-1:-1:-1;;;10987:62:39;;14778:2:43;10987:62:39::2;::::0;::::2;14760:21:43::0;14817:2;14797:18;;;14790:30;14856:34;14836:18;;;14829:62;-1:-1:-1;;;14907:18:43;;;14900:31;14948:19;;10987:62:39::2;14576:397:43::0;10987:62:39::2;11126:16;::::0;;;:7:::2;:16;::::0;;;;;::::2;;11125:17;11117:50;;;::::0;-1:-1:-1;;;11117:50:39;;15180:2:43;11117:50:39::2;::::0;::::2;15162:21:43::0;15219:2;15199:18;;;15192:30;-1:-1:-1;;;15238:18:43;;;15231:50;15298:18;;11117:50:39::2;14978:344:43::0;11117:50:39::2;11276:9;-1:-1:-1::0;;;;;11256:29:39::2;:16;11264:7;11256;:16::i;:::-;-1:-1:-1::0;;;;;11256:29:39::2;;11248:58;;;::::0;-1:-1:-1;;;11248:58:39;;15529:2:43;11248:58:39::2;::::0;::::2;15511:21:43::0;15568:2;15548:18;;;15541:30;-1:-1:-1;;;15587:18:43;;;15580:46;15643:18;;11248:58:39::2;15327:340:43::0;11248:58:39::2;1778:4:36::0;1459:24;;;;;;;;;;;1801:15;:41;11364:46:39::2;;;::::0;-1:-1:-1;;;11364:46:39;;15874:2:43;11364:46:39::2;::::0;::::2;15856:21:43::0;15913:2;15893:18;;;15886:30;-1:-1:-1;;;15932:18:43;;;15925:46;15988:18;;11364:46:39::2;15672:340:43::0;11364:46:39::2;11452:12;11467:17;11480:3;;11467:12;:17::i;:::-;11452:32;;11577:4;11564:9;:17;;11556:62;;;::::0;-1:-1:-1;;;11556:62:39;;16219:2:43;11556:62:39::2;::::0;::::2;16201:21:43::0;;;16238:18;;;16231:30;16297:34;16277:18;;;16270:62;16349:18;;11556:62:39::2;16017:356:43::0;11556:62:39::2;11663:15;11731:9:::0;;11727:205:::2;;11817:16;11829:4:::0;11817:9:::2;:16;:::i;:::-;11885:36;::::0;11807:26;;-1:-1:-1;;;;;;11885:27:39;::::2;::::0;:36;::::2;;;::::0;11807:26;;11885:36:::2;::::0;;;11807:26;11885:27;:36;::::2;;;;;;;;;;;;;::::0;::::2;;;;;;11727:205;11985:39;11998:7;12007:16;11985:12;:39::i;:::-;12081:35;::::0;12099:16;;12090:7;;12081:35:::2;::::0;;;::::2;-1:-1:-1::0;;2739:6:39::1;:14:::0;;-1:-1:-1;;2739:14:39::1;::::0;;-1:-1:-1;;;10643:1480:39:o;5243:165:41:-;5330:16;5338:7;5330;:16::i;:::-;-1:-1:-1;;;;;5316:30:41;:10;-1:-1:-1;;;;;5316:30:41;;5308:69;;;;-1:-1:-1;;;5308:69:41;;16580:2:43;5308:69:41;;;16562:21:43;16619:2;16599:18;;;16592:30;16658:28;16638:18;;;16631:56;16704:18;;5308:69:41;16378:350:43;5308:69:41;5387:14;5393:7;5387:5;:14::i;:::-;5243:165;:::o;14559:641:39:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;14654:7:39::1;1704:19:38;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;;-1:-1:-1::0;;;1685:63:38::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14757:21:39;::::2;14749:58;;;::::0;-1:-1:-1;;;14749:58:39;;16935:2:43;14749:58:39::2;::::0;::::2;16917:21:43::0;16974:2;16954:18;;;16947:30;17013:26;16993:18;;;16986:54;17057:18;;14749:58:39::2;16733:348:43::0;14749:58:39::2;14947:12;;14922:21;:37;;14901:112;;;::::0;-1:-1:-1;;;14901:112:39;;17288:2:43;14901:112:39::2;::::0;::::2;17270:21:43::0;17327:2;17307:18;;;17300:30;17366;17346:18;;;17339:58;17414:18;;14901:112:39::2;17086:352:43::0;14901:112:39::2;15110:12;::::0;15084:39:::2;::::0;-1:-1:-1;;;;;15084:25:39;::::2;::::0;:39;::::2;;;::::0;::::2;::::0;;;15110:12;15084:25;:39;::::2;;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;15192:1:39::2;15177:12;:16:::0;-1:-1:-1;14559:641:39:o;5705:213:41:-;5768:7;5803:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5803:16:41;;5829:60;;;;-1:-1:-1;;;5829:60:41;;17645:2:43;5829:60:41;;;17627:21:43;17684:2;17664:18;;;17657:30;17723;17703:18;;;17696:58;17771:18;;5829:60:41;17443:352:43;5414:285:41;5526:7;-1:-1:-1;;;;;5570:19:41;;5549:110;;;;-1:-1:-1;;;5549:110:41;;18002:2:43;5549:110:41;;;17984:21:43;18041:2;18021:18;;;18014:30;18080:34;18060:18;;;18053:62;-1:-1:-1;;;18131:18:43;;;18124:42;18183:19;;5549:110:41;17800:408:43;5549:110:41;-1:-1:-1;;;;;;5676:16:41;;;;;:9;:16;;;;;;;5414:285::o;1668:101:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;5539:200:38:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;5659:6:38::1;1704:19;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;;-1:-1:-1::0;;;1685:63:38::1;;;;;;;:::i;:::-;5711:21:::2;5723:8;5711:11;:21::i;4886:102:41:-:0;4942:13;4974:7;4967:14;;;;;:::i;13771:509:39:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;14020:7:39::1;1704:19:38;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;;-1:-1:-1::0;;;1685:63:38::1;;;;;;;:::i;:::-;2688:6:39::2;::::0;::::2;;2687:7;2679:16;;;::::0;::::2;;2705:6;:13:::0;;-1:-1:-1;;2705:13:39::2;2714:4;2705:13;::::0;;14124:26:::3;14140:4:::0;14146:3;14124:15:::3;:26::i;:::-;14116:62;;;::::0;-1:-1:-1;;;14116:62:39;;18415:2:43;14116:62:39::3;::::0;::::3;18397:21:43::0;18454:2;18434:18;;;18427:30;-1:-1:-1;;;18473:18:43;;;18466:53;18536:18;;14116:62:39::3;18213:347:43::0;14116:62:39::3;14218:55;14236:9;14247:7;14256:16;14218:17;:55::i;:::-;-1:-1:-1::0;;2739:6:39::2;:14:::0;;-1:-1:-1;;2739:14:39::2;::::0;;-1:-1:-1;;;;;13771:509:39:o;12692:511::-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;12942:7:39::1;1704:19:38;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;;-1:-1:-1::0;;;1685:63:38::1;;;;;;;:::i;:::-;2688:6:39::2;::::0;::::2;;2687:7;2679:16;;;::::0;::::2;;2705:6;:13:::0;;-1:-1:-1;;2705:13:39::2;2714:4;2705:13;::::0;;13046:26:::3;13062:4:::0;13068:3;13046:15:::3;:26::i;:::-;13038:62;;;::::0;-1:-1:-1;;;13038:62:39;;18415:2:43;13038:62:39::3;::::0;::::3;18397:21:43::0;18454:2;18434:18;;;18427:30;-1:-1:-1;;;18473:18:43;;;18466:53;18536:18;;13038:62:39::3;18213:347:43::0;13038:62:39::3;13140:56;13159:9;13170:7;13179:16;13140:18;:56::i;4548:1222::-:0;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;4727:4:39::1;1704:19:38;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;;-1:-1:-1::0;;;1685:63:38::1;;;;;;;:::i;:::-;4999:11:39::2;;4990:6;;:20;4982:51;;;::::0;-1:-1:-1;;;4982:51:39;;18767:2:43;4982:51:39::2;::::0;::::2;18749:21:43::0;18806:2;18786:18;;;18779:30;-1:-1:-1;;;18825:18:43;;;18818:48;18883:18;;4982:51:39::2;18565:342:43::0;4982:51:39::2;-1:-1:-1::0;;;;;5104:16:39;::::2;5096:50;;;;-1:-1:-1::0;;;5096:50:39::2;;;;;;;:::i;:::-;5224:16;5232:7;5224;:16::i;:::-;5223:17;5215:61;;;::::0;-1:-1:-1;;;5215:61:39;;12191:2:43;5215:61:39::2;::::0;::::2;12173:21:43::0;12230:2;12210:18;;;12203:30;12269:33;12249:18;;;12242:61;12320:18;;5215:61:39::2;11989:355:43::0;5215:61:39::2;5363:16;::::0;;;:7:::2;:16;::::0;;;;;::::2;;5362:17;5354:60;;;::::0;-1:-1:-1;;;5354:60:39;;19114:2:43;5354:60:39::2;::::0;::::2;19096:21:43::0;19153:2;19133:18;;;19126:30;19192:32;19172:18;;;19165:60;19242:18;;5354:60:39::2;18912:354:43::0;5354:60:39::2;5480:16;::::0;;;:7:::2;:16;::::0;;;;;;;:23;;-1:-1:-1;;5480:23:39::2;5499:4;5480:23;::::0;;5577:16:::2;:25:::0;;;;;:30;;-1:-1:-1;;;;;5577:30:39;::::2;-1:-1:-1::0;;;;;;5577:30:39;;::::2;;::::0;;5671:39:::2;5488:7:::0;5693:16;5671:12:::2;:39::i;:::-;5755:6;:8:::0;;;:6:::2;:8;::::0;::::2;:::i;:::-;;;;;;1318:1:0::1;4548:1222:39::0;;;;:::o;917:249:36:-;1055:22;1073:4;1055:15;:22;:::i;:::-;1028:15;:24;;;;;;;;;;;;:49;;;;1136:23;;19445:25:43;;;19486:18;;;19479:34;;;1136:23:36;;19418:18:43;1136:23:36;;;;;;;917:249;;:::o;4994:243:41:-;5107:13;5144:16;5152:7;5144;:16::i;:::-;5136:58;;;;-1:-1:-1;;;5136:58:41;;19726:2:43;5136:58:41;;;19708:21:43;19765:2;19745:18;;;19738:30;19804:31;19784:18;;;19777:59;19853:18;;5136:58:41;19524:353:43;5136:58:41;5211:19;;;;:10;:19;;;;;5204:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4994:243;;;:::o;7425:248:37:-;7469:22;7567:7;7561:21;;;;;:::i;:::-;;;7586:1;7561:26;7553:52;;;;-1:-1:-1;;;7553:52:37;;11024:2:43;7553:52:37;;;11006:21:43;11063:2;11043:18;;;11036:30;-1:-1:-1;;;11082:18:43;;;11075:43;11135:18;;7553:52:37;10822:337:43;7553:52:37;7659:7;7648:18;;;;;:::i;2807:994:38:-;-1:-1:-1;;;;;3058:18:38;;3050:52;;;;-1:-1:-1;;;3050:52:38;;;;;;;:::i;:::-;3337:3;:10;3351:2;3337:16;3329:53;;;;-1:-1:-1;;;3329:53:38;;9694:2:43;3329:53:38;;;9676:21:43;9733:2;9713:18;;;9706:30;-1:-1:-1;;;9752:18:43;;;9745:54;9816:18;;3329:53:38;9492:348:43;3329:53:38;3509:26;3525:4;3531:3;3509:15;:26::i;:::-;3501:64;;;;-1:-1:-1;;;3501:64:38;;10047:2:43;3501:64:38;;;10029:21:43;10086:2;10066:18;;;10059:30;-1:-1:-1;;;10105:18:43;;;10098:55;10170:18;;3501:64:38;9845:349:43;3501:64:38;3664:30;3670:4;3676:7;3685:8;3664:5;:30::i;:::-;-1:-1:-1;3761:33:38;;3786:7;;-1:-1:-1;;;;;3761:33:38;;;;;;;;2807:994;;;;;:::o;2495:150:14:-;2584:4;2611:27;2628:4;2634:3;2611:16;:27::i;:::-;2604:34;2495:150;-1:-1:-1;;;2495:150:14:o;2069:448:36:-;2128:7;1459:24;;;;;;;;;;;2255:15;:40;2251:260;;;-1:-1:-1;2349:1:36;;2069:448;-1:-1:-1;2069:448:36:o;2251:260::-;1433:7;1459:24;;;;;;;;;;;2460:40;;2485:15;;2460:40;:::i;2251:260::-;2069:448;;;:::o;4852:268:14:-;6067:2;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;5087:25;;4982:4;5087:25;;;;;;;;;20109::43;;;6231:28:14;;;20150:18:43;;;20143:45;;;20204:18;;;20197:34;;;20247:18;;;20240:34;;;5087:25:14;;4982:4;;6127:19;;6231:28;;5087:25;;20081:19:43;;;;;-1:-1:-1;;5087:25:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:36:14;:7;-1:-1:-1;;;;;5076:36:14;;5068:45;;;;;4852:268;;;;;:::o;1465:666:40:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1914:11:40::1;;1905:6;;:20;1897:51;;;::::0;-1:-1:-1;;;1897:51:40;;18767:2:43;1897:51:40::1;::::0;::::1;18749:21:43::0;18806:2;18786:18;;;18779:30;-1:-1:-1;;;18825:18:43;;;18818:48;18883:18;;1897:51:40::1;18565:342:43::0;1897:51:40::1;1997:54;2016:4;2022;2028:3;2033:7;2042:8;1997:18;:54::i;8593:1528:39:-:0;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;2688:6:39::1;::::0;::::1;;2687:7;2679:16;;;::::0;::::1;;2705:6;:13:::0;;-1:-1:-1;;2705:13:39::1;2714:4;2705:13;::::0;;-1:-1:-1;;;;;8827:23:39;::::2;8819:63;;;::::0;-1:-1:-1;;;8819:63:39;;14422:2:43;8819:63:39::2;::::0;::::2;14404:21:43::0;14461:2;14441:18;;;14434:30;14500:29;14480:18;;;14473:57;14547:18;;8819:63:39::2;14220:351:43::0;8819:63:39::2;8947:16;8955:7;8947;:16::i;:::-;8946:17;8938:59;;;::::0;-1:-1:-1;;;8938:59:39;;20487:2:43;8938:59:39::2;::::0;::::2;20469:21:43::0;20526:2;20506:18;;;20499:30;20565:31;20545:18;;;20538:59;20614:18;;8938:59:39::2;20285:353:43::0;8938:59:39::2;9073:16;::::0;;;:7:::2;:16;::::0;;;;;::::2;;9065:52;;;::::0;-1:-1:-1;;;9065:52:39;;12551:2:43;9065:52:39::2;::::0;::::2;12533:21:43::0;12590:2;12570:18;;;12563:30;-1:-1:-1;;;12609:18:43;;;12602:53;12672:18;;9065:52:39::2;12349:347:43::0;9065:52:39::2;9219:25;::::0;;;:16:::2;:25;::::0;;;;;-1:-1:-1;;;;;9219:38:39;;::::2;:25:::0;::::2;:38;9198:106;;;::::0;-1:-1:-1;;;9198:106:39;;12903:2:43;9198:106:39::2;::::0;::::2;12885:21:43::0;12942:2;12922:18;;;12915:30;-1:-1:-1;;;12961:18:43;;;12954:51;13022:18;;9198:106:39::2;12701:345:43::0;1918:198:0;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;20845:2:43;1998:73:0::1;::::0;::::1;20827:21:43::0;20884:2;20864:18;;;20857:30;20923:34;20903:18;;;20896:62;-1:-1:-1;;;20974:18:43;;;20967:36;21020:19;;1998:73:0::1;20643:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;4302:520:37:-:0;4396:7;-1:-1:-1;;;;;4479:17:37;;4471:53;;;;-1:-1:-1;;;4471:53:37;;21252:2:43;4471:53:37;;;21234:21:43;21291:2;21271:18;;;21264:30;21330:25;21310:18;;;21303:53;21373:18;;4471:53:37;21050:347:43;4471:53:37;4581:17;4589:8;4581:7;:17::i;:::-;4573:49;;;;-1:-1:-1;;;4573:49:37;;21604:2:43;4573:49:37;;;21586:21:43;21643:2;21623:18;;;21616:30;-1:-1:-1;;;21662:18:43;;;21655:49;21721:18;;4573:49:37;21402:343:43;4573:49:37;4712:3;-1:-1:-1;;;;;4691:24:37;:17;4699:8;4691:7;:17::i;:::-;-1:-1:-1;;;;;4691:24:37;;4683:63;;;;-1:-1:-1;;;4683:63:37;;21952:2:43;4683:63:37;;;21934:21:43;21991:2;21971:18;;;21964:30;22030:28;22010:18;;;22003:56;22076:18;;4683:63:37;21750:350:43;4683:63:37;-1:-1:-1;4810:4:37;4302:520;;;;:::o;5924:125:41:-;5989:4;6012:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6012:16:41;:30;;;5924:125::o;3338:428:37:-;3405:4;3468:17;3476:8;3468:7;:17::i;:::-;3460:49;;;;-1:-1:-1;;;3460:49:37;;21604:2:43;3460:49:37;;;21586:21:43;21643:2;21623:18;;;21616:30;-1:-1:-1;;;21662:18:43;;;21655:49;21721:18;;3460:49:37;21402:343:43;3460:49:37;3601:5;-1:-1:-1;;;;;3580:26:37;:17;3588:8;3580:7;:17::i;:::-;-1:-1:-1;;;;;3580:26:37;;3572:65;;;;-1:-1:-1;;;3572:65:37;;21952:2:43;3572:65:37;;;21934:21:43;21991:2;21971:18;;;21964:30;22030:28;22010:18;;;22003:56;22076:18;;3572:65:37;21750:350:43;3572:65:37;3680:28;3699:8;3680:18;:28::i;:::-;-1:-1:-1;3755:4:37;3338:428;;;;:::o;6660:703:38:-;6716:13;6933:5;6942:1;6933:10;6929:51;;-1:-1:-1;;6959:10:38;;;;;;;;;;;;-1:-1:-1;;;6959:10:38;;;;;6660:703::o;6929:51::-;7004:5;6989:12;7043:75;7050:9;;7043:75;;7075:8;;;;:::i;:::-;;-1:-1:-1;7097:10:38;;-1:-1:-1;7105:2:38;7097:10;;:::i;:::-;;;7043:75;;;7127:19;7159:6;7149:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7149:17:38;;7127:39;;7176:150;7183:10;;7176:150;;7209:11;7219:1;7209:11;;:::i;:::-;;-1:-1:-1;7277:10:38;7285:2;7277:5;:10;:::i;:::-;7264:24;;:2;:24;:::i;:::-;7251:39;;7234:6;7241;7234:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;7234:56:38;;;;;;;;-1:-1:-1;7304:11:38;7313:2;7304:11;;:::i;:::-;;;7176:150;;;7349:6;6660:703;-1:-1:-1;;;;6660:703:38:o;2196:305:37:-;2314:4;2400:43;2419:3;2424:8;2434;2400:18;:43::i;:::-;-1:-1:-1;2490:4:37;2196:305;;;;;:::o;15359:420:39:-;15417:13;15587:8;15572:12;;:23;15547:118;;;15653:1;15646:8;;15547:118;15768:4;15747:12;;15740:4;:19;;;;:::i;:::-;:24;;15762:2;15740:24;:::i;:::-;15739:33;;;;:::i;6408:237:41:-;6467:13;6483:16;6491:7;6483;:16::i;:::-;-1:-1:-1;;;;;6510:16:41;;;;;;:9;:16;;;;;:21;;6467:32;;-1:-1:-1;6530:1:41;;6510:16;;;:21;;6530:1;;6510:21;:::i;:::-;;;;-1:-1:-1;;6548:16:41;;;;:7;:16;;;;;;;;6541:23;;-1:-1:-1;;;;;;6541:23:41;;;6581:10;:19;;;;;6574:26;;;:::i;:::-;6616:22;;6630:7;;-1:-1:-1;;;;;6616:22:41;;;;;;;;6457:188;6408:237;:::o;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;7029:234:37:-;7158:8;7152:22;7178:1;7152:27;7144:54;;;;-1:-1:-1;;;7144:54:37;;22986:2:43;7144:54:37;;;22968:21:43;23025:2;23005:18;;;22998:30;-1:-1:-1;;;23044:18:43;;;23037:44;23098:18;;7144:54:37;22784:338:43;7144:54:37;7238:7;:18;7248:8;7238:7;:18;:::i;:::-;;7029:234;:::o;3622:1055:14:-;1108:6:0;;3732:4:14;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;3897:23:14::1;3876:113;;;::::0;-1:-1:-1;;;3876:113:14;;25533:2:43;3876:113:14::1;::::0;::::1;25515:21:43::0;25572:2;25552:18;;;25545:30;25611:34;25591:18;;;25584:62;-1:-1:-1;;;25662:18:43;;;25655:41;25713:19;;3876:113:14::1;25331:407:43::0;3876:113:14::1;4067:3;:10;4081:2;4067:16;4059:59;;;::::0;-1:-1:-1;;;4059:59:14;;25945:2:43;4059:59:14::1;::::0;::::1;25927:21:43::0;25984:2;25964:18;;;25957:30;26023:32;26003:18;;;25996:60;26073:18;;4059:59:14::1;25743:354:43::0;4059:59:14::1;6067:2:::0;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;4331:24;;4197:9:::1;4331:24:::0;;;;;::::1;::::0;;;20109:25:43;;;6231:28:14;;;20150:18:43;;;20143:45;;;20204:18;;;20197:34;;;20247:18;;;20240:34;;;6052:19:14;;6127;;4331:24:::1;::::0;20081:19:43;;4331:24:14::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4331:24:14::1;::::0;-1:-1:-1;;4331:24:14;;;4469:14:::1;::::0;4331:24;;-1:-1:-1;;;;;;4459:24:14;;::::1;4469:14:::0;::::1;4459:24;::::0;-1:-1:-1;4459:24:14;;4566:4;;4550:45:::1;::::0;4428:27:::1;::::0;4550:45:::1;4648:22:::0;3622:1055;-1:-1:-1;;;;;;;3622:1055:14:o;6437:421:37:-;6564:16;6572:7;6564;:16::i;:::-;6556:53;;;;-1:-1:-1;;;6556:53:37;;26304:2:43;6556:53:37;;;26286:21:43;26343:2;26323:18;;;26316:30;26382:26;26362:18;;;26355:54;26426:18;;6556:53:37;26102:348:43;6556:53:37;6664:19;6686:16;6694:7;6686;:16::i;:::-;6664:38;;6745:14;6751:7;6745:5;:14::i;:::-;-1:-1:-1;;;;;6816:18:37;6846:5;6816:18;;;:5;:18;;;;;;;;:27;;;;;;;:35;;-1:-1:-1;;6816:35:37;;;6437:421::o;5609:667::-;-1:-1:-1;;;;;5816:16:37;;5808:50;;;;-1:-1:-1;;;5808:50:37;;;;;;;:::i;:::-;6004:8;5998:22;6024:1;5998:27;5990:55;;;;-1:-1:-1;;;5990:55:37;;26657:2:43;5990:55:37;;;26639:21:43;26696:2;26676:18;;;26669:30;-1:-1:-1;;;26715:18:43;;;26708:45;26770:18;;5990:55:37;26455:339:43;5990:55:37;6160:28;6166:2;6170:7;6179:8;6160:5;:28::i;:::-;-1:-1:-1;;;;;;;6244:9:37;;;;;;;:5;:9;;;;;;;;:18;;;;;;;:25;;-1:-1:-1;;6244:25:37;6265:4;6244:25;;;5609:667::o;6055:347:41:-;6174:7;6202:16;6210:7;6202;:16::i;:::-;6201:17;6193:50;;;;-1:-1:-1;;;6193:50:41;;27001:2:43;6193:50:41;;;26983:21:43;27040:2;27020:18;;;27013:30;-1:-1:-1;;;27059:18:43;;;27052:50;27119:18;;6193:50:41;26799:344:43;6193:50:41;-1:-1:-1;;;;;6253:13:41;;;;;;:9;:13;;;;;:18;;6270:1;;6253:13;:18;;6270:1;;6253:18;:::i;:::-;;;;-1:-1:-1;;6281:16:41;;;;:7;:16;;;;;;;;:21;;-1:-1:-1;;;;;;6281:21:41;-1:-1:-1;;;;;6281:21:41;;;;;6312:10;:19;;;;;:25;6334:3;6312:19;:25;:::i;:::-;-1:-1:-1;6352:19:41;;6363:7;;-1:-1:-1;;;;;6352:19:41;;;;;;;;-1:-1:-1;6388:7:41;;6055:347;-1:-1:-1;;6055:347:41:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:173:43:-;82:20;;-1:-1:-1;;;;;131:31:43;;121:42;;111:70;;177:1;174;167:12;192:254;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:43:o;451:286::-;509:6;562:2;550:9;541:7;537:23;533:32;530:52;;;578:1;575;568:12;530:52;604:23;;-1:-1:-1;;;;;;656:32:43;;646:43;;636:71;;703:1;700;693:12;934:258;1006:1;1016:113;1030:6;1027:1;1024:13;1016:113;;;1106:11;;;1100:18;1087:11;;;1080:39;1052:2;1045:10;1016:113;;;1147:6;1144:1;1141:13;1138:48;;;1182:1;1173:6;1168:3;1164:16;1157:27;1138:48;;934:258;;;:::o;1197:383::-;1346:2;1335:9;1328:21;1309:4;1378:6;1372:13;1421:6;1416:2;1405:9;1401:18;1394:34;1437:66;1496:6;1491:2;1480:9;1476:18;1471:2;1463:6;1459:15;1437:66;:::i;:::-;1564:2;1543:15;-1:-1:-1;;1539:29:43;1524:45;;;;1571:2;1520:54;;1197:383;-1:-1:-1;;1197:383:43:o;1585:127::-;1646:10;1641:3;1637:20;1634:1;1627:31;1677:4;1674:1;1667:15;1701:4;1698:1;1691:15;1717:718;1759:5;1812:3;1805:4;1797:6;1793:17;1789:27;1779:55;;1830:1;1827;1820:12;1779:55;1866:6;1853:20;1892:18;1929:2;1925;1922:10;1919:36;;;1935:18;;:::i;:::-;2010:2;2004:9;1978:2;2064:13;;-1:-1:-1;;2060:22:43;;;2084:2;2056:31;2052:40;2040:53;;;2108:18;;;2128:22;;;2105:46;2102:72;;;2154:18;;:::i;:::-;2194:10;2190:2;2183:22;2229:2;2221:6;2214:18;2275:3;2268:4;2263:2;2255:6;2251:15;2247:26;2244:35;2241:55;;;2292:1;2289;2282:12;2241:55;2356:2;2349:4;2341:6;2337:17;2330:4;2322:6;2318:17;2305:54;2403:1;2396:4;2391:2;2383:6;2379:15;2375:26;2368:37;2423:6;2414:15;;;;;;1717:718;;;;:::o;2440:456::-;2526:6;2534;2542;2595:2;2583:9;2574:7;2570:23;2566:32;2563:52;;;2611:1;2608;2601:12;2563:52;2647:9;2634:23;2624:33;;2708:2;2697:9;2693:18;2680:32;2735:18;2727:6;2724:30;2721:50;;;2767:1;2764;2757:12;2721:50;2790:49;2831:7;2822:6;2811:9;2807:22;2790:49;:::i;:::-;2780:59;;;2886:2;2875:9;2871:18;2858:32;2848:42;;2440:456;;;;;:::o;2901:180::-;2960:6;3013:2;3001:9;2992:7;2988:23;2984:32;2981:52;;;3029:1;3026;3019:12;2981:52;-1:-1:-1;3052:23:43;;2901:180;-1:-1:-1;2901:180:43:o;3086:322::-;3163:6;3171;3179;3232:2;3220:9;3211:7;3207:23;3203:32;3200:52;;;3248:1;3245;3238:12;3200:52;3271:29;3290:9;3271:29;:::i;:::-;3261:39;3347:2;3332:18;;3319:32;;-1:-1:-1;3398:2:43;3383:18;;;3370:32;;3086:322;-1:-1:-1;;;3086:322:43:o;3413:186::-;3472:6;3525:2;3513:9;3504:7;3500:23;3496:32;3493:52;;;3541:1;3538;3531:12;3493:52;3564:29;3583:9;3564:29;:::i;3994:395::-;4072:6;4080;4133:2;4121:9;4112:7;4108:23;4104:32;4101:52;;;4149:1;4146;4139:12;4101:52;4172:29;4191:9;4172:29;:::i;:::-;4162:39;;4252:2;4241:9;4237:18;4224:32;4279:18;4271:6;4268:30;4265:50;;;4311:1;4308;4301:12;4265:50;4334:49;4375:7;4366:6;4355:9;4351:22;4334:49;:::i;:::-;4324:59;;;3994:395;;;;;:::o;4394:675::-;4507:6;4515;4523;4531;4539;4547;4600:3;4588:9;4579:7;4575:23;4571:33;4568:53;;;4617:1;4614;4607:12;4568:53;4640:29;4659:9;4640:29;:::i;:::-;4630:39;;4688:38;4722:2;4711:9;4707:18;4688:38;:::i;:::-;4678:48;;4773:2;4762:9;4758:18;4745:32;4735:42;;4824:2;4813:9;4809:18;4796:32;4786:42;;4875:3;4864:9;4860:19;4847:33;4837:43;;4931:3;4920:9;4916:19;4903:33;4959:18;4951:6;4948:30;4945:50;;;4991:1;4988;4981:12;4945:50;5014:49;5055:7;5046:6;5035:9;5031:22;5014:49;:::i;:::-;5004:59;;;4394:675;;;;;;;;:::o;5074:397::-;5160:6;5168;5176;5184;5237:3;5225:9;5216:7;5212:23;5208:33;5205:53;;;5254:1;5251;5244:12;5205:53;5277:29;5296:9;5277:29;:::i;:::-;5267:39;;5325:38;5359:2;5348:9;5344:18;5325:38;:::i;:::-;5074:397;;5315:48;;-1:-1:-1;;;;5410:2:43;5395:18;;5382:32;;5461:2;5446:18;5433:32;;5074:397::o;5476:248::-;5544:6;5552;5605:2;5593:9;5584:7;5580:23;5576:32;5573:52;;;5621:1;5618;5611:12;5573:52;-1:-1:-1;;5644:23:43;;;5714:2;5699:18;;;5686:32;;-1:-1:-1;5476:248:43:o;5729:752::-;5843:6;5851;5859;5867;5875;5928:3;5916:9;5907:7;5903:23;5899:33;5896:53;;;5945:1;5942;5935:12;5896:53;5968:29;5987:9;5968:29;:::i;:::-;5958:39;;6044:2;6033:9;6029:18;6016:32;6006:42;;6099:2;6088:9;6084:18;6071:32;6122:18;6163:2;6155:6;6152:14;6149:34;;;6179:1;6176;6169:12;6149:34;6202:49;6243:7;6234:6;6223:9;6219:22;6202:49;:::i;:::-;6192:59;;6298:2;6287:9;6283:18;6270:32;6260:42;;6355:3;6344:9;6340:19;6327:33;6311:49;;6385:2;6375:8;6372:16;6369:36;;;6401:1;6398;6391:12;6369:36;;6424:51;6467:7;6456:8;6445:9;6441:24;6424:51;:::i;:::-;6414:61;;;5729:752;;;;;;;;:::o;6486:388::-;6563:6;6571;6624:2;6612:9;6603:7;6599:23;6595:32;6592:52;;;6640:1;6637;6630:12;6592:52;6676:9;6663:23;6653:33;;6737:2;6726:9;6722:18;6709:32;6764:18;6756:6;6753:30;6750:50;;;6796:1;6793;6786:12;6879:462;6965:6;6973;6981;7034:2;7022:9;7013:7;7009:23;7005:32;7002:52;;;7050:1;7047;7040:12;7002:52;7073:29;7092:9;7073:29;:::i;:::-;7063:39;;7149:2;7138:9;7134:18;7121:32;7111:42;;7204:2;7193:9;7189:18;7176:32;7231:18;7223:6;7220:30;7217:50;;;7263:1;7260;7253:12;7217:50;7286:49;7327:7;7318:6;7307:9;7303:22;7286:49;:::i;:::-;7276:59;;;6879:462;;;;;:::o;7346:356::-;7548:2;7530:21;;;7567:18;;;7560:30;7626:34;7621:2;7606:18;;7599:62;7693:2;7678:18;;7346:356::o;7707:344::-;7909:2;7891:21;;;7948:2;7928:18;;;7921:30;-1:-1:-1;;;7982:2:43;7967:18;;7960:50;8042:2;8027:18;;7707:344::o;8409:380::-;8488:1;8484:12;;;;8531;;;8552:61;;8606:4;8598:6;8594:17;8584:27;;8552:61;8659:2;8651:6;8648:14;8628:18;8625:38;8622:161;;8705:10;8700:3;8696:20;8693:1;8686:31;8740:4;8737:1;8730:15;8768:4;8765:1;8758:15;8622:161;;8409:380;;;:::o;10199:127::-;10260:10;10255:3;10251:20;10248:1;10241:31;10291:4;10288:1;10281:15;10315:4;10312:1;10305:15;10331:136;10370:3;10398:5;10388:39;;10407:18;;:::i;:::-;-1:-1:-1;;;10443:18:43;;10331:136::o;11164:470::-;11343:3;11381:6;11375:13;11397:53;11443:6;11438:3;11431:4;11423:6;11419:17;11397:53;:::i;:::-;11513:13;;11472:16;;;;11535:57;11513:13;11472:16;11569:4;11557:17;;11535:57;:::i;:::-;11608:20;;11164:470;-1:-1:-1;;;;11164:470:43:o;11639:345::-;11841:2;11823:21;;;11880:2;11860:18;;;11853:30;-1:-1:-1;;;11914:2:43;11899:18;;11892:51;11975:2;11960:18;;11639:345::o;13817:125::-;13857:4;13885:1;13882;13879:8;13876:34;;;13890:18;;:::i;:::-;-1:-1:-1;13927:9:43;;13817:125::o;13947:135::-;13986:3;14007:17;;;14004:43;;14027:18;;:::i;:::-;-1:-1:-1;14074:1:43;14063:13;;13947:135::o;14087:128::-;14127:3;14158:1;14154:6;14151:1;14148:13;14145:39;;;14164:18;;:::i;:::-;-1:-1:-1;14200:9:43;;14087:128::o;22105:127::-;22166:10;22161:3;22157:20;22154:1;22147:31;22197:4;22194:1;22187:15;22221:4;22218:1;22211:15;22237:120;22277:1;22303;22293:35;;22308:18;;:::i;:::-;-1:-1:-1;22342:9:43;;22237:120::o;22362:112::-;22394:1;22420;22410:35;;22425:18;;:::i;:::-;-1:-1:-1;22459:9:43;;22362:112::o;22479:127::-;22540:10;22535:3;22531:20;22528:1;22521:31;22571:4;22568:1;22561:15;22595:4;22592:1;22585:15;22611:168;22651:7;22717:1;22713;22709:6;22705:14;22702:1;22699:21;22694:1;22687:9;22680:17;22676:45;22673:71;;;22724:18;;:::i;:::-;-1:-1:-1;22764:9:43;;22611:168::o;23253:545::-;23355:2;23350:3;23347:11;23344:448;;;23391:1;23416:5;23412:2;23405:17;23461:4;23457:2;23447:19;23531:2;23519:10;23515:19;23512:1;23508:27;23502:4;23498:38;23567:4;23555:10;23552:20;23549:47;;;-1:-1:-1;23590:4:43;23549:47;23645:2;23640:3;23636:12;23633:1;23629:20;23623:4;23619:31;23609:41;;23700:82;23718:2;23711:5;23708:13;23700:82;;;23763:17;;;23744:1;23733:13;23700:82;;;23704:3;;;23253:545;;;:::o;23974:1352::-;24100:3;24094:10;24127:18;24119:6;24116:30;24113:56;;;24149:18;;:::i;:::-;24178:97;24268:6;24228:38;24260:4;24254:11;24228:38;:::i;:::-;24222:4;24178:97;:::i;:::-;24330:4;;24394:2;24383:14;;24411:1;24406:663;;;;25113:1;25130:6;25127:89;;;-1:-1:-1;25182:19:43;;;25176:26;25127:89;-1:-1:-1;;23931:1:43;23927:11;;;23923:24;23919:29;23909:40;23955:1;23951:11;;;23906:57;25229:81;;24376:944;;24406:663;23200:1;23193:14;;;23237:4;23224:18;;-1:-1:-1;;24442:20:43;;;24560:236;24574:7;24571:1;24568:14;24560:236;;;24663:19;;;24657:26;24642:42;;24755:27;;;;24723:1;24711:14;;;;24590:19;;24560:236;;;24564:3;24824:6;24815:7;24812:19;24809:201;;;24885:19;;;24879:26;-1:-1:-1;;24968:1:43;24964:14;;;24980:3;24960:24;24956:37;24952:42;24937:58;24922:74;;24809:201;-1:-1:-1;;;;;25056:1:43;25040:14;;;25036:22;25023:36;;-1:-1:-1;23974:1352:43:o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "An instance of the Soulbound token with capped supply and tokens having their own individual expiry date. Tokens are minted to and are pendng until receivers pay to receive their complete token.", + "errors": { + "Unsigned(address)": [ + { + "details": "Thrown when the address passed to the verify function is not signed." + } + ] + }, + "events": { + "Redeemed(uint256,uint256)": { + "details": "Emitted when a token is redeemed." + } + }, + "kind": "dev", + "methods": { + "_getBaseURI()": { + "details": "Returns already set baseURI if it exists.", + "notice": "Callable by anyone.", + "returns": { + "_baseURI": "baseURI set." + } + }, + "balanceOf(address)": { + "details": "ABTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.", + "notice": "Count all ABTs assigned to an owner", + "params": { + "owner": "An address for whom to query the balance" + }, + "returns": { + "_0": "The number of ABTs owned by `owner`, possibly zero" + } + }, + "burn(uint256)": { + "details": "Must emit a `event Revoke` with the `address to` field pointing to the zero address.", + "notice": "Destroys `tokenId`. At any time, an ABT receiver must be able to disassociate themselves from an ABT publicly through calling this function.", + "params": { + "tokenId": "The identifier for an ABT" + } + }, + "constructor": { + "details": "Deploy the SoulboundWithSignature with set total supply, priceLimit and price of an individual token." + }, + "extendExpiry(uint256,uint256)": { + "details": "On every successful redemption or mint of token the expiry of the token is extended by the duration passed in the contract. This should be called on expired tokens.", + "notice": "This function is expected to be called by the SoulboundRedeemable on every mint.", + "params": { + "time": "Length of time to extend it with.", + "tokenId": "Token to extend its expiry." + } + }, + "generateTokenURI(uint256)": { + "details": "Using the `tokenId` passed, it generates a `stringified` tokenURI, packing the baseURI and the current tokenId. Makes use of OpenZeppelin's uint to string function.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "ID of token whose tokenURI is desired." + }, + "returns": { + "_tokenURI": "TokenURI of the passed tokenId." + } + }, + "getAllowlistOwner()": { + "details": "Return the allowlistOwner.", + "notice": "Callable by anyone.", + "returns": { + "_0": "address of allowlistOwner." + } + }, + "getExpiryDate(uint256)": { + "details": "Returns the expiry date of `tokenId`.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "Token to get its expiry." + }, + "returns": { + "_0": "time of expiry." + } + }, + "getIndividualTokenPrice()": { + "details": "Return the price of one token, set by the deployer.", + "notice": "Callable by anyone.", + "returns": { + "_tokenPrice": "Price of a single token." + } + }, + "getPriceLimit()": { + "details": "Return the highest possible price for a token.", + "notice": "Callable by anyone.", + "returns": { + "_priceLimit": "Highest possible price." + } + }, + "getTimeLeft(uint256)": { + "details": "Returns the time left for a token to expire.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "Token to get its expiry." + }, + "returns": { + "_0": "time left till expiry." + } + }, + "isMinted(address,uint256)": { + "details": "Returns true if token `_tokenId` was minted from this contract to `_to`. `_to` must not be a 0 address. `_tokenId` must be an existent token.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "bool true or false." + } + }, + "isValid(uint256)": { + "details": "Return true if the token is expired or false if otherwise.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "Token to check if expired." + }, + "returns": { + "_0": "bool true or false." + } + }, + "issueWithSignature(address,bytes32,bytes,uint256,string)": { + "details": "Mints a particular quantity of tokens to `to`, on the condition that the address has been signed by the allowlistOwner off-chain. This will emit the {MintSoulboundToken} event from the Soulbound.sol.", + "notice": "Callable by anyone.", + "params": { + "addr": "Address to mint tokens to.", + "hash": "Hashed message by the allowlistOwner.", + "sig": "Signature, signed by the allowlistOwner.", + "tokenId": "Id of the tokens to mint to the `addr`.", + "tokenURI": "URI of the token to be minted." + } + }, + "issuerOf(address,uint256)": { + "details": "Since a token cannnot be minted twice. This function returns the address that minted token `_tokenId` to `_to`, otherwise this contract. `_to` must not be a 0 address. `_tokenId` must be an existent token. Owner of _tokenId must be _to.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "address of issuer." + } + }, + "mintPendingRedeemableToken(address,address,uint256,uint256)": { + "details": "Mints a pending soulbound token to `to`. Pending tokens are minted and the receiver pays to receive and completely mint them.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner.", + "params": { + "_tokenExpiryDate": "Set expiry date from the deployer.", + "from": "Allowlist owner.", + "to": "Receiver.", + "tokenId": "Id of token to be minted." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerIssueWithSignature(address,bytes32,bytes,uint256,string)": { + "details": "Ref SoulboundCore.sol issueWithSignature This function grants the access to only the deployer of the contract, unlike the core that allows the function for anyone who has a signature signed by the allowlistOwner. This contract can be called by the deployer of the contract [DaccredDeployer] but is also protected as to the allowlistOwner must be the signer of the `sig.`", + "notice": "Callable by the deployer of this contract [DaccredDeployer].", + "params": { + "addr": "Address to be minted to.", + "hash": "Hash of message signed.", + "sig": "Signature.", + "tokenId": "TokenId to be issued.", + "tokenURI": "URI of token to be issued." + } + }, + "ownerOf(uint256)": { + "details": "ABTs assigned to zero address are considered invalid, and queries about them do throw.", + "notice": "Find the address bound to an ERC4973 account-bound token", + "params": { + "tokenId": "The identifier for an ABT" + }, + "returns": { + "_0": "The address of the owner bound to the ABT" + } + }, + "ownerRevokeWithSignature(bytes32,bytes,uint256)": { + "details": "Ref SoulboundCore.sol revokeWithSignature This function grants the access to only the deployer of the contract, unlike the core that allows the function for anyone who has a signature signed by the allowlistOwner. This contract can be called by the deployer of the contract [DaccredDeployer] but is also protected as to the allowlistOwner must be the signer of the `sig.`", + "notice": "Callable by the deployer of this contract [DaccredDeployer].", + "params": { + "hash": "Hash of message signed.", + "sig": "Signature.", + "tokenId": "TokenId to be issued." + } + }, + "payToReceiveToken(address,uint256)": { + "details": "Allows the `_receiver` to pay the price of one token to fully mint the pending token.", + "notice": "Callable by the deployer of this contract [DaccredDeployer].", + "params": { + "_receiver": "Receiver of the token.", + "tokenId": "Pending tokenId for the receiver." + } + }, + "redeemMintedToken(address,uint256,uint256)": { + "details": "For expired minted tokens, this function redeems them and makes valid for another period of time. Tokens must be expired for it to be redeemed. Emits the {Redeemed} event.", + "notice": "Callable by the deployer of this contract [DaccredDeployer].", + "params": { + "_receiver": "Receiver of the token.", + "_tokenExpiryDate": "New expiry date for tokens.", + "tokenId": "Pending tokenId for the receiver." + } + }, + "redeemMintedTokenWithSignature(address,address,uint256,uint256,bytes32,bytes)": { + "details": "Allows the allowlistOwner to redeem an expired minted token on behalf of the tokenOwner.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner.", + "params": { + "_caller": "Allowlist owner.", + "_receiver": "Address of receiver.", + "_tokenExpiryDate": "Days to extend the token.", + "hash": "Hash of message.", + "sig": "Signature.", + "tokenId": "TokenId." + } + }, + "redeemPendingToken(address,uint256,uint256)": { + "details": "For expired pending tokens, this function redeems them and makes valid for another period of time. Tokens must be expired for it to be redeemed. Emits the {Redeemed} event.", + "notice": "Callable by the deployer of this contract [DaccredDeployer].", + "params": { + "_receiver": "Receiver of the token.", + "_tokenExpiryDate": "New expiry date for tokens.", + "tokenId": "Pending tokenId for the receiver." + } + }, + "redeemPendingTokenWithSignature(address,address,uint256,uint256,bytes32,bytes)": { + "details": "Allows the allowlistOwner to redeem an expired pending token on behalf of the tokenOwner.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner.", + "params": { + "_caller": "Allowlist owner.", + "_receiver": "Address of receiver.", + "_tokenExpiryDate": "Days to extend the token.", + "hash": "Hash of message.", + "sig": "Signature.", + "tokenId": "TokenId." + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "revokeWithSignature(bytes32,bytes,uint256)": { + "details": "Revokes the ownership of `tokenId` from the owner. The token must exist and the signature must be signed the allowlistOwner. This emits the {RevokeWithSignature} event.", + "notice": "Callable by anyone.", + "params": { + "hash": "Hashed message by the allowlistOwner.", + "sig": "Signature, signed by the allowlistOwner.", + "tokenId": "Id of the token to revoke." + } + }, + "setBaseURI(address,string)": { + "details": "Allows the `caller` (allowlistOwner) to set the baseURI. This is really important when the caller wants to mint Multiple tokens with the same base URI.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner." + }, + "setPrice(address,uint256)": { + "details": "Allows `caller` to set `_price` as price of one token.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner.", + "params": { + "_price": "New price.", + "caller": "AllowlistOwner." + } + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "verifySignature(bytes32,bytes)": { + "details": "Returns true if the signer of signature `sig` is the `allowlistOwner`. And false if otherwise.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + }, + "verifySigner(address,bytes32,bytes)": { + "details": "Returns true if the signer of `_signature` is `_signer`.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + }, + "withdraw(address)": { + "details": "Allows the allowlistowner to withdraw his funds to his wallet.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner.", + "params": { + "_caller": "Address of allowlistowner." + } + } + }, + "stateVariables": { + "locked": { + "details": "ReEntrancy Lock." + }, + "pending": { + "details": "Pending token receivals." + }, + "pendingReceivers": { + "details": "Pending address to receive tokens." + }, + "priceLimit": { + "details": "Price Limit [in eth] set by deploying contract." + }, + "tax": { + "details": "Tax for token redemptions. 15 represents 1.5% of total sales." + }, + "tokenPrice": { + "details": "Price of individual tokens, set by deployer." + }, + "totalRevenue": { + "details": "Total revenue from sales." + }, + "totalSales": { + "details": "Total sales of tokens [Total tokens paid for]." + } + }, + "title": "Soulbound Redeemable.", + "version": 1 + }, + "offset": [ + 826, + 15781 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1FA JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x95D89B41 GT PUSH2 0x10C JUMPI DUP1 PUSH4 0xDACA6F78 GT PUSH2 0x9A JUMPI DUP1 PUSH4 0xED734730 GT PUSH2 0x6C JUMPI DUP1 PUSH4 0xED734730 EQ PUSH2 0x5EF JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x602 JUMPI DUP1 PUSH4 0xF577A500 EQ PUSH2 0x622 JUMPI DUP1 PUSH4 0xFAD54DE7 EQ PUSH2 0x652 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x667 JUMPI STOP JUMPDEST DUP1 PUSH4 0xDACA6F78 EQ PUSH2 0x56F JUMPI DUP1 PUSH4 0xE8C58763 EQ PUSH2 0x58F JUMPI DUP1 PUSH4 0xE92B0842 EQ PUSH2 0x5AF JUMPI DUP1 PUSH4 0xEA5353C7 EQ PUSH2 0x5CF JUMPI STOP JUMPDEST DUP1 PUSH4 0xBD97A6AD GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xBD97A6AD EQ PUSH2 0x4DA JUMPI DUP1 PUSH4 0xC3CAB38A EQ PUSH2 0x4FA JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x51A JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x53A JUMPI DUP1 PUSH4 0xC9E4C54D EQ PUSH2 0x54F JUMPI STOP JUMPDEST DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x48A JUMPI DUP1 PUSH4 0x983A8B94 EQ PUSH2 0x49F JUMPI DUP1 PUSH4 0xA0B97DAA EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xBD131786 EQ PUSH2 0x4C7 JUMPI STOP JUMPDEST DUP1 PUSH4 0x51CFF8D9 GT PUSH2 0x189 JUMPI DUP1 PUSH4 0x6E0A8746 GT PUSH2 0x15B JUMPI DUP1 PUSH4 0x6E0A8746 EQ PUSH2 0x3F9 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x417 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x437 JUMPI DUP1 PUSH4 0x88433651 EQ PUSH2 0x44C JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x46C JUMPI STOP JUMPDEST DUP1 PUSH4 0x51CFF8D9 EQ PUSH2 0x320 JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0x340 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x386 JUMPI DUP1 PUSH4 0x6833F200 EQ PUSH2 0x3BE JUMPI STOP JUMPDEST DUP1 PUSH4 0x1F04D135 GT PUSH2 0x1CD JUMPI DUP1 PUSH4 0x1F04D135 EQ PUSH2 0x29A JUMPI DUP1 PUSH4 0x210FA96B EQ PUSH2 0x2BA JUMPI DUP1 PUSH4 0x33E085C1 EQ PUSH2 0x2DA JUMPI DUP1 PUSH4 0x3D1A350E EQ PUSH2 0x2ED JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x300 JUMPI STOP JUMPDEST DUP1 PUSH3 0xE4768B EQ PUSH2 0x203 JUMPI DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x223 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x258 JUMPI DUP1 PUSH4 0x8C92E57 EQ PUSH2 0x27A JUMPI STOP JUMPDEST CALLDATASIZE PUSH2 0x201 JUMPI STOP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x20F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH2 0x687 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x23E CALLDATASIZE PUSH1 0x4 PUSH2 0x2743 JUMP JUMPDEST PUSH2 0x756 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x264 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x7A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24F SWAP2 SWAP1 PUSH2 0x279D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x295 CALLDATASIZE PUSH1 0x4 PUSH2 0x2873 JUMP JUMPDEST PUSH2 0x83A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x2B5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2873 JUMP JUMPDEST PUSH2 0x970 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x2D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0xA0C JUMP JUMPDEST PUSH2 0x201 PUSH2 0x2E8 CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH2 0xA8E JUMP JUMPDEST PUSH2 0x201 PUSH2 0x2FB CALLDATASIZE PUSH1 0x4 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0xDA6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x30C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x31B CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1098 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x33B CALLDATASIZE PUSH1 0x4 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x110D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x35B CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x392 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x3A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x24F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH2 0x3D9 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x24F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x405 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x423 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH2 0x432 CALLDATASIZE PUSH1 0x4 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x12C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x443 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x1351 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x458 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x467 CALLDATASIZE PUSH1 0x4 PUSH2 0x292A JUMP JUMPDEST PUSH2 0x1387 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x3A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x496 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x13FD JUMP JUMPDEST PUSH2 0x201 PUSH2 0x4AD CALLDATASIZE PUSH1 0x4 PUSH2 0x2978 JUMP JUMPDEST PUSH2 0x140C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xE SLOAD PUSH2 0x3EB JUMP JUMPDEST PUSH2 0x201 PUSH2 0x4D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2978 JUMP JUMPDEST PUSH2 0x1504 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x4F5 CALLDATASIZE PUSH1 0x4 PUSH2 0x29F2 JUMP JUMPDEST PUSH2 0x15E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x506 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x515 CALLDATASIZE PUSH1 0x4 PUSH2 0x2A34 JUMP JUMPDEST PUSH2 0x17DD JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x526 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x535 CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1835 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x546 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26D PUSH2 0x192A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x55B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x56A CALLDATASIZE PUSH1 0x4 PUSH2 0x2A56 JUMP JUMPDEST PUSH2 0x1987 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x57B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x58A CALLDATASIZE PUSH1 0x4 PUSH2 0x2ADE JUMP JUMPDEST PUSH2 0x1A94 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x59B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EB PUSH2 0x5AA CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH2 0x1AA7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x5CA CALLDATASIZE PUSH1 0x4 PUSH2 0x2B0F JUMP JUMPDEST PUSH2 0x1AE4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x5EA CALLDATASIZE PUSH1 0x4 PUSH2 0x2A56 JUMP JUMPDEST PUSH2 0x1B78 JUMP JUMPDEST PUSH2 0x201 PUSH2 0x5FD CALLDATASIZE PUSH1 0x4 PUSH2 0x28DC JUMP JUMPDEST PUSH2 0x1BF7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x60E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x201 PUSH2 0x61D CALLDATASIZE PUSH1 0x4 PUSH2 0x290F JUMP JUMPDEST PUSH2 0x1DA3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x62E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x243 PUSH2 0x63D CALLDATASIZE PUSH1 0x4 PUSH2 0x28C3 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP GT ISZERO SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x65E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0xF SLOAD PUSH2 0x3EB JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x673 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3A6 PUSH2 0x682 CALLDATASIZE PUSH1 0x4 PUSH2 0x2719 JUMP JUMPDEST PUSH2 0x1E3B JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x6BA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH2 0x6CD PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x6FD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0xE SLOAD DUP3 GT ISZERO PUSH2 0x74F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x507269636520686967686572207468616E206C696D69742E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST POP PUSH1 0xF SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x787 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x7A2 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x7B7 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x843 DUP2 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x88F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x8DB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x8E5 DUP4 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x92D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x93F PUSH2 0x939 DUP3 PUSH2 0x1263 JUMP JUMPDEST DUP3 PUSH2 0x1F6C JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH32 0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x99A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0xB SLOAD ISZERO PUSH2 0x9BC JUMPI PUSH1 0xB DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x9B2 DUP4 PUSH2 0x2C19 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x9FC JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2637BBB2B9BA103634B6B4BA103932B0B1B432B217 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0xA07 DUP4 DUP4 DUP4 PUSH2 0x83A JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0xA16 PUSH2 0x192A JUMP JUMPDEST MLOAD PUSH1 0x0 SUB PUSH2 0xA56 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0xA5E PUSH2 0x192A JUMP JUMPDEST PUSH2 0xA67 DUP4 PUSH2 0x2034 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0xA78 SWAP3 SWAP2 SWAP1 PUSH2 0x2C30 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAB8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xAC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAFB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST PUSH2 0xB04 DUP2 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0xB51 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E74206F6620616C7265616479206578697374696E6720746F6B656E2E00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0xBA9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x20B63932B0B23C903932B1B2B4BB32B2103A37B5B2B717 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x11 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ PUSH2 0xC0A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2737BA103832B73234B733903932B1B2B4BB32B917 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP GT ISZERO PUSH2 0xC79 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526563656976616C206F66206578706972656420746F6B656E2C207265646565 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x36903A37B5B2B717 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0xF SLOAD CALLVALUE LT ISZERO PUSH2 0xCCB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5072696365206C6F776572207468616E20746F6B656E20636F73742E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0xF SLOAD CALLVALUE GT ISZERO PUSH2 0xD1F JUMPI PUSH1 0xF SLOAD PUSH2 0xCE4 SWAP1 CALLVALUE PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xD1D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH1 0x0 PUSH2 0xD2A DUP4 PUSH2 0xA0C JUMP JUMPDEST SWAP1 POP PUSH2 0xD37 DUP5 DUP5 DUP4 PUSH2 0x213D JUMP JUMPDEST POP PUSH1 0xC DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xD48 DUP4 PUSH2 0x2CA5 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0xF SLOAD PUSH1 0xD PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xD61 SWAP2 SWAP1 PUSH2 0x2CBE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP POP PUSH1 0x0 SWAP2 DUP3 MSTORE POP PUSH1 0x10 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x11 SWAP1 SWAP3 MSTORE SWAP1 SWAP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x13 DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xDD0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xDE0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xE43 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E20746F207A65726F20616464726573732E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0xE4C DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0xEA2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E206F66206E6F6E2D6578697374696E6720746F6B656E PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0xF9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xEF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x2A37B5B2B71039BA34B636103832B73234B73397 PUSH1 0x61 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF0B DUP4 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xF54 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2737BA103A37B5B2B71037BBB732B917 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD TIMESTAMP GT PUSH2 0xFA4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x2A37B5B2B7103AB732BC3834B932B217 PUSH1 0x81 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB1 PUSH1 0x12 SLOAD PUSH2 0x2154 JUMP JUMPDEST SWAP1 POP DUP1 CALLVALUE LT ISZERO PUSH2 0x1003 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5072696365206C6F776572207468616E20726564656D7074696F6E207461782E PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO PUSH2 0x1050 JUMPI PUSH2 0x1015 DUP3 CALLVALUE PUSH2 0x2C8E JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 DUP3 ISZERO PUSH2 0x8FC MUL SWAP1 DUP4 SWAP1 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x104E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMPDEST PUSH2 0x105A DUP5 DUP5 PUSH2 0x17DD JUMP JUMPDEST PUSH1 0x40 MLOAD DUP4 SWAP1 DUP6 SWAP1 PUSH32 0x6F73B7B8D37DF32EA60A45EADC8FC3D2D716D705EE099BD506817482CE847316 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH2 0x10A1 DUP2 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1101 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x110A DUP2 PUSH2 0x2190 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1137 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP1 PUSH2 0x114A PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x117A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x11D0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x53656E64696E6720746F207A65726F20616464726573732E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0xD SLOAD SELFBALANCE LT ISZERO PUSH2 0x1222 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526576656E756520213D20436F6E74726163742062616C616E63652E00000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0xD SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP2 DUP1 ISZERO PUSH2 0x8FC MUL SWAP2 PUSH1 0x0 DUP2 DUP2 DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0x1259 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x0 PUSH1 0xD SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x7A2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1335 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x137B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH2 0x1385 PUSH1 0x0 PUSH2 0x2237 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x13B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP2 PUSH2 0x13C4 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x13F4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH2 0xA07 DUP3 PUSH2 0x2289 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x2 DUP1 SLOAD PUSH2 0x7B7 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1436 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP6 PUSH2 0x1449 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1479 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1489 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x14A0 DUP4 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x14E6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x2430B9B4103737BA1039B4B3B732B210313C903CB7BA97 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x14F1 DUP7 DUP7 DUP7 PUSH2 0xDA6 JUMP JUMPDEST POP POP PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x152E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP6 PUSH2 0x1541 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1571 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1581 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0x1598 DUP4 DUP4 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x15DE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x2430B9B4103737BA1039B4B3B732B210313C903CB7BA97 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x14F1 DUP7 DUP7 DUP7 PUSH2 0x1BF7 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1613 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST DUP4 PUSH2 0x1626 PUSH1 0x9 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1656 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B9B JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0xB SLOAD LT PUSH2 0x169E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x24B9B9BAB29021B0B8102932B0B1B432B217 PUSH1 0x71 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH2 0x16C4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST PUSH2 0x16CD DUP4 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0x171A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E74206F6620616C7265616479206578697374696E6720746F6B656E2E00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1779 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D696E74206F6620616C72656164792070656E64696E6720746F6B656E2E0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x11 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH2 0x17C1 DUP4 DUP4 PUSH2 0x17DD JUMP JUMPDEST PUSH1 0xB DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x17D1 DUP4 PUSH2 0x2CA5 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x17E7 DUP2 TIMESTAMP PUSH2 0x2CBE JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 SWAP3 SWAP1 SWAP3 SSTORE DUP1 MLOAD DUP5 DUP2 MSTORE SWAP2 DUP3 ADD DUP4 SWAP1 MSTORE PUSH32 0x41A73BEB1018A8B63E0F451A8A4F483806142CF14BE45B1A58A23776A1E9B4BC SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x1840 DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x188C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x18A5 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x18D1 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x191E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x18F3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x191E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1901 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x7 DUP1 SLOAD PUSH2 0x1939 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x197A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x7 DUP1 SLOAD PUSH2 0x7B7 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0x19AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST DUP3 MLOAD PUSH1 0x41 EQ PUSH2 0x19F9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1A03 DUP5 DUP5 PUSH2 0x1A94 JUMP JUMPDEST PUSH2 0x1A4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1A56 DUP6 DUP4 DUP4 PUSH2 0x213D JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH32 0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1AA0 DUP4 DUP4 PUSH2 0x22DB JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD TIMESTAMP GT ISZERO PUSH2 0x1AC5 JUMPI POP PUSH1 0x0 SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH2 0x7A2 SWAP1 TIMESTAMP SWAP1 PUSH2 0x2C8E JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B4E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1BA2 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0xA SLOAD PUSH1 0xB SLOAD LT PUSH2 0x1BEA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x24B9B9BAB29021B0B8102932B0B1B432B217 PUSH1 0x71 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x17C1 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x1987 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1C21 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x13 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1C31 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x13 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1C94 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E20746F207A65726F20616464726573732E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1C9D DUP3 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0x1CEA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526564656D7074696F6E206F66206578697374696E6720746F6B656E2E000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x10 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH2 0x1D42 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH23 0x20B63932B0B23C903932B1B2B4BB32B2103A37B5B2B717 PUSH1 0x49 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x11 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 AND EQ PUSH2 0xF54 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2737BA103832B73234B733903932B1B2B4BB32B917 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x1DCD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1E32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x110A DUP2 PUSH2 0x2237 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x1E93 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x1E9C DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x1EDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1EF1 DUP4 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x1F47 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1F77 DUP3 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x1FB9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1FCC DUP4 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x2022 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x202B DUP3 PUSH2 0x2481 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0x205B JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0x2085 JUMPI DUP1 PUSH2 0x206F DUP2 PUSH2 0x2CA5 JUMP JUMPDEST SWAP2 POP PUSH2 0x207E SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x2CEC JUMP JUMPDEST SWAP2 POP PUSH2 0x205F JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20A0 JUMPI PUSH2 0x20A0 PUSH2 0x27D0 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x20CA JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x2135 JUMPI PUSH2 0x20DF PUSH1 0x1 DUP4 PUSH2 0x2C8E JUMP JUMPDEST SWAP2 POP PUSH2 0x20EC PUSH1 0xA DUP7 PUSH2 0x2D00 JUMP JUMPDEST PUSH2 0x20F7 SWAP1 PUSH1 0x30 PUSH2 0x2CBE JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0x210C JUMPI PUSH2 0x210C PUSH2 0x2D14 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0x212E PUSH1 0xA DUP7 PUSH2 0x2CEC JUMP JUMPDEST SWAP5 POP PUSH2 0x20CE JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x214A DUP5 DUP5 DUP5 PUSH2 0x2517 JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH5 0x746A528800 PUSH1 0xD SLOAD LT ISZERO PUSH2 0x216A JUMPI PUSH1 0x0 SWAP2 POP JUMPDEST PUSH2 0x3E8 PUSH1 0xD SLOAD DUP4 PUSH2 0x217B SWAP2 SWAP1 PUSH2 0x2D2A JUMP JUMPDEST PUSH2 0x2186 SWAP1 PUSH1 0xA PUSH2 0x2D2A JUMP JUMPDEST PUSH2 0x7A2 SWAP2 SWAP1 PUSH2 0x2CEC JUMP JUMPDEST PUSH1 0x0 PUSH2 0x219B DUP3 PUSH2 0x1263 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x21C9 SWAP1 DUP5 SWAP1 PUSH2 0x2C8E JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0x21FD SWAP2 PUSH2 0x26B4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x22CB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x92DCECC2D8D2C840D8CADCCEE8D PUSH1 0x93 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x7 PUSH2 0x22D7 DUP3 DUP3 PUSH2 0x2D97 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2308 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2B66 JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x2376 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x3C903737B716B7BBB732B9 PUSH1 0xA9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x6B1 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x23C7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP1 DUP8 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE SWAP7 DUP2 ADD DUP1 DUP7 MSTORE DUP11 SWAP1 MSTORE SWAP1 DUP7 BYTE SWAP4 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP3 SWAP1 MSTORE SWAP3 SWAP4 SWAP1 SWAP3 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x242B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT DUP2 ADD MLOAD PUSH1 0x9 SLOAD SWAP1 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 AND EQ SWAP2 POP DUP2 SWAP1 DUP10 SWAP1 PUSH32 0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36 SWAP1 PUSH1 0x0 SWAP1 LOG3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x248A DUP2 PUSH2 0x1F4F JUMP JUMPDEST PUSH2 0x24D6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x24E1 DUP3 PUSH2 0x1263 JUMP JUMPDEST SWAP1 POP PUSH2 0x24EC DUP3 PUSH2 0x2190 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x253D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6B1 SWAP1 PUSH2 0x2C5F JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x2580 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x22B6B83A3C903A37B5B2B72AA92497 PUSH1 0x89 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH2 0x258B DUP4 DUP4 DUP4 PUSH2 0x25BD JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x8 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x25C8 DUP4 PUSH2 0x1F4F JUMP JUMPDEST ISZERO PUSH2 0x260C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x6D696E743A20746F6B656E494420657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x6B1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x2635 SWAP1 DUP5 SWAP1 PUSH2 0x2CBE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x4 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH2 0x2675 DUP4 DUP3 PUSH2 0x2D97 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x26C0 SWAP1 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x26D0 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x110A SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x26FE JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x26EA JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1ADF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x272C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2735 DUP4 PUSH2 0x2702 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2755 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0x1AA0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2788 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x2770 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x2797 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x27BC DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x276D JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x27F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2812 JUMPI PUSH2 0x2812 PUSH2 0x27D0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x283A JUMPI PUSH2 0x283A PUSH2 0x27D0 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x28A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28B2 DUP7 DUP3 DUP8 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28FA DUP5 PUSH2 0x2702 JUMP JUMPDEST SWAP6 PUSH1 0x20 DUP6 ADD CALLDATALOAD SWAP6 POP PUSH1 0x40 SWAP1 SWAP5 ADD CALLDATALOAD SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2921 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1AA0 DUP3 PUSH2 0x2702 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x293D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2946 DUP4 PUSH2 0x2702 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x296E DUP6 DUP3 DUP7 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x299A DUP8 PUSH2 0x2702 JUMP JUMPDEST SWAP6 POP PUSH2 0x29A8 PUSH1 0x20 DUP9 ADD PUSH2 0x2702 JUMP JUMPDEST SWAP5 POP PUSH1 0x40 DUP8 ADD CALLDATALOAD SWAP4 POP PUSH1 0x60 DUP8 ADD CALLDATALOAD SWAP3 POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29E5 DUP10 DUP3 DUP11 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x2A08 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A11 DUP6 PUSH2 0x2702 JUMP JUMPDEST SWAP4 POP PUSH2 0x2A1F PUSH1 0x20 DUP7 ADD PUSH2 0x2702 JUMP JUMPDEST SWAP4 SWAP7 SWAP4 SWAP6 POP POP POP POP PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 PUSH1 0x60 ADD CALLDATALOAD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2A6E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2A77 DUP7 PUSH2 0x2702 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2A9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2AA7 DUP10 DUP4 DUP11 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2AC4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2AD1 DUP9 DUP3 DUP10 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2AF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2962 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2B24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B2D DUP5 PUSH2 0x2702 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B5C DUP7 DUP3 DUP8 ADD PUSH2 0x27E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x14 SWAP1 DUP3 ADD MSTORE PUSH20 0x4E6F7420416C6C6F776C697374204F776E657221 PUSH1 0x60 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x2BDD JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2BFD JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x2C28 JUMPI PUSH2 0x2C28 PUSH2 0x2C03 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x2C42 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x276D JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x2C56 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x276D JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x15 SWAP1 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x2CA0 JUMPI PUSH2 0x2CA0 PUSH2 0x2C03 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2CB7 JUMPI PUSH2 0x2CB7 PUSH2 0x2C03 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x2CD1 JUMPI PUSH2 0x2CD1 PUSH2 0x2C03 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2CFB JUMPI PUSH2 0x2CFB PUSH2 0x2CD6 JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x2D0F JUMPI PUSH2 0x2D0F PUSH2 0x2CD6 JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x2D44 JUMPI PUSH2 0x2D44 PUSH2 0x2C03 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xA07 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2D70 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x2D8F JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2D7C JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2DB1 JUMPI PUSH2 0x2DB1 PUSH2 0x27D0 JUMP JUMPDEST PUSH2 0x2DC5 DUP2 PUSH2 0x2DBF DUP5 SLOAD PUSH2 0x2BC9 JUMP JUMPDEST DUP5 PUSH2 0x2D49 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2DFA JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2DE2 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x2D8F JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2E29 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2E0A JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2E47 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD8 0x4B 0xE3 SHL SSTORE 0xB9 SWAP6 PUSH31 0xEDEC9AC513CD6049F6F334A1EBC344347050CA815BD44D6864736F6C634300 ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 826, + 15781 + ], + "op": "PUSH1", + "path": "39", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "MSTORE", + "path": "39" + }, + "5": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "7": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "8": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "LT", + "path": "39" + }, + "9": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1FA" + }, + "12": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "13": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "15": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "CALLDATALOAD", + "path": "39" + }, + "16": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH1", + "path": "39", + "value": "0xE0" + }, + "18": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "SHR", + "path": "39" + }, + "19": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "20": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x95D89B41" + }, + "25": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "GT", + "path": "39" + }, + "26": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x10C" + }, + "29": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "30": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "31": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xDACA6F78" + }, + "36": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "GT", + "path": "39" + }, + "37": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x9A" + }, + "40": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "41": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "42": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xED734730" + }, + "47": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "GT", + "path": "39" + }, + "48": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6C" + }, + "51": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "52": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "53": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xED734730" + }, + "58": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "59": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x5EF" + }, + "62": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "63": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "64": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xF2FDE38B" + }, + "69": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "70": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x602" + }, + "73": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "74": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "75": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xF577A500" + }, + "80": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "81": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x622" + }, + "84": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "85": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "86": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xFAD54DE7" + }, + "91": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "92": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x652" + }, + "95": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "96": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "97": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xFB8F198D" + }, + "102": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "103": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x667" + }, + "106": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "107": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "108": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "109": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "110": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xDACA6F78" + }, + "115": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "116": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x56F" + }, + "119": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "120": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "121": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xE8C58763" + }, + "126": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "127": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x58F" + }, + "130": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "131": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "132": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xE92B0842" + }, + "137": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "138": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x5AF" + }, + "141": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "142": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "143": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xEA5353C7" + }, + "148": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "149": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x5CF" + }, + "152": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "153": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "154": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "155": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "156": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xBD97A6AD" + }, + "161": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "GT", + "path": "39" + }, + "162": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0xDE" + }, + "165": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "166": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "167": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xBD97A6AD" + }, + "172": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "173": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4DA" + }, + "176": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "177": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "178": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xC3CAB38A" + }, + "183": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "184": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4FA" + }, + "187": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "188": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "189": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xC87B56DD" + }, + "194": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "195": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x51A" + }, + "198": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "199": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "200": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xC9DD94C7" + }, + "205": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "206": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x53A" + }, + "209": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "210": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "211": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xC9E4C54D" + }, + "216": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "217": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x54F" + }, + "220": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "221": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "222": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "223": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "224": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x95D89B41" + }, + "229": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "230": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x48A" + }, + "233": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "234": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "235": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x983A8B94" + }, + "240": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "241": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x49F" + }, + "244": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "245": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "246": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xA0B97DAA" + }, + "251": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "252": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4B2" + }, + "255": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "256": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "257": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0xBD131786" + }, + "262": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "263": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4C7" + }, + "266": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "267": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "268": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "269": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "270": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x51CFF8D9" + }, + "275": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "GT", + "path": "39" + }, + "276": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x189" + }, + "279": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "280": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "281": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x6E0A8746" + }, + "286": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "GT", + "path": "39" + }, + "287": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x15B" + }, + "290": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "291": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "292": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x6E0A8746" + }, + "297": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "298": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x3F9" + }, + "301": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "302": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "303": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x70A08231" + }, + "308": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "309": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x417" + }, + "312": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "313": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "314": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x715018A6" + }, + "319": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "320": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x437" + }, + "323": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "324": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "325": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x88433651" + }, + "330": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "331": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x44C" + }, + "334": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "335": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "336": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x8DA5CB5B" + }, + "341": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "342": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x46C" + }, + "345": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "346": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "347": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "348": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "349": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x51CFF8D9" + }, + "354": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "355": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x320" + }, + "358": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "359": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "360": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x5899E7B2" + }, + "365": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "366": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x340" + }, + "369": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "370": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "371": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x6352211E" + }, + "376": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "377": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x386" + }, + "380": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "381": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "382": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x6833F200" + }, + "387": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "388": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x3BE" + }, + "391": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "392": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "393": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "394": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "395": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x1F04D135" + }, + "400": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "GT", + "path": "39" + }, + "401": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1CD" + }, + "404": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "405": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "406": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x1F04D135" + }, + "411": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "412": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x29A" + }, + "415": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "416": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "417": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x210FA96B" + }, + "422": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "423": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2BA" + }, + "426": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "427": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "428": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x33E085C1" + }, + "433": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "434": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2DA" + }, + "437": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "438": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "439": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x3D1A350E" + }, + "444": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "445": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2ED" + }, + "448": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "449": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "450": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x42966C68" + }, + "455": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "456": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x300" + }, + "459": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "460": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "461": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "462": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "463": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH3", + "path": "39", + "value": "0xE4768B" + }, + "467": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "468": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x203" + }, + "471": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "472": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "473": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x1FFC9A7" + }, + "478": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "479": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x223" + }, + "482": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "483": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "484": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x6FDDE03" + }, + "489": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "490": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x258" + }, + "493": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "494": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "DUP1", + "path": "39" + }, + "495": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH4", + "path": "39", + "value": "0x8C92E57" + }, + "500": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "EQ", + "path": "39" + }, + "501": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x27A" + }, + "504": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "505": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "506": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "507": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "508": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "511": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPI", + "path": "39" + }, + "512": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "513": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "JUMPDEST", + "path": "39" + }, + "514": { + "fn": null, + "offset": [ + 826, + 15781 + ], + "op": "STOP", + "path": "39" + }, + "515": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "JUMPDEST", + "path": "39" + }, + "516": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "CALLVALUE", + "path": "39" + }, + "517": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "DUP1", + "path": "39" + }, + "518": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "ISZERO", + "path": "39" + }, + "519": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "PUSH2", + "path": "39", + "value": "0x20F" + }, + "522": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "JUMPI", + "path": "39" + }, + "523": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "525": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "DUP1", + "path": "39" + }, + "526": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "REVERT", + "path": "39" + }, + "527": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "JUMPDEST", + "path": "39" + }, + "528": { + "op": "POP" + }, + "529": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "532": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "PUSH2", + "path": "39", + "value": "0x21E" + }, + "535": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "536": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "538": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2719" + }, + "541": { + "fn": "SoulboundRedeemable.setPrice", + "jump": "i", + "offset": [ + 3672, + 4009 + ], + "op": "JUMP", + "path": "39" + }, + "542": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "JUMPDEST", + "path": "39" + }, + "543": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "PUSH2", + "path": "39", + "value": "0x687" + }, + "546": { + "fn": "SoulboundRedeemable.setPrice", + "jump": "i", + "offset": [ + 3672, + 4009 + ], + "op": "JUMP", + "path": "39" + }, + "547": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "548": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "CALLVALUE", + "path": "41" + }, + "549": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "DUP1", + "path": "41" + }, + "550": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "ISZERO", + "path": "41" + }, + "551": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x22F" + }, + "554": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPI", + "path": "41" + }, + "555": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "557": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "DUP1", + "path": "41" + }, + "558": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "REVERT", + "path": "41" + }, + "559": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "560": { + "op": "POP" + }, + "561": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x243" + }, + "564": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x23E" + }, + "567": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "568": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "570": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2743" + }, + "573": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "574": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "575": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x756" + }, + "578": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "579": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "580": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "582": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "583": { + "op": "SWAP1" + }, + "584": { + "op": "ISZERO" + }, + "585": { + "op": "ISZERO" + }, + "586": { + "op": "DUP2" + }, + "587": { + "op": "MSTORE" + }, + "588": { + "op": "PUSH1", + "value": "0x20" + }, + "590": { + "op": "ADD" + }, + "591": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "592": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "594": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "595": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "DUP1", + "path": "41" + }, + "596": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "597": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SUB", + "path": "41" + }, + "598": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP1", + "path": "41" + }, + "599": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "RETURN", + "path": "41" + }, + "600": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "601": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "CALLVALUE", + "path": "41" + }, + "602": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "DUP1", + "path": "41" + }, + "603": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "ISZERO", + "path": "41" + }, + "604": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x264" + }, + "607": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPI", + "path": "41" + }, + "608": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "610": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "DUP1", + "path": "41" + }, + "611": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "REVERT", + "path": "41" + }, + "612": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "613": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "POP", + "path": "41" + }, + "614": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x26D" + }, + "617": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7A8" + }, + "620": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "621": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "622": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "624": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "MLOAD", + "path": "41" + }, + "625": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x24F" + }, + "628": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP2", + "path": "41" + }, + "629": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "630": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x279D" + }, + "633": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "634": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "635": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "CALLVALUE", + "path": "38" + }, + "636": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "DUP1", + "path": "38" + }, + "637": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "ISZERO", + "path": "38" + }, + "638": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x286" + }, + "641": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPI", + "path": "38" + }, + "642": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "644": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "DUP1", + "path": "38" + }, + "645": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "REVERT", + "path": "38" + }, + "646": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "647": { + "op": "POP" + }, + "648": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x201" + }, + "651": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x295" + }, + "654": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "655": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "657": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2873" + }, + "660": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "661": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "662": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x83A" + }, + "665": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "666": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPDEST", + "path": "40" + }, + "667": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "CALLVALUE", + "path": "40" + }, + "668": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "DUP1", + "path": "40" + }, + "669": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "ISZERO", + "path": "40" + }, + "670": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2A6" + }, + "673": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPI", + "path": "40" + }, + "674": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "676": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "DUP1", + "path": "40" + }, + "677": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "REVERT", + "path": "40" + }, + "678": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPDEST", + "path": "40" + }, + "679": { + "op": "POP" + }, + "680": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x201" + }, + "683": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2B5" + }, + "686": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "CALLDATASIZE", + "path": "40" + }, + "687": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "689": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2873" + }, + "692": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 2850, + 3565 + ], + "op": "JUMP", + "path": "40" + }, + "693": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPDEST", + "path": "40" + }, + "694": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x970" + }, + "697": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 2850, + 3565 + ], + "op": "JUMP", + "path": "40" + }, + "698": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "699": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "CALLVALUE", + "path": "38" + }, + "700": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "DUP1", + "path": "38" + }, + "701": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "ISZERO", + "path": "38" + }, + "702": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2C6" + }, + "705": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPI", + "path": "38" + }, + "706": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "708": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "DUP1", + "path": "38" + }, + "709": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "REVERT", + "path": "38" + }, + "710": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "711": { + "op": "POP" + }, + "712": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x26D" + }, + "715": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2D5" + }, + "718": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "719": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "721": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x28C3" + }, + "724": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "725": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "726": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA0C" + }, + "729": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "730": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "JUMPDEST", + "path": "39" + }, + "731": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "734": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2E8" + }, + "737": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "738": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "740": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2719" + }, + "743": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 6103, + 8070 + ], + "op": "JUMP", + "path": "39" + }, + "744": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "JUMPDEST", + "path": "39" + }, + "745": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "PUSH2", + "path": "39", + "value": "0xA8E" + }, + "748": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 6103, + 8070 + ], + "op": "JUMP", + "path": "39" + }, + "749": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "JUMPDEST", + "path": "39" + }, + "750": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "753": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2FB" + }, + "756": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "757": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "759": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "PUSH2", + "path": "39", + "value": "0x28DC" + }, + "762": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "i", + "offset": [ + 10643, + 12123 + ], + "op": "JUMP", + "path": "39" + }, + "763": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "JUMPDEST", + "path": "39" + }, + "764": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "PUSH2", + "path": "39", + "value": "0xDA6" + }, + "767": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "i", + "offset": [ + 10643, + 12123 + ], + "op": "JUMP", + "path": "39" + }, + "768": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "769": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "CALLVALUE", + "path": "41" + }, + "770": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "DUP1", + "path": "41" + }, + "771": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "ISZERO", + "path": "41" + }, + "772": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x30C" + }, + "775": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPI", + "path": "41" + }, + "776": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "778": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "DUP1", + "path": "41" + }, + "779": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "REVERT", + "path": "41" + }, + "780": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "781": { + "op": "POP" + }, + "782": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x201" + }, + "785": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x31B" + }, + "788": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "789": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "791": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x28C3" + }, + "794": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "795": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "796": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1098" + }, + "799": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "800": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "JUMPDEST", + "path": "39" + }, + "801": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "CALLVALUE", + "path": "39" + }, + "802": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "DUP1", + "path": "39" + }, + "803": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "ISZERO", + "path": "39" + }, + "804": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "PUSH2", + "path": "39", + "value": "0x32C" + }, + "807": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "JUMPI", + "path": "39" + }, + "808": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "810": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "DUP1", + "path": "39" + }, + "811": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "REVERT", + "path": "39" + }, + "812": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "JUMPDEST", + "path": "39" + }, + "813": { + "op": "POP" + }, + "814": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "817": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "PUSH2", + "path": "39", + "value": "0x33B" + }, + "820": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "821": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "823": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "PUSH2", + "path": "39", + "value": "0x290F" + }, + "826": { + "fn": "SoulboundRedeemable.withdraw", + "jump": "i", + "offset": [ + 14559, + 15200 + ], + "op": "JUMP", + "path": "39" + }, + "827": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "JUMPDEST", + "path": "39" + }, + "828": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "PUSH2", + "path": "39", + "value": "0x110D" + }, + "831": { + "fn": "SoulboundRedeemable.withdraw", + "jump": "i", + "offset": [ + 14559, + 15200 + ], + "op": "JUMP", + "path": "39" + }, + "832": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "833": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "CALLVALUE", + "path": "37" + }, + "834": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "DUP1", + "path": "37" + }, + "835": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "ISZERO", + "path": "37" + }, + "836": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x34C" + }, + "839": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPI", + "path": "37" + }, + "840": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "842": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "DUP1", + "path": "37" + }, + "843": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "REVERT", + "path": "37" + }, + "844": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "845": { + "op": "POP" + }, + "846": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x243" + }, + "849": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x35B" + }, + "852": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "853": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "855": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2719" + }, + "858": { + "fn": "Soulbound.isMinted", + "jump": "i", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "859": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "860": { + "op": "PUSH1", + "value": "0x1" + }, + "862": { + "op": "PUSH1", + "value": "0x1" + }, + "864": { + "op": "PUSH1", + "value": "0xA0" + }, + "866": { + "op": "SHL" + }, + "867": { + "op": "SUB" + }, + "868": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37", + "statement": 0 + }, + "869": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "870": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37" + }, + "871": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "AND", + "path": "37" + }, + "872": { + "fn": "Soulbound.isMinted", + "offset": [ + 5319, + 5323 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "874": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "875": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "876": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "877": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5351 + ], + "op": "PUSH1", + "path": "37", + "value": "0x8" + }, + "879": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "881": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "882": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "883": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "884": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "886": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP1", + "path": "37" + }, + "887": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP4", + "path": "37" + }, + "888": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "KECCAK256", + "path": "37" + }, + "889": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP4", + "path": "37" + }, + "890": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "DUP4", + "path": "37" + }, + "891": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "892": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP3", + "path": "37" + }, + "893": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "894": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "895": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "KECCAK256", + "path": "37" + }, + "896": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SLOAD", + "path": "37" + }, + "897": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "PUSH1", + "path": "37", + "value": "0xFF" + }, + "899": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "AND", + "path": "37" + }, + "900": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "901": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "902": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "903": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "CALLVALUE", + "path": "41" + }, + "904": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "DUP1", + "path": "41" + }, + "905": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "ISZERO", + "path": "41" + }, + "906": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x392" + }, + "909": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPI", + "path": "41" + }, + "910": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "912": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "DUP1", + "path": "41" + }, + "913": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "REVERT", + "path": "41" + }, + "914": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "915": { + "op": "POP" + }, + "916": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3A6" + }, + "919": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3A1" + }, + "922": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "923": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "925": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x28C3" + }, + "928": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "929": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "930": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1263" + }, + "933": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "934": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "935": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "937": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "MLOAD", + "path": "41" + }, + "938": { + "op": "PUSH1", + "value": "0x1" + }, + "940": { + "op": "PUSH1", + "value": "0x1" + }, + "942": { + "op": "PUSH1", + "value": "0xA0" + }, + "944": { + "op": "SHL" + }, + "945": { + "op": "SUB" + }, + "946": { + "op": "SWAP1" + }, + "947": { + "op": "SWAP2" + }, + "948": { + "op": "AND" + }, + "949": { + "op": "DUP2" + }, + "950": { + "op": "MSTORE" + }, + "951": { + "op": "PUSH1", + "value": "0x20" + }, + "953": { + "op": "ADD" + }, + "954": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x24F" + }, + "957": { + "op": "JUMP" + }, + "958": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "959": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "CALLVALUE", + "path": "36" + }, + "960": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "DUP1", + "path": "36" + }, + "961": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "ISZERO", + "path": "36" + }, + "962": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x3CA" + }, + "965": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPI", + "path": "36" + }, + "966": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "968": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "DUP1", + "path": "36" + }, + "969": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "REVERT", + "path": "36" + }, + "970": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "971": { + "op": "POP" + }, + "972": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x3EB" + }, + "975": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x3D9" + }, + "978": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "979": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "981": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x28C3" + }, + "984": { + "fn": "IsValidWithDate.getExpiryDate", + "jump": "i", + "offset": [ + 1372, + 1490 + ], + "op": "JUMP", + "path": "36" + }, + "985": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "986": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1433, + 1440 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "988": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36", + "statement": 1 + }, + "989": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "990": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "991": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "993": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "994": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "995": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "996": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "998": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "999": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "1000": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "1001": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "1002": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMP", + "path": "36" + }, + "1003": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1004": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "1006": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "MLOAD", + "path": "36" + }, + "1007": { + "op": "SWAP1" + }, + "1008": { + "op": "DUP2" + }, + "1009": { + "op": "MSTORE" + }, + "1010": { + "op": "PUSH1", + "value": "0x20" + }, + "1012": { + "op": "ADD" + }, + "1013": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1372, + 1490 + ], + "op": "PUSH2", + "path": "36", + "value": "0x24F" + }, + "1016": { + "op": "JUMP" + }, + "1017": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1018": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "CALLVALUE", + "path": "14" + }, + "1019": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "DUP1", + "path": "14" + }, + "1020": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "ISZERO", + "path": "14" + }, + "1021": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "PUSH2", + "path": "14", + "value": "0x405" + }, + "1024": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPI", + "path": "14" + }, + "1025": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "1027": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "DUP1", + "path": "14" + }, + "1028": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "REVERT", + "path": "14" + }, + "1029": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1030": { + "op": "POP" + }, + "1031": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "statement": 2, + "value": "0x9" + }, + "1033": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "1034": { + "op": "PUSH1", + "value": "0x1" + }, + "1036": { + "op": "PUSH1", + "value": "0x1" + }, + "1038": { + "op": "PUSH1", + "value": "0xA0" + }, + "1040": { + "op": "SHL" + }, + "1041": { + "op": "SUB" + }, + "1042": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "1043": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "PUSH2", + "path": "14", + "value": "0x3A6" + }, + "1046": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "1047": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1048": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "CALLVALUE", + "path": "41" + }, + "1049": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "DUP1", + "path": "41" + }, + "1050": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "ISZERO", + "path": "41" + }, + "1051": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x423" + }, + "1054": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPI", + "path": "41" + }, + "1055": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1057": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "DUP1", + "path": "41" + }, + "1058": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "REVERT", + "path": "41" + }, + "1059": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1060": { + "op": "POP" + }, + "1061": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3EB" + }, + "1064": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x432" + }, + "1067": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "1068": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1070": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x290F" + }, + "1073": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "1074": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1075": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x12C8" + }, + "1078": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "1079": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1080": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "CALLVALUE", + "path": "0" + }, + "1081": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "DUP1", + "path": "0" + }, + "1082": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "ISZERO", + "path": "0" + }, + "1083": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x443" + }, + "1086": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPI", + "path": "0" + }, + "1087": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1089": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "DUP1", + "path": "0" + }, + "1090": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "REVERT", + "path": "0" + }, + "1091": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1092": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "POP", + "path": "0" + }, + "1093": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x201" + }, + "1096": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1351" + }, + "1099": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "1100": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1101": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "CALLVALUE", + "path": "38" + }, + "1102": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "DUP1", + "path": "38" + }, + "1103": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "ISZERO", + "path": "38" + }, + "1104": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x458" + }, + "1107": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPI", + "path": "38" + }, + "1108": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "1110": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "DUP1", + "path": "38" + }, + "1111": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "REVERT", + "path": "38" + }, + "1112": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1113": { + "op": "POP" + }, + "1114": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x201" + }, + "1117": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x467" + }, + "1120": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "1121": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1123": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x292A" + }, + "1126": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5539, + 5739 + ], + "op": "JUMP", + "path": "38" + }, + "1127": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1128": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1387" + }, + "1131": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5539, + 5739 + ], + "op": "JUMP", + "path": "38" + }, + "1132": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1133": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "CALLVALUE", + "path": "0" + }, + "1134": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "DUP1", + "path": "0" + }, + "1135": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "ISZERO", + "path": "0" + }, + "1136": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH2", + "path": "0", + "value": "0x478" + }, + "1139": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPI", + "path": "0" + }, + "1140": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1142": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "DUP1", + "path": "0" + }, + "1143": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "REVERT", + "path": "0" + }, + "1144": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1145": { + "op": "POP" + }, + "1146": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "statement": 3, + "value": "0x6" + }, + "1148": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1149": { + "op": "PUSH1", + "value": "0x1" + }, + "1151": { + "op": "PUSH1", + "value": "0x1" + }, + "1153": { + "op": "PUSH1", + "value": "0xA0" + }, + "1155": { + "op": "SHL" + }, + "1156": { + "op": "SUB" + }, + "1157": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1158": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH2", + "path": "0", + "value": "0x3A6" + }, + "1161": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "1162": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1163": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "CALLVALUE", + "path": "41" + }, + "1164": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "DUP1", + "path": "41" + }, + "1165": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "ISZERO", + "path": "41" + }, + "1166": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x496" + }, + "1169": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPI", + "path": "41" + }, + "1170": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1172": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "DUP1", + "path": "41" + }, + "1173": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "REVERT", + "path": "41" + }, + "1174": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1175": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "POP", + "path": "41" + }, + "1176": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x26D" + }, + "1179": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x13FD" + }, + "1182": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4886, + 4988 + ], + "op": "JUMP", + "path": "41" + }, + "1183": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1184": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "1187": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4AD" + }, + "1190": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "1191": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "1193": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2978" + }, + "1196": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "jump": "i", + "offset": [ + 13771, + 14280 + ], + "op": "JUMP", + "path": "39" + }, + "1197": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1198": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "PUSH2", + "path": "39", + "value": "0x140C" + }, + "1201": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "jump": "i", + "offset": [ + 13771, + 14280 + ], + "op": "JUMP", + "path": "39" + }, + "1202": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1203": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "CALLVALUE", + "path": "39" + }, + "1204": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "DUP1", + "path": "39" + }, + "1205": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "ISZERO", + "path": "39" + }, + "1206": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4BE" + }, + "1209": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "JUMPI", + "path": "39" + }, + "1210": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "1212": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "DUP1", + "path": "39" + }, + "1213": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "REVERT", + "path": "39" + }, + "1214": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1215": { + "op": "POP" + }, + "1216": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3365, + 3375 + ], + "op": "PUSH1", + "path": "39", + "statement": 4, + "value": "0xE" + }, + "1218": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3365, + 3375 + ], + "op": "SLOAD", + "path": "39" + }, + "1219": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "PUSH2", + "path": "39", + "value": "0x3EB" + }, + "1222": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3274, + 3382 + ], + "op": "JUMP", + "path": "39" + }, + "1223": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1224": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "1227": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4D5" + }, + "1230": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "1231": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "1233": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2978" + }, + "1236": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "jump": "i", + "offset": [ + 12692, + 13203 + ], + "op": "JUMP", + "path": "39" + }, + "1237": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1238": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1504" + }, + "1241": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "jump": "i", + "offset": [ + 12692, + 13203 + ], + "op": "JUMP", + "path": "39" + }, + "1242": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1243": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "CALLVALUE", + "path": "39" + }, + "1244": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "DUP1", + "path": "39" + }, + "1245": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "ISZERO", + "path": "39" + }, + "1246": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4E6" + }, + "1249": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "JUMPI", + "path": "39" + }, + "1250": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "1252": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "DUP1", + "path": "39" + }, + "1253": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "REVERT", + "path": "39" + }, + "1254": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1255": { + "op": "POP" + }, + "1256": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "1259": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "PUSH2", + "path": "39", + "value": "0x4F5" + }, + "1262": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "1263": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "1265": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "PUSH2", + "path": "39", + "value": "0x29F2" + }, + "1268": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "jump": "i", + "offset": [ + 4548, + 5770 + ], + "op": "JUMP", + "path": "39" + }, + "1269": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1270": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "PUSH2", + "path": "39", + "value": "0x15E9" + }, + "1273": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "jump": "i", + "offset": [ + 4548, + 5770 + ], + "op": "JUMP", + "path": "39" + }, + "1274": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1275": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "CALLVALUE", + "path": "36" + }, + "1276": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "DUP1", + "path": "36" + }, + "1277": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "ISZERO", + "path": "36" + }, + "1278": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x506" + }, + "1281": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPI", + "path": "36" + }, + "1282": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "1284": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "DUP1", + "path": "36" + }, + "1285": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "REVERT", + "path": "36" + }, + "1286": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1287": { + "op": "POP" + }, + "1288": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x201" + }, + "1291": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x515" + }, + "1294": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "1295": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "1297": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x2A34" + }, + "1300": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "i", + "offset": [ + 917, + 1166 + ], + "op": "JUMP", + "path": "36" + }, + "1301": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1302": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "PUSH2", + "path": "36", + "value": "0x17DD" + }, + "1305": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "i", + "offset": [ + 917, + 1166 + ], + "op": "JUMP", + "path": "36" + }, + "1306": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1307": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "CALLVALUE", + "path": "41" + }, + "1308": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "DUP1", + "path": "41" + }, + "1309": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "ISZERO", + "path": "41" + }, + "1310": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x526" + }, + "1313": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPI", + "path": "41" + }, + "1314": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1316": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "DUP1", + "path": "41" + }, + "1317": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "REVERT", + "path": "41" + }, + "1318": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1319": { + "op": "POP" + }, + "1320": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x26D" + }, + "1323": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x535" + }, + "1326": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "1327": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1329": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x28C3" + }, + "1332": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "1333": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1334": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1835" + }, + "1337": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "1338": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1339": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "CALLVALUE", + "path": "37" + }, + "1340": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "DUP1", + "path": "37" + }, + "1341": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "ISZERO", + "path": "37" + }, + "1342": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x546" + }, + "1345": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPI", + "path": "37" + }, + "1346": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "1348": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "DUP1", + "path": "37" + }, + "1349": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "REVERT", + "path": "37" + }, + "1350": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1351": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "POP", + "path": "37" + }, + "1352": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x26D" + }, + "1355": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x192A" + }, + "1358": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7425, + 7673 + ], + "op": "JUMP", + "path": "37" + }, + "1359": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1360": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "CALLVALUE", + "path": "38" + }, + "1361": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "DUP1", + "path": "38" + }, + "1362": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "ISZERO", + "path": "38" + }, + "1363": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x55B" + }, + "1366": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPI", + "path": "38" + }, + "1367": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "1369": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "DUP1", + "path": "38" + }, + "1370": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "REVERT", + "path": "38" + }, + "1371": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1372": { + "op": "POP" + }, + "1373": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x201" + }, + "1376": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x56A" + }, + "1379": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "1380": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1382": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2A56" + }, + "1385": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "1386": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1387": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1987" + }, + "1390": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "1391": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1392": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "CALLVALUE", + "path": "14" + }, + "1393": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "DUP1", + "path": "14" + }, + "1394": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "ISZERO", + "path": "14" + }, + "1395": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x57B" + }, + "1398": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPI", + "path": "14" + }, + "1399": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "1401": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "DUP1", + "path": "14" + }, + "1402": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "REVERT", + "path": "14" + }, + "1403": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1404": { + "op": "POP" + }, + "1405": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x243" + }, + "1408": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x58A" + }, + "1411": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "1412": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "1414": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2ADE" + }, + "1417": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "1418": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1419": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1A94" + }, + "1422": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "1423": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1424": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "CALLVALUE", + "path": "36" + }, + "1425": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "DUP1", + "path": "36" + }, + "1426": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "ISZERO", + "path": "36" + }, + "1427": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x59B" + }, + "1430": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPI", + "path": "36" + }, + "1431": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "1433": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "DUP1", + "path": "36" + }, + "1434": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "REVERT", + "path": "36" + }, + "1435": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1436": { + "op": "POP" + }, + "1437": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x3EB" + }, + "1440": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x5AA" + }, + "1443": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "1444": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "1446": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x28C3" + }, + "1449": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "i", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "1450": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1451": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "PUSH2", + "path": "36", + "value": "0x1AA7" + }, + "1454": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "i", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "1455": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1456": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "CALLVALUE", + "path": "14" + }, + "1457": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "DUP1", + "path": "14" + }, + "1458": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "ISZERO", + "path": "14" + }, + "1459": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x5BB" + }, + "1462": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPI", + "path": "14" + }, + "1463": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "1465": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "DUP1", + "path": "14" + }, + "1466": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "REVERT", + "path": "14" + }, + "1467": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1468": { + "op": "POP" + }, + "1469": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x243" + }, + "1472": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x5CA" + }, + "1475": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "1476": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "1478": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2B0F" + }, + "1481": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "1482": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "1483": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1AE4" + }, + "1486": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "1487": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1488": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "CALLVALUE", + "path": "40" + }, + "1489": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "DUP1", + "path": "40" + }, + "1490": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "ISZERO", + "path": "40" + }, + "1491": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x5DB" + }, + "1494": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPI", + "path": "40" + }, + "1495": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "1497": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "DUP1", + "path": "40" + }, + "1498": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "REVERT", + "path": "40" + }, + "1499": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1500": { + "op": "POP" + }, + "1501": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x201" + }, + "1504": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x5EA" + }, + "1507": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "CALLDATASIZE", + "path": "40" + }, + "1508": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "1510": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2A56" + }, + "1513": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "i", + "offset": [ + 1465, + 2131 + ], + "op": "JUMP", + "path": "40" + }, + "1514": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1515": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1B78" + }, + "1518": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "i", + "offset": [ + 1465, + 2131 + ], + "op": "JUMP", + "path": "40" + }, + "1519": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1520": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "PUSH2", + "path": "39", + "value": "0x201" + }, + "1523": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "PUSH2", + "path": "39", + "value": "0x5FD" + }, + "1526": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "CALLDATASIZE", + "path": "39" + }, + "1527": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "1529": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "PUSH2", + "path": "39", + "value": "0x28DC" + }, + "1532": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "jump": "i", + "offset": [ + 8593, + 10121 + ], + "op": "JUMP", + "path": "39" + }, + "1533": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1534": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1BF7" + }, + "1537": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "jump": "i", + "offset": [ + 8593, + 10121 + ], + "op": "JUMP", + "path": "39" + }, + "1538": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1539": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLVALUE", + "path": "0" + }, + "1540": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "DUP1", + "path": "0" + }, + "1541": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "ISZERO", + "path": "0" + }, + "1542": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x60E" + }, + "1545": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPI", + "path": "0" + }, + "1546": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "1548": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "DUP1", + "path": "0" + }, + "1549": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "REVERT", + "path": "0" + }, + "1550": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1551": { + "op": "POP" + }, + "1552": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x201" + }, + "1555": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x61D" + }, + "1558": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "1559": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1561": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x290F" + }, + "1564": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "1565": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1566": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1DA3" + }, + "1569": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "1570": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1571": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "CALLVALUE", + "path": "36" + }, + "1572": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "DUP1", + "path": "36" + }, + "1573": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "ISZERO", + "path": "36" + }, + "1574": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0x62E" + }, + "1577": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMPI", + "path": "36" + }, + "1578": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "1580": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "DUP1", + "path": "36" + }, + "1581": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "REVERT", + "path": "36" + }, + "1582": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1583": { + "op": "POP" + }, + "1584": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0x243" + }, + "1587": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0x63D" + }, + "1590": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "CALLDATASIZE", + "path": "36" + }, + "1591": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH1", + "path": "36", + "value": "0x4" + }, + "1593": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "PUSH2", + "path": "36", + "value": "0x28C3" + }, + "1596": { + "fn": "IsValidWithDate.isValid", + "jump": "i", + "offset": [ + 1723, + 1849 + ], + "op": "JUMP", + "path": "36" + }, + "1597": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMPDEST", + "path": "36" + }, + "1598": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1778, + 1782 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "1600": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "1601": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "1602": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "1603": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "1605": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "1606": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "1607": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "1608": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "1610": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "1611": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "1612": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "1613": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1816 + ], + "op": "TIMESTAMP", + "path": "36", + "statement": 5 + }, + "1614": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "GT", + "path": "36" + }, + "1615": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "ISZERO", + "path": "36" + }, + "1616": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "SWAP1", + "path": "36" + }, + "1617": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1723, + 1849 + ], + "op": "JUMP", + "path": "36" + }, + "1618": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1619": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "CALLVALUE", + "path": "39" + }, + "1620": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "DUP1", + "path": "39" + }, + "1621": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "ISZERO", + "path": "39" + }, + "1622": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "PUSH2", + "path": "39", + "value": "0x65E" + }, + "1625": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "JUMPI", + "path": "39" + }, + "1626": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "1628": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "DUP1", + "path": "39" + }, + "1629": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "REVERT", + "path": "39" + }, + "1630": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1631": { + "op": "POP" + }, + "1632": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 3076, + 3086 + ], + "op": "PUSH1", + "path": "39", + "statement": 6, + "value": "0xF" + }, + "1634": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 3076, + 3086 + ], + "op": "SLOAD", + "path": "39" + }, + "1635": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "PUSH2", + "path": "39", + "value": "0x3EB" + }, + "1638": { + "fn": "SoulboundRedeemable.getIndividualTokenPrice", + "offset": [ + 2947, + 3093 + ], + "op": "JUMP", + "path": "39" + }, + "1639": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1640": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "CALLVALUE", + "path": "37" + }, + "1641": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "DUP1", + "path": "37" + }, + "1642": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "ISZERO", + "path": "37" + }, + "1643": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x673" + }, + "1646": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPI", + "path": "37" + }, + "1647": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "1649": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "DUP1", + "path": "37" + }, + "1650": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "REVERT", + "path": "37" + }, + "1651": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1652": { + "op": "POP" + }, + "1653": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x3A6" + }, + "1656": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x682" + }, + "1659": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "1660": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "1662": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2719" + }, + "1665": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "1666": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "1667": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1E3B" + }, + "1670": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "1671": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3672, + 4009 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1672": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "1674": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1675": { + "op": "PUSH1", + "value": "0x1" + }, + "1677": { + "op": "PUSH1", + "value": "0x1" + }, + "1679": { + "op": "PUSH1", + "value": "0xA0" + }, + "1681": { + "op": "SHL" + }, + "1682": { + "op": "SUB" + }, + "1683": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1684": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 7 + }, + "1685": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1686": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6BA" + }, + "1689": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1690": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1692": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1693": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1697": { + "op": "PUSH1", + "value": "0xE5" + }, + "1699": { + "op": "SHL" + }, + "1700": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1701": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1702": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1704": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1705": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "1708": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1709": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "1712": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1713": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1714": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1716": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1717": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "DUP1", + "path": "0" + }, + "1718": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP2", + "path": "0" + }, + "1719": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SUB", + "path": "0" + }, + "1720": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1721": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "0" + }, + "1722": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1723": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3782, + 3788 + ], + "op": "DUP2", + "path": "39" + }, + "1724": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6CD" + }, + "1727": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x9" + }, + "1729": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "1730": { + "op": "PUSH1", + "value": "0x1" + }, + "1732": { + "op": "PUSH1", + "value": "0x1" + }, + "1734": { + "op": "PUSH1", + "value": "0xA0" + }, + "1736": { + "op": "SHL" + }, + "1737": { + "op": "SUB" + }, + "1738": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "1739": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "1740": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "1741": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1742": { + "op": "PUSH1", + "value": "0x1" + }, + "1744": { + "op": "PUSH1", + "value": "0x1" + }, + "1746": { + "op": "PUSH1", + "value": "0xA0" + }, + "1748": { + "op": "SHL" + }, + "1749": { + "op": "SUB" + }, + "1750": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "1751": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "1752": { + "op": "PUSH1", + "value": "0x1" + }, + "1754": { + "op": "PUSH1", + "value": "0x1" + }, + "1756": { + "op": "PUSH1", + "value": "0xA0" + }, + "1758": { + "op": "SHL" + }, + "1759": { + "op": "SUB" + }, + "1760": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "1761": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "1762": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6FD" + }, + "1765": { + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "1766": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1768": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "1769": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1773": { + "op": "PUSH1", + "value": "0xE5" + }, + "1775": { + "op": "SHL" + }, + "1776": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "1777": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "1778": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1780": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "1781": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "1784": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "SWAP1", + "path": "38" + }, + "1785": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2B9B" + }, + "1788": { + "fn": "Allowlist.getAllowlistOwner", + "jump": "i", + "offset": [ + 1685, + 1748 + ], + "op": "JUMP", + "path": "38" + }, + "1789": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1790": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3365, + 3375 + ], + "op": "PUSH1", + "path": "39", + "value": "0xE" + }, + "1792": { + "fn": "SoulboundRedeemable.getPriceLimit", + "offset": [ + 3365, + 3375 + ], + "op": "SLOAD", + "path": "39" + }, + "1793": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3891, + 3897 + ], + "op": "DUP3", + "path": "39", + "statement": 8 + }, + "1794": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3891, + 3916 + ], + "op": "GT", + "path": "39" + }, + "1795": { + "branch": 138, + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3891, + 3916 + ], + "op": "ISZERO", + "path": "39" + }, + "1796": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "PUSH2", + "path": "39", + "value": "0x74F" + }, + "1799": { + "branch": 138, + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "JUMPI", + "path": "39" + }, + "1800": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "1802": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "MLOAD", + "path": "39" + }, + "1803": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1807": { + "op": "PUSH1", + "value": "0xE5" + }, + "1809": { + "op": "SHL" + }, + "1810": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "DUP2", + "path": "39" + }, + "1811": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "MSTORE", + "path": "39" + }, + "1812": { + "op": "PUSH1", + "value": "0x20" + }, + "1814": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "1816": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "DUP3", + "path": "39" + }, + "1817": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "ADD", + "path": "39" + }, + "1818": { + "op": "MSTORE" + }, + "1819": { + "op": "PUSH1", + "value": "0x18" + }, + "1821": { + "op": "PUSH1", + "value": "0x24" + }, + "1823": { + "op": "DUP3" + }, + "1824": { + "op": "ADD" + }, + "1825": { + "op": "MSTORE" + }, + "1826": { + "op": "PUSH32", + "value": "0x507269636520686967686572207468616E206C696D69742E0000000000000000" + }, + "1859": { + "op": "PUSH1", + "value": "0x44" + }, + "1861": { + "op": "DUP3" + }, + "1862": { + "op": "ADD" + }, + "1863": { + "op": "MSTORE" + }, + "1864": { + "op": "PUSH1", + "value": "0x64" + }, + "1866": { + "op": "ADD" + }, + "1867": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "1870": { + "op": "JUMP" + }, + "1871": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3883, + 3945 + ], + "op": "JUMPDEST", + "path": "39" + }, + "1872": { + "op": "POP" + }, + "1873": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3983, + 3993 + ], + "op": "PUSH1", + "path": "39", + "statement": 9, + "value": "0xF" + }, + "1875": { + "fn": "SoulboundRedeemable.setPrice", + "offset": [ + 3983, + 4002 + ], + "op": "SSTORE", + "path": "39" + }, + "1876": { + "op": "POP" + }, + "1877": { + "fn": "SoulboundRedeemable.setPrice", + "jump": "o", + "offset": [ + 3672, + 4009 + ], + "op": "JUMP", + "path": "39" + }, + "1878": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1879": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4573, + 4577 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1881": { + "op": "PUSH1", + "value": "0x1" + }, + "1883": { + "op": "PUSH1", + "value": "0x1" + }, + "1885": { + "op": "PUSH1", + "value": "0xE0" + }, + "1887": { + "op": "SHL" + }, + "1888": { + "op": "SUB" + }, + "1889": { + "op": "NOT" + }, + "1890": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP3", + "path": "41", + "statement": 10 + }, + "1891": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "AND", + "path": "41" + }, + "1892": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "1897": { + "op": "PUSH1", + "value": "0xE0" + }, + "1899": { + "op": "SHL" + }, + "1900": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "EQ", + "path": "41" + }, + "1901": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP1", + "path": "41" + }, + "1902": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "PUSH2", + "path": "41", + "value": "0x787" + }, + "1905": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPI", + "path": "41" + }, + "1906": { + "op": "POP" + }, + "1907": { + "op": "PUSH1", + "value": "0x1" + }, + "1909": { + "op": "PUSH1", + "value": "0x1" + }, + "1911": { + "op": "PUSH1", + "value": "0xE0" + }, + "1913": { + "op": "SHL" + }, + "1914": { + "op": "SUB" + }, + "1915": { + "op": "NOT" + }, + "1916": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "DUP3", + "path": "41" + }, + "1917": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "AND", + "path": "41" + }, + "1918": { + "op": "PUSH4", + "value": "0x5164CF47" + }, + "1923": { + "op": "PUSH1", + "value": "0xE0" + }, + "1925": { + "op": "SHL" + }, + "1926": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "EQ", + "path": "41" + }, + "1927": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1928": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "DUP1", + "path": "41" + }, + "1929": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7A2" + }, + "1932": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "JUMPI", + "path": "41" + }, + "1933": { + "op": "POP" + }, + "1934": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "1939": { + "op": "PUSH1", + "value": "0xE0" + }, + "1941": { + "op": "SHL" + }, + "1942": { + "op": "PUSH1", + "value": "0x1" + }, + "1944": { + "op": "PUSH1", + "value": "0x1" + }, + "1946": { + "op": "PUSH1", + "value": "0xE0" + }, + "1948": { + "op": "SHL" + }, + "1949": { + "op": "SUB" + }, + "1950": { + "op": "NOT" + }, + "1951": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "DUP4", + "path": "41", + "statement": 11 + }, + "1952": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "AND", + "path": "41" + }, + "1953": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "EQ", + "path": "41" + }, + "1954": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4733, + 4769 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1955": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4593, + 4769 + ], + "op": "SWAP3", + "path": "41" + }, + "1956": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "1957": { + "op": "POP" + }, + "1958": { + "op": "POP" + }, + "1959": { + "fn": "ERC4973.supportsInterface", + "jump": "o", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "1960": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1961": { + "fn": "ERC4973.name", + "offset": [ + 4836, + 4849 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "1963": { + "fn": "ERC4973.name", + "offset": [ + 4868, + 4873 + ], + "op": "PUSH1", + "path": "41", + "statement": 12, + "value": "0x1" + }, + "1965": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "1966": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "1967": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7B7" + }, + "1970": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "1971": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2BC9" + }, + "1974": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "1975": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1976": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "1977": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "1979": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "1980": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1982": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "1983": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "1984": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "1985": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "1986": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1988": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "1989": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1991": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MLOAD", + "path": "41" + }, + "1992": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "1993": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "1994": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "1995": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1997": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "1998": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "1999": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP3", + "path": "41" + }, + "2000": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "2001": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2002": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "2003": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "2004": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "2005": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2007": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "2008": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "2009": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "2010": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "2011": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7E3" + }, + "2014": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2015": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2BC9" + }, + "2018": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "2019": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2020": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "2021": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ISZERO", + "path": "41" + }, + "2022": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x830" + }, + "2025": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "2026": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "2027": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2029": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "LT", + "path": "41" + }, + "2030": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x805" + }, + "2033": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "2034": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "2037": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "2038": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "2039": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "2040": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "2041": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "2042": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "2043": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "2044": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "2045": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2047": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "2048": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "2049": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x830" + }, + "2052": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "2053": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2054": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "2055": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "2056": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "2057": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2058": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "2060": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "2061": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2063": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "2065": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "KECCAK256", + "path": "41" + }, + "2066": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2067": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2068": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "2069": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "2070": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "2071": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "2072": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2073": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "2075": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "2076": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2077": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2079": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "2080": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "2081": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "2082": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "GT", + "path": "41" + }, + "2083": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x813" + }, + "2086": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "2087": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "2088": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2089": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SUB", + "path": "41" + }, + "2090": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2092": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "AND", + "path": "41" + }, + "2093": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "2094": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "2095": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "2096": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2097": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "2098": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "2099": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "2100": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "2101": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "2102": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "2103": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "2104": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "2105": { + "fn": "ERC4973.name", + "jump": "o", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "2106": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2107": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4471 + ], + "op": "PUSH2", + "path": "38", + "statement": 13, + "value": "0x843" + }, + "2110": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4463, + 4470 + ], + "op": "DUP2", + "path": "38" + }, + "2111": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4462 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1F4F" + }, + "2114": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4455, + 4471 + ], + "op": "JUMP", + "path": "38" + }, + "2115": { + "branch": 182, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4471 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2116": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH2", + "path": "38", + "value": "0x88F" + }, + "2119": { + "branch": 182, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPI", + "path": "38" + }, + "2120": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2122": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MLOAD", + "path": "38" + }, + "2123": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2127": { + "op": "PUSH1", + "value": "0xE5" + }, + "2129": { + "op": "SHL" + }, + "2130": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP2", + "path": "38" + }, + "2131": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MSTORE", + "path": "38" + }, + "2132": { + "op": "PUSH1", + "value": "0x20" + }, + "2134": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2136": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP3", + "path": "38" + }, + "2137": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "ADD", + "path": "38" + }, + "2138": { + "op": "MSTORE" + }, + "2139": { + "op": "PUSH1", + "value": "0x1B" + }, + "2141": { + "op": "PUSH1", + "value": "0x24" + }, + "2143": { + "op": "DUP3" + }, + "2144": { + "op": "ADD" + }, + "2145": { + "op": "MSTORE" + }, + "2146": { + "op": "PUSH32", + "value": "0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000" + }, + "2179": { + "op": "PUSH1", + "value": "0x44" + }, + "2181": { + "op": "DUP3" + }, + "2182": { + "op": "ADD" + }, + "2183": { + "op": "MSTORE" + }, + "2184": { + "op": "PUSH1", + "value": "0x64" + }, + "2186": { + "op": "ADD" + }, + "2187": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "2190": { + "op": "JUMP" + }, + "2191": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2192": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4741 + ], + "op": "DUP2", + "path": "38", + "statement": 14 + }, + "2193": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4748 + ], + "op": "MLOAD", + "path": "38" + }, + "2194": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4752, + 4754 + ], + "op": "PUSH1", + "path": "38", + "value": "0x41" + }, + "2196": { + "branch": 183, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4754 + ], + "op": "EQ", + "path": "38" + }, + "2197": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH2", + "path": "38", + "value": "0x8DB" + }, + "2200": { + "branch": 183, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "JUMPI", + "path": "38" + }, + "2201": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2203": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "MLOAD", + "path": "38" + }, + "2204": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2208": { + "op": "PUSH1", + "value": "0xE5" + }, + "2210": { + "op": "SHL" + }, + "2211": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "DUP2", + "path": "38" + }, + "2212": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "MSTORE", + "path": "38" + }, + "2213": { + "op": "PUSH1", + "value": "0x20" + }, + "2215": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2217": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "DUP3", + "path": "38" + }, + "2218": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "ADD", + "path": "38" + }, + "2219": { + "op": "MSTORE" + }, + "2220": { + "op": "PUSH1", + "value": "0x18" + }, + "2222": { + "op": "PUSH1", + "value": "0x24" + }, + "2224": { + "op": "DUP3" + }, + "2225": { + "op": "ADD" + }, + "2226": { + "op": "MSTORE" + }, + "2227": { + "op": "PUSH24", + "value": "0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D" + }, + "2252": { + "op": "PUSH1", + "value": "0x43" + }, + "2254": { + "op": "SHL" + }, + "2255": { + "op": "PUSH1", + "value": "0x44" + }, + "2257": { + "op": "DUP3" + }, + "2258": { + "op": "ADD" + }, + "2259": { + "op": "MSTORE" + }, + "2260": { + "op": "PUSH1", + "value": "0x64" + }, + "2262": { + "op": "ADD" + }, + "2263": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "2266": { + "op": "JUMP" + }, + "2267": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2268": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4936 + ], + "op": "PUSH2", + "path": "38", + "statement": 15, + "value": "0x8E5" + }, + "2271": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4926, + 4930 + ], + "op": "DUP4", + "path": "38" + }, + "2272": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4932, + 4935 + ], + "op": "DUP4", + "path": "38" + }, + "2273": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4925 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A94" + }, + "2276": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4910, + 4936 + ], + "op": "JUMP", + "path": "38" + }, + "2277": { + "branch": 184, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4936 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2278": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH2", + "path": "38", + "value": "0x92D" + }, + "2281": { + "branch": 184, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "JUMPI", + "path": "38" + }, + "2282": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2284": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "MLOAD", + "path": "38" + }, + "2285": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2289": { + "op": "PUSH1", + "value": "0xE5" + }, + "2291": { + "op": "SHL" + }, + "2292": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "DUP2", + "path": "38" + }, + "2293": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "MSTORE", + "path": "38" + }, + "2294": { + "op": "PUSH1", + "value": "0x20" + }, + "2296": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2298": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "DUP3", + "path": "38" + }, + "2299": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "ADD", + "path": "38" + }, + "2300": { + "op": "MSTORE" + }, + "2301": { + "op": "PUSH1", + "value": "0x19" + }, + "2303": { + "op": "PUSH1", + "value": "0x24" + }, + "2305": { + "op": "DUP3" + }, + "2306": { + "op": "ADD" + }, + "2307": { + "op": "MSTORE" + }, + "2308": { + "op": "PUSH25", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917" + }, + "2334": { + "op": "PUSH1", + "value": "0x39" + }, + "2336": { + "op": "SHL" + }, + "2337": { + "op": "PUSH1", + "value": "0x44" + }, + "2339": { + "op": "DUP3" + }, + "2340": { + "op": "ADD" + }, + "2341": { + "op": "MSTORE" + }, + "2342": { + "op": "PUSH1", + "value": "0x64" + }, + "2344": { + "op": "ADD" + }, + "2345": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "2348": { + "op": "JUMP" + }, + "2349": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2350": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5098 + ], + "op": "PUSH2", + "path": "38", + "statement": 16, + "value": "0x93F" + }, + "2353": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5088 + ], + "op": "PUSH2", + "path": "38", + "value": "0x939" + }, + "2356": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5080, + 5087 + ], + "op": "DUP3", + "path": "38" + }, + "2357": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5079 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1263" + }, + "2360": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 5072, + 5088 + ], + "op": "JUMP", + "path": "38" + }, + "2361": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5088 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2362": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5090, + 5097 + ], + "op": "DUP3", + "path": "38" + }, + "2363": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5071 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1F6C" + }, + "2366": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 5065, + 5098 + ], + "op": "JUMP", + "path": "38" + }, + "2367": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5098 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2368": { + "op": "POP" + }, + "2369": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH1", + "path": "38", + "statement": 17, + "value": "0x40" + }, + "2371": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "MLOAD", + "path": "38" + }, + "2372": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5186, + 5193 + ], + "op": "DUP2", + "path": "38" + }, + "2373": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5186, + 5193 + ], + "op": "SWAP1", + "path": "38" + }, + "2374": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH32", + "path": "38", + "value": "0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC" + }, + "2407": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "SWAP1", + "path": "38" + }, + "2408": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "2410": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "SWAP1", + "path": "38" + }, + "2411": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "LOG2", + "path": "38" + }, + "2412": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "2413": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "2414": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "2415": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "o", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "2416": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPDEST", + "path": "40" + }, + "2417": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "2419": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "2420": { + "op": "PUSH1", + "value": "0x1" + }, + "2422": { + "op": "PUSH1", + "value": "0x1" + }, + "2424": { + "op": "PUSH1", + "value": "0xA0" + }, + "2426": { + "op": "SHL" + }, + "2427": { + "op": "SUB" + }, + "2428": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "2429": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2430": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "2431": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x99A" + }, + "2434": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "2435": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2437": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "2438": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2442": { + "op": "PUSH1", + "value": "0xE5" + }, + "2444": { + "op": "SHL" + }, + "2445": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "2446": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "2447": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2449": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "2450": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "2453": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "2454": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "2457": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "2458": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2459": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3272, + 3278 + ], + "op": "PUSH1", + "path": "40", + "value": "0xB" + }, + "2461": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3272, + 3278 + ], + "op": "SLOAD", + "path": "40" + }, + "2462": { + "branch": 191, + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3272, + 3283 + ], + "op": "ISZERO", + "path": "40" + }, + "2463": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "PUSH2", + "path": "40", + "value": "0x9BC" + }, + "2466": { + "branch": 191, + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMPI", + "path": "40" + }, + "2467": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3344 + ], + "op": "PUSH1", + "path": "40", + "statement": 18, + "value": "0xB" + }, + "2469": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "DUP1", + "path": "40" + }, + "2470": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SLOAD", + "path": "40" + }, + "2471": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SWAP1", + "path": "40" + }, + "2472": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3344 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "2474": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "PUSH2", + "path": "40", + "value": "0x9B2" + }, + "2477": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "DUP4", + "path": "40" + }, + "2478": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2C19" + }, + "2481": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 3338, + 3346 + ], + "op": "JUMP", + "path": "40" + }, + "2482": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "JUMPDEST", + "path": "40" + }, + "2483": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SWAP2", + "path": "40" + }, + "2484": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SWAP1", + "path": "40" + }, + "2485": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "POP", + "path": "40" + }, + "2486": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SSTORE", + "path": "40" + }, + "2487": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "POP", + "path": "40" + }, + "2488": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "PUSH2", + "path": "40", + "value": "0x9FC" + }, + "2491": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMP", + "path": "40" + }, + "2492": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMPDEST", + "path": "40" + }, + "2493": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "PUSH1", + "path": "40", + "statement": 19, + "value": "0x40" + }, + "2495": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "MLOAD", + "path": "40" + }, + "2496": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2500": { + "op": "PUSH1", + "value": "0xE5" + }, + "2502": { + "op": "SHL" + }, + "2503": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "DUP2", + "path": "40" + }, + "2504": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "MSTORE", + "path": "40" + }, + "2505": { + "op": "PUSH1", + "value": "0x20" + }, + "2507": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "2509": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "DUP3", + "path": "40" + }, + "2510": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "ADD", + "path": "40" + }, + "2511": { + "op": "MSTORE" + }, + "2512": { + "op": "PUSH1", + "value": "0x15" + }, + "2514": { + "op": "PUSH1", + "value": "0x24" + }, + "2516": { + "op": "DUP3" + }, + "2517": { + "op": "ADD" + }, + "2518": { + "op": "MSTORE" + }, + "2519": { + "op": "PUSH21", + "value": "0x2637BBB2B9BA103634B6B4BA103932B0B1B432B217" + }, + "2541": { + "op": "PUSH1", + "value": "0x59" + }, + "2543": { + "op": "SHL" + }, + "2544": { + "op": "PUSH1", + "value": "0x44" + }, + "2546": { + "op": "DUP3" + }, + "2547": { + "op": "ADD" + }, + "2548": { + "op": "MSTORE" + }, + "2549": { + "op": "PUSH1", + "value": "0x64" + }, + "2551": { + "op": "ADD" + }, + "2552": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "PUSH2", + "path": "40", + "value": "0x6B1" + }, + "2555": { + "op": "JUMP" + }, + "2556": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMPDEST", + "path": "40" + }, + "2557": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3519, + 3558 + ], + "op": "PUSH2", + "path": "40", + "statement": 20, + "value": "0xA07" + }, + "2560": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3539, + 3543 + ], + "op": "DUP4", + "path": "40" + }, + "2561": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3545, + 3548 + ], + "op": "DUP4", + "path": "40" + }, + "2562": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3550, + 3557 + ], + "op": "DUP4", + "path": "40" + }, + "2563": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3519, + 3538 + ], + "op": "PUSH2", + "path": "40", + "value": "0x83A" + }, + "2566": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 3519, + 3558 + ], + "op": "JUMP", + "path": "40" + }, + "2567": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3519, + 3558 + ], + "op": "JUMPDEST", + "path": "40" + }, + "2568": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "POP", + "path": "40" + }, + "2569": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "POP", + "path": "40" + }, + "2570": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "POP", + "path": "40" + }, + "2571": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "o", + "offset": [ + 2850, + 3565 + ], + "op": "JUMP", + "path": "40" + }, + "2572": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2573": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6227, + 6250 + ], + "op": "PUSH1", + "path": "38", + "value": "0x60" + }, + "2575": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6353 + ], + "op": "PUSH2", + "path": "38", + "statement": 21, + "value": "0xA16" + }, + "2578": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6351 + ], + "op": "PUSH2", + "path": "38", + "value": "0x192A" + }, + "2581": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6340, + 6353 + ], + "op": "JUMP", + "path": "38" + }, + "2582": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6353 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2583": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6334, + 6361 + ], + "op": "MLOAD", + "path": "38" + }, + "2584": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6365, + 6366 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "2586": { + "branch": 185, + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6334, + 6366 + ], + "op": "SUB", + "path": "38" + }, + "2587": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA56" + }, + "2590": { + "branch": 185, + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "JUMPI", + "path": "38" + }, + "2591": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2593": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "MLOAD", + "path": "38" + }, + "2594": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2598": { + "op": "PUSH1", + "value": "0xE5" + }, + "2600": { + "op": "SHL" + }, + "2601": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "DUP2", + "path": "38" + }, + "2602": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "MSTORE", + "path": "38" + }, + "2603": { + "op": "PUSH1", + "value": "0x20" + }, + "2605": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2607": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "DUP3", + "path": "38" + }, + "2608": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "ADD", + "path": "38" + }, + "2609": { + "op": "MSTORE" + }, + "2610": { + "op": "PUSH1", + "value": "0xD" + }, + "2612": { + "op": "PUSH1", + "value": "0x24" + }, + "2614": { + "op": "DUP3" + }, + "2615": { + "op": "ADD" + }, + "2616": { + "op": "MSTORE" + }, + "2617": { + "op": "PUSH13", + "value": "0x456D7074792062617365555249" + }, + "2631": { + "op": "PUSH1", + "value": "0x98" + }, + "2633": { + "op": "SHL" + }, + "2634": { + "op": "PUSH1", + "value": "0x44" + }, + "2636": { + "op": "DUP3" + }, + "2637": { + "op": "ADD" + }, + "2638": { + "op": "MSTORE" + }, + "2639": { + "op": "PUSH1", + "value": "0x64" + }, + "2641": { + "op": "ADD" + }, + "2642": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "2645": { + "op": "JUMP" + }, + "2646": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2647": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6493 + ], + "op": "PUSH2", + "path": "38", + "statement": 22, + "value": "0xA5E" + }, + "2650": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6491 + ], + "op": "PUSH2", + "path": "38", + "value": "0x192A" + }, + "2653": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6480, + 6493 + ], + "op": "JUMP", + "path": "38" + }, + "2654": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6493 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2655": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6512 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA67" + }, + "2658": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6504, + 6511 + ], + "op": "DUP4", + "path": "38" + }, + "2659": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6503 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2034" + }, + "2662": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6495, + 6512 + ], + "op": "JUMP", + "path": "38" + }, + "2663": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6512 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2664": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2666": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MLOAD", + "path": "38" + }, + "2667": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "2669": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "ADD", + "path": "38" + }, + "2670": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA78" + }, + "2673": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP3", + "path": "38" + }, + "2674": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP2", + "path": "38" + }, + "2675": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP1", + "path": "38" + }, + "2676": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2C30" + }, + "2679": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6463, + 6513 + ], + "op": "JUMP", + "path": "38" + }, + "2680": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2681": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2683": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MLOAD", + "path": "38" + }, + "2684": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "2686": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP2", + "path": "38" + }, + "2687": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP4", + "path": "38" + }, + "2688": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SUB", + "path": "38" + }, + "2689": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SUB", + "path": "38" + }, + "2690": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP2", + "path": "38" + }, + "2691": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MSTORE", + "path": "38" + }, + "2692": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP1", + "path": "38" + }, + "2693": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2695": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MSTORE", + "path": "38" + }, + "2696": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6444, + 6514 + ], + "op": "SWAP1", + "path": "38" + }, + "2697": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6444, + 6514 + ], + "op": "POP", + "path": "38" + }, + "2698": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "SWAP2", + "path": "38" + }, + "2699": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "SWAP1", + "path": "38" + }, + "2700": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "POP", + "path": "38" + }, + "2701": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "o", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "2702": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6103, + 8070 + ], + "op": "JUMPDEST", + "path": "39" + }, + "2703": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "2705": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "2706": { + "op": "PUSH1", + "value": "0x1" + }, + "2708": { + "op": "PUSH1", + "value": "0x1" + }, + "2710": { + "op": "PUSH1", + "value": "0xA0" + }, + "2712": { + "op": "SHL" + }, + "2713": { + "op": "SUB" + }, + "2714": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "2715": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2716": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "2717": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xAB8" + }, + "2720": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "2721": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2723": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "2724": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2728": { + "op": "PUSH1", + "value": "0xE5" + }, + "2730": { + "op": "SHL" + }, + "2731": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "2732": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "2733": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2735": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "2736": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "2739": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "2740": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "2743": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "2744": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2745": { + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "2747": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "SLOAD", + "path": "39" + }, + "2748": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "2750": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "AND", + "path": "39" + }, + "2751": { + "offset": [ + 2687, + 2694 + ], + "op": "ISZERO", + "path": "39" + }, + "2752": { + "offset": [ + 2679, + 2695 + ], + "op": "PUSH2", + "path": "39", + "value": "0xAC8" + }, + "2755": { + "offset": [ + 2679, + 2695 + ], + "op": "JUMPI", + "path": "39" + }, + "2756": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "2758": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "DUP1", + "path": "39" + }, + "2759": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "REVERT", + "path": "39" + }, + "2760": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "JUMPDEST", + "path": "39" + }, + "2761": { + "offset": [ + 2705, + 2711 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "2763": { + "offset": [ + 2705, + 2718 + ], + "op": "DUP1", + "path": "39" + }, + "2764": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SLOAD", + "path": "39" + }, + "2765": { + "op": "PUSH1", + "value": "0xFF" + }, + "2767": { + "op": "NOT" + }, + "2768": { + "offset": [ + 2705, + 2718 + ], + "op": "AND", + "path": "39" + }, + "2769": { + "offset": [ + 2714, + 2718 + ], + "op": "PUSH1", + "path": "39", + "value": "0x1" + }, + "2771": { + "offset": [ + 2705, + 2718 + ], + "op": "OR", + "path": "39" + }, + "2772": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SWAP1", + "path": "39" + }, + "2773": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SSTORE", + "path": "39" + }, + "2774": { + "op": "PUSH1", + "value": "0x1" + }, + "2776": { + "op": "PUSH1", + "value": "0x1" + }, + "2778": { + "op": "PUSH1", + "value": "0xA0" + }, + "2780": { + "op": "SHL" + }, + "2781": { + "op": "SUB" + }, + "2782": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6324, + 6347 + ], + "op": "DUP3", + "path": "39", + "statement": 23 + }, + "2783": { + "branch": 139, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6324, + 6347 + ], + "op": "AND", + "path": "39" + }, + "2784": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "PUSH2", + "path": "39", + "value": "0xAFB" + }, + "2787": { + "branch": 139, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "JUMPI", + "path": "39" + }, + "2788": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "2790": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "MLOAD", + "path": "39" + }, + "2791": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2795": { + "op": "PUSH1", + "value": "0xE5" + }, + "2797": { + "op": "SHL" + }, + "2798": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "DUP2", + "path": "39" + }, + "2799": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "MSTORE", + "path": "39" + }, + "2800": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "2802": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "ADD", + "path": "39" + }, + "2803": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "2806": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "SWAP1", + "path": "39" + }, + "2807": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2C5F" + }, + "2810": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 6316, + 6373 + ], + "op": "JUMP", + "path": "39" + }, + "2811": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6316, + 6373 + ], + "op": "JUMPDEST", + "path": "39" + }, + "2812": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6452, + 6468 + ], + "op": "PUSH2", + "path": "39", + "statement": 24, + "value": "0xB04" + }, + "2815": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6460, + 6467 + ], + "op": "DUP2", + "path": "39" + }, + "2816": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6452, + 6459 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1F4F" + }, + "2819": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 6452, + 6468 + ], + "op": "JUMP", + "path": "39" + }, + "2820": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6452, + 6468 + ], + "op": "JUMPDEST", + "path": "39" + }, + "2821": { + "branch": 140, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6451, + 6468 + ], + "op": "ISZERO", + "path": "39" + }, + "2822": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "PUSH2", + "path": "39", + "value": "0xB51" + }, + "2825": { + "branch": 140, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "JUMPI", + "path": "39" + }, + "2826": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "2828": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "MLOAD", + "path": "39" + }, + "2829": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2833": { + "op": "PUSH1", + "value": "0xE5" + }, + "2835": { + "op": "SHL" + }, + "2836": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "DUP2", + "path": "39" + }, + "2837": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "MSTORE", + "path": "39" + }, + "2838": { + "op": "PUSH1", + "value": "0x20" + }, + "2840": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "2842": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "DUP3", + "path": "39" + }, + "2843": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "ADD", + "path": "39" + }, + "2844": { + "op": "MSTORE" + }, + "2845": { + "op": "PUSH1", + "value": "0x1F" + }, + "2847": { + "op": "PUSH1", + "value": "0x24" + }, + "2849": { + "op": "DUP3" + }, + "2850": { + "op": "ADD" + }, + "2851": { + "op": "MSTORE" + }, + "2852": { + "op": "PUSH32", + "value": "0x4D696E74206F6620616C7265616479206578697374696E6720746F6B656E2E00" + }, + "2885": { + "op": "PUSH1", + "value": "0x44" + }, + "2887": { + "op": "DUP3" + }, + "2888": { + "op": "ADD" + }, + "2889": { + "op": "MSTORE" + }, + "2890": { + "op": "PUSH1", + "value": "0x64" + }, + "2892": { + "op": "ADD" + }, + "2893": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "2896": { + "op": "JUMP" + }, + "2897": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6443, + 6504 + ], + "op": "JUMPDEST", + "path": "39" + }, + "2898": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "PUSH1", + "path": "39", + "statement": 25, + "value": "0x0" + }, + "2900": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "DUP2", + "path": "39" + }, + "2901": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "DUP2", + "path": "39" + }, + "2902": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "MSTORE", + "path": "39" + }, + "2903": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6588 + ], + "op": "PUSH1", + "path": "39", + "value": "0x10" + }, + "2905": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "2907": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "MSTORE", + "path": "39" + }, + "2908": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "2910": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "SWAP1", + "path": "39" + }, + "2911": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "KECCAK256", + "path": "39" + }, + "2912": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "SLOAD", + "path": "39" + }, + "2913": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "2915": { + "branch": 141, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6581, + 6597 + ], + "op": "AND", + "path": "39" + }, + "2916": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "PUSH2", + "path": "39", + "value": "0xBA9" + }, + "2919": { + "branch": 141, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "JUMPI", + "path": "39" + }, + "2920": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "2922": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "MLOAD", + "path": "39" + }, + "2923": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2927": { + "op": "PUSH1", + "value": "0xE5" + }, + "2929": { + "op": "SHL" + }, + "2930": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "DUP2", + "path": "39" + }, + "2931": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "MSTORE", + "path": "39" + }, + "2932": { + "op": "PUSH1", + "value": "0x20" + }, + "2934": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "2936": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "DUP3", + "path": "39" + }, + "2937": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "ADD", + "path": "39" + }, + "2938": { + "op": "MSTORE" + }, + "2939": { + "op": "PUSH1", + "value": "0x17" + }, + "2941": { + "op": "PUSH1", + "value": "0x24" + }, + "2943": { + "op": "DUP3" + }, + "2944": { + "op": "ADD" + }, + "2945": { + "op": "MSTORE" + }, + "2946": { + "op": "PUSH23", + "value": "0x20B63932B0B23C903932B1B2B4BB32B2103A37B5B2B717" + }, + "2970": { + "op": "PUSH1", + "value": "0x49" + }, + "2972": { + "op": "SHL" + }, + "2973": { + "op": "PUSH1", + "value": "0x44" + }, + "2975": { + "op": "DUP3" + }, + "2976": { + "op": "ADD" + }, + "2977": { + "op": "MSTORE" + }, + "2978": { + "op": "PUSH1", + "value": "0x64" + }, + "2980": { + "op": "ADD" + }, + "2981": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "2984": { + "op": "JUMP" + }, + "2985": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6573, + 6625 + ], + "op": "JUMPDEST", + "path": "39" + }, + "2986": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "PUSH1", + "path": "39", + "statement": 26, + "value": "0x0" + }, + "2988": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "DUP2", + "path": "39" + }, + "2989": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "DUP2", + "path": "39" + }, + "2990": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "MSTORE", + "path": "39" + }, + "2991": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6784 + ], + "op": "PUSH1", + "path": "39", + "value": "0x11" + }, + "2993": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "2995": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "MSTORE", + "path": "39" + }, + "2996": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "2998": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "SWAP1", + "path": "39" + }, + "2999": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "KECCAK256", + "path": "39" + }, + "3000": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "SLOAD", + "path": "39" + }, + "3001": { + "op": "PUSH1", + "value": "0x1" + }, + "3003": { + "op": "PUSH1", + "value": "0x1" + }, + "3005": { + "op": "PUSH1", + "value": "0xA0" + }, + "3007": { + "op": "SHL" + }, + "3008": { + "op": "SUB" + }, + "3009": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6806 + ], + "op": "DUP4", + "path": "39" + }, + "3010": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6806 + ], + "op": "DUP2", + "path": "39" + }, + "3011": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6806 + ], + "op": "AND", + "path": "39" + }, + "3012": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "SWAP2", + "path": "39" + }, + "3013": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6793 + ], + "op": "AND", + "path": "39" + }, + "3014": { + "branch": 142, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6768, + 6806 + ], + "op": "EQ", + "path": "39" + }, + "3015": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "PUSH2", + "path": "39", + "value": "0xC0A" + }, + "3018": { + "branch": 142, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "JUMPI", + "path": "39" + }, + "3019": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3021": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "MLOAD", + "path": "39" + }, + "3022": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3026": { + "op": "PUSH1", + "value": "0xE5" + }, + "3028": { + "op": "SHL" + }, + "3029": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "DUP2", + "path": "39" + }, + "3030": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "MSTORE", + "path": "39" + }, + "3031": { + "op": "PUSH1", + "value": "0x20" + }, + "3033": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3035": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "DUP3", + "path": "39" + }, + "3036": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "ADD", + "path": "39" + }, + "3037": { + "op": "MSTORE" + }, + "3038": { + "op": "PUSH1", + "value": "0x15" + }, + "3040": { + "op": "PUSH1", + "value": "0x24" + }, + "3042": { + "op": "DUP3" + }, + "3043": { + "op": "ADD" + }, + "3044": { + "op": "MSTORE" + }, + "3045": { + "op": "PUSH21", + "value": "0x2737BA103832B73234B733903932B1B2B4BB32B917" + }, + "3067": { + "op": "PUSH1", + "value": "0x59" + }, + "3069": { + "op": "SHL" + }, + "3070": { + "op": "PUSH1", + "value": "0x44" + }, + "3072": { + "op": "DUP3" + }, + "3073": { + "op": "ADD" + }, + "3074": { + "op": "MSTORE" + }, + "3075": { + "op": "PUSH1", + "value": "0x64" + }, + "3077": { + "op": "ADD" + }, + "3078": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "3081": { + "op": "JUMP" + }, + "3082": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6747, + 6853 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3083": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1778, + 1782 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "3085": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "3086": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "3087": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "3088": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "3090": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "3091": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "3092": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "3093": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "3095": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "3096": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "3097": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "3098": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1816 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "3099": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "GT", + "path": "36" + }, + "3100": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "ISZERO", + "path": "36" + }, + "3101": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "PUSH2", + "path": "39", + "statement": 27, + "value": "0xC79" + }, + "3104": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "JUMPI", + "path": "39" + }, + "3105": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3107": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "MLOAD", + "path": "39" + }, + "3108": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3112": { + "op": "PUSH1", + "value": "0xE5" + }, + "3114": { + "op": "SHL" + }, + "3115": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "DUP2", + "path": "39" + }, + "3116": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "MSTORE", + "path": "39" + }, + "3117": { + "op": "PUSH1", + "value": "0x20" + }, + "3119": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3121": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "DUP3", + "path": "39" + }, + "3122": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "ADD", + "path": "39" + }, + "3123": { + "op": "MSTORE" + }, + "3124": { + "op": "PUSH1", + "value": "0x28" + }, + "3126": { + "op": "PUSH1", + "value": "0x24" + }, + "3128": { + "op": "DUP3" + }, + "3129": { + "op": "ADD" + }, + "3130": { + "op": "MSTORE" + }, + "3131": { + "op": "PUSH32", + "value": "0x526563656976616C206F66206578706972656420746F6B656E2C207265646565" + }, + "3164": { + "op": "PUSH1", + "value": "0x44" + }, + "3166": { + "op": "DUP3" + }, + "3167": { + "op": "ADD" + }, + "3168": { + "op": "MSTORE" + }, + "3169": { + "op": "PUSH8", + "value": "0x36903A37B5B2B717" + }, + "3178": { + "op": "PUSH1", + "value": "0xC1" + }, + "3180": { + "op": "SHL" + }, + "3181": { + "op": "PUSH1", + "value": "0x64" + }, + "3183": { + "op": "DUP3" + }, + "3184": { + "op": "ADD" + }, + "3185": { + "op": "MSTORE" + }, + "3186": { + "op": "PUSH1", + "value": "0x84" + }, + "3188": { + "op": "ADD" + }, + "3189": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "3192": { + "op": "JUMP" + }, + "3193": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 6928, + 6997 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3194": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7105, + 7115 + ], + "op": "PUSH1", + "path": "39", + "statement": 28, + "value": "0xF" + }, + "3196": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7105, + 7115 + ], + "op": "SLOAD", + "path": "39" + }, + "3197": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7092, + 7101 + ], + "op": "CALLVALUE", + "path": "39" + }, + "3198": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7092, + 7115 + ], + "op": "LT", + "path": "39" + }, + "3199": { + "branch": 143, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7092, + 7115 + ], + "op": "ISZERO", + "path": "39" + }, + "3200": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "PUSH2", + "path": "39", + "value": "0xCCB" + }, + "3203": { + "branch": 143, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "JUMPI", + "path": "39" + }, + "3204": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3206": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "MLOAD", + "path": "39" + }, + "3207": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3211": { + "op": "PUSH1", + "value": "0xE5" + }, + "3213": { + "op": "SHL" + }, + "3214": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "DUP2", + "path": "39" + }, + "3215": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "MSTORE", + "path": "39" + }, + "3216": { + "op": "PUSH1", + "value": "0x20" + }, + "3218": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3220": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "DUP3", + "path": "39" + }, + "3221": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "ADD", + "path": "39" + }, + "3222": { + "op": "MSTORE" + }, + "3223": { + "op": "PUSH1", + "value": "0x1C" + }, + "3225": { + "op": "PUSH1", + "value": "0x24" + }, + "3227": { + "op": "DUP3" + }, + "3228": { + "op": "ADD" + }, + "3229": { + "op": "MSTORE" + }, + "3230": { + "op": "PUSH32", + "value": "0x5072696365206C6F776572207468616E20746F6B656E20636F73742E00000000" + }, + "3263": { + "op": "PUSH1", + "value": "0x44" + }, + "3265": { + "op": "DUP3" + }, + "3266": { + "op": "ADD" + }, + "3267": { + "op": "MSTORE" + }, + "3268": { + "op": "PUSH1", + "value": "0x64" + }, + "3270": { + "op": "ADD" + }, + "3271": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "3274": { + "op": "JUMP" + }, + "3275": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7084, + 7148 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3276": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7195, + 7210 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3278": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7312, + 7322 + ], + "op": "PUSH1", + "path": "39", + "value": "0xF" + }, + "3280": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7312, + 7322 + ], + "op": "SLOAD", + "path": "39" + }, + "3281": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7300, + 7309 + ], + "op": "CALLVALUE", + "path": "39" + }, + "3282": { + "branch": 144, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7300, + 7322 + ], + "op": "GT", + "path": "39" + }, + "3283": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7296, + 7548 + ], + "op": "ISZERO", + "path": "39" + }, + "3284": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7296, + 7548 + ], + "op": "PUSH2", + "path": "39", + "value": "0xD1F" + }, + "3287": { + "branch": 144, + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7296, + 7548 + ], + "op": "JUMPI", + "path": "39" + }, + "3288": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7423, + 7433 + ], + "op": "PUSH1", + "path": "39", + "statement": 29, + "value": "0xF" + }, + "3290": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7423, + 7433 + ], + "op": "SLOAD", + "path": "39" + }, + "3291": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7411, + 7433 + ], + "op": "PUSH2", + "path": "39", + "value": "0xCE4" + }, + "3294": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7411, + 7433 + ], + "op": "SWAP1", + "path": "39" + }, + "3295": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7411, + 7420 + ], + "op": "CALLVALUE", + "path": "39" + }, + "3296": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7411, + 7433 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2C8E" + }, + "3299": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 7411, + 7433 + ], + "op": "JUMP", + "path": "39" + }, + "3300": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7411, + 7433 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3301": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "PUSH1", + "path": "39", + "statement": 30, + "value": "0x40" + }, + "3303": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "MLOAD", + "path": "39" + }, + "3304": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7401, + 7433 + ], + "op": "SWAP1", + "path": "39" + }, + "3305": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7401, + 7433 + ], + "op": "SWAP2", + "path": "39" + }, + "3306": { + "op": "POP" + }, + "3307": { + "op": "PUSH1", + "value": "0x1" + }, + "3309": { + "op": "PUSH1", + "value": "0x1" + }, + "3311": { + "op": "PUSH1", + "value": "0xA0" + }, + "3313": { + "op": "SHL" + }, + "3314": { + "op": "SUB" + }, + "3315": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7528 + ], + "op": "DUP5", + "path": "39" + }, + "3316": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7528 + ], + "op": "AND", + "path": "39" + }, + "3317": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7528 + ], + "op": "SWAP1", + "path": "39" + }, + "3318": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "DUP3", + "path": "39" + }, + "3319": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "ISZERO", + "path": "39" + }, + "3320": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "PUSH2", + "path": "39", + "value": "0x8FC" + }, + "3323": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "MUL", + "path": "39" + }, + "3324": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "SWAP1", + "path": "39" + }, + "3325": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7401, + 7433 + ], + "op": "DUP4", + "path": "39" + }, + "3326": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7401, + 7433 + ], + "op": "SWAP1", + "path": "39" + }, + "3327": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3329": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "DUP2", + "path": "39" + }, + "3330": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "DUP2", + "path": "39" + }, + "3331": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "DUP2", + "path": "39" + }, + "3332": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7401, + 7433 + ], + "op": "DUP6", + "path": "39" + }, + "3333": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7528 + ], + "op": "DUP9", + "path": "39" + }, + "3334": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "DUP9", + "path": "39" + }, + "3335": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "CALL", + "path": "39" + }, + "3336": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "SWAP4", + "path": "39" + }, + "3337": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "POP", + "path": "39" + }, + "3338": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "POP", + "path": "39" + }, + "3339": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "POP", + "path": "39" + }, + "3340": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "POP", + "path": "39" + }, + "3341": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "ISZERO", + "path": "39" + }, + "3342": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "DUP1", + "path": "39" + }, + "3343": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "ISZERO", + "path": "39" + }, + "3344": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "PUSH2", + "path": "39", + "value": "0xD1D" + }, + "3347": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "JUMPI", + "path": "39" + }, + "3348": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "RETURNDATASIZE", + "path": "39" + }, + "3349": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3351": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "DUP1", + "path": "39" + }, + "3352": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "RETURNDATACOPY", + "path": "39" + }, + "3353": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "RETURNDATASIZE", + "path": "39" + }, + "3354": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3356": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "REVERT", + "path": "39" + }, + "3357": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3358": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7501, + 7537 + ], + "op": "POP", + "path": "39" + }, + "3359": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7296, + 7548 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3360": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7594, + 7617 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3362": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7620, + 7645 + ], + "op": "PUSH2", + "path": "39", + "value": "0xD2A" + }, + "3365": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7637, + 7644 + ], + "op": "DUP4", + "path": "39" + }, + "3366": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7620, + 7636 + ], + "op": "PUSH2", + "path": "39", + "value": "0xA0C" + }, + "3369": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 7620, + 7645 + ], + "op": "JUMP", + "path": "39" + }, + "3370": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7620, + 7645 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3371": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7594, + 7645 + ], + "op": "SWAP1", + "path": "39" + }, + "3372": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7594, + 7645 + ], + "op": "POP", + "path": "39" + }, + "3373": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7716, + 7752 + ], + "op": "PUSH2", + "path": "39", + "statement": 31, + "value": "0xD37" + }, + "3376": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7722, + 7731 + ], + "op": "DUP5", + "path": "39" + }, + "3377": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7733, + 7740 + ], + "op": "DUP5", + "path": "39" + }, + "3378": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7742, + 7751 + ], + "op": "DUP4", + "path": "39" + }, + "3379": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7716, + 7721 + ], + "op": "PUSH2", + "path": "39", + "value": "0x213D" + }, + "3382": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 7716, + 7752 + ], + "op": "JUMP", + "path": "39" + }, + "3383": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7716, + 7752 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3384": { + "op": "POP" + }, + "3385": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7811 + ], + "op": "PUSH1", + "path": "39", + "statement": 32, + "value": "0xC" + }, + "3387": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "DUP1", + "path": "39" + }, + "3388": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "SLOAD", + "path": "39" + }, + "3389": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "SWAP1", + "path": "39" + }, + "3390": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7811 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3392": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "PUSH2", + "path": "39", + "value": "0xD48" + }, + "3395": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "DUP4", + "path": "39" + }, + "3396": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2CA5" + }, + "3399": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 7801, + 7813 + ], + "op": "JUMP", + "path": "39" + }, + "3400": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3401": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "SWAP2", + "path": "39" + }, + "3402": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "SWAP1", + "path": "39" + }, + "3403": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "POP", + "path": "39" + }, + "3404": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "SSTORE", + "path": "39" + }, + "3405": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7801, + 7813 + ], + "op": "POP", + "path": "39" + }, + "3406": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7882, + 7892 + ], + "op": "PUSH1", + "path": "39", + "statement": 33, + "value": "0xF" + }, + "3408": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7882, + 7892 + ], + "op": "SLOAD", + "path": "39" + }, + "3409": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7878 + ], + "op": "PUSH1", + "path": "39", + "value": "0xD" + }, + "3411": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7878 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3413": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "DUP3", + "path": "39" + }, + "3414": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "DUP3", + "path": "39" + }, + "3415": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "SLOAD", + "path": "39" + }, + "3416": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "PUSH2", + "path": "39", + "value": "0xD61" + }, + "3419": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "SWAP2", + "path": "39" + }, + "3420": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "SWAP1", + "path": "39" + }, + "3421": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2CBE" + }, + "3424": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "i", + "offset": [ + 7866, + 7892 + ], + "op": "JUMP", + "path": "39" + }, + "3425": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3426": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "SWAP1", + "path": "39" + }, + "3427": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "SWAP2", + "path": "39" + }, + "3428": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7866, + 7892 + ], + "op": "SSTORE", + "path": "39" + }, + "3429": { + "op": "POP" + }, + "3430": { + "op": "POP" + }, + "3431": { + "op": "POP" + }, + "3432": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7970, + 7975 + ], + "op": "PUSH1", + "path": "39", + "statement": 34, + "value": "0x0" + }, + "3434": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "SWAP2", + "path": "39" + }, + "3435": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "DUP3", + "path": "39" + }, + "3436": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "MSTORE", + "path": "39" + }, + "3437": { + "op": "POP" + }, + "3438": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7958 + ], + "op": "PUSH1", + "path": "39", + "value": "0x10" + }, + "3440": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "3442": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "SWAP1", + "path": "39" + }, + "3443": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "DUP2", + "path": "39" + }, + "3444": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "MSTORE", + "path": "39" + }, + "3445": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3447": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "DUP1", + "path": "39" + }, + "3448": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "DUP4", + "path": "39" + }, + "3449": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7967 + ], + "op": "KECCAK256", + "path": "39" + }, + "3450": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "DUP1", + "path": "39" + }, + "3451": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "SLOAD", + "path": "39" + }, + "3452": { + "op": "PUSH1", + "value": "0xFF" + }, + "3454": { + "op": "NOT" + }, + "3455": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "SWAP1", + "path": "39" + }, + "3456": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "DUP2", + "path": "39" + }, + "3457": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "AND", + "path": "39" + }, + "3458": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "SWAP1", + "path": "39" + }, + "3459": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "SWAP2", + "path": "39" + }, + "3460": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 7951, + 7975 + ], + "op": "SSTORE", + "path": "39" + }, + "3461": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8038, + 8054 + ], + "op": "PUSH1", + "path": "39", + "statement": 35, + "value": "0x11" + }, + "3463": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8038, + 8063 + ], + "op": "SWAP1", + "path": "39" + }, + "3464": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8038, + 8063 + ], + "op": "SWAP3", + "path": "39" + }, + "3465": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8038, + 8063 + ], + "op": "MSTORE", + "path": "39" + }, + "3466": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8038, + 8063 + ], + "op": "SWAP1", + "path": "39" + }, + "3467": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8038, + 8063 + ], + "op": "SWAP2", + "path": "39" + }, + "3468": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8038, + 8063 + ], + "op": "KECCAK256", + "path": "39" + }, + "3469": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8031, + 8063 + ], + "op": "DUP1", + "path": "39" + }, + "3470": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8031, + 8063 + ], + "op": "SLOAD", + "path": "39" + }, + "3471": { + "op": "PUSH1", + "value": "0x1" + }, + "3473": { + "op": "PUSH1", + "value": "0x1" + }, + "3475": { + "op": "PUSH1", + "value": "0xA0" + }, + "3477": { + "op": "SHL" + }, + "3478": { + "op": "SUB" + }, + "3479": { + "op": "NOT" + }, + "3480": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8031, + 8063 + ], + "op": "AND", + "path": "39" + }, + "3481": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8031, + 8063 + ], + "op": "SWAP1", + "path": "39" + }, + "3482": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 8031, + 8063 + ], + "op": "SSTORE", + "path": "39" + }, + "3483": { + "offset": [ + 2739, + 2745 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "3485": { + "offset": [ + 2739, + 2753 + ], + "op": "DUP1", + "path": "39" + }, + "3486": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 2739, + 2753 + ], + "op": "SLOAD", + "path": "39" + }, + "3487": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 2739, + 2753 + ], + "op": "SWAP1", + "path": "39" + }, + "3488": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 2739, + 2753 + ], + "op": "SWAP2", + "path": "39" + }, + "3489": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 2739, + 2753 + ], + "op": "AND", + "path": "39" + }, + "3490": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 2739, + 2753 + ], + "op": "SWAP1", + "path": "39" + }, + "3491": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "offset": [ + 2739, + 2753 + ], + "op": "SSTORE", + "path": "39" + }, + "3492": { + "op": "POP" + }, + "3493": { + "fn": "SoulboundRedeemable.payToReceiveToken", + "jump": "o", + "offset": [ + 6103, + 8070 + ], + "op": "JUMP", + "path": "39" + }, + "3494": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10643, + 12123 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3495": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "3497": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "3498": { + "op": "PUSH1", + "value": "0x1" + }, + "3500": { + "op": "PUSH1", + "value": "0x1" + }, + "3502": { + "op": "PUSH1", + "value": "0xA0" + }, + "3504": { + "op": "SHL" + }, + "3505": { + "op": "SUB" + }, + "3506": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "3507": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3508": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "3509": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xDD0" + }, + "3512": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "3513": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "3515": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "3516": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3520": { + "op": "PUSH1", + "value": "0xE5" + }, + "3522": { + "op": "SHL" + }, + "3523": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "3524": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "3525": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "3527": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "3528": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "3531": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "3532": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "3535": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "3536": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3537": { + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "3539": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "SLOAD", + "path": "39" + }, + "3540": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "3542": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "AND", + "path": "39" + }, + "3543": { + "offset": [ + 2687, + 2694 + ], + "op": "ISZERO", + "path": "39" + }, + "3544": { + "offset": [ + 2679, + 2695 + ], + "op": "PUSH2", + "path": "39", + "value": "0xDE0" + }, + "3547": { + "offset": [ + 2679, + 2695 + ], + "op": "JUMPI", + "path": "39" + }, + "3548": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "3550": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "DUP1", + "path": "39" + }, + "3551": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "REVERT", + "path": "39" + }, + "3552": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3553": { + "offset": [ + 2705, + 2711 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "3555": { + "offset": [ + 2705, + 2718 + ], + "op": "DUP1", + "path": "39" + }, + "3556": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SLOAD", + "path": "39" + }, + "3557": { + "op": "PUSH1", + "value": "0xFF" + }, + "3559": { + "op": "NOT" + }, + "3560": { + "offset": [ + 2705, + 2718 + ], + "op": "AND", + "path": "39" + }, + "3561": { + "offset": [ + 2714, + 2718 + ], + "op": "PUSH1", + "path": "39", + "value": "0x1" + }, + "3563": { + "offset": [ + 2705, + 2718 + ], + "op": "OR", + "path": "39" + }, + "3564": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SWAP1", + "path": "39" + }, + "3565": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SSTORE", + "path": "39" + }, + "3566": { + "op": "PUSH1", + "value": "0x1" + }, + "3568": { + "op": "PUSH1", + "value": "0x1" + }, + "3570": { + "op": "PUSH1", + "value": "0xA0" + }, + "3572": { + "op": "SHL" + }, + "3573": { + "op": "SUB" + }, + "3574": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10876, + 10899 + ], + "op": "DUP4", + "path": "39", + "statement": 36 + }, + "3575": { + "branch": 145, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10876, + 10899 + ], + "op": "AND", + "path": "39" + }, + "3576": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "PUSH2", + "path": "39", + "value": "0xE43" + }, + "3579": { + "branch": 145, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "JUMPI", + "path": "39" + }, + "3580": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3582": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "MLOAD", + "path": "39" + }, + "3583": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3587": { + "op": "PUSH1", + "value": "0xE5" + }, + "3589": { + "op": "SHL" + }, + "3590": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "DUP2", + "path": "39" + }, + "3591": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "MSTORE", + "path": "39" + }, + "3592": { + "op": "PUSH1", + "value": "0x20" + }, + "3594": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3596": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "DUP3", + "path": "39" + }, + "3597": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "ADD", + "path": "39" + }, + "3598": { + "op": "MSTORE" + }, + "3599": { + "op": "PUSH1", + "value": "0x1B" + }, + "3601": { + "op": "PUSH1", + "value": "0x24" + }, + "3603": { + "op": "DUP3" + }, + "3604": { + "op": "ADD" + }, + "3605": { + "op": "MSTORE" + }, + "3606": { + "op": "PUSH32", + "value": "0x526564656D7074696F6E20746F207A65726F20616464726573732E0000000000" + }, + "3639": { + "op": "PUSH1", + "value": "0x44" + }, + "3641": { + "op": "DUP3" + }, + "3642": { + "op": "ADD" + }, + "3643": { + "op": "MSTORE" + }, + "3644": { + "op": "PUSH1", + "value": "0x64" + }, + "3646": { + "op": "ADD" + }, + "3647": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "3650": { + "op": "JUMP" + }, + "3651": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10868, + 10931 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3652": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10995, + 11011 + ], + "op": "PUSH2", + "path": "39", + "statement": 37, + "value": "0xE4C" + }, + "3655": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11003, + 11010 + ], + "op": "DUP3", + "path": "39" + }, + "3656": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10995, + 11002 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1F4F" + }, + "3659": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "i", + "offset": [ + 10995, + 11011 + ], + "op": "JUMP", + "path": "39" + }, + "3660": { + "branch": 146, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10995, + 11011 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3661": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "PUSH2", + "path": "39", + "value": "0xEA2" + }, + "3664": { + "branch": 146, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "JUMPI", + "path": "39" + }, + "3665": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3667": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "MLOAD", + "path": "39" + }, + "3668": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3672": { + "op": "PUSH1", + "value": "0xE5" + }, + "3674": { + "op": "SHL" + }, + "3675": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "DUP2", + "path": "39" + }, + "3676": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "MSTORE", + "path": "39" + }, + "3677": { + "op": "PUSH1", + "value": "0x20" + }, + "3679": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3681": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "DUP3", + "path": "39" + }, + "3682": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "ADD", + "path": "39" + }, + "3683": { + "op": "MSTORE" + }, + "3684": { + "op": "PUSH1", + "value": "0x21" + }, + "3686": { + "op": "PUSH1", + "value": "0x24" + }, + "3688": { + "op": "DUP3" + }, + "3689": { + "op": "ADD" + }, + "3690": { + "op": "MSTORE" + }, + "3691": { + "op": "PUSH32", + "value": "0x526564656D7074696F6E206F66206E6F6E2D6578697374696E6720746F6B656E" + }, + "3724": { + "op": "PUSH1", + "value": "0x44" + }, + "3726": { + "op": "DUP3" + }, + "3727": { + "op": "ADD" + }, + "3728": { + "op": "MSTORE" + }, + "3729": { + "op": "PUSH1", + "value": "0x17" + }, + "3731": { + "op": "PUSH1", + "value": "0xF9" + }, + "3733": { + "op": "SHL" + }, + "3734": { + "op": "PUSH1", + "value": "0x64" + }, + "3736": { + "op": "DUP3" + }, + "3737": { + "op": "ADD" + }, + "3738": { + "op": "MSTORE" + }, + "3739": { + "op": "PUSH1", + "value": "0x84" + }, + "3741": { + "op": "ADD" + }, + "3742": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "3745": { + "op": "JUMP" + }, + "3746": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 10987, + 11049 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3747": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "PUSH1", + "path": "39", + "statement": 38, + "value": "0x0" + }, + "3749": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "DUP3", + "path": "39" + }, + "3750": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "DUP2", + "path": "39" + }, + "3751": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "MSTORE", + "path": "39" + }, + "3752": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11133 + ], + "op": "PUSH1", + "path": "39", + "value": "0x10" + }, + "3754": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "3756": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "MSTORE", + "path": "39" + }, + "3757": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3759": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "SWAP1", + "path": "39" + }, + "3760": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "KECCAK256", + "path": "39" + }, + "3761": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "SLOAD", + "path": "39" + }, + "3762": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "3764": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11126, + 11142 + ], + "op": "AND", + "path": "39" + }, + "3765": { + "branch": 147, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11125, + 11142 + ], + "op": "ISZERO", + "path": "39" + }, + "3766": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "PUSH2", + "path": "39", + "value": "0xEF8" + }, + "3769": { + "branch": 147, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "JUMPI", + "path": "39" + }, + "3770": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3772": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "MLOAD", + "path": "39" + }, + "3773": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3777": { + "op": "PUSH1", + "value": "0xE5" + }, + "3779": { + "op": "SHL" + }, + "3780": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "DUP2", + "path": "39" + }, + "3781": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "MSTORE", + "path": "39" + }, + "3782": { + "op": "PUSH1", + "value": "0x20" + }, + "3784": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3786": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "DUP3", + "path": "39" + }, + "3787": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "ADD", + "path": "39" + }, + "3788": { + "op": "MSTORE" + }, + "3789": { + "op": "PUSH1", + "value": "0x14" + }, + "3791": { + "op": "PUSH1", + "value": "0x24" + }, + "3793": { + "op": "DUP3" + }, + "3794": { + "op": "ADD" + }, + "3795": { + "op": "MSTORE" + }, + "3796": { + "op": "PUSH20", + "value": "0x2A37B5B2B71039BA34B636103832B73234B73397" + }, + "3817": { + "op": "PUSH1", + "value": "0x61" + }, + "3819": { + "op": "SHL" + }, + "3820": { + "op": "PUSH1", + "value": "0x44" + }, + "3822": { + "op": "DUP3" + }, + "3823": { + "op": "ADD" + }, + "3824": { + "op": "MSTORE" + }, + "3825": { + "op": "PUSH1", + "value": "0x64" + }, + "3827": { + "op": "ADD" + }, + "3828": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "3831": { + "op": "JUMP" + }, + "3832": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11117, + 11167 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3833": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11276, + 11285 + ], + "op": "DUP3", + "path": "39", + "statement": 39 + }, + "3834": { + "op": "PUSH1", + "value": "0x1" + }, + "3836": { + "op": "PUSH1", + "value": "0x1" + }, + "3838": { + "op": "PUSH1", + "value": "0xA0" + }, + "3840": { + "op": "SHL" + }, + "3841": { + "op": "SUB" + }, + "3842": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11256, + 11285 + ], + "op": "AND", + "path": "39" + }, + "3843": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11256, + 11272 + ], + "op": "PUSH2", + "path": "39", + "value": "0xF0B" + }, + "3846": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11264, + 11271 + ], + "op": "DUP4", + "path": "39" + }, + "3847": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11256, + 11263 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1263" + }, + "3850": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "i", + "offset": [ + 11256, + 11272 + ], + "op": "JUMP", + "path": "39" + }, + "3851": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11256, + 11272 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3852": { + "op": "PUSH1", + "value": "0x1" + }, + "3854": { + "op": "PUSH1", + "value": "0x1" + }, + "3856": { + "op": "PUSH1", + "value": "0xA0" + }, + "3858": { + "op": "SHL" + }, + "3859": { + "op": "SUB" + }, + "3860": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11256, + 11285 + ], + "op": "AND", + "path": "39" + }, + "3861": { + "branch": 148, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11256, + 11285 + ], + "op": "EQ", + "path": "39" + }, + "3862": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "PUSH2", + "path": "39", + "value": "0xF54" + }, + "3865": { + "branch": 148, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "JUMPI", + "path": "39" + }, + "3866": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3868": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "MLOAD", + "path": "39" + }, + "3869": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3873": { + "op": "PUSH1", + "value": "0xE5" + }, + "3875": { + "op": "SHL" + }, + "3876": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "DUP2", + "path": "39" + }, + "3877": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "MSTORE", + "path": "39" + }, + "3878": { + "op": "PUSH1", + "value": "0x20" + }, + "3880": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3882": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "DUP3", + "path": "39" + }, + "3883": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "ADD", + "path": "39" + }, + "3884": { + "op": "MSTORE" + }, + "3885": { + "op": "PUSH1", + "value": "0x10" + }, + "3887": { + "op": "PUSH1", + "value": "0x24" + }, + "3889": { + "op": "DUP3" + }, + "3890": { + "op": "ADD" + }, + "3891": { + "op": "MSTORE" + }, + "3892": { + "op": "PUSH16", + "value": "0x2737BA103A37B5B2B71037BBB732B917" + }, + "3909": { + "op": "PUSH1", + "value": "0x81" + }, + "3911": { + "op": "SHL" + }, + "3912": { + "op": "PUSH1", + "value": "0x44" + }, + "3914": { + "op": "DUP3" + }, + "3915": { + "op": "ADD" + }, + "3916": { + "op": "MSTORE" + }, + "3917": { + "op": "PUSH1", + "value": "0x64" + }, + "3919": { + "op": "ADD" + }, + "3920": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "3923": { + "op": "JUMP" + }, + "3924": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11248, + 11306 + ], + "op": "JUMPDEST", + "path": "39" + }, + "3925": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1778, + 1782 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "3927": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP3", + "path": "36" + }, + "3928": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "3929": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "3930": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "3932": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "3933": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "3934": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "3935": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "3937": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "3938": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "3939": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "3940": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1816 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "3941": { + "fn": "IsValidWithDate.isValid", + "offset": [ + 1801, + 1842 + ], + "op": "GT", + "path": "36" + }, + "3942": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "PUSH2", + "path": "39", + "statement": 40, + "value": "0xFA4" + }, + "3945": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "JUMPI", + "path": "39" + }, + "3946": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "3948": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "MLOAD", + "path": "39" + }, + "3949": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3953": { + "op": "PUSH1", + "value": "0xE5" + }, + "3955": { + "op": "SHL" + }, + "3956": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "DUP2", + "path": "39" + }, + "3957": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "MSTORE", + "path": "39" + }, + "3958": { + "op": "PUSH1", + "value": "0x20" + }, + "3960": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "3962": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "DUP3", + "path": "39" + }, + "3963": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "ADD", + "path": "39" + }, + "3964": { + "op": "MSTORE" + }, + "3965": { + "op": "PUSH1", + "value": "0x10" + }, + "3967": { + "op": "PUSH1", + "value": "0x24" + }, + "3969": { + "op": "DUP3" + }, + "3970": { + "op": "ADD" + }, + "3971": { + "op": "MSTORE" + }, + "3972": { + "op": "PUSH16", + "value": "0x2A37B5B2B7103AB732BC3834B932B217" + }, + "3989": { + "op": "PUSH1", + "value": "0x81" + }, + "3991": { + "op": "SHL" + }, + "3992": { + "op": "PUSH1", + "value": "0x44" + }, + "3994": { + "op": "DUP3" + }, + "3995": { + "op": "ADD" + }, + "3996": { + "op": "MSTORE" + }, + "3997": { + "op": "PUSH1", + "value": "0x64" + }, + "3999": { + "op": "ADD" + }, + "4000": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "4003": { + "op": "JUMP" + }, + "4004": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11364, + 11410 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4005": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11452, + 11464 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4007": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11467, + 11484 + ], + "op": "PUSH2", + "path": "39", + "value": "0xFB1" + }, + "4010": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11480, + 11483 + ], + "op": "PUSH1", + "path": "39", + "value": "0x12" + }, + "4012": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11480, + 11483 + ], + "op": "SLOAD", + "path": "39" + }, + "4013": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11467, + 11479 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2154" + }, + "4016": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "i", + "offset": [ + 11467, + 11484 + ], + "op": "JUMP", + "path": "39" + }, + "4017": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11467, + 11484 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4018": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11452, + 11484 + ], + "op": "SWAP1", + "path": "39" + }, + "4019": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11452, + 11484 + ], + "op": "POP", + "path": "39" + }, + "4020": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11577, + 11581 + ], + "op": "DUP1", + "path": "39", + "statement": 41 + }, + "4021": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11564, + 11573 + ], + "op": "CALLVALUE", + "path": "39" + }, + "4022": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11564, + 11581 + ], + "op": "LT", + "path": "39" + }, + "4023": { + "branch": 149, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11564, + 11581 + ], + "op": "ISZERO", + "path": "39" + }, + "4024": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1003" + }, + "4027": { + "branch": 149, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "JUMPI", + "path": "39" + }, + "4028": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "4030": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "MLOAD", + "path": "39" + }, + "4031": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4035": { + "op": "PUSH1", + "value": "0xE5" + }, + "4037": { + "op": "SHL" + }, + "4038": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "DUP2", + "path": "39" + }, + "4039": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "MSTORE", + "path": "39" + }, + "4040": { + "op": "PUSH1", + "value": "0x20" + }, + "4042": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "4044": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "DUP3", + "path": "39" + }, + "4045": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "ADD", + "path": "39" + }, + "4046": { + "op": "DUP2" + }, + "4047": { + "op": "SWAP1" + }, + "4048": { + "op": "MSTORE" + }, + "4049": { + "op": "PUSH1", + "value": "0x24" + }, + "4051": { + "op": "DUP3" + }, + "4052": { + "op": "ADD" + }, + "4053": { + "op": "MSTORE" + }, + "4054": { + "op": "PUSH32", + "value": "0x5072696365206C6F776572207468616E20726564656D7074696F6E207461782E" + }, + "4087": { + "op": "PUSH1", + "value": "0x44" + }, + "4089": { + "op": "DUP3" + }, + "4090": { + "op": "ADD" + }, + "4091": { + "op": "MSTORE" + }, + "4092": { + "op": "PUSH1", + "value": "0x64" + }, + "4094": { + "op": "ADD" + }, + "4095": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "4098": { + "op": "JUMP" + }, + "4099": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11556, + 11618 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4100": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11663, + 11678 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4102": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11731, + 11740 + ], + "op": "DUP2", + "path": "39" + }, + "4103": { + "branch": 150, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11731, + 11740 + ], + "op": "ISZERO", + "path": "39" + }, + "4104": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11727, + 11932 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1050" + }, + "4107": { + "branch": 150, + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11727, + 11932 + ], + "op": "JUMPI", + "path": "39" + }, + "4108": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11817, + 11833 + ], + "op": "PUSH2", + "path": "39", + "statement": 42, + "value": "0x1015" + }, + "4111": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11829, + 11833 + ], + "op": "DUP3", + "path": "39" + }, + "4112": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11817, + 11826 + ], + "op": "CALLVALUE", + "path": "39" + }, + "4113": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11817, + 11833 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2C8E" + }, + "4116": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "i", + "offset": [ + 11817, + 11833 + ], + "op": "JUMP", + "path": "39" + }, + "4117": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11817, + 11833 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4118": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "PUSH1", + "path": "39", + "statement": 43, + "value": "0x40" + }, + "4120": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "MLOAD", + "path": "39" + }, + "4121": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11807, + 11833 + ], + "op": "SWAP1", + "path": "39" + }, + "4122": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11807, + 11833 + ], + "op": "SWAP2", + "path": "39" + }, + "4123": { + "op": "POP" + }, + "4124": { + "op": "PUSH1", + "value": "0x1" + }, + "4126": { + "op": "PUSH1", + "value": "0x1" + }, + "4128": { + "op": "PUSH1", + "value": "0xA0" + }, + "4130": { + "op": "SHL" + }, + "4131": { + "op": "SUB" + }, + "4132": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11912 + ], + "op": "DUP7", + "path": "39" + }, + "4133": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11912 + ], + "op": "AND", + "path": "39" + }, + "4134": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11912 + ], + "op": "SWAP1", + "path": "39" + }, + "4135": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "DUP3", + "path": "39" + }, + "4136": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "ISZERO", + "path": "39" + }, + "4137": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "PUSH2", + "path": "39", + "value": "0x8FC" + }, + "4140": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "MUL", + "path": "39" + }, + "4141": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "SWAP1", + "path": "39" + }, + "4142": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11807, + 11833 + ], + "op": "DUP4", + "path": "39" + }, + "4143": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11807, + 11833 + ], + "op": "SWAP1", + "path": "39" + }, + "4144": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4146": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "DUP2", + "path": "39" + }, + "4147": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "DUP2", + "path": "39" + }, + "4148": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "DUP2", + "path": "39" + }, + "4149": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11807, + 11833 + ], + "op": "DUP6", + "path": "39" + }, + "4150": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11912 + ], + "op": "DUP9", + "path": "39" + }, + "4151": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "DUP9", + "path": "39" + }, + "4152": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "CALL", + "path": "39" + }, + "4153": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "SWAP4", + "path": "39" + }, + "4154": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "POP", + "path": "39" + }, + "4155": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "POP", + "path": "39" + }, + "4156": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "POP", + "path": "39" + }, + "4157": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "POP", + "path": "39" + }, + "4158": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "ISZERO", + "path": "39" + }, + "4159": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "DUP1", + "path": "39" + }, + "4160": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "ISZERO", + "path": "39" + }, + "4161": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "PUSH2", + "path": "39", + "value": "0x104E" + }, + "4164": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "JUMPI", + "path": "39" + }, + "4165": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "RETURNDATASIZE", + "path": "39" + }, + "4166": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4168": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "DUP1", + "path": "39" + }, + "4169": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "RETURNDATACOPY", + "path": "39" + }, + "4170": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "RETURNDATASIZE", + "path": "39" + }, + "4171": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4173": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "REVERT", + "path": "39" + }, + "4174": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4175": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11885, + 11921 + ], + "op": "POP", + "path": "39" + }, + "4176": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11727, + 11932 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4177": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11985, + 12024 + ], + "op": "PUSH2", + "path": "39", + "statement": 44, + "value": "0x105A" + }, + "4180": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11998, + 12005 + ], + "op": "DUP5", + "path": "39" + }, + "4181": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12007, + 12023 + ], + "op": "DUP5", + "path": "39" + }, + "4182": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11985, + 11997 + ], + "op": "PUSH2", + "path": "39", + "value": "0x17DD" + }, + "4185": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "i", + "offset": [ + 11985, + 12024 + ], + "op": "JUMP", + "path": "39" + }, + "4186": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 11985, + 12024 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4187": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12081, + 12116 + ], + "op": "PUSH1", + "path": "39", + "statement": 45, + "value": "0x40" + }, + "4189": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12081, + 12116 + ], + "op": "MLOAD", + "path": "39" + }, + "4190": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12099, + 12115 + ], + "op": "DUP4", + "path": "39" + }, + "4191": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12099, + 12115 + ], + "op": "SWAP1", + "path": "39" + }, + "4192": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12090, + 12097 + ], + "op": "DUP6", + "path": "39" + }, + "4193": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12090, + 12097 + ], + "op": "SWAP1", + "path": "39" + }, + "4194": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12081, + 12116 + ], + "op": "PUSH32", + "path": "39", + "value": "0x6F73B7B8D37DF32EA60A45EADC8FC3D2D716D705EE099BD506817482CE847316" + }, + "4227": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12081, + 12116 + ], + "op": "SWAP1", + "path": "39" + }, + "4228": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12081, + 12116 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4230": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12081, + 12116 + ], + "op": "SWAP1", + "path": "39" + }, + "4231": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 12081, + 12116 + ], + "op": "LOG3", + "path": "39" + }, + "4232": { + "op": "POP" + }, + "4233": { + "op": "POP" + }, + "4234": { + "offset": [ + 2739, + 2745 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "4236": { + "offset": [ + 2739, + 2753 + ], + "op": "DUP1", + "path": "39" + }, + "4237": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 2739, + 2753 + ], + "op": "SLOAD", + "path": "39" + }, + "4238": { + "op": "PUSH1", + "value": "0xFF" + }, + "4240": { + "op": "NOT" + }, + "4241": { + "offset": [ + 2739, + 2753 + ], + "op": "AND", + "path": "39" + }, + "4242": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 2739, + 2753 + ], + "op": "SWAP1", + "path": "39" + }, + "4243": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "offset": [ + 2739, + 2753 + ], + "op": "SSTORE", + "path": "39" + }, + "4244": { + "op": "POP" + }, + "4245": { + "op": "POP" + }, + "4246": { + "op": "POP" + }, + "4247": { + "fn": "SoulboundRedeemable.redeemMintedToken", + "jump": "o", + "offset": [ + 10643, + 12123 + ], + "op": "JUMP", + "path": "39" + }, + "4248": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4249": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "PUSH2", + "path": "41", + "statement": 46, + "value": "0x10A1" + }, + "4252": { + "fn": "ERC4973.burn", + "offset": [ + 5338, + 5345 + ], + "op": "DUP2", + "path": "41" + }, + "4253": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1263" + }, + "4256": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5330, + 5346 + ], + "op": "JUMP", + "path": "41" + }, + "4257": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4258": { + "op": "PUSH1", + "value": "0x1" + }, + "4260": { + "op": "PUSH1", + "value": "0x1" + }, + "4262": { + "op": "PUSH1", + "value": "0xA0" + }, + "4264": { + "op": "SHL" + }, + "4265": { + "op": "SUB" + }, + "4266": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "4267": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5326 + ], + "op": "CALLER", + "path": "41" + }, + "4268": { + "op": "PUSH1", + "value": "0x1" + }, + "4270": { + "op": "PUSH1", + "value": "0x1" + }, + "4272": { + "op": "PUSH1", + "value": "0xA0" + }, + "4274": { + "op": "SHL" + }, + "4275": { + "op": "SUB" + }, + "4276": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "4277": { + "branch": 166, + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "EQ", + "path": "41" + }, + "4278": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1101" + }, + "4281": { + "branch": 166, + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPI", + "path": "41" + }, + "4282": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4284": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MLOAD", + "path": "41" + }, + "4285": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4289": { + "op": "PUSH1", + "value": "0xE5" + }, + "4291": { + "op": "SHL" + }, + "4292": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP2", + "path": "41" + }, + "4293": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MSTORE", + "path": "41" + }, + "4294": { + "op": "PUSH1", + "value": "0x20" + }, + "4296": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "4298": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP3", + "path": "41" + }, + "4299": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "ADD", + "path": "41" + }, + "4300": { + "op": "MSTORE" + }, + "4301": { + "op": "PUSH1", + "value": "0x1A" + }, + "4303": { + "op": "PUSH1", + "value": "0x24" + }, + "4305": { + "op": "DUP3" + }, + "4306": { + "op": "ADD" + }, + "4307": { + "op": "MSTORE" + }, + "4308": { + "op": "PUSH32", + "value": "0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000" + }, + "4341": { + "op": "PUSH1", + "value": "0x44" + }, + "4343": { + "op": "DUP3" + }, + "4344": { + "op": "ADD" + }, + "4345": { + "op": "MSTORE" + }, + "4346": { + "op": "PUSH1", + "value": "0x64" + }, + "4348": { + "op": "ADD" + }, + "4349": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6B1" + }, + "4352": { + "op": "JUMP" + }, + "4353": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4354": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "PUSH2", + "path": "41", + "statement": 47, + "value": "0x110A" + }, + "4357": { + "fn": "ERC4973.burn", + "offset": [ + 5393, + 5400 + ], + "op": "DUP2", + "path": "41" + }, + "4358": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5392 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2190" + }, + "4361": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5387, + 5401 + ], + "op": "JUMP", + "path": "41" + }, + "4362": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4363": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "POP", + "path": "41" + }, + "4364": { + "fn": "ERC4973.burn", + "jump": "o", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "4365": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14559, + 15200 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4366": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "4368": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "4369": { + "op": "PUSH1", + "value": "0x1" + }, + "4371": { + "op": "PUSH1", + "value": "0x1" + }, + "4373": { + "op": "PUSH1", + "value": "0xA0" + }, + "4375": { + "op": "SHL" + }, + "4376": { + "op": "SUB" + }, + "4377": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "4378": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4379": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "4380": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1137" + }, + "4383": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "4384": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "4386": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "4387": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4391": { + "op": "PUSH1", + "value": "0xE5" + }, + "4393": { + "op": "SHL" + }, + "4394": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "4395": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "4396": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "4398": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "4399": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "4402": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "4403": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "4406": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "4407": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "4408": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14654, + 14661 + ], + "op": "DUP1", + "path": "39" + }, + "4409": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x114A" + }, + "4412": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x9" + }, + "4414": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "4415": { + "op": "PUSH1", + "value": "0x1" + }, + "4417": { + "op": "PUSH1", + "value": "0x1" + }, + "4419": { + "op": "PUSH1", + "value": "0xA0" + }, + "4421": { + "op": "SHL" + }, + "4422": { + "op": "SUB" + }, + "4423": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "4424": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "4425": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "4426": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4427": { + "op": "PUSH1", + "value": "0x1" + }, + "4429": { + "op": "PUSH1", + "value": "0x1" + }, + "4431": { + "op": "PUSH1", + "value": "0xA0" + }, + "4433": { + "op": "SHL" + }, + "4434": { + "op": "SUB" + }, + "4435": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "4436": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "4437": { + "op": "PUSH1", + "value": "0x1" + }, + "4439": { + "op": "PUSH1", + "value": "0x1" + }, + "4441": { + "op": "PUSH1", + "value": "0xA0" + }, + "4443": { + "op": "SHL" + }, + "4444": { + "op": "SUB" + }, + "4445": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "4446": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "4447": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x117A" + }, + "4450": { + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "4451": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "4453": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "4454": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4458": { + "op": "PUSH1", + "value": "0xE5" + }, + "4460": { + "op": "SHL" + }, + "4461": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "4462": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "4463": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "4465": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "4466": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "4469": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "SWAP1", + "path": "38" + }, + "4470": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2B9B" + }, + "4473": { + "fn": "Allowlist.getAllowlistOwner", + "jump": "i", + "offset": [ + 1685, + 1748 + ], + "op": "JUMP", + "path": "38" + }, + "4474": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4475": { + "op": "PUSH1", + "value": "0x1" + }, + "4477": { + "op": "PUSH1", + "value": "0x1" + }, + "4479": { + "op": "PUSH1", + "value": "0xA0" + }, + "4481": { + "op": "SHL" + }, + "4482": { + "op": "SUB" + }, + "4483": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14757, + 14778 + ], + "op": "DUP3", + "path": "39", + "statement": 48 + }, + "4484": { + "branch": 151, + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14757, + 14778 + ], + "op": "AND", + "path": "39" + }, + "4485": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "PUSH2", + "path": "39", + "value": "0x11D0" + }, + "4488": { + "branch": 151, + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "JUMPI", + "path": "39" + }, + "4489": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "4491": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "MLOAD", + "path": "39" + }, + "4492": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4496": { + "op": "PUSH1", + "value": "0xE5" + }, + "4498": { + "op": "SHL" + }, + "4499": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "DUP2", + "path": "39" + }, + "4500": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "MSTORE", + "path": "39" + }, + "4501": { + "op": "PUSH1", + "value": "0x20" + }, + "4503": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "4505": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "DUP3", + "path": "39" + }, + "4506": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "ADD", + "path": "39" + }, + "4507": { + "op": "MSTORE" + }, + "4508": { + "op": "PUSH1", + "value": "0x18" + }, + "4510": { + "op": "PUSH1", + "value": "0x24" + }, + "4512": { + "op": "DUP3" + }, + "4513": { + "op": "ADD" + }, + "4514": { + "op": "MSTORE" + }, + "4515": { + "op": "PUSH32", + "value": "0x53656E64696E6720746F207A65726F20616464726573732E0000000000000000" + }, + "4548": { + "op": "PUSH1", + "value": "0x44" + }, + "4550": { + "op": "DUP3" + }, + "4551": { + "op": "ADD" + }, + "4552": { + "op": "MSTORE" + }, + "4553": { + "op": "PUSH1", + "value": "0x64" + }, + "4555": { + "op": "ADD" + }, + "4556": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "4559": { + "op": "JUMP" + }, + "4560": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14749, + 14807 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4561": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14947, + 14959 + ], + "op": "PUSH1", + "path": "39", + "statement": 49, + "value": "0xD" + }, + "4563": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14947, + 14959 + ], + "op": "SLOAD", + "path": "39" + }, + "4564": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14922, + 14943 + ], + "op": "SELFBALANCE", + "path": "39" + }, + "4565": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14922, + 14959 + ], + "op": "LT", + "path": "39" + }, + "4566": { + "branch": 152, + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14922, + 14959 + ], + "op": "ISZERO", + "path": "39" + }, + "4567": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1222" + }, + "4570": { + "branch": 152, + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "JUMPI", + "path": "39" + }, + "4571": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "4573": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "MLOAD", + "path": "39" + }, + "4574": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4578": { + "op": "PUSH1", + "value": "0xE5" + }, + "4580": { + "op": "SHL" + }, + "4581": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "DUP2", + "path": "39" + }, + "4582": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "MSTORE", + "path": "39" + }, + "4583": { + "op": "PUSH1", + "value": "0x20" + }, + "4585": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "4587": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "DUP3", + "path": "39" + }, + "4588": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "ADD", + "path": "39" + }, + "4589": { + "op": "MSTORE" + }, + "4590": { + "op": "PUSH1", + "value": "0x1C" + }, + "4592": { + "op": "PUSH1", + "value": "0x24" + }, + "4594": { + "op": "DUP3" + }, + "4595": { + "op": "ADD" + }, + "4596": { + "op": "MSTORE" + }, + "4597": { + "op": "PUSH32", + "value": "0x526576656E756520213D20436F6E74726163742062616C616E63652E00000000" + }, + "4630": { + "op": "PUSH1", + "value": "0x44" + }, + "4632": { + "op": "DUP3" + }, + "4633": { + "op": "ADD" + }, + "4634": { + "op": "MSTORE" + }, + "4635": { + "op": "PUSH1", + "value": "0x64" + }, + "4637": { + "op": "ADD" + }, + "4638": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "4641": { + "op": "JUMP" + }, + "4642": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 14901, + 15013 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4643": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15110, + 15122 + ], + "op": "PUSH1", + "path": "39", + "statement": 50, + "value": "0xD" + }, + "4645": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15110, + 15122 + ], + "op": "SLOAD", + "path": "39" + }, + "4646": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "4648": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "MLOAD", + "path": "39" + }, + "4649": { + "op": "PUSH1", + "value": "0x1" + }, + "4651": { + "op": "PUSH1", + "value": "0x1" + }, + "4653": { + "op": "PUSH1", + "value": "0xA0" + }, + "4655": { + "op": "SHL" + }, + "4656": { + "op": "SUB" + }, + "4657": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15109 + ], + "op": "DUP5", + "path": "39" + }, + "4658": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15109 + ], + "op": "AND", + "path": "39" + }, + "4659": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15109 + ], + "op": "SWAP2", + "path": "39" + }, + "4660": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "DUP1", + "path": "39" + }, + "4661": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "ISZERO", + "path": "39" + }, + "4662": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "PUSH2", + "path": "39", + "value": "0x8FC" + }, + "4665": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "MUL", + "path": "39" + }, + "4666": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "SWAP2", + "path": "39" + }, + "4667": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4669": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "DUP2", + "path": "39" + }, + "4670": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "DUP2", + "path": "39" + }, + "4671": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "DUP2", + "path": "39" + }, + "4672": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15110, + 15122 + ], + "op": "DUP6", + "path": "39" + }, + "4673": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15109 + ], + "op": "DUP9", + "path": "39" + }, + "4674": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "DUP9", + "path": "39" + }, + "4675": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "CALL", + "path": "39" + }, + "4676": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "SWAP4", + "path": "39" + }, + "4677": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "POP", + "path": "39" + }, + "4678": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "POP", + "path": "39" + }, + "4679": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "POP", + "path": "39" + }, + "4680": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "POP", + "path": "39" + }, + "4681": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "ISZERO", + "path": "39" + }, + "4682": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "DUP1", + "path": "39" + }, + "4683": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "ISZERO", + "path": "39" + }, + "4684": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1259" + }, + "4687": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "JUMPI", + "path": "39" + }, + "4688": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "RETURNDATASIZE", + "path": "39" + }, + "4689": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4691": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "DUP1", + "path": "39" + }, + "4692": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "RETURNDATACOPY", + "path": "39" + }, + "4693": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "RETURNDATASIZE", + "path": "39" + }, + "4694": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "4696": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "REVERT", + "path": "39" + }, + "4697": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15084, + 15123 + ], + "op": "JUMPDEST", + "path": "39" + }, + "4698": { + "op": "POP" + }, + "4699": { + "op": "POP" + }, + "4700": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15192, + 15193 + ], + "op": "PUSH1", + "path": "39", + "statement": 51, + "value": "0x0" + }, + "4702": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15177, + 15189 + ], + "op": "PUSH1", + "path": "39", + "value": "0xD" + }, + "4704": { + "fn": "SoulboundRedeemable.withdraw", + "offset": [ + 15177, + 15193 + ], + "op": "SSTORE", + "path": "39" + }, + "4705": { + "op": "POP" + }, + "4706": { + "fn": "SoulboundRedeemable.withdraw", + "jump": "o", + "offset": [ + 14559, + 15200 + ], + "op": "JUMP", + "path": "39" + }, + "4707": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4708": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5768, + 5775 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4710": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "4711": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "4712": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "4713": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5810 + ], + "op": "PUSH1", + "path": "41", + "value": "0x3" + }, + "4715": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "4717": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "4718": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4720": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "4721": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "KECCAK256", + "path": "41" + }, + "4722": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "SLOAD", + "path": "41" + }, + "4723": { + "op": "PUSH1", + "value": "0x1" + }, + "4725": { + "op": "PUSH1", + "value": "0x1" + }, + "4727": { + "op": "PUSH1", + "value": "0xA0" + }, + "4729": { + "op": "SHL" + }, + "4730": { + "op": "SUB" + }, + "4731": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "AND", + "path": "41" + }, + "4732": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP1", + "path": "41" + }, + "4733": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "statement": 52, + "value": "0x7A2" + }, + "4736": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "JUMPI", + "path": "41" + }, + "4737": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4739": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MLOAD", + "path": "41" + }, + "4740": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4744": { + "op": "PUSH1", + "value": "0xE5" + }, + "4746": { + "op": "SHL" + }, + "4747": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP2", + "path": "41" + }, + "4748": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MSTORE", + "path": "41" + }, + "4749": { + "op": "PUSH1", + "value": "0x20" + }, + "4751": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "4753": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP3", + "path": "41" + }, + "4754": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "ADD", + "path": "41" + }, + "4755": { + "op": "MSTORE" + }, + "4756": { + "op": "PUSH1", + "value": "0x1C" + }, + "4758": { + "op": "PUSH1", + "value": "0x24" + }, + "4760": { + "op": "DUP3" + }, + "4761": { + "op": "ADD" + }, + "4762": { + "op": "MSTORE" + }, + "4763": { + "op": "PUSH32", + "value": "0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000" + }, + "4796": { + "op": "PUSH1", + "value": "0x44" + }, + "4798": { + "op": "DUP3" + }, + "4799": { + "op": "ADD" + }, + "4800": { + "op": "MSTORE" + }, + "4801": { + "op": "PUSH1", + "value": "0x64" + }, + "4803": { + "op": "ADD" + }, + "4804": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6B1" + }, + "4807": { + "op": "JUMP" + }, + "4808": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4809": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5526, + 5533 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4811": { + "op": "PUSH1", + "value": "0x1" + }, + "4813": { + "op": "PUSH1", + "value": "0x1" + }, + "4815": { + "op": "PUSH1", + "value": "0xA0" + }, + "4817": { + "op": "SHL" + }, + "4818": { + "op": "SUB" + }, + "4819": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "DUP3", + "path": "41", + "statement": 53 + }, + "4820": { + "branch": 167, + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "AND", + "path": "41" + }, + "4821": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1335" + }, + "4824": { + "branch": 167, + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPI", + "path": "41" + }, + "4825": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4827": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MLOAD", + "path": "41" + }, + "4828": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4832": { + "op": "PUSH1", + "value": "0xE5" + }, + "4834": { + "op": "SHL" + }, + "4835": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP2", + "path": "41" + }, + "4836": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MSTORE", + "path": "41" + }, + "4837": { + "op": "PUSH1", + "value": "0x20" + }, + "4839": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "4841": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP3", + "path": "41" + }, + "4842": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "ADD", + "path": "41" + }, + "4843": { + "op": "MSTORE" + }, + "4844": { + "op": "PUSH1", + "value": "0x2C" + }, + "4846": { + "op": "PUSH1", + "value": "0x24" + }, + "4848": { + "op": "DUP3" + }, + "4849": { + "op": "ADD" + }, + "4850": { + "op": "MSTORE" + }, + "4851": { + "op": "PUSH32", + "value": "0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061" + }, + "4884": { + "op": "PUSH1", + "value": "0x44" + }, + "4886": { + "op": "DUP3" + }, + "4887": { + "op": "ADD" + }, + "4888": { + "op": "MSTORE" + }, + "4889": { + "op": "PUSH12", + "value": "0x103B30B634B21037BBB732B9" + }, + "4902": { + "op": "PUSH1", + "value": "0xA1" + }, + "4904": { + "op": "SHL" + }, + "4905": { + "op": "PUSH1", + "value": "0x64" + }, + "4907": { + "op": "DUP3" + }, + "4908": { + "op": "ADD" + }, + "4909": { + "op": "MSTORE" + }, + "4910": { + "op": "PUSH1", + "value": "0x84" + }, + "4912": { + "op": "ADD" + }, + "4913": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6B1" + }, + "4916": { + "op": "JUMP" + }, + "4917": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4918": { + "op": "POP" + }, + "4919": { + "op": "PUSH1", + "value": "0x1" + }, + "4921": { + "op": "PUSH1", + "value": "0x1" + }, + "4923": { + "op": "PUSH1", + "value": "0xA0" + }, + "4925": { + "op": "SHL" + }, + "4926": { + "op": "SUB" + }, + "4927": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "AND", + "path": "41", + "statement": 54 + }, + "4928": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4930": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "4931": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "DUP2", + "path": "41" + }, + "4932": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "4933": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5685 + ], + "op": "PUSH1", + "path": "41", + "value": "0x5" + }, + "4935": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "4937": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "4938": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4940": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "4941": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "KECCAK256", + "path": "41" + }, + "4942": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SLOAD", + "path": "41" + }, + "4943": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "4944": { + "fn": "ERC4973.balanceOf", + "jump": "o", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "4945": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "4946": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "4948": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "4949": { + "op": "PUSH1", + "value": "0x1" + }, + "4951": { + "op": "PUSH1", + "value": "0x1" + }, + "4953": { + "op": "PUSH1", + "value": "0xA0" + }, + "4955": { + "op": "SHL" + }, + "4956": { + "op": "SUB" + }, + "4957": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "4958": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4959": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "4960": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x137B" + }, + "4963": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "4964": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "4966": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "4967": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4971": { + "op": "PUSH1", + "value": "0xE5" + }, + "4973": { + "op": "SHL" + }, + "4974": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "4975": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "4976": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "4978": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "4979": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "4982": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "4983": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "4986": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "4987": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "4988": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH2", + "path": "0", + "statement": 55, + "value": "0x1385" + }, + "4991": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "4993": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2237" + }, + "4996": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "4997": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "4998": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "4999": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5000": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "5002": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "5003": { + "op": "PUSH1", + "value": "0x1" + }, + "5005": { + "op": "PUSH1", + "value": "0x1" + }, + "5007": { + "op": "PUSH1", + "value": "0xA0" + }, + "5009": { + "op": "SHL" + }, + "5010": { + "op": "SUB" + }, + "5011": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "5012": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "5013": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "5014": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x13B1" + }, + "5017": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "5018": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "5020": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "5021": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5025": { + "op": "PUSH1", + "value": "0xE5" + }, + "5027": { + "op": "SHL" + }, + "5028": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "5029": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "5030": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "5032": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "5033": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "5036": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "5037": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "5040": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "5041": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "5042": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5659, + 5665 + ], + "op": "DUP2", + "path": "38" + }, + "5043": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x13C4" + }, + "5046": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x9" + }, + "5048": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "5049": { + "op": "PUSH1", + "value": "0x1" + }, + "5051": { + "op": "PUSH1", + "value": "0x1" + }, + "5053": { + "op": "PUSH1", + "value": "0xA0" + }, + "5055": { + "op": "SHL" + }, + "5056": { + "op": "SUB" + }, + "5057": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "5058": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "5059": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "5060": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5061": { + "op": "PUSH1", + "value": "0x1" + }, + "5063": { + "op": "PUSH1", + "value": "0x1" + }, + "5065": { + "op": "PUSH1", + "value": "0xA0" + }, + "5067": { + "op": "SHL" + }, + "5068": { + "op": "SUB" + }, + "5069": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5070": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "5071": { + "op": "PUSH1", + "value": "0x1" + }, + "5073": { + "op": "PUSH1", + "value": "0x1" + }, + "5075": { + "op": "PUSH1", + "value": "0xA0" + }, + "5077": { + "op": "SHL" + }, + "5078": { + "op": "SUB" + }, + "5079": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5080": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "5081": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x13F4" + }, + "5084": { + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "5085": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "5087": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "5088": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5092": { + "op": "PUSH1", + "value": "0xE5" + }, + "5094": { + "op": "SHL" + }, + "5095": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "5096": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "5097": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "5099": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "5100": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "5103": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "SWAP1", + "path": "38" + }, + "5104": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2B9B" + }, + "5107": { + "fn": "Allowlist.getAllowlistOwner", + "jump": "i", + "offset": [ + 1685, + 1748 + ], + "op": "JUMP", + "path": "38" + }, + "5108": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5109": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5711, + 5732 + ], + "op": "PUSH2", + "path": "38", + "statement": 56, + "value": "0xA07" + }, + "5112": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5723, + 5731 + ], + "op": "DUP3", + "path": "38" + }, + "5113": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5711, + 5722 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2289" + }, + "5116": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5711, + 5732 + ], + "op": "JUMP", + "path": "38" + }, + "5117": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "5118": { + "fn": "ERC4973.symbol", + "offset": [ + 4942, + 4955 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "5120": { + "fn": "ERC4973.symbol", + "offset": [ + 4974, + 4981 + ], + "op": "PUSH1", + "path": "41", + "statement": 57, + "value": "0x2" + }, + "5122": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "DUP1", + "path": "41" + }, + "5123": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SLOAD", + "path": "41" + }, + "5124": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7B7" + }, + "5127": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SWAP1", + "path": "41" + }, + "5128": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2BC9" + }, + "5131": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4967, + 4981 + ], + "op": "JUMP", + "path": "41" + }, + "5132": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 13771, + 14280 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5133": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "5135": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "5136": { + "op": "PUSH1", + "value": "0x1" + }, + "5138": { + "op": "PUSH1", + "value": "0x1" + }, + "5140": { + "op": "PUSH1", + "value": "0xA0" + }, + "5142": { + "op": "SHL" + }, + "5143": { + "op": "SUB" + }, + "5144": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "5145": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "5146": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "5147": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1436" + }, + "5150": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "5151": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "5153": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "5154": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5158": { + "op": "PUSH1", + "value": "0xE5" + }, + "5160": { + "op": "SHL" + }, + "5161": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "5162": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "5163": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "5165": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "5166": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "5169": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "5170": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "5173": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "5174": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "5175": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14020, + 14027 + ], + "op": "DUP6", + "path": "39" + }, + "5176": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1449" + }, + "5179": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x9" + }, + "5181": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "5182": { + "op": "PUSH1", + "value": "0x1" + }, + "5184": { + "op": "PUSH1", + "value": "0x1" + }, + "5186": { + "op": "PUSH1", + "value": "0xA0" + }, + "5188": { + "op": "SHL" + }, + "5189": { + "op": "SUB" + }, + "5190": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "5191": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "5192": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "5193": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5194": { + "op": "PUSH1", + "value": "0x1" + }, + "5196": { + "op": "PUSH1", + "value": "0x1" + }, + "5198": { + "op": "PUSH1", + "value": "0xA0" + }, + "5200": { + "op": "SHL" + }, + "5201": { + "op": "SUB" + }, + "5202": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5203": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "5204": { + "op": "PUSH1", + "value": "0x1" + }, + "5206": { + "op": "PUSH1", + "value": "0x1" + }, + "5208": { + "op": "PUSH1", + "value": "0xA0" + }, + "5210": { + "op": "SHL" + }, + "5211": { + "op": "SUB" + }, + "5212": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5213": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "5214": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1479" + }, + "5217": { + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "5218": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "5220": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "5221": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5225": { + "op": "PUSH1", + "value": "0xE5" + }, + "5227": { + "op": "SHL" + }, + "5228": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "5229": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "5230": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "5232": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "5233": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "5236": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "SWAP1", + "path": "38" + }, + "5237": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2B9B" + }, + "5240": { + "fn": "Allowlist.getAllowlistOwner", + "jump": "i", + "offset": [ + 1685, + 1748 + ], + "op": "JUMP", + "path": "38" + }, + "5241": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5242": { + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "5244": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2688, + 2694 + ], + "op": "SLOAD", + "path": "39" + }, + "5245": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "5247": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2688, + 2694 + ], + "op": "AND", + "path": "39" + }, + "5248": { + "offset": [ + 2687, + 2694 + ], + "op": "ISZERO", + "path": "39" + }, + "5249": { + "offset": [ + 2679, + 2695 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1489" + }, + "5252": { + "offset": [ + 2679, + 2695 + ], + "op": "JUMPI", + "path": "39" + }, + "5253": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "5255": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "DUP1", + "path": "39" + }, + "5256": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "REVERT", + "path": "39" + }, + "5257": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5258": { + "offset": [ + 2705, + 2711 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "5260": { + "offset": [ + 2705, + 2718 + ], + "op": "DUP1", + "path": "39" + }, + "5261": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2705, + 2718 + ], + "op": "SLOAD", + "path": "39" + }, + "5262": { + "op": "PUSH1", + "value": "0xFF" + }, + "5264": { + "op": "NOT" + }, + "5265": { + "offset": [ + 2705, + 2718 + ], + "op": "AND", + "path": "39" + }, + "5266": { + "offset": [ + 2714, + 2718 + ], + "op": "PUSH1", + "path": "39", + "value": "0x1" + }, + "5268": { + "offset": [ + 2705, + 2718 + ], + "op": "OR", + "path": "39" + }, + "5269": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2705, + 2718 + ], + "op": "SWAP1", + "path": "39" + }, + "5270": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2705, + 2718 + ], + "op": "SSTORE", + "path": "39" + }, + "5271": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14124, + 14150 + ], + "op": "PUSH2", + "path": "39", + "statement": 58, + "value": "0x14A0" + }, + "5274": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14140, + 14144 + ], + "op": "DUP4", + "path": "39" + }, + "5275": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14146, + 14149 + ], + "op": "DUP4", + "path": "39" + }, + "5276": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14124, + 14139 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1A94" + }, + "5279": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "jump": "i", + "offset": [ + 14124, + 14150 + ], + "op": "JUMP", + "path": "39" + }, + "5280": { + "branch": 153, + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14124, + 14150 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5281": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "PUSH2", + "path": "39", + "value": "0x14E6" + }, + "5284": { + "branch": 153, + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "JUMPI", + "path": "39" + }, + "5285": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "5287": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "MLOAD", + "path": "39" + }, + "5288": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5292": { + "op": "PUSH1", + "value": "0xE5" + }, + "5294": { + "op": "SHL" + }, + "5295": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "DUP2", + "path": "39" + }, + "5296": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "MSTORE", + "path": "39" + }, + "5297": { + "op": "PUSH1", + "value": "0x20" + }, + "5299": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "5301": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "DUP3", + "path": "39" + }, + "5302": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "ADD", + "path": "39" + }, + "5303": { + "op": "MSTORE" + }, + "5304": { + "op": "PUSH1", + "value": "0x17" + }, + "5306": { + "op": "PUSH1", + "value": "0x24" + }, + "5308": { + "op": "DUP3" + }, + "5309": { + "op": "ADD" + }, + "5310": { + "op": "MSTORE" + }, + "5311": { + "op": "PUSH23", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C903CB7BA97" + }, + "5335": { + "op": "PUSH1", + "value": "0x49" + }, + "5337": { + "op": "SHL" + }, + "5338": { + "op": "PUSH1", + "value": "0x44" + }, + "5340": { + "op": "DUP3" + }, + "5341": { + "op": "ADD" + }, + "5342": { + "op": "MSTORE" + }, + "5343": { + "op": "PUSH1", + "value": "0x64" + }, + "5345": { + "op": "ADD" + }, + "5346": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "5349": { + "op": "JUMP" + }, + "5350": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14116, + 14178 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5351": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14218, + 14273 + ], + "op": "PUSH2", + "path": "39", + "statement": 59, + "value": "0x14F1" + }, + "5354": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14236, + 14245 + ], + "op": "DUP7", + "path": "39" + }, + "5355": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14247, + 14254 + ], + "op": "DUP7", + "path": "39" + }, + "5356": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14256, + 14272 + ], + "op": "DUP7", + "path": "39" + }, + "5357": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14218, + 14235 + ], + "op": "PUSH2", + "path": "39", + "value": "0xDA6" + }, + "5360": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "jump": "i", + "offset": [ + 14218, + 14273 + ], + "op": "JUMP", + "path": "39" + }, + "5361": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 14218, + 14273 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5362": { + "op": "POP" + }, + "5363": { + "op": "POP" + }, + "5364": { + "offset": [ + 2739, + 2745 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "5366": { + "offset": [ + 2739, + 2753 + ], + "op": "DUP1", + "path": "39" + }, + "5367": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 2739, + 2753 + ], + "op": "SLOAD", + "path": "39" + }, + "5368": { + "op": "PUSH1", + "value": "0xFF" + }, + "5370": { + "op": "NOT" + }, + "5371": { + "offset": [ + 2739, + 2753 + ], + "op": "AND", + "path": "39" + }, + "5372": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 2739, + 2753 + ], + "op": "SWAP1", + "path": "39" + }, + "5373": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "offset": [ + 2739, + 2753 + ], + "op": "SSTORE", + "path": "39" + }, + "5374": { + "op": "POP" + }, + "5375": { + "op": "POP" + }, + "5376": { + "op": "POP" + }, + "5377": { + "op": "POP" + }, + "5378": { + "op": "POP" + }, + "5379": { + "fn": "SoulboundRedeemable.redeemMintedTokenWithSignature", + "jump": "o", + "offset": [ + 13771, + 14280 + ], + "op": "JUMP", + "path": "39" + }, + "5380": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12692, + 13203 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5381": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "5383": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "5384": { + "op": "PUSH1", + "value": "0x1" + }, + "5386": { + "op": "PUSH1", + "value": "0x1" + }, + "5388": { + "op": "PUSH1", + "value": "0xA0" + }, + "5390": { + "op": "SHL" + }, + "5391": { + "op": "SUB" + }, + "5392": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "5393": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "5394": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "5395": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x152E" + }, + "5398": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "5399": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "5401": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "5402": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5406": { + "op": "PUSH1", + "value": "0xE5" + }, + "5408": { + "op": "SHL" + }, + "5409": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "5410": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "5411": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "5413": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "5414": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "5417": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "5418": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "5421": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "5422": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "5423": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 12942, + 12949 + ], + "op": "DUP6", + "path": "39" + }, + "5424": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1541" + }, + "5427": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x9" + }, + "5429": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "5430": { + "op": "PUSH1", + "value": "0x1" + }, + "5432": { + "op": "PUSH1", + "value": "0x1" + }, + "5434": { + "op": "PUSH1", + "value": "0xA0" + }, + "5436": { + "op": "SHL" + }, + "5437": { + "op": "SUB" + }, + "5438": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "5439": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "5440": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "5441": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5442": { + "op": "PUSH1", + "value": "0x1" + }, + "5444": { + "op": "PUSH1", + "value": "0x1" + }, + "5446": { + "op": "PUSH1", + "value": "0xA0" + }, + "5448": { + "op": "SHL" + }, + "5449": { + "op": "SUB" + }, + "5450": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5451": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "5452": { + "op": "PUSH1", + "value": "0x1" + }, + "5454": { + "op": "PUSH1", + "value": "0x1" + }, + "5456": { + "op": "PUSH1", + "value": "0xA0" + }, + "5458": { + "op": "SHL" + }, + "5459": { + "op": "SUB" + }, + "5460": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5461": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "5462": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1571" + }, + "5465": { + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "5466": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "5468": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "5469": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5473": { + "op": "PUSH1", + "value": "0xE5" + }, + "5475": { + "op": "SHL" + }, + "5476": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "5477": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "5478": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "5480": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "5481": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "5484": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "SWAP1", + "path": "38" + }, + "5485": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2B9B" + }, + "5488": { + "fn": "Allowlist.getAllowlistOwner", + "jump": "i", + "offset": [ + 1685, + 1748 + ], + "op": "JUMP", + "path": "38" + }, + "5489": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5490": { + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "5492": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2688, + 2694 + ], + "op": "SLOAD", + "path": "39" + }, + "5493": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "5495": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2688, + 2694 + ], + "op": "AND", + "path": "39" + }, + "5496": { + "offset": [ + 2687, + 2694 + ], + "op": "ISZERO", + "path": "39" + }, + "5497": { + "offset": [ + 2679, + 2695 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1581" + }, + "5500": { + "offset": [ + 2679, + 2695 + ], + "op": "JUMPI", + "path": "39" + }, + "5501": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "5503": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "DUP1", + "path": "39" + }, + "5504": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "REVERT", + "path": "39" + }, + "5505": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2679, + 2695 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5506": { + "offset": [ + 2705, + 2711 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "5508": { + "offset": [ + 2705, + 2718 + ], + "op": "DUP1", + "path": "39" + }, + "5509": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2705, + 2718 + ], + "op": "SLOAD", + "path": "39" + }, + "5510": { + "op": "PUSH1", + "value": "0xFF" + }, + "5512": { + "op": "NOT" + }, + "5513": { + "offset": [ + 2705, + 2718 + ], + "op": "AND", + "path": "39" + }, + "5514": { + "offset": [ + 2714, + 2718 + ], + "op": "PUSH1", + "path": "39", + "value": "0x1" + }, + "5516": { + "offset": [ + 2705, + 2718 + ], + "op": "OR", + "path": "39" + }, + "5517": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2705, + 2718 + ], + "op": "SWAP1", + "path": "39" + }, + "5518": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2705, + 2718 + ], + "op": "SSTORE", + "path": "39" + }, + "5519": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13046, + 13072 + ], + "op": "PUSH2", + "path": "39", + "statement": 60, + "value": "0x1598" + }, + "5522": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13062, + 13066 + ], + "op": "DUP4", + "path": "39" + }, + "5523": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13068, + 13071 + ], + "op": "DUP4", + "path": "39" + }, + "5524": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13046, + 13061 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1A94" + }, + "5527": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "jump": "i", + "offset": [ + 13046, + 13072 + ], + "op": "JUMP", + "path": "39" + }, + "5528": { + "branch": 154, + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13046, + 13072 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5529": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "PUSH2", + "path": "39", + "value": "0x15DE" + }, + "5532": { + "branch": 154, + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "JUMPI", + "path": "39" + }, + "5533": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "5535": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "MLOAD", + "path": "39" + }, + "5536": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5540": { + "op": "PUSH1", + "value": "0xE5" + }, + "5542": { + "op": "SHL" + }, + "5543": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "DUP2", + "path": "39" + }, + "5544": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "MSTORE", + "path": "39" + }, + "5545": { + "op": "PUSH1", + "value": "0x20" + }, + "5547": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "5549": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "DUP3", + "path": "39" + }, + "5550": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "ADD", + "path": "39" + }, + "5551": { + "op": "MSTORE" + }, + "5552": { + "op": "PUSH1", + "value": "0x17" + }, + "5554": { + "op": "PUSH1", + "value": "0x24" + }, + "5556": { + "op": "DUP3" + }, + "5557": { + "op": "ADD" + }, + "5558": { + "op": "MSTORE" + }, + "5559": { + "op": "PUSH23", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C903CB7BA97" + }, + "5583": { + "op": "PUSH1", + "value": "0x49" + }, + "5585": { + "op": "SHL" + }, + "5586": { + "op": "PUSH1", + "value": "0x44" + }, + "5588": { + "op": "DUP3" + }, + "5589": { + "op": "ADD" + }, + "5590": { + "op": "MSTORE" + }, + "5591": { + "op": "PUSH1", + "value": "0x64" + }, + "5593": { + "op": "ADD" + }, + "5594": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "5597": { + "op": "JUMP" + }, + "5598": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13038, + 13100 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5599": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13140, + 13196 + ], + "op": "PUSH2", + "path": "39", + "statement": 61, + "value": "0x14F1" + }, + "5602": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13159, + 13168 + ], + "op": "DUP7", + "path": "39" + }, + "5603": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13170, + 13177 + ], + "op": "DUP7", + "path": "39" + }, + "5604": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13179, + 13195 + ], + "op": "DUP7", + "path": "39" + }, + "5605": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "offset": [ + 13140, + 13158 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1BF7" + }, + "5608": { + "fn": "SoulboundRedeemable.redeemPendingTokenWithSignature", + "jump": "i", + "offset": [ + 13140, + 13196 + ], + "op": "JUMP", + "path": "39" + }, + "5609": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5610": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "5612": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "5613": { + "op": "PUSH1", + "value": "0x1" + }, + "5615": { + "op": "PUSH1", + "value": "0x1" + }, + "5617": { + "op": "PUSH1", + "value": "0xA0" + }, + "5619": { + "op": "SHL" + }, + "5620": { + "op": "SUB" + }, + "5621": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "5622": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "5623": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "5624": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1613" + }, + "5627": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "5628": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "5630": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "5631": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5635": { + "op": "PUSH1", + "value": "0xE5" + }, + "5637": { + "op": "SHL" + }, + "5638": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "5639": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "5640": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "5642": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "5643": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "5646": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "5647": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "5650": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "5651": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "5652": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4727, + 4731 + ], + "op": "DUP4", + "path": "39" + }, + "5653": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1626" + }, + "5656": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x9" + }, + "5658": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "5659": { + "op": "PUSH1", + "value": "0x1" + }, + "5661": { + "op": "PUSH1", + "value": "0x1" + }, + "5663": { + "op": "PUSH1", + "value": "0xA0" + }, + "5665": { + "op": "SHL" + }, + "5666": { + "op": "SUB" + }, + "5667": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "5668": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "5669": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "5670": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5671": { + "op": "PUSH1", + "value": "0x1" + }, + "5673": { + "op": "PUSH1", + "value": "0x1" + }, + "5675": { + "op": "PUSH1", + "value": "0xA0" + }, + "5677": { + "op": "SHL" + }, + "5678": { + "op": "SUB" + }, + "5679": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5680": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "5681": { + "op": "PUSH1", + "value": "0x1" + }, + "5683": { + "op": "PUSH1", + "value": "0x1" + }, + "5685": { + "op": "PUSH1", + "value": "0xA0" + }, + "5687": { + "op": "SHL" + }, + "5688": { + "op": "SUB" + }, + "5689": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "5690": { + "branch": 186, + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "5691": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1656" + }, + "5694": { + "branch": 186, + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "5695": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "5697": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "5698": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5702": { + "op": "PUSH1", + "value": "0xE5" + }, + "5704": { + "op": "SHL" + }, + "5705": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "5706": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "5707": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "5709": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "5710": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "5713": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "SWAP1", + "path": "38" + }, + "5714": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2B9B" + }, + "5717": { + "fn": "Allowlist.getAllowlistOwner", + "jump": "i", + "offset": [ + 1685, + 1748 + ], + "op": "JUMP", + "path": "38" + }, + "5718": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "5719": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4999, + 5010 + ], + "op": "PUSH1", + "path": "39", + "statement": 62, + "value": "0xA" + }, + "5721": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4999, + 5010 + ], + "op": "SLOAD", + "path": "39" + }, + "5722": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4990, + 4996 + ], + "op": "PUSH1", + "path": "39", + "value": "0xB" + }, + "5724": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4990, + 4996 + ], + "op": "SLOAD", + "path": "39" + }, + "5725": { + "branch": 155, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4990, + 5010 + ], + "op": "LT", + "path": "39" + }, + "5726": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "PUSH2", + "path": "39", + "value": "0x169E" + }, + "5729": { + "branch": 155, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "JUMPI", + "path": "39" + }, + "5730": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "5732": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "MLOAD", + "path": "39" + }, + "5733": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5737": { + "op": "PUSH1", + "value": "0xE5" + }, + "5739": { + "op": "SHL" + }, + "5740": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "DUP2", + "path": "39" + }, + "5741": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "MSTORE", + "path": "39" + }, + "5742": { + "op": "PUSH1", + "value": "0x20" + }, + "5744": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "5746": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "DUP3", + "path": "39" + }, + "5747": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "ADD", + "path": "39" + }, + "5748": { + "op": "MSTORE" + }, + "5749": { + "op": "PUSH1", + "value": "0x12" + }, + "5751": { + "op": "PUSH1", + "value": "0x24" + }, + "5753": { + "op": "DUP3" + }, + "5754": { + "op": "ADD" + }, + "5755": { + "op": "MSTORE" + }, + "5756": { + "op": "PUSH18", + "value": "0x24B9B9BAB29021B0B8102932B0B1B432B217" + }, + "5775": { + "op": "PUSH1", + "value": "0x71" + }, + "5777": { + "op": "SHL" + }, + "5778": { + "op": "PUSH1", + "value": "0x44" + }, + "5780": { + "op": "DUP3" + }, + "5781": { + "op": "ADD" + }, + "5782": { + "op": "MSTORE" + }, + "5783": { + "op": "PUSH1", + "value": "0x64" + }, + "5785": { + "op": "ADD" + }, + "5786": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "5789": { + "op": "JUMP" + }, + "5790": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4982, + 5033 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5791": { + "op": "PUSH1", + "value": "0x1" + }, + "5793": { + "op": "PUSH1", + "value": "0x1" + }, + "5795": { + "op": "PUSH1", + "value": "0xA0" + }, + "5797": { + "op": "SHL" + }, + "5798": { + "op": "SUB" + }, + "5799": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5104, + 5120 + ], + "op": "DUP5", + "path": "39", + "statement": 63 + }, + "5800": { + "branch": 156, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5104, + 5120 + ], + "op": "AND", + "path": "39" + }, + "5801": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "PUSH2", + "path": "39", + "value": "0x16C4" + }, + "5804": { + "branch": 156, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "JUMPI", + "path": "39" + }, + "5805": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "5807": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "MLOAD", + "path": "39" + }, + "5808": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5812": { + "op": "PUSH1", + "value": "0xE5" + }, + "5814": { + "op": "SHL" + }, + "5815": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "DUP2", + "path": "39" + }, + "5816": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "MSTORE", + "path": "39" + }, + "5817": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "5819": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "ADD", + "path": "39" + }, + "5820": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "5823": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "SWAP1", + "path": "39" + }, + "5824": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2C5F" + }, + "5827": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "jump": "i", + "offset": [ + 5096, + 5146 + ], + "op": "JUMP", + "path": "39" + }, + "5828": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5096, + 5146 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5829": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5224, + 5240 + ], + "op": "PUSH2", + "path": "39", + "statement": 64, + "value": "0x16CD" + }, + "5832": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5232, + 5239 + ], + "op": "DUP4", + "path": "39" + }, + "5833": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5224, + 5231 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1F4F" + }, + "5836": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "jump": "i", + "offset": [ + 5224, + 5240 + ], + "op": "JUMP", + "path": "39" + }, + "5837": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5224, + 5240 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5838": { + "branch": 157, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5223, + 5240 + ], + "op": "ISZERO", + "path": "39" + }, + "5839": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "PUSH2", + "path": "39", + "value": "0x171A" + }, + "5842": { + "branch": 157, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "JUMPI", + "path": "39" + }, + "5843": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "5845": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "MLOAD", + "path": "39" + }, + "5846": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5850": { + "op": "PUSH1", + "value": "0xE5" + }, + "5852": { + "op": "SHL" + }, + "5853": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "DUP2", + "path": "39" + }, + "5854": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "MSTORE", + "path": "39" + }, + "5855": { + "op": "PUSH1", + "value": "0x20" + }, + "5857": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "5859": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "DUP3", + "path": "39" + }, + "5860": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "ADD", + "path": "39" + }, + "5861": { + "op": "MSTORE" + }, + "5862": { + "op": "PUSH1", + "value": "0x1F" + }, + "5864": { + "op": "PUSH1", + "value": "0x24" + }, + "5866": { + "op": "DUP3" + }, + "5867": { + "op": "ADD" + }, + "5868": { + "op": "MSTORE" + }, + "5869": { + "op": "PUSH32", + "value": "0x4D696E74206F6620616C7265616479206578697374696E6720746F6B656E2E00" + }, + "5902": { + "op": "PUSH1", + "value": "0x44" + }, + "5904": { + "op": "DUP3" + }, + "5905": { + "op": "ADD" + }, + "5906": { + "op": "MSTORE" + }, + "5907": { + "op": "PUSH1", + "value": "0x64" + }, + "5909": { + "op": "ADD" + }, + "5910": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "5913": { + "op": "JUMP" + }, + "5914": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5215, + 5276 + ], + "op": "JUMPDEST", + "path": "39" + }, + "5915": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "PUSH1", + "path": "39", + "statement": 65, + "value": "0x0" + }, + "5917": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "DUP4", + "path": "39" + }, + "5918": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "DUP2", + "path": "39" + }, + "5919": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "MSTORE", + "path": "39" + }, + "5920": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5370 + ], + "op": "PUSH1", + "path": "39", + "value": "0x10" + }, + "5922": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "5924": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "MSTORE", + "path": "39" + }, + "5925": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "5927": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "SWAP1", + "path": "39" + }, + "5928": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "KECCAK256", + "path": "39" + }, + "5929": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "SLOAD", + "path": "39" + }, + "5930": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "5932": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5363, + 5379 + ], + "op": "AND", + "path": "39" + }, + "5933": { + "branch": 158, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5362, + 5379 + ], + "op": "ISZERO", + "path": "39" + }, + "5934": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1779" + }, + "5937": { + "branch": 158, + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "JUMPI", + "path": "39" + }, + "5938": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "5940": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "MLOAD", + "path": "39" + }, + "5941": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5945": { + "op": "PUSH1", + "value": "0xE5" + }, + "5947": { + "op": "SHL" + }, + "5948": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "DUP2", + "path": "39" + }, + "5949": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "MSTORE", + "path": "39" + }, + "5950": { + "op": "PUSH1", + "value": "0x20" + }, + "5952": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "5954": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "DUP3", + "path": "39" + }, + "5955": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "ADD", + "path": "39" + }, + "5956": { + "op": "MSTORE" + }, + "5957": { + "op": "PUSH1", + "value": "0x1E" + }, + "5959": { + "op": "PUSH1", + "value": "0x24" + }, + "5961": { + "op": "DUP3" + }, + "5962": { + "op": "ADD" + }, + "5963": { + "op": "MSTORE" + }, + "5964": { + "op": "PUSH32", + "value": "0x4D696E74206F6620616C72656164792070656E64696E6720746F6B656E2E0000" + }, + "5997": { + "op": "PUSH1", + "value": "0x44" + }, + "5999": { + "op": "DUP3" + }, + "6000": { + "op": "ADD" + }, + "6001": { + "op": "MSTORE" + }, + "6002": { + "op": "PUSH1", + "value": "0x64" + }, + "6004": { + "op": "ADD" + }, + "6005": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "6008": { + "op": "JUMP" + }, + "6009": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5354, + 5414 + ], + "op": "JUMPDEST", + "path": "39" + }, + "6010": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "PUSH1", + "path": "39", + "statement": 66, + "value": "0x0" + }, + "6012": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "DUP4", + "path": "39" + }, + "6013": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "DUP2", + "path": "39" + }, + "6014": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "MSTORE", + "path": "39" + }, + "6015": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5487 + ], + "op": "PUSH1", + "path": "39", + "value": "0x10" + }, + "6017": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "6019": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "SWAP1", + "path": "39" + }, + "6020": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "DUP2", + "path": "39" + }, + "6021": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "MSTORE", + "path": "39" + }, + "6022": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "6024": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "DUP1", + "path": "39" + }, + "6025": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "DUP4", + "path": "39" + }, + "6026": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5496 + ], + "op": "KECCAK256", + "path": "39" + }, + "6027": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5503 + ], + "op": "DUP1", + "path": "39" + }, + "6028": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5503 + ], + "op": "SLOAD", + "path": "39" + }, + "6029": { + "op": "PUSH1", + "value": "0xFF" + }, + "6031": { + "op": "NOT" + }, + "6032": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5503 + ], + "op": "AND", + "path": "39" + }, + "6033": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5499, + 5503 + ], + "op": "PUSH1", + "path": "39", + "value": "0x1" + }, + "6035": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5503 + ], + "op": "OR", + "path": "39" + }, + "6036": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5503 + ], + "op": "SWAP1", + "path": "39" + }, + "6037": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5480, + 5503 + ], + "op": "SSTORE", + "path": "39" + }, + "6038": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5593 + ], + "op": "PUSH1", + "path": "39", + "statement": 67, + "value": "0x11" + }, + "6040": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5602 + ], + "op": "SWAP1", + "path": "39" + }, + "6041": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5602 + ], + "op": "SWAP2", + "path": "39" + }, + "6042": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5602 + ], + "op": "MSTORE", + "path": "39" + }, + "6043": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5602 + ], + "op": "SWAP1", + "path": "39" + }, + "6044": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5602 + ], + "op": "KECCAK256", + "path": "39" + }, + "6045": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "DUP1", + "path": "39" + }, + "6046": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "SLOAD", + "path": "39" + }, + "6047": { + "op": "PUSH1", + "value": "0x1" + }, + "6049": { + "op": "PUSH1", + "value": "0x1" + }, + "6051": { + "op": "PUSH1", + "value": "0xA0" + }, + "6053": { + "op": "SHL" + }, + "6054": { + "op": "SUB" + }, + "6055": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "DUP7", + "path": "39" + }, + "6056": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "AND", + "path": "39" + }, + "6057": { + "op": "PUSH1", + "value": "0x1" + }, + "6059": { + "op": "PUSH1", + "value": "0x1" + }, + "6061": { + "op": "PUSH1", + "value": "0xA0" + }, + "6063": { + "op": "SHL" + }, + "6064": { + "op": "SUB" + }, + "6065": { + "op": "NOT" + }, + "6066": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "SWAP1", + "path": "39" + }, + "6067": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "SWAP2", + "path": "39" + }, + "6068": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "AND", + "path": "39" + }, + "6069": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "OR", + "path": "39" + }, + "6070": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "SWAP1", + "path": "39" + }, + "6071": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5577, + 5607 + ], + "op": "SSTORE", + "path": "39" + }, + "6072": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5671, + 5710 + ], + "op": "PUSH2", + "path": "39", + "statement": 68, + "value": "0x17C1" + }, + "6075": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5488, + 5495 + ], + "op": "DUP4", + "path": "39" + }, + "6076": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5693, + 5709 + ], + "op": "DUP4", + "path": "39" + }, + "6077": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5671, + 5683 + ], + "op": "PUSH2", + "path": "39", + "value": "0x17DD" + }, + "6080": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "jump": "i", + "offset": [ + 5671, + 5710 + ], + "op": "JUMP", + "path": "39" + }, + "6081": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5671, + 5710 + ], + "op": "JUMPDEST", + "path": "39" + }, + "6082": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5761 + ], + "op": "PUSH1", + "path": "39", + "statement": 69, + "value": "0xB" + }, + "6084": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "DUP1", + "path": "39" + }, + "6085": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "SLOAD", + "path": "39" + }, + "6086": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "SWAP1", + "path": "39" + }, + "6087": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5761 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "6089": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "PUSH2", + "path": "39", + "value": "0x17D1" + }, + "6092": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "DUP4", + "path": "39" + }, + "6093": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2CA5" + }, + "6096": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "jump": "i", + "offset": [ + 5755, + 5763 + ], + "op": "JUMP", + "path": "39" + }, + "6097": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "JUMPDEST", + "path": "39" + }, + "6098": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "SWAP2", + "path": "39" + }, + "6099": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "SWAP1", + "path": "39" + }, + "6100": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "POP", + "path": "39" + }, + "6101": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "SSTORE", + "path": "39" + }, + "6102": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 5755, + 5763 + ], + "op": "POP", + "path": "39" + }, + "6103": { + "offset": [ + 1318, + 1319 + ], + "op": "POP", + "path": "0" + }, + "6104": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "POP", + "path": "39" + }, + "6105": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "POP", + "path": "39" + }, + "6106": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "POP", + "path": "39" + }, + "6107": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "offset": [ + 4548, + 5770 + ], + "op": "POP", + "path": "39" + }, + "6108": { + "fn": "SoulboundRedeemable.mintPendingRedeemableToken", + "jump": "o", + "offset": [ + 4548, + 5770 + ], + "op": "JUMP", + "path": "39" + }, + "6109": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "JUMPDEST", + "path": "36" + }, + "6110": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1077 + ], + "op": "PUSH2", + "path": "36", + "statement": 70, + "value": "0x17E7" + }, + "6113": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1073, + 1077 + ], + "op": "DUP2", + "path": "36" + }, + "6114": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1070 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "6115": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1077 + ], + "op": "PUSH2", + "path": "36", + "value": "0x2CBE" + }, + "6118": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "i", + "offset": [ + 1055, + 1077 + ], + "op": "JUMP", + "path": "36" + }, + "6119": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1055, + 1077 + ], + "op": "JUMPDEST", + "path": "36" + }, + "6120": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1043 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "6122": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP4", + "path": "36" + }, + "6123": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP2", + "path": "36" + }, + "6124": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "MSTORE", + "path": "36" + }, + "6125": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "6127": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP2", + "path": "36" + }, + "6128": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP2", + "path": "36" + }, + "6129": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "MSTORE", + "path": "36" + }, + "6130": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "6132": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "SWAP2", + "path": "36" + }, + "6133": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "DUP3", + "path": "36" + }, + "6134": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "SWAP1", + "path": "36" + }, + "6135": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1052 + ], + "op": "KECCAK256", + "path": "36" + }, + "6136": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SWAP3", + "path": "36" + }, + "6137": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SWAP1", + "path": "36" + }, + "6138": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SWAP3", + "path": "36" + }, + "6139": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1028, + 1077 + ], + "op": "SSTORE", + "path": "36" + }, + "6140": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "DUP1", + "path": "36", + "statement": 71 + }, + "6141": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "MLOAD", + "path": "36" + }, + "6142": { + "op": "DUP5" + }, + "6143": { + "op": "DUP2" + }, + "6144": { + "op": "MSTORE" + }, + "6145": { + "op": "SWAP2" + }, + "6146": { + "op": "DUP3" + }, + "6147": { + "op": "ADD" + }, + "6148": { + "op": "DUP4" + }, + "6149": { + "op": "SWAP1" + }, + "6150": { + "op": "MSTORE" + }, + "6151": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "PUSH32", + "path": "36", + "value": "0x41A73BEB1018A8B63E0F451A8A4F483806142CF14BE45B1A58A23776A1E9B4BC" + }, + "6184": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SWAP2", + "path": "36" + }, + "6185": { + "op": "ADD" + }, + "6186": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "6188": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "MLOAD", + "path": "36" + }, + "6189": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "DUP1", + "path": "36" + }, + "6190": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SWAP2", + "path": "36" + }, + "6191": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SUB", + "path": "36" + }, + "6192": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "SWAP1", + "path": "36" + }, + "6193": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 1136, + 1159 + ], + "op": "LOG1", + "path": "36" + }, + "6194": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "POP", + "path": "36" + }, + "6195": { + "fn": "IsValidWithDate.extendExpiry", + "offset": [ + 917, + 1166 + ], + "op": "POP", + "path": "36" + }, + "6196": { + "fn": "IsValidWithDate.extendExpiry", + "jump": "o", + "offset": [ + 917, + 1166 + ], + "op": "JUMP", + "path": "36" + }, + "6197": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6198": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5107, + 5120 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "6200": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5160 + ], + "op": "PUSH2", + "path": "41", + "statement": 72, + "value": "0x1840" + }, + "6203": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5152, + 5159 + ], + "op": "DUP3", + "path": "41" + }, + "6204": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5151 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1F4F" + }, + "6207": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5144, + 5160 + ], + "op": "JUMP", + "path": "41" + }, + "6208": { + "branch": 168, + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5160 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6209": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "value": "0x188C" + }, + "6212": { + "branch": 168, + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPI", + "path": "41" + }, + "6213": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "6215": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MLOAD", + "path": "41" + }, + "6216": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6220": { + "op": "PUSH1", + "value": "0xE5" + }, + "6222": { + "op": "SHL" + }, + "6223": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP2", + "path": "41" + }, + "6224": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MSTORE", + "path": "41" + }, + "6225": { + "op": "PUSH1", + "value": "0x20" + }, + "6227": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "6229": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP3", + "path": "41" + }, + "6230": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "ADD", + "path": "41" + }, + "6231": { + "op": "MSTORE" + }, + "6232": { + "op": "PUSH1", + "value": "0x1D" + }, + "6234": { + "op": "PUSH1", + "value": "0x24" + }, + "6236": { + "op": "DUP3" + }, + "6237": { + "op": "ADD" + }, + "6238": { + "op": "MSTORE" + }, + "6239": { + "op": "PUSH32", + "value": "0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000" + }, + "6272": { + "op": "PUSH1", + "value": "0x44" + }, + "6274": { + "op": "DUP3" + }, + "6275": { + "op": "ADD" + }, + "6276": { + "op": "MSTORE" + }, + "6277": { + "op": "PUSH1", + "value": "0x64" + }, + "6279": { + "op": "ADD" + }, + "6280": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6B1" + }, + "6283": { + "op": "JUMP" + }, + "6284": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6285": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "statement": 73, + "value": "0x0" + }, + "6287": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "6288": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "6289": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "6290": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5221 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "6292": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "6294": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "6295": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "6297": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6298": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "6299": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6300": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "6301": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x18A5" + }, + "6304": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6305": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2BC9" + }, + "6308": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "6309": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6310": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6311": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "6313": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6314": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "6316": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6317": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "6318": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "6319": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "6320": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "6322": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6323": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "6325": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MLOAD", + "path": "41" + }, + "6326": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6327": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "6328": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6329": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "6331": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "6332": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6333": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP3", + "path": "41" + }, + "6334": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "6335": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6336": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "6337": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "6338": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "6339": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "6341": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6342": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "6343": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6344": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "6345": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x18D1" + }, + "6348": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6349": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2BC9" + }, + "6352": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "6353": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6354": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6355": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ISZERO", + "path": "41" + }, + "6356": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x191E" + }, + "6359": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "6360": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6361": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "6363": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "LT", + "path": "41" + }, + "6364": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x18F3" + }, + "6367": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "6368": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "6371": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6372": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "6373": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "6374": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "6375": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "6376": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "6377": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "6378": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "6379": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "6381": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6382": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "6383": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x191E" + }, + "6386": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "6387": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6388": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "6389": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6390": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "6391": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6392": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "6394": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "6395": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "6397": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "6399": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "6400": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6401": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6402": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "6403": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "6404": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "6405": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "6406": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6407": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "6409": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6410": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6411": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "6413": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6414": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "6415": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "6416": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "GT", + "path": "41" + }, + "6417": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1901" + }, + "6420": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "6421": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "6422": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6423": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SUB", + "path": "41" + }, + "6424": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "6426": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "AND", + "path": "41" + }, + "6427": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "6428": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "6429": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "6430": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "6431": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "6432": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "6433": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "6434": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "6435": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "6436": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "6437": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "6438": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP2", + "path": "41" + }, + "6439": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP1", + "path": "41" + }, + "6440": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "POP", + "path": "41" + }, + "6441": { + "fn": "ERC4973.tokenURI", + "jump": "o", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "6442": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "6443": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7469, + 7491 + ], + "op": "PUSH1", + "path": "37", + "value": "0x60" + }, + "6445": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7567, + 7574 + ], + "op": "PUSH1", + "path": "37", + "statement": 74, + "value": "0x7" + }, + "6447": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "DUP1", + "path": "37" + }, + "6448": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SLOAD", + "path": "37" + }, + "6449": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1939" + }, + "6452": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "6453": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2BC9" + }, + "6456": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7561, + 7582 + ], + "op": "JUMP", + "path": "37" + }, + "6457": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "JUMPDEST", + "path": "37" + }, + "6458": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "6459": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "POP", + "path": "37" + }, + "6460": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7586, + 7587 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "6462": { + "branch": 172, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7587 + ], + "op": "SUB", + "path": "37" + }, + "6463": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x197A" + }, + "6466": { + "branch": 172, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPI", + "path": "37" + }, + "6467": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "6469": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MLOAD", + "path": "37" + }, + "6470": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6474": { + "op": "PUSH1", + "value": "0xE5" + }, + "6476": { + "op": "SHL" + }, + "6477": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP2", + "path": "37" + }, + "6478": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MSTORE", + "path": "37" + }, + "6479": { + "op": "PUSH1", + "value": "0x20" + }, + "6481": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "6483": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP3", + "path": "37" + }, + "6484": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "ADD", + "path": "37" + }, + "6485": { + "op": "MSTORE" + }, + "6486": { + "op": "PUSH1", + "value": "0xD" + }, + "6488": { + "op": "PUSH1", + "value": "0x24" + }, + "6490": { + "op": "DUP3" + }, + "6491": { + "op": "ADD" + }, + "6492": { + "op": "MSTORE" + }, + "6493": { + "op": "PUSH13", + "value": "0x456D7074792062617365555249" + }, + "6507": { + "op": "PUSH1", + "value": "0x98" + }, + "6509": { + "op": "SHL" + }, + "6510": { + "op": "PUSH1", + "value": "0x44" + }, + "6512": { + "op": "DUP3" + }, + "6513": { + "op": "ADD" + }, + "6514": { + "op": "MSTORE" + }, + "6515": { + "op": "PUSH1", + "value": "0x64" + }, + "6517": { + "op": "ADD" + }, + "6518": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "6521": { + "op": "JUMP" + }, + "6522": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPDEST", + "path": "37" + }, + "6523": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7659, + 7666 + ], + "op": "PUSH1", + "path": "37", + "statement": 75, + "value": "0x7" + }, + "6525": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "DUP1", + "path": "37" + }, + "6526": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SLOAD", + "path": "37" + }, + "6527": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x7B7" + }, + "6530": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SWAP1", + "path": "37" + }, + "6531": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2BC9" + }, + "6534": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7648, + 7666 + ], + "op": "JUMP", + "path": "37" + }, + "6535": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "6536": { + "op": "PUSH1", + "value": "0x1" + }, + "6538": { + "op": "PUSH1", + "value": "0x1" + }, + "6540": { + "op": "PUSH1", + "value": "0xA0" + }, + "6542": { + "op": "SHL" + }, + "6543": { + "op": "SUB" + }, + "6544": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3058, + 3076 + ], + "op": "DUP6", + "path": "38", + "statement": 76 + }, + "6545": { + "branch": 187, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3058, + 3076 + ], + "op": "AND", + "path": "38" + }, + "6546": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH2", + "path": "38", + "value": "0x19AD" + }, + "6549": { + "branch": 187, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "JUMPI", + "path": "38" + }, + "6550": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "6552": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "MLOAD", + "path": "38" + }, + "6553": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6557": { + "op": "PUSH1", + "value": "0xE5" + }, + "6559": { + "op": "SHL" + }, + "6560": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "DUP2", + "path": "38" + }, + "6561": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "MSTORE", + "path": "38" + }, + "6562": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "6564": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "ADD", + "path": "38" + }, + "6565": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "6568": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "SWAP1", + "path": "38" + }, + "6569": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2C5F" + }, + "6572": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 3050, + 3102 + ], + "op": "JUMP", + "path": "38" + }, + "6573": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "JUMPDEST", + "path": "38" + }, + "6574": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3340 + ], + "op": "DUP3", + "path": "38", + "statement": 77 + }, + "6575": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3347 + ], + "op": "MLOAD", + "path": "38" + }, + "6576": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3351, + 3353 + ], + "op": "PUSH1", + "path": "38", + "value": "0x41" + }, + "6578": { + "branch": 188, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3353 + ], + "op": "EQ", + "path": "38" + }, + "6579": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH2", + "path": "38", + "value": "0x19F9" + }, + "6582": { + "branch": 188, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "JUMPI", + "path": "38" + }, + "6583": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "6585": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "MLOAD", + "path": "38" + }, + "6586": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6590": { + "op": "PUSH1", + "value": "0xE5" + }, + "6592": { + "op": "SHL" + }, + "6593": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "DUP2", + "path": "38" + }, + "6594": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "MSTORE", + "path": "38" + }, + "6595": { + "op": "PUSH1", + "value": "0x20" + }, + "6597": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "6599": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "DUP3", + "path": "38" + }, + "6600": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "ADD", + "path": "38" + }, + "6601": { + "op": "MSTORE" + }, + "6602": { + "op": "PUSH1", + "value": "0x18" + }, + "6604": { + "op": "PUSH1", + "value": "0x24" + }, + "6606": { + "op": "DUP3" + }, + "6607": { + "op": "ADD" + }, + "6608": { + "op": "MSTORE" + }, + "6609": { + "op": "PUSH24", + "value": "0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D" + }, + "6634": { + "op": "PUSH1", + "value": "0x43" + }, + "6636": { + "op": "SHL" + }, + "6637": { + "op": "PUSH1", + "value": "0x44" + }, + "6639": { + "op": "DUP3" + }, + "6640": { + "op": "ADD" + }, + "6641": { + "op": "MSTORE" + }, + "6642": { + "op": "PUSH1", + "value": "0x64" + }, + "6644": { + "op": "ADD" + }, + "6645": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "6648": { + "op": "JUMP" + }, + "6649": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "JUMPDEST", + "path": "38" + }, + "6650": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3535 + ], + "op": "PUSH2", + "path": "38", + "statement": 78, + "value": "0x1A03" + }, + "6653": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3525, + 3529 + ], + "op": "DUP5", + "path": "38" + }, + "6654": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3531, + 3534 + ], + "op": "DUP5", + "path": "38" + }, + "6655": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3524 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A94" + }, + "6658": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 3509, + 3535 + ], + "op": "JUMP", + "path": "38" + }, + "6659": { + "branch": 189, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3535 + ], + "op": "JUMPDEST", + "path": "38" + }, + "6660": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A4B" + }, + "6663": { + "branch": 189, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "JUMPI", + "path": "38" + }, + "6664": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "6666": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "MLOAD", + "path": "38" + }, + "6667": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "6671": { + "op": "PUSH1", + "value": "0xE5" + }, + "6673": { + "op": "SHL" + }, + "6674": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "DUP2", + "path": "38" + }, + "6675": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "MSTORE", + "path": "38" + }, + "6676": { + "op": "PUSH1", + "value": "0x20" + }, + "6678": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "6680": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "DUP3", + "path": "38" + }, + "6681": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "ADD", + "path": "38" + }, + "6682": { + "op": "MSTORE" + }, + "6683": { + "op": "PUSH1", + "value": "0x19" + }, + "6685": { + "op": "PUSH1", + "value": "0x24" + }, + "6687": { + "op": "DUP3" + }, + "6688": { + "op": "ADD" + }, + "6689": { + "op": "MSTORE" + }, + "6690": { + "op": "PUSH25", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917" + }, + "6716": { + "op": "PUSH1", + "value": "0x39" + }, + "6718": { + "op": "SHL" + }, + "6719": { + "op": "PUSH1", + "value": "0x44" + }, + "6721": { + "op": "DUP3" + }, + "6722": { + "op": "ADD" + }, + "6723": { + "op": "MSTORE" + }, + "6724": { + "op": "PUSH1", + "value": "0x64" + }, + "6726": { + "op": "ADD" + }, + "6727": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6B1" + }, + "6730": { + "op": "JUMP" + }, + "6731": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "JUMPDEST", + "path": "38" + }, + "6732": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3694 + ], + "op": "PUSH2", + "path": "38", + "statement": 79, + "value": "0x1A56" + }, + "6735": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3670, + 3674 + ], + "op": "DUP6", + "path": "38" + }, + "6736": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3676, + 3683 + ], + "op": "DUP4", + "path": "38" + }, + "6737": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3685, + 3693 + ], + "op": "DUP4", + "path": "38" + }, + "6738": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3669 + ], + "op": "PUSH2", + "path": "38", + "value": "0x213D" + }, + "6741": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 3664, + 3694 + ], + "op": "JUMP", + "path": "38" + }, + "6742": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3694 + ], + "op": "JUMPDEST", + "path": "38" + }, + "6743": { + "op": "POP" + }, + "6744": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH1", + "path": "38", + "statement": 80, + "value": "0x40" + }, + "6746": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "MLOAD", + "path": "38" + }, + "6747": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3786, + 3793 + ], + "op": "DUP3", + "path": "38" + }, + "6748": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3786, + 3793 + ], + "op": "SWAP1", + "path": "38" + }, + "6749": { + "op": "PUSH1", + "value": "0x1" + }, + "6751": { + "op": "PUSH1", + "value": "0x1" + }, + "6753": { + "op": "PUSH1", + "value": "0xA0" + }, + "6755": { + "op": "SHL" + }, + "6756": { + "op": "SUB" + }, + "6757": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "DUP8", + "path": "38" + }, + "6758": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "AND", + "path": "38" + }, + "6759": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "6760": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH32", + "path": "38", + "value": "0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556" + }, + "6793": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "6794": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "6796": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "6797": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "LOG3", + "path": "38" + }, + "6798": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "6799": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "6800": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "6801": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "6802": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "6803": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "o", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "6804": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "6805": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2584, + 2588 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "6807": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "PUSH2", + "path": "14", + "statement": 81, + "value": "0x1AA0" + }, + "6810": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2628, + 2632 + ], + "op": "DUP4", + "path": "14" + }, + "6811": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2634, + 2637 + ], + "op": "DUP4", + "path": "14" + }, + "6812": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2627 + ], + "op": "PUSH2", + "path": "14", + "value": "0x22DB" + }, + "6815": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2611, + 2638 + ], + "op": "JUMP", + "path": "14" + }, + "6816": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "JUMPDEST", + "path": "14" + }, + "6817": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2604, + 2638 + ], + "op": "SWAP4", + "path": "14" + }, + "6818": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "SWAP3", + "path": "14" + }, + "6819": { + "op": "POP" + }, + "6820": { + "op": "POP" + }, + "6821": { + "op": "POP" + }, + "6822": { + "fn": "Allowlist.verifySignature", + "jump": "o", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "6823": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "JUMPDEST", + "path": "36" + }, + "6824": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2128, + 2135 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "6826": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "6827": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "6828": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "6829": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "6831": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "6832": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "6833": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "6834": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "6836": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "6837": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "6838": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "6839": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2255, + 2270 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "6840": { + "branch": 170, + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2255, + 2295 + ], + "op": "GT", + "path": "36" + }, + "6841": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "ISZERO", + "path": "36" + }, + "6842": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "PUSH2", + "path": "36", + "value": "0x1AC5" + }, + "6845": { + "branch": 170, + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "JUMPI", + "path": "36" + }, + "6846": { + "op": "POP" + }, + "6847": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2349, + 2350 + ], + "op": "PUSH1", + "path": "36", + "statement": 82, + "value": "0x0" + }, + "6849": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2349, + 2350 + ], + "op": "SWAP2", + "path": "36" + }, + "6850": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "SWAP1", + "path": "36" + }, + "6851": { + "op": "POP" + }, + "6852": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "o", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "6853": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "JUMPDEST", + "path": "36" + }, + "6854": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1433, + 1440 + ], + "op": "PUSH1", + "path": "36", + "value": "0x0" + }, + "6856": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP3", + "path": "36" + }, + "6857": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "6858": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "6859": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x20" + }, + "6861": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "DUP2", + "path": "36" + }, + "6862": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "6863": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "MSTORE", + "path": "36" + }, + "6864": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "PUSH1", + "path": "36", + "value": "0x40" + }, + "6866": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SWAP1", + "path": "36" + }, + "6867": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "KECCAK256", + "path": "36" + }, + "6868": { + "fn": "IsValidWithDate.getExpiryDate", + "offset": [ + 1459, + 1483 + ], + "op": "SLOAD", + "path": "36" + }, + "6869": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2460, + 2500 + ], + "op": "PUSH2", + "path": "36", + "statement": 83, + "value": "0x7A2" + }, + "6872": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2460, + 2500 + ], + "op": "SWAP1", + "path": "36" + }, + "6873": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2485, + 2500 + ], + "op": "TIMESTAMP", + "path": "36" + }, + "6874": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2485, + 2500 + ], + "op": "SWAP1", + "path": "36" + }, + "6875": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2460, + 2500 + ], + "op": "PUSH2", + "path": "36", + "value": "0x2C8E" + }, + "6878": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "i", + "offset": [ + 2460, + 2500 + ], + "op": "JUMP", + "path": "36" + }, + "6879": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2251, + 2511 + ], + "op": "JUMPDEST", + "path": "36" + }, + "6880": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "SWAP2", + "path": "36" + }, + "6881": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "SWAP1", + "path": "36" + }, + "6882": { + "fn": "IsValidWithDate.getTimeLeft", + "offset": [ + 2069, + 2517 + ], + "op": "POP", + "path": "36" + }, + "6883": { + "fn": "IsValidWithDate.getTimeLeft", + "jump": "o", + "offset": [ + 2069, + 2517 + ], + "op": "JUMP", + "path": "36" + }, + "6884": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "6885": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "6887": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "6888": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "6889": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "6890": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "6891": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "6893": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "6894": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP5", + "path": "14" + }, + "6895": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "6896": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "6897": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "6899": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "6900": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP7", + "path": "14" + }, + "6901": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "6902": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "6903": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP4", + "path": "14", + "statement": 84 + }, + "6904": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "6905": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "6907": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "6908": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP3", + "path": "14" + }, + "6909": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "6910": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "6911": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP9", + "path": "14" + }, + "6912": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "6913": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "6914": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP8", + "path": "14" + }, + "6915": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "6916": { + "op": "DUP11" + }, + "6917": { + "op": "SWAP1" + }, + "6918": { + "op": "MSTORE" + }, + "6919": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "6920": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP3", + "path": "14" + }, + "6921": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "6922": { + "op": "DUP2" + }, + "6923": { + "op": "DUP7" + }, + "6924": { + "op": "ADD" + }, + "6925": { + "op": "DUP2" + }, + "6926": { + "op": "SWAP1" + }, + "6927": { + "op": "MSTORE" + }, + "6928": { + "op": "SWAP3" + }, + "6929": { + "op": "DUP2" + }, + "6930": { + "op": "ADD" + }, + "6931": { + "op": "DUP7" + }, + "6932": { + "op": "SWAP1" + }, + "6933": { + "op": "MSTORE" + }, + "6934": { + "op": "PUSH1", + "value": "0x80" + }, + "6936": { + "op": "DUP2" + }, + "6937": { + "op": "ADD" + }, + "6938": { + "op": "DUP5" + }, + "6939": { + "op": "SWAP1" + }, + "6940": { + "op": "MSTORE" + }, + "6941": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP4", + "path": "14" + }, + "6942": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "6943": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP1", + "path": "14" + }, + "6944": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP6", + "path": "14" + }, + "6945": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "6946": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP4", + "path": "14" + }, + "6947": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "6948": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP3", + "path": "14" + }, + "6949": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "6951": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "6952": { + "op": "PUSH1", + "value": "0xA0" + }, + "6954": { + "op": "DUP1" + }, + "6955": { + "op": "DUP3" + }, + "6956": { + "op": "ADD" + }, + "6957": { + "op": "SWAP4" + }, + "6958": { + "op": "PUSH1", + "value": "0x1F" + }, + "6960": { + "op": "NOT" + }, + "6961": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "6962": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "6963": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "6964": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "6965": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "6966": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "6967": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "6968": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP2", + "path": "14" + }, + "6969": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "6970": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "6971": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP6", + "path": "14" + }, + "6972": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "GAS", + "path": "14" + }, + "6973": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "STATICCALL", + "path": "14" + }, + "6974": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "6975": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "6976": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "6977": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1B4E" + }, + "6980": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPI", + "path": "14" + }, + "6981": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "6982": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "6984": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "6985": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "6986": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "6987": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "6989": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "REVERT", + "path": "14" + }, + "6990": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPDEST", + "path": "14" + }, + "6991": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "6992": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "6993": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "6994": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "6996": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "6998": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "6999": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "7000": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "7001": { + "op": "PUSH1", + "value": "0x1" + }, + "7003": { + "op": "PUSH1", + "value": "0x1" + }, + "7005": { + "op": "PUSH1", + "value": "0xA0" + }, + "7007": { + "op": "SHL" + }, + "7008": { + "op": "SUB" + }, + "7009": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "7010": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5083 + ], + "op": "DUP8", + "path": "14" + }, + "7011": { + "op": "PUSH1", + "value": "0x1" + }, + "7013": { + "op": "PUSH1", + "value": "0x1" + }, + "7015": { + "op": "PUSH1", + "value": "0xA0" + }, + "7017": { + "op": "SHL" + }, + "7018": { + "op": "SUB" + }, + "7019": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "7020": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "EQ", + "path": "14" + }, + "7021": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "SWAP4", + "path": "14" + }, + "7022": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "7023": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "7024": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "7025": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "7026": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP4", + "path": "14" + }, + "7027": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP3", + "path": "14" + }, + "7028": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "7029": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "7030": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "7031": { + "fn": "Allowlist.verifySigner", + "jump": "o", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "7032": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPDEST", + "path": "40" + }, + "7033": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "7035": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "7036": { + "op": "PUSH1", + "value": "0x1" + }, + "7038": { + "op": "PUSH1", + "value": "0x1" + }, + "7040": { + "op": "PUSH1", + "value": "0xA0" + }, + "7042": { + "op": "SHL" + }, + "7043": { + "op": "SUB" + }, + "7044": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "7045": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "7046": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "7047": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1BA2" + }, + "7050": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "7051": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "7053": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "7054": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7058": { + "op": "PUSH1", + "value": "0xE5" + }, + "7060": { + "op": "SHL" + }, + "7061": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "7062": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "7063": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "7065": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "7066": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "7069": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "7070": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "7073": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "7074": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "7075": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1914, + 1925 + ], + "op": "PUSH1", + "path": "40", + "statement": 85, + "value": "0xA" + }, + "7077": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1914, + 1925 + ], + "op": "SLOAD", + "path": "40" + }, + "7078": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1905, + 1911 + ], + "op": "PUSH1", + "path": "40", + "value": "0xB" + }, + "7080": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1905, + 1911 + ], + "op": "SLOAD", + "path": "40" + }, + "7081": { + "branch": 192, + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1905, + 1925 + ], + "op": "LT", + "path": "40" + }, + "7082": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1BEA" + }, + "7085": { + "branch": 192, + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "JUMPI", + "path": "40" + }, + "7086": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH1", + "path": "40", + "value": "0x40" + }, + "7088": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "MLOAD", + "path": "40" + }, + "7089": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7093": { + "op": "PUSH1", + "value": "0xE5" + }, + "7095": { + "op": "SHL" + }, + "7096": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "DUP2", + "path": "40" + }, + "7097": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "MSTORE", + "path": "40" + }, + "7098": { + "op": "PUSH1", + "value": "0x20" + }, + "7100": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "7102": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "DUP3", + "path": "40" + }, + "7103": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "ADD", + "path": "40" + }, + "7104": { + "op": "MSTORE" + }, + "7105": { + "op": "PUSH1", + "value": "0x12" + }, + "7107": { + "op": "PUSH1", + "value": "0x24" + }, + "7109": { + "op": "DUP3" + }, + "7110": { + "op": "ADD" + }, + "7111": { + "op": "MSTORE" + }, + "7112": { + "op": "PUSH18", + "value": "0x24B9B9BAB29021B0B8102932B0B1B432B217" + }, + "7131": { + "op": "PUSH1", + "value": "0x71" + }, + "7133": { + "op": "SHL" + }, + "7134": { + "op": "PUSH1", + "value": "0x44" + }, + "7136": { + "op": "DUP3" + }, + "7137": { + "op": "ADD" + }, + "7138": { + "op": "MSTORE" + }, + "7139": { + "op": "PUSH1", + "value": "0x64" + }, + "7141": { + "op": "ADD" + }, + "7142": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH2", + "path": "40", + "value": "0x6B1" + }, + "7145": { + "op": "JUMP" + }, + "7146": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "JUMPDEST", + "path": "40" + }, + "7147": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1997, + 2051 + ], + "op": "PUSH2", + "path": "40", + "statement": 86, + "value": "0x17C1" + }, + "7150": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2016, + 2020 + ], + "op": "DUP6", + "path": "40" + }, + "7151": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2022, + 2026 + ], + "op": "DUP6", + "path": "40" + }, + "7152": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2028, + 2031 + ], + "op": "DUP6", + "path": "40" + }, + "7153": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2033, + 2040 + ], + "op": "DUP6", + "path": "40" + }, + "7154": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2042, + 2050 + ], + "op": "DUP6", + "path": "40" + }, + "7155": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1997, + 2015 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1987" + }, + "7158": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "i", + "offset": [ + 1997, + 2051 + ], + "op": "JUMP", + "path": "40" + }, + "7159": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8593, + 10121 + ], + "op": "JUMPDEST", + "path": "39" + }, + "7160": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "7162": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "7163": { + "op": "PUSH1", + "value": "0x1" + }, + "7165": { + "op": "PUSH1", + "value": "0x1" + }, + "7167": { + "op": "PUSH1", + "value": "0xA0" + }, + "7169": { + "op": "SHL" + }, + "7170": { + "op": "SUB" + }, + "7171": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "7172": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "7173": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "7174": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1C21" + }, + "7177": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "7178": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "7180": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "7181": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7185": { + "op": "PUSH1", + "value": "0xE5" + }, + "7187": { + "op": "SHL" + }, + "7188": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "7189": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "7190": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "7192": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "7193": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "7196": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "7197": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "7200": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "7201": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "7202": { + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "7204": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "SLOAD", + "path": "39" + }, + "7205": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "7207": { + "fn": "Context._msgSender", + "offset": [ + 2688, + 2694 + ], + "op": "AND", + "path": "39" + }, + "7208": { + "offset": [ + 2687, + 2694 + ], + "op": "ISZERO", + "path": "39" + }, + "7209": { + "offset": [ + 2679, + 2695 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1C31" + }, + "7212": { + "offset": [ + 2679, + 2695 + ], + "op": "JUMPI", + "path": "39" + }, + "7213": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "7215": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "DUP1", + "path": "39" + }, + "7216": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "REVERT", + "path": "39" + }, + "7217": { + "fn": "Context._msgSender", + "offset": [ + 2679, + 2695 + ], + "op": "JUMPDEST", + "path": "39" + }, + "7218": { + "offset": [ + 2705, + 2711 + ], + "op": "PUSH1", + "path": "39", + "value": "0x13" + }, + "7220": { + "offset": [ + 2705, + 2718 + ], + "op": "DUP1", + "path": "39" + }, + "7221": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SLOAD", + "path": "39" + }, + "7222": { + "op": "PUSH1", + "value": "0xFF" + }, + "7224": { + "op": "NOT" + }, + "7225": { + "offset": [ + 2705, + 2718 + ], + "op": "AND", + "path": "39" + }, + "7226": { + "offset": [ + 2714, + 2718 + ], + "op": "PUSH1", + "path": "39", + "value": "0x1" + }, + "7228": { + "offset": [ + 2705, + 2718 + ], + "op": "OR", + "path": "39" + }, + "7229": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SWAP1", + "path": "39" + }, + "7230": { + "fn": "Context._msgSender", + "offset": [ + 2705, + 2718 + ], + "op": "SSTORE", + "path": "39" + }, + "7231": { + "op": "PUSH1", + "value": "0x1" + }, + "7233": { + "op": "PUSH1", + "value": "0x1" + }, + "7235": { + "op": "PUSH1", + "value": "0xA0" + }, + "7237": { + "op": "SHL" + }, + "7238": { + "op": "SUB" + }, + "7239": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8827, + 8850 + ], + "op": "DUP4", + "path": "39", + "statement": 87 + }, + "7240": { + "branch": 159, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8827, + 8850 + ], + "op": "AND", + "path": "39" + }, + "7241": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1C94" + }, + "7244": { + "branch": 159, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "JUMPI", + "path": "39" + }, + "7245": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "7247": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "MLOAD", + "path": "39" + }, + "7248": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7252": { + "op": "PUSH1", + "value": "0xE5" + }, + "7254": { + "op": "SHL" + }, + "7255": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "DUP2", + "path": "39" + }, + "7256": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "MSTORE", + "path": "39" + }, + "7257": { + "op": "PUSH1", + "value": "0x20" + }, + "7259": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "7261": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "DUP3", + "path": "39" + }, + "7262": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "ADD", + "path": "39" + }, + "7263": { + "op": "MSTORE" + }, + "7264": { + "op": "PUSH1", + "value": "0x1B" + }, + "7266": { + "op": "PUSH1", + "value": "0x24" + }, + "7268": { + "op": "DUP3" + }, + "7269": { + "op": "ADD" + }, + "7270": { + "op": "MSTORE" + }, + "7271": { + "op": "PUSH32", + "value": "0x526564656D7074696F6E20746F207A65726F20616464726573732E0000000000" + }, + "7304": { + "op": "PUSH1", + "value": "0x44" + }, + "7306": { + "op": "DUP3" + }, + "7307": { + "op": "ADD" + }, + "7308": { + "op": "MSTORE" + }, + "7309": { + "op": "PUSH1", + "value": "0x64" + }, + "7311": { + "op": "ADD" + }, + "7312": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "7315": { + "op": "JUMP" + }, + "7316": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8819, + 8882 + ], + "op": "JUMPDEST", + "path": "39" + }, + "7317": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8947, + 8963 + ], + "op": "PUSH2", + "path": "39", + "statement": 88, + "value": "0x1C9D" + }, + "7320": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8955, + 8962 + ], + "op": "DUP3", + "path": "39" + }, + "7321": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8947, + 8954 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1F4F" + }, + "7324": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "jump": "i", + "offset": [ + 8947, + 8963 + ], + "op": "JUMP", + "path": "39" + }, + "7325": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8947, + 8963 + ], + "op": "JUMPDEST", + "path": "39" + }, + "7326": { + "branch": 160, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8946, + 8963 + ], + "op": "ISZERO", + "path": "39" + }, + "7327": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1CEA" + }, + "7330": { + "branch": 160, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "JUMPI", + "path": "39" + }, + "7331": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "7333": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "MLOAD", + "path": "39" + }, + "7334": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7338": { + "op": "PUSH1", + "value": "0xE5" + }, + "7340": { + "op": "SHL" + }, + "7341": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "DUP2", + "path": "39" + }, + "7342": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "MSTORE", + "path": "39" + }, + "7343": { + "op": "PUSH1", + "value": "0x20" + }, + "7345": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "7347": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "DUP3", + "path": "39" + }, + "7348": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "ADD", + "path": "39" + }, + "7349": { + "op": "MSTORE" + }, + "7350": { + "op": "PUSH1", + "value": "0x1D" + }, + "7352": { + "op": "PUSH1", + "value": "0x24" + }, + "7354": { + "op": "DUP3" + }, + "7355": { + "op": "ADD" + }, + "7356": { + "op": "MSTORE" + }, + "7357": { + "op": "PUSH32", + "value": "0x526564656D7074696F6E206F66206578697374696E6720746F6B656E2E000000" + }, + "7390": { + "op": "PUSH1", + "value": "0x44" + }, + "7392": { + "op": "DUP3" + }, + "7393": { + "op": "ADD" + }, + "7394": { + "op": "MSTORE" + }, + "7395": { + "op": "PUSH1", + "value": "0x64" + }, + "7397": { + "op": "ADD" + }, + "7398": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "7401": { + "op": "JUMP" + }, + "7402": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 8938, + 8997 + ], + "op": "JUMPDEST", + "path": "39" + }, + "7403": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "PUSH1", + "path": "39", + "statement": 89, + "value": "0x0" + }, + "7405": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "DUP3", + "path": "39" + }, + "7406": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "DUP2", + "path": "39" + }, + "7407": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "MSTORE", + "path": "39" + }, + "7408": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9080 + ], + "op": "PUSH1", + "path": "39", + "value": "0x10" + }, + "7410": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "7412": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "MSTORE", + "path": "39" + }, + "7413": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "7415": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "SWAP1", + "path": "39" + }, + "7416": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "KECCAK256", + "path": "39" + }, + "7417": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "SLOAD", + "path": "39" + }, + "7418": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "PUSH1", + "path": "39", + "value": "0xFF" + }, + "7420": { + "branch": 161, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9073, + 9089 + ], + "op": "AND", + "path": "39" + }, + "7421": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "PUSH2", + "path": "39", + "value": "0x1D42" + }, + "7424": { + "branch": 161, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "JUMPI", + "path": "39" + }, + "7425": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "7427": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "MLOAD", + "path": "39" + }, + "7428": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7432": { + "op": "PUSH1", + "value": "0xE5" + }, + "7434": { + "op": "SHL" + }, + "7435": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "DUP2", + "path": "39" + }, + "7436": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "MSTORE", + "path": "39" + }, + "7437": { + "op": "PUSH1", + "value": "0x20" + }, + "7439": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "7441": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "DUP3", + "path": "39" + }, + "7442": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "ADD", + "path": "39" + }, + "7443": { + "op": "MSTORE" + }, + "7444": { + "op": "PUSH1", + "value": "0x17" + }, + "7446": { + "op": "PUSH1", + "value": "0x24" + }, + "7448": { + "op": "DUP3" + }, + "7449": { + "op": "ADD" + }, + "7450": { + "op": "MSTORE" + }, + "7451": { + "op": "PUSH23", + "value": "0x20B63932B0B23C903932B1B2B4BB32B2103A37B5B2B717" + }, + "7475": { + "op": "PUSH1", + "value": "0x49" + }, + "7477": { + "op": "SHL" + }, + "7478": { + "op": "PUSH1", + "value": "0x44" + }, + "7480": { + "op": "DUP3" + }, + "7481": { + "op": "ADD" + }, + "7482": { + "op": "MSTORE" + }, + "7483": { + "op": "PUSH1", + "value": "0x64" + }, + "7485": { + "op": "ADD" + }, + "7486": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "7489": { + "op": "JUMP" + }, + "7490": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9065, + 9117 + ], + "op": "JUMPDEST", + "path": "39" + }, + "7491": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "PUSH1", + "path": "39", + "statement": 90, + "value": "0x0" + }, + "7493": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "DUP3", + "path": "39" + }, + "7494": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "DUP2", + "path": "39" + }, + "7495": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "MSTORE", + "path": "39" + }, + "7496": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9235 + ], + "op": "PUSH1", + "path": "39", + "value": "0x11" + }, + "7498": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "PUSH1", + "path": "39", + "value": "0x20" + }, + "7500": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "MSTORE", + "path": "39" + }, + "7501": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "7503": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "SWAP1", + "path": "39" + }, + "7504": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "KECCAK256", + "path": "39" + }, + "7505": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "SLOAD", + "path": "39" + }, + "7506": { + "op": "PUSH1", + "value": "0x1" + }, + "7508": { + "op": "PUSH1", + "value": "0x1" + }, + "7510": { + "op": "PUSH1", + "value": "0xA0" + }, + "7512": { + "op": "SHL" + }, + "7513": { + "op": "SUB" + }, + "7514": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9257 + ], + "op": "DUP5", + "path": "39" + }, + "7515": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9257 + ], + "op": "DUP2", + "path": "39" + }, + "7516": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9257 + ], + "op": "AND", + "path": "39" + }, + "7517": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "SWAP2", + "path": "39" + }, + "7518": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9244 + ], + "op": "AND", + "path": "39" + }, + "7519": { + "branch": 162, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9219, + 9257 + ], + "op": "EQ", + "path": "39" + }, + "7520": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "PUSH2", + "path": "39", + "value": "0xF54" + }, + "7523": { + "branch": 162, + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "JUMPI", + "path": "39" + }, + "7524": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "PUSH1", + "path": "39", + "value": "0x40" + }, + "7526": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "MLOAD", + "path": "39" + }, + "7527": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7531": { + "op": "PUSH1", + "value": "0xE5" + }, + "7533": { + "op": "SHL" + }, + "7534": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "DUP2", + "path": "39" + }, + "7535": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "MSTORE", + "path": "39" + }, + "7536": { + "op": "PUSH1", + "value": "0x20" + }, + "7538": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "PUSH1", + "path": "39", + "value": "0x4" + }, + "7540": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "DUP3", + "path": "39" + }, + "7541": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "ADD", + "path": "39" + }, + "7542": { + "op": "MSTORE" + }, + "7543": { + "op": "PUSH1", + "value": "0x15" + }, + "7545": { + "op": "PUSH1", + "value": "0x24" + }, + "7547": { + "op": "DUP3" + }, + "7548": { + "op": "ADD" + }, + "7549": { + "op": "MSTORE" + }, + "7550": { + "op": "PUSH21", + "value": "0x2737BA103832B73234B733903932B1B2B4BB32B917" + }, + "7572": { + "op": "PUSH1", + "value": "0x59" + }, + "7574": { + "op": "SHL" + }, + "7575": { + "op": "PUSH1", + "value": "0x44" + }, + "7577": { + "op": "DUP3" + }, + "7578": { + "op": "ADD" + }, + "7579": { + "op": "MSTORE" + }, + "7580": { + "op": "PUSH1", + "value": "0x64" + }, + "7582": { + "op": "ADD" + }, + "7583": { + "fn": "SoulboundRedeemable.redeemPendingToken", + "offset": [ + 9198, + 9304 + ], + "op": "PUSH2", + "path": "39", + "value": "0x6B1" + }, + "7586": { + "op": "JUMP" + }, + "7587": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "7588": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "7590": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "7591": { + "op": "PUSH1", + "value": "0x1" + }, + "7593": { + "op": "PUSH1", + "value": "0x1" + }, + "7595": { + "op": "PUSH1", + "value": "0xA0" + }, + "7597": { + "op": "SHL" + }, + "7598": { + "op": "SUB" + }, + "7599": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "7600": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "7601": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "7602": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1DCD" + }, + "7605": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "7606": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "7608": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "7609": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7613": { + "op": "PUSH1", + "value": "0xE5" + }, + "7615": { + "op": "SHL" + }, + "7616": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "7617": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "7618": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "7620": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "7621": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "7624": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "7625": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "7628": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "7629": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "7630": { + "op": "PUSH1", + "value": "0x1" + }, + "7632": { + "op": "PUSH1", + "value": "0x1" + }, + "7634": { + "op": "PUSH1", + "value": "0xA0" + }, + "7636": { + "op": "SHL" + }, + "7637": { + "op": "SUB" + }, + "7638": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 91 + }, + "7639": { + "branch": 171, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "7640": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1E32" + }, + "7643": { + "branch": 171, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "7644": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "7646": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "7647": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7651": { + "op": "PUSH1", + "value": "0xE5" + }, + "7653": { + "op": "SHL" + }, + "7654": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "7655": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "7656": { + "op": "PUSH1", + "value": "0x20" + }, + "7658": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "7660": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "7661": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "7662": { + "op": "MSTORE" + }, + "7663": { + "op": "PUSH1", + "value": "0x26" + }, + "7665": { + "op": "PUSH1", + "value": "0x24" + }, + "7667": { + "op": "DUP3" + }, + "7668": { + "op": "ADD" + }, + "7669": { + "op": "MSTORE" + }, + "7670": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "7703": { + "op": "PUSH1", + "value": "0x44" + }, + "7705": { + "op": "DUP3" + }, + "7706": { + "op": "ADD" + }, + "7707": { + "op": "MSTORE" + }, + "7708": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "7715": { + "op": "PUSH1", + "value": "0xD0" + }, + "7717": { + "op": "SHL" + }, + "7718": { + "op": "PUSH1", + "value": "0x64" + }, + "7720": { + "op": "DUP3" + }, + "7721": { + "op": "ADD" + }, + "7722": { + "op": "MSTORE" + }, + "7723": { + "op": "PUSH1", + "value": "0x84" + }, + "7725": { + "op": "ADD" + }, + "7726": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "7729": { + "op": "JUMP" + }, + "7730": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "7731": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH2", + "path": "0", + "statement": 92, + "value": "0x110A" + }, + "7734": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "7735": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2237" + }, + "7738": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "7739": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "7740": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4396, + 4403 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "7742": { + "op": "PUSH1", + "value": "0x1" + }, + "7744": { + "op": "PUSH1", + "value": "0x1" + }, + "7746": { + "op": "PUSH1", + "value": "0xA0" + }, + "7748": { + "op": "SHL" + }, + "7749": { + "op": "SUB" + }, + "7750": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "DUP4", + "path": "37", + "statement": 93 + }, + "7751": { + "branch": 173, + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "AND", + "path": "37" + }, + "7752": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1E93" + }, + "7755": { + "branch": 173, + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPI", + "path": "37" + }, + "7756": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "7758": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MLOAD", + "path": "37" + }, + "7759": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7763": { + "op": "PUSH1", + "value": "0xE5" + }, + "7765": { + "op": "SHL" + }, + "7766": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP2", + "path": "37" + }, + "7767": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MSTORE", + "path": "37" + }, + "7768": { + "op": "PUSH1", + "value": "0x20" + }, + "7770": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "7772": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP3", + "path": "37" + }, + "7773": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "ADD", + "path": "37" + }, + "7774": { + "op": "MSTORE" + }, + "7775": { + "op": "PUSH1", + "value": "0x17" + }, + "7777": { + "op": "PUSH1", + "value": "0x24" + }, + "7779": { + "op": "DUP3" + }, + "7780": { + "op": "ADD" + }, + "7781": { + "op": "MSTORE" + }, + "7782": { + "op": "PUSH32", + "value": "0x517565727920666F72207A65726F20616464726573732E000000000000000000" + }, + "7815": { + "op": "PUSH1", + "value": "0x44" + }, + "7817": { + "op": "DUP3" + }, + "7818": { + "op": "ADD" + }, + "7819": { + "op": "MSTORE" + }, + "7820": { + "op": "PUSH1", + "value": "0x64" + }, + "7822": { + "op": "ADD" + }, + "7823": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "7826": { + "op": "JUMP" + }, + "7827": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPDEST", + "path": "37" + }, + "7828": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4598 + ], + "op": "PUSH2", + "path": "37", + "statement": 94, + "value": "0x1E9C" + }, + "7831": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4589, + 4597 + ], + "op": "DUP3", + "path": "37" + }, + "7832": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4588 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1F4F" + }, + "7835": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4581, + 4598 + ], + "op": "JUMP", + "path": "37" + }, + "7836": { + "branch": 174, + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4598 + ], + "op": "JUMPDEST", + "path": "37" + }, + "7837": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1EDE" + }, + "7840": { + "branch": 174, + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPI", + "path": "37" + }, + "7841": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "7843": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MLOAD", + "path": "37" + }, + "7844": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7848": { + "op": "PUSH1", + "value": "0xE5" + }, + "7850": { + "op": "SHL" + }, + "7851": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP2", + "path": "37" + }, + "7852": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MSTORE", + "path": "37" + }, + "7853": { + "op": "PUSH1", + "value": "0x20" + }, + "7855": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "7857": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP3", + "path": "37" + }, + "7858": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "ADD", + "path": "37" + }, + "7859": { + "op": "MSTORE" + }, + "7860": { + "op": "PUSH1", + "value": "0x13" + }, + "7862": { + "op": "PUSH1", + "value": "0x24" + }, + "7864": { + "op": "DUP3" + }, + "7865": { + "op": "ADD" + }, + "7866": { + "op": "MSTORE" + }, + "7867": { + "op": "PUSH19", + "value": "0x2737B716B2BC34B9BA32B73A103A37B5B2B717" + }, + "7887": { + "op": "PUSH1", + "value": "0x69" + }, + "7889": { + "op": "SHL" + }, + "7890": { + "op": "PUSH1", + "value": "0x44" + }, + "7892": { + "op": "DUP3" + }, + "7893": { + "op": "ADD" + }, + "7894": { + "op": "MSTORE" + }, + "7895": { + "op": "PUSH1", + "value": "0x64" + }, + "7897": { + "op": "ADD" + }, + "7898": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "7901": { + "op": "JUMP" + }, + "7902": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPDEST", + "path": "37" + }, + "7903": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4712, + 4715 + ], + "op": "DUP3", + "path": "37", + "statement": 95 + }, + "7904": { + "op": "PUSH1", + "value": "0x1" + }, + "7906": { + "op": "PUSH1", + "value": "0x1" + }, + "7908": { + "op": "PUSH1", + "value": "0xA0" + }, + "7910": { + "op": "SHL" + }, + "7911": { + "op": "SUB" + }, + "7912": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "7913": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1EF1" + }, + "7916": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4699, + 4707 + ], + "op": "DUP4", + "path": "37" + }, + "7917": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4698 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1263" + }, + "7920": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4691, + 4708 + ], + "op": "JUMP", + "path": "37" + }, + "7921": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "JUMPDEST", + "path": "37" + }, + "7922": { + "op": "PUSH1", + "value": "0x1" + }, + "7924": { + "op": "PUSH1", + "value": "0x1" + }, + "7926": { + "op": "PUSH1", + "value": "0xA0" + }, + "7928": { + "op": "SHL" + }, + "7929": { + "op": "SUB" + }, + "7930": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "7931": { + "branch": 175, + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "EQ", + "path": "37" + }, + "7932": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1F47" + }, + "7935": { + "branch": 175, + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPI", + "path": "37" + }, + "7936": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "7938": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MLOAD", + "path": "37" + }, + "7939": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "7943": { + "op": "PUSH1", + "value": "0xE5" + }, + "7945": { + "op": "SHL" + }, + "7946": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP2", + "path": "37" + }, + "7947": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MSTORE", + "path": "37" + }, + "7948": { + "op": "PUSH1", + "value": "0x20" + }, + "7950": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "7952": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP3", + "path": "37" + }, + "7953": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "ADD", + "path": "37" + }, + "7954": { + "op": "MSTORE" + }, + "7955": { + "op": "PUSH1", + "value": "0x1A" + }, + "7957": { + "op": "PUSH1", + "value": "0x24" + }, + "7959": { + "op": "DUP3" + }, + "7960": { + "op": "ADD" + }, + "7961": { + "op": "MSTORE" + }, + "7962": { + "op": "PUSH32", + "value": "0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000" + }, + "7995": { + "op": "PUSH1", + "value": "0x44" + }, + "7997": { + "op": "DUP3" + }, + "7998": { + "op": "ADD" + }, + "7999": { + "op": "MSTORE" + }, + "8000": { + "op": "PUSH1", + "value": "0x64" + }, + "8002": { + "op": "ADD" + }, + "8003": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "8006": { + "op": "JUMP" + }, + "8007": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8008": { + "op": "POP" + }, + "8009": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4810, + 4814 + ], + "op": "ADDRESS", + "path": "37", + "statement": 96 + }, + "8010": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP3", + "path": "37" + }, + "8011": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP2", + "path": "37" + }, + "8012": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "8013": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "8014": { + "fn": "Soulbound.issuerOf", + "jump": "o", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "8015": { + "fn": "ERC4973._exists", + "offset": [ + 5924, + 6049 + ], + "op": "JUMPDEST", + "path": "41" + }, + "8016": { + "fn": "ERC4973._exists", + "offset": [ + 5989, + 5993 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "8018": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41", + "statement": 97 + }, + "8019": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "DUP2", + "path": "41" + }, + "8020": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "8021": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6019 + ], + "op": "PUSH1", + "path": "41", + "value": "0x3" + }, + "8023": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "8025": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "8026": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "8028": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41" + }, + "8029": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "KECCAK256", + "path": "41" + }, + "8030": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SLOAD", + "path": "41" + }, + "8031": { + "op": "PUSH1", + "value": "0x1" + }, + "8033": { + "op": "PUSH1", + "value": "0x1" + }, + "8035": { + "op": "PUSH1", + "value": "0xA0" + }, + "8037": { + "op": "SHL" + }, + "8038": { + "op": "SUB" + }, + "8039": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "AND", + "path": "41" + }, + "8040": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "ISZERO", + "path": "41" + }, + "8041": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "ISZERO", + "path": "41" + }, + "8042": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "SWAP1", + "path": "41" + }, + "8043": { + "fn": "ERC4973._exists", + "jump": "o", + "offset": [ + 5924, + 6049 + ], + "op": "JUMP", + "path": "41" + }, + "8044": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8045": { + "fn": "Soulbound.revoke", + "offset": [ + 3405, + 3409 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "8047": { + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3485 + ], + "op": "PUSH2", + "path": "37", + "statement": 98, + "value": "0x1F77" + }, + "8050": { + "fn": "Soulbound.revoke", + "offset": [ + 3476, + 3484 + ], + "op": "DUP3", + "path": "37" + }, + "8051": { + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3475 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1F4F" + }, + "8054": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3468, + 3485 + ], + "op": "JUMP", + "path": "37" + }, + "8055": { + "branch": 176, + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3485 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8056": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1FB9" + }, + "8059": { + "branch": 176, + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "JUMPI", + "path": "37" + }, + "8060": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "8062": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "MLOAD", + "path": "37" + }, + "8063": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "8067": { + "op": "PUSH1", + "value": "0xE5" + }, + "8069": { + "op": "SHL" + }, + "8070": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "DUP2", + "path": "37" + }, + "8071": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "MSTORE", + "path": "37" + }, + "8072": { + "op": "PUSH1", + "value": "0x20" + }, + "8074": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "8076": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "DUP3", + "path": "37" + }, + "8077": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "ADD", + "path": "37" + }, + "8078": { + "op": "MSTORE" + }, + "8079": { + "op": "PUSH1", + "value": "0x13" + }, + "8081": { + "op": "PUSH1", + "value": "0x24" + }, + "8083": { + "op": "DUP3" + }, + "8084": { + "op": "ADD" + }, + "8085": { + "op": "MSTORE" + }, + "8086": { + "op": "PUSH19", + "value": "0x2737B716B2BC34B9BA32B73A103A37B5B2B717" + }, + "8106": { + "op": "PUSH1", + "value": "0x69" + }, + "8108": { + "op": "SHL" + }, + "8109": { + "op": "PUSH1", + "value": "0x44" + }, + "8111": { + "op": "DUP3" + }, + "8112": { + "op": "ADD" + }, + "8113": { + "op": "MSTORE" + }, + "8114": { + "op": "PUSH1", + "value": "0x64" + }, + "8116": { + "op": "ADD" + }, + "8117": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "8120": { + "op": "JUMP" + }, + "8121": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8122": { + "fn": "Soulbound.revoke", + "offset": [ + 3601, + 3606 + ], + "op": "DUP3", + "path": "37", + "statement": 99 + }, + "8123": { + "op": "PUSH1", + "value": "0x1" + }, + "8125": { + "op": "PUSH1", + "value": "0x1" + }, + "8127": { + "op": "PUSH1", + "value": "0xA0" + }, + "8129": { + "op": "SHL" + }, + "8130": { + "op": "SUB" + }, + "8131": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "AND", + "path": "37" + }, + "8132": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3597 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1FCC" + }, + "8135": { + "fn": "Soulbound.revoke", + "offset": [ + 3588, + 3596 + ], + "op": "DUP4", + "path": "37" + }, + "8136": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3587 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1263" + }, + "8139": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3580, + 3597 + ], + "op": "JUMP", + "path": "37" + }, + "8140": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3597 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8141": { + "op": "PUSH1", + "value": "0x1" + }, + "8143": { + "op": "PUSH1", + "value": "0x1" + }, + "8145": { + "op": "PUSH1", + "value": "0xA0" + }, + "8147": { + "op": "SHL" + }, + "8148": { + "op": "SUB" + }, + "8149": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "AND", + "path": "37" + }, + "8150": { + "branch": 177, + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "EQ", + "path": "37" + }, + "8151": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2022" + }, + "8154": { + "branch": 177, + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "JUMPI", + "path": "37" + }, + "8155": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "8157": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "MLOAD", + "path": "37" + }, + "8158": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "8162": { + "op": "PUSH1", + "value": "0xE5" + }, + "8164": { + "op": "SHL" + }, + "8165": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "DUP2", + "path": "37" + }, + "8166": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "MSTORE", + "path": "37" + }, + "8167": { + "op": "PUSH1", + "value": "0x20" + }, + "8169": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "8171": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "DUP3", + "path": "37" + }, + "8172": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "ADD", + "path": "37" + }, + "8173": { + "op": "MSTORE" + }, + "8174": { + "op": "PUSH1", + "value": "0x1A" + }, + "8176": { + "op": "PUSH1", + "value": "0x24" + }, + "8178": { + "op": "DUP3" + }, + "8179": { + "op": "ADD" + }, + "8180": { + "op": "MSTORE" + }, + "8181": { + "op": "PUSH32", + "value": "0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000" + }, + "8214": { + "op": "PUSH1", + "value": "0x44" + }, + "8216": { + "op": "DUP3" + }, + "8217": { + "op": "ADD" + }, + "8218": { + "op": "MSTORE" + }, + "8219": { + "op": "PUSH1", + "value": "0x64" + }, + "8221": { + "op": "ADD" + }, + "8222": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "8225": { + "op": "JUMP" + }, + "8226": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8227": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3708 + ], + "op": "PUSH2", + "path": "37", + "statement": 100, + "value": "0x202B" + }, + "8230": { + "fn": "Soulbound.revoke", + "offset": [ + 3699, + 3707 + ], + "op": "DUP3", + "path": "37" + }, + "8231": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3698 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2481" + }, + "8234": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3680, + 3708 + ], + "op": "JUMP", + "path": "37" + }, + "8235": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3708 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8236": { + "op": "POP" + }, + "8237": { + "fn": "Soulbound.revoke", + "offset": [ + 3755, + 3759 + ], + "op": "PUSH1", + "path": "37", + "statement": 101, + "value": "0x1" + }, + "8239": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "SWAP3", + "path": "37" + }, + "8240": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "SWAP2", + "path": "37" + }, + "8241": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "POP", + "path": "37" + }, + "8242": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "POP", + "path": "37" + }, + "8243": { + "fn": "Soulbound.revoke", + "jump": "o", + "offset": [ + 3338, + 3766 + ], + "op": "JUMP", + "path": "37" + }, + "8244": { + "fn": "SoulboundCore.toString", + "offset": [ + 6660, + 7363 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8245": { + "fn": "SoulboundCore.toString", + "offset": [ + 6716, + 6729 + ], + "op": "PUSH1", + "path": "38", + "value": "0x60" + }, + "8247": { + "fn": "SoulboundCore.toString", + "offset": [ + 6933, + 6938 + ], + "op": "DUP2", + "path": "38" + }, + "8248": { + "fn": "SoulboundCore.toString", + "offset": [ + 6942, + 6943 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "8250": { + "branch": 190, + "fn": "SoulboundCore.toString", + "offset": [ + 6933, + 6943 + ], + "op": "SUB", + "path": "38" + }, + "8251": { + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "PUSH2", + "path": "38", + "value": "0x205B" + }, + "8254": { + "branch": 190, + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "JUMPI", + "path": "38" + }, + "8255": { + "op": "POP" + }, + "8256": { + "op": "POP" + }, + "8257": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "statement": 102, + "value": "0x40" + }, + "8259": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP1", + "path": "38" + }, + "8260": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MLOAD", + "path": "38" + }, + "8261": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP1", + "path": "38" + }, + "8262": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP3", + "path": "38" + }, + "8263": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "ADD", + "path": "38" + }, + "8264": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP1", + "path": "38" + }, + "8265": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP2", + "path": "38" + }, + "8266": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "8267": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1" + }, + "8269": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP2", + "path": "38" + }, + "8270": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "8271": { + "op": "PUSH1", + "value": "0x3" + }, + "8273": { + "op": "PUSH1", + "value": "0xFC" + }, + "8275": { + "op": "SHL" + }, + "8276": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "8278": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP3", + "path": "38" + }, + "8279": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "ADD", + "path": "38" + }, + "8280": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "8281": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP1", + "path": "38" + }, + "8282": { + "fn": "SoulboundCore.toString", + "jump": "o", + "offset": [ + 6660, + 7363 + ], + "op": "JUMP", + "path": "38" + }, + "8283": { + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8284": { + "fn": "SoulboundCore.toString", + "offset": [ + 7004, + 7009 + ], + "op": "DUP2", + "path": "38" + }, + "8285": { + "fn": "SoulboundCore.toString", + "offset": [ + 6989, + 7001 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "8287": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8288": { + "fn": "SoulboundCore.toString", + "offset": [ + 7050, + 7059 + ], + "op": "DUP2", + "path": "38" + }, + "8289": { + "fn": "SoulboundCore.toString", + "offset": [ + 7050, + 7059 + ], + "op": "ISZERO", + "path": "38" + }, + "8290": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2085" + }, + "8293": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPI", + "path": "38" + }, + "8294": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "DUP1", + "path": "38", + "statement": 103 + }, + "8295": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "PUSH2", + "path": "38", + "value": "0x206F" + }, + "8298": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "DUP2", + "path": "38" + }, + "8299": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2CA5" + }, + "8302": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7075, + 7083 + ], + "op": "JUMP", + "path": "38" + }, + "8303": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8304": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "SWAP2", + "path": "38" + }, + "8305": { + "op": "POP" + }, + "8306": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "PUSH2", + "path": "38", + "statement": 104, + "value": "0x207E" + }, + "8309": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "SWAP1", + "path": "38" + }, + "8310": { + "op": "POP" + }, + "8311": { + "fn": "SoulboundCore.toString", + "offset": [ + 7105, + 7107 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "8313": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "DUP4", + "path": "38" + }, + "8314": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2CEC" + }, + "8317": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7097, + 7107 + ], + "op": "JUMP", + "path": "38" + }, + "8318": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8319": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "SWAP2", + "path": "38" + }, + "8320": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "POP", + "path": "38" + }, + "8321": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "PUSH2", + "path": "38", + "value": "0x205F" + }, + "8324": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMP", + "path": "38" + }, + "8325": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8326": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7146 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "8328": { + "fn": "SoulboundCore.toString", + "offset": [ + 7159, + 7165 + ], + "op": "DUP2", + "path": "38" + }, + "8329": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH8", + "path": "38", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "8338": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP2", + "path": "38" + }, + "8339": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "GT", + "path": "38" + }, + "8340": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ISZERO", + "path": "38" + }, + "8341": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0x20A0" + }, + "8344": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPI", + "path": "38" + }, + "8345": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0x20A0" + }, + "8348": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0x27D0" + }, + "8351": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7149, + 7166 + ], + "op": "JUMP", + "path": "38" + }, + "8352": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8353": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "8355": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MLOAD", + "path": "38" + }, + "8356": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "8357": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "8358": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "8359": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MSTORE", + "path": "38" + }, + "8360": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "8361": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1F" + }, + "8363": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "8364": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1F" + }, + "8366": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "NOT", + "path": "38" + }, + "8367": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "AND", + "path": "38" + }, + "8368": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "8370": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "8371": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "8372": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "8373": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "8375": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MSTORE", + "path": "38" + }, + "8376": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "8377": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ISZERO", + "path": "38" + }, + "8378": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0x20CA" + }, + "8381": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPI", + "path": "38" + }, + "8382": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "8384": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "8385": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "8386": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP2", + "path": "38" + }, + "8387": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "8388": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "8389": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP4", + "path": "38" + }, + "8390": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "CALLDATACOPY", + "path": "38" + }, + "8391": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "8392": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "8393": { + "op": "POP" + }, + "8394": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8395": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "POP", + "path": "38" + }, + "8396": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "8397": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7166 + ], + "op": "POP", + "path": "38" + }, + "8398": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8399": { + "fn": "SoulboundCore.toString", + "offset": [ + 7183, + 7193 + ], + "op": "DUP5", + "path": "38" + }, + "8400": { + "fn": "SoulboundCore.toString", + "offset": [ + 7183, + 7193 + ], + "op": "ISZERO", + "path": "38" + }, + "8401": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2135" + }, + "8404": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPI", + "path": "38" + }, + "8405": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "PUSH2", + "path": "38", + "statement": 105, + "value": "0x20DF" + }, + "8408": { + "fn": "SoulboundCore.toString", + "offset": [ + 7219, + 7220 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1" + }, + "8410": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "DUP4", + "path": "38" + }, + "8411": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2C8E" + }, + "8414": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7209, + 7220 + ], + "op": "JUMP", + "path": "38" + }, + "8415": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8416": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "SWAP2", + "path": "38" + }, + "8417": { + "op": "POP" + }, + "8418": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "PUSH2", + "path": "38", + "statement": 106, + "value": "0x20EC" + }, + "8421": { + "fn": "SoulboundCore.toString", + "offset": [ + 7285, + 7287 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "8423": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7282 + ], + "op": "DUP7", + "path": "38" + }, + "8424": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2D00" + }, + "8427": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7277, + 7287 + ], + "op": "JUMP", + "path": "38" + }, + "8428": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8429": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "PUSH2", + "path": "38", + "value": "0x20F7" + }, + "8432": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "SWAP1", + "path": "38" + }, + "8433": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7266 + ], + "op": "PUSH1", + "path": "38", + "value": "0x30" + }, + "8435": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2CBE" + }, + "8438": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7264, + 7288 + ], + "op": "JUMP", + "path": "38" + }, + "8439": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8440": { + "fn": "SoulboundCore.toString", + "offset": [ + 7251, + 7290 + ], + "op": "PUSH1", + "path": "38", + "value": "0xF8" + }, + "8442": { + "fn": "SoulboundCore.toString", + "offset": [ + 7251, + 7290 + ], + "op": "SHL", + "path": "38" + }, + "8443": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7240 + ], + "op": "DUP2", + "path": "38" + }, + "8444": { + "fn": "SoulboundCore.toString", + "offset": [ + 7241, + 7247 + ], + "op": "DUP4", + "path": "38" + }, + "8445": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "DUP2", + "path": "38" + }, + "8446": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "MLOAD", + "path": "38" + }, + "8447": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "DUP2", + "path": "38" + }, + "8448": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "LT", + "path": "38" + }, + "8449": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0x210C" + }, + "8452": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "JUMPI", + "path": "38" + }, + "8453": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0x210C" + }, + "8456": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2D14" + }, + "8459": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7234, + 7248 + ], + "op": "JUMP", + "path": "38" + }, + "8460": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8461": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "8463": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "ADD", + "path": "38" + }, + "8464": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "ADD", + "path": "38" + }, + "8465": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "8466": { + "op": "PUSH1", + "value": "0x1" + }, + "8468": { + "op": "PUSH1", + "value": "0x1" + }, + "8470": { + "op": "PUSH1", + "value": "0xF8" + }, + "8472": { + "op": "SHL" + }, + "8473": { + "op": "SUB" + }, + "8474": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "NOT", + "path": "38" + }, + "8475": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "AND", + "path": "38" + }, + "8476": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "8477": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "DUP2", + "path": "38" + }, + "8478": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "8480": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "BYTE", + "path": "38" + }, + "8481": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "8482": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "MSTORE8", + "path": "38" + }, + "8483": { + "op": "POP" + }, + "8484": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "PUSH2", + "path": "38", + "statement": 107, + "value": "0x212E" + }, + "8487": { + "fn": "SoulboundCore.toString", + "offset": [ + 7313, + 7315 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "8489": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "DUP7", + "path": "38" + }, + "8490": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2CEC" + }, + "8493": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7304, + 7315 + ], + "op": "JUMP", + "path": "38" + }, + "8494": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8495": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "SWAP5", + "path": "38" + }, + "8496": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "POP", + "path": "38" + }, + "8497": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "PUSH2", + "path": "38", + "value": "0x20CE" + }, + "8500": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMP", + "path": "38" + }, + "8501": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPDEST", + "path": "38" + }, + "8502": { + "fn": "SoulboundCore.toString", + "offset": [ + 7349, + 7355 + ], + "op": "SWAP5", + "path": "38", + "statement": 108 + }, + "8503": { + "fn": "SoulboundCore.toString", + "offset": [ + 6660, + 7363 + ], + "op": "SWAP4", + "path": "38" + }, + "8504": { + "op": "POP" + }, + "8505": { + "op": "POP" + }, + "8506": { + "op": "POP" + }, + "8507": { + "op": "POP" + }, + "8508": { + "fn": "SoulboundCore.toString", + "jump": "o", + "offset": [ + 6660, + 7363 + ], + "op": "JUMP", + "path": "38" + }, + "8509": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8510": { + "fn": "Soulbound.issue", + "offset": [ + 2314, + 2318 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "8512": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2443 + ], + "op": "PUSH2", + "path": "37", + "statement": 109, + "value": "0x214A" + }, + "8515": { + "fn": "Soulbound.issue", + "offset": [ + 2419, + 2422 + ], + "op": "DUP5", + "path": "37" + }, + "8516": { + "fn": "Soulbound.issue", + "offset": [ + 2424, + 2432 + ], + "op": "DUP5", + "path": "37" + }, + "8517": { + "fn": "Soulbound.issue", + "offset": [ + 2434, + 2442 + ], + "op": "DUP5", + "path": "37" + }, + "8518": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2418 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2517" + }, + "8521": { + "fn": "Soulbound.issue", + "jump": "i", + "offset": [ + 2400, + 2443 + ], + "op": "JUMP", + "path": "37" + }, + "8522": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2443 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8523": { + "op": "POP" + }, + "8524": { + "fn": "Soulbound.issue", + "offset": [ + 2490, + 2494 + ], + "op": "PUSH1", + "path": "37", + "statement": 110, + "value": "0x1" + }, + "8526": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "SWAP4", + "path": "37" + }, + "8527": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "SWAP3", + "path": "37" + }, + "8528": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "8529": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "8530": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "8531": { + "fn": "Soulbound.issue", + "jump": "o", + "offset": [ + 2196, + 2501 + ], + "op": "JUMP", + "path": "37" + }, + "8532": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15359, + 15779 + ], + "op": "JUMPDEST", + "path": "39" + }, + "8533": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15417, + 15430 + ], + "op": "PUSH1", + "path": "39", + "value": "0x0" + }, + "8535": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15587, + 15595 + ], + "op": "PUSH5", + "path": "39", + "value": "0x746A528800" + }, + "8541": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15572, + 15584 + ], + "op": "PUSH1", + "path": "39", + "value": "0xD" + }, + "8543": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15572, + 15584 + ], + "op": "SLOAD", + "path": "39" + }, + "8544": { + "branch": 163, + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15572, + 15595 + ], + "op": "LT", + "path": "39" + }, + "8545": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15547, + 15665 + ], + "op": "ISZERO", + "path": "39" + }, + "8546": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15547, + 15665 + ], + "op": "PUSH2", + "path": "39", + "value": "0x216A" + }, + "8549": { + "branch": 163, + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15547, + 15665 + ], + "op": "JUMPI", + "path": "39" + }, + "8550": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15653, + 15654 + ], + "op": "PUSH1", + "path": "39", + "statement": 111, + "value": "0x0" + }, + "8552": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15646, + 15654 + ], + "op": "SWAP2", + "path": "39" + }, + "8553": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15646, + 15654 + ], + "op": "POP", + "path": "39" + }, + "8554": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15547, + 15665 + ], + "op": "JUMPDEST", + "path": "39" + }, + "8555": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15768, + 15772 + ], + "op": "PUSH2", + "path": "39", + "statement": 112, + "value": "0x3E8" + }, + "8558": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15747, + 15759 + ], + "op": "PUSH1", + "path": "39", + "value": "0xD" + }, + "8560": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15747, + 15759 + ], + "op": "SLOAD", + "path": "39" + }, + "8561": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15744 + ], + "op": "DUP4", + "path": "39" + }, + "8562": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15759 + ], + "op": "PUSH2", + "path": "39", + "value": "0x217B" + }, + "8565": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15759 + ], + "op": "SWAP2", + "path": "39" + }, + "8566": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15759 + ], + "op": "SWAP1", + "path": "39" + }, + "8567": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15759 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2D2A" + }, + "8570": { + "fn": "SoulboundRedeemable.calculateTax", + "jump": "i", + "offset": [ + 15740, + 15759 + ], + "op": "JUMP", + "path": "39" + }, + "8571": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15759 + ], + "op": "JUMPDEST", + "path": "39" + }, + "8572": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15764 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2186" + }, + "8575": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15764 + ], + "op": "SWAP1", + "path": "39" + }, + "8576": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15762, + 15764 + ], + "op": "PUSH1", + "path": "39", + "value": "0xA" + }, + "8578": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15764 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2D2A" + }, + "8581": { + "fn": "SoulboundRedeemable.calculateTax", + "jump": "i", + "offset": [ + 15740, + 15764 + ], + "op": "JUMP", + "path": "39" + }, + "8582": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15740, + 15764 + ], + "op": "JUMPDEST", + "path": "39" + }, + "8583": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15739, + 15772 + ], + "op": "PUSH2", + "path": "39", + "value": "0x7A2" + }, + "8586": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15739, + 15772 + ], + "op": "SWAP2", + "path": "39" + }, + "8587": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15739, + 15772 + ], + "op": "SWAP1", + "path": "39" + }, + "8588": { + "fn": "SoulboundRedeemable.calculateTax", + "offset": [ + 15739, + 15772 + ], + "op": "PUSH2", + "path": "39", + "value": "0x2CEC" + }, + "8591": { + "fn": "SoulboundRedeemable.calculateTax", + "jump": "i", + "offset": [ + 15739, + 15772 + ], + "op": "JUMP", + "path": "39" + }, + "8592": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "JUMPDEST", + "path": "41" + }, + "8593": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6480 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "8595": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "PUSH2", + "path": "41", + "value": "0x219B" + }, + "8598": { + "fn": "ERC4973._burn", + "offset": [ + 6491, + 6498 + ], + "op": "DUP3", + "path": "41" + }, + "8599": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6490 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1263" + }, + "8602": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6483, + 6499 + ], + "op": "JUMP", + "path": "41" + }, + "8603": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "JUMPDEST", + "path": "41" + }, + "8604": { + "op": "PUSH1", + "value": "0x1" + }, + "8606": { + "op": "PUSH1", + "value": "0x1" + }, + "8608": { + "op": "PUSH1", + "value": "0xA0" + }, + "8610": { + "op": "SHL" + }, + "8611": { + "op": "SUB" + }, + "8612": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41", + "statement": 113 + }, + "8613": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "AND", + "path": "41" + }, + "8614": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "8616": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "8617": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "8618": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "8619": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6519 + ], + "op": "PUSH1", + "path": "41", + "value": "0x5" + }, + "8621": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "8623": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "8624": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "8626": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "8627": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "KECCAK256", + "path": "41" + }, + "8628": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "DUP1", + "path": "41" + }, + "8629": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SLOAD", + "path": "41" + }, + "8630": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP3", + "path": "41" + }, + "8631": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP4", + "path": "41" + }, + "8632": { + "op": "POP" + }, + "8633": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "8635": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP3", + "path": "41" + }, + "8636": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "8637": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP2", + "path": "41" + }, + "8638": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "8639": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0x21C9" + }, + "8642": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "8643": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "DUP5", + "path": "41" + }, + "8644": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "8645": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2C8E" + }, + "8648": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6510, + 6531 + ], + "op": "JUMP", + "path": "41" + }, + "8649": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "JUMPDEST", + "path": "41" + }, + "8650": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "8651": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP2", + "path": "41" + }, + "8652": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SSTORE", + "path": "41" + }, + "8653": { + "op": "POP" + }, + "8654": { + "op": "POP" + }, + "8655": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "statement": 114, + "value": "0x0" + }, + "8657": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP3", + "path": "41" + }, + "8658": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "8659": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "8660": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6555 + ], + "op": "PUSH1", + "path": "41", + "value": "0x3" + }, + "8662": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "8664": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "8665": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "8666": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "8667": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "8669": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "8670": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP4", + "path": "41" + }, + "8671": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "KECCAK256", + "path": "41" + }, + "8672": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "8673": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SLOAD", + "path": "41" + }, + "8674": { + "op": "PUSH1", + "value": "0x1" + }, + "8676": { + "op": "PUSH1", + "value": "0x1" + }, + "8678": { + "op": "PUSH1", + "value": "0xA0" + }, + "8680": { + "op": "SHL" + }, + "8681": { + "op": "SUB" + }, + "8682": { + "op": "NOT" + }, + "8683": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "AND", + "path": "41" + }, + "8684": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "8685": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SSTORE", + "path": "41" + }, + "8686": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6591 + ], + "op": "PUSH1", + "path": "41", + "statement": 115, + "value": "0x4" + }, + "8688": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP1", + "path": "41" + }, + "8689": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "8690": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "MSTORE", + "path": "41" + }, + "8691": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "DUP2", + "path": "41" + }, + "8692": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "KECCAK256", + "path": "41" + }, + "8693": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0x21FD" + }, + "8696": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "8697": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0x26B4" + }, + "8700": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6574, + 6600 + ], + "op": "JUMP", + "path": "41" + }, + "8701": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "JUMPDEST", + "path": "41" + }, + "8702": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "statement": 116, + "value": "0x40" + }, + "8704": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "MLOAD", + "path": "41" + }, + "8705": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "DUP3", + "path": "41" + }, + "8706": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "SWAP1", + "path": "41" + }, + "8707": { + "op": "PUSH1", + "value": "0x1" + }, + "8709": { + "op": "PUSH1", + "value": "0x1" + }, + "8711": { + "op": "PUSH1", + "value": "0xA0" + }, + "8713": { + "op": "SHL" + }, + "8714": { + "op": "SUB" + }, + "8715": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "DUP4", + "path": "41" + }, + "8716": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "AND", + "path": "41" + }, + "8717": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "8718": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH32", + "path": "41", + "value": "0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B" + }, + "8751": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "8752": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "8754": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "8755": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "LOG3", + "path": "41" + }, + "8756": { + "fn": "ERC4973._burn", + "offset": [ + 6457, + 6645 + ], + "op": "POP", + "path": "41" + }, + "8757": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "POP", + "path": "41" + }, + "8758": { + "fn": "ERC4973._burn", + "jump": "o", + "offset": [ + 6408, + 6645 + ], + "op": "JUMP", + "path": "41" + }, + "8759": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "8760": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "8762": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "8763": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "8764": { + "op": "PUSH1", + "value": "0x1" + }, + "8766": { + "op": "PUSH1", + "value": "0x1" + }, + "8768": { + "op": "PUSH1", + "value": "0xA0" + }, + "8770": { + "op": "SHL" + }, + "8771": { + "op": "SUB" + }, + "8772": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 117 + }, + "8773": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "8774": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "8775": { + "op": "PUSH1", + "value": "0x1" + }, + "8777": { + "op": "PUSH1", + "value": "0x1" + }, + "8779": { + "op": "PUSH1", + "value": "0xA0" + }, + "8781": { + "op": "SHL" + }, + "8782": { + "op": "SUB" + }, + "8783": { + "op": "NOT" + }, + "8784": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "8785": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "8786": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "8787": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "8788": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "8789": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP4", + "path": "0" + }, + "8790": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "8791": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 118, + "value": "0x40" + }, + "8793": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "8794": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "8795": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "8796": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "8797": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "8798": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP3", + "path": "0" + }, + "8799": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "8800": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "8833": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP1", + "path": "0" + }, + "8834": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "8836": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "8837": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "8838": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "8839": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "8840": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "8841": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7029, + 7263 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8842": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7158, + 7166 + ], + "op": "DUP1", + "path": "37", + "statement": 119 + }, + "8843": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7152, + 7174 + ], + "op": "MLOAD", + "path": "37" + }, + "8844": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7178, + 7179 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "8846": { + "branch": 178, + "fn": "Soulbound._setBaseURI", + "offset": [ + 7152, + 7179 + ], + "op": "SUB", + "path": "37" + }, + "8847": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH2", + "path": "37", + "value": "0x22CB" + }, + "8850": { + "branch": 178, + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "JUMPI", + "path": "37" + }, + "8851": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "8853": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "MLOAD", + "path": "37" + }, + "8854": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "8858": { + "op": "PUSH1", + "value": "0xE5" + }, + "8860": { + "op": "SHL" + }, + "8861": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "DUP2", + "path": "37" + }, + "8862": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "MSTORE", + "path": "37" + }, + "8863": { + "op": "PUSH1", + "value": "0x20" + }, + "8865": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "8867": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "DUP3", + "path": "37" + }, + "8868": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "ADD", + "path": "37" + }, + "8869": { + "op": "MSTORE" + }, + "8870": { + "op": "PUSH1", + "value": "0xE" + }, + "8872": { + "op": "PUSH1", + "value": "0x24" + }, + "8874": { + "op": "DUP3" + }, + "8875": { + "op": "ADD" + }, + "8876": { + "op": "MSTORE" + }, + "8877": { + "op": "PUSH14", + "value": "0x92DCECC2D8D2C840D8CADCCEE8D" + }, + "8892": { + "op": "PUSH1", + "value": "0x93" + }, + "8894": { + "op": "SHL" + }, + "8895": { + "op": "PUSH1", + "value": "0x44" + }, + "8897": { + "op": "DUP3" + }, + "8898": { + "op": "ADD" + }, + "8899": { + "op": "MSTORE" + }, + "8900": { + "op": "PUSH1", + "value": "0x64" + }, + "8902": { + "op": "ADD" + }, + "8903": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "8906": { + "op": "JUMP" + }, + "8907": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8908": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7245 + ], + "op": "PUSH1", + "path": "37", + "statement": 120, + "value": "0x7" + }, + "8910": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "PUSH2", + "path": "37", + "value": "0x22D7" + }, + "8913": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7248, + 7256 + ], + "op": "DUP3", + "path": "37" + }, + "8914": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7245 + ], + "op": "DUP3", + "path": "37" + }, + "8915": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2D97" + }, + "8918": { + "fn": "Soulbound._setBaseURI", + "jump": "i", + "offset": [ + 7238, + 7256 + ], + "op": "JUMP", + "path": "37" + }, + "8919": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "JUMPDEST", + "path": "37" + }, + "8920": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "POP", + "path": "37" + }, + "8921": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7029, + 7263 + ], + "op": "POP", + "path": "37" + }, + "8922": { + "fn": "Soulbound._setBaseURI", + "jump": "o", + "offset": [ + 7029, + 7263 + ], + "op": "JUMP", + "path": "37" + }, + "8923": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "JUMPDEST", + "path": "14" + }, + "8924": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "8926": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "8927": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3732, + 3736 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "8929": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3732, + 3736 + ], + "op": "SWAP1", + "path": "14" + }, + "8930": { + "op": "PUSH1", + "value": "0x1" + }, + "8932": { + "op": "PUSH1", + "value": "0x1" + }, + "8934": { + "op": "PUSH1", + "value": "0xA0" + }, + "8936": { + "op": "SHL" + }, + "8937": { + "op": "SUB" + }, + "8938": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "8939": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "8940": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "8941": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2308" + }, + "8944": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "8945": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "8947": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "8948": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "8952": { + "op": "PUSH1", + "value": "0xE5" + }, + "8954": { + "op": "SHL" + }, + "8955": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "8956": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "8957": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "8959": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "8960": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x6B1" + }, + "8963": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "8964": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x2B66" + }, + "8967": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "8968": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "8969": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x6" + }, + "8971": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "8972": { + "op": "PUSH1", + "value": "0x1" + }, + "8974": { + "op": "PUSH1", + "value": "0x1" + }, + "8976": { + "op": "PUSH1", + "value": "0xA0" + }, + "8978": { + "op": "SHL" + }, + "8979": { + "op": "SUB" + }, + "8980": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "8981": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "8982": { + "branch": 164, + "fn": "Allowlist._verifySignature", + "offset": [ + 3897, + 3920 + ], + "op": "EQ", + "path": "14", + "statement": 121 + }, + "8983": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2376" + }, + "8986": { + "branch": 164, + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPI", + "path": "14" + }, + "8987": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "8989": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MLOAD", + "path": "14" + }, + "8990": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "8994": { + "op": "PUSH1", + "value": "0xE5" + }, + "8996": { + "op": "SHL" + }, + "8997": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP2", + "path": "14" + }, + "8998": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MSTORE", + "path": "14" + }, + "8999": { + "op": "PUSH1", + "value": "0x20" + }, + "9001": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "9003": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP3", + "path": "14" + }, + "9004": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "ADD", + "path": "14" + }, + "9005": { + "op": "MSTORE" + }, + "9006": { + "op": "PUSH1", + "value": "0x2B" + }, + "9008": { + "op": "PUSH1", + "value": "0x24" + }, + "9010": { + "op": "DUP3" + }, + "9011": { + "op": "ADD" + }, + "9012": { + "op": "MSTORE" + }, + "9013": { + "op": "PUSH32", + "value": "0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062" + }, + "9046": { + "op": "PUSH1", + "value": "0x44" + }, + "9048": { + "op": "DUP3" + }, + "9049": { + "op": "ADD" + }, + "9050": { + "op": "MSTORE" + }, + "9051": { + "op": "PUSH11", + "value": "0x3C903737B716B7BBB732B9" + }, + "9063": { + "op": "PUSH1", + "value": "0xA9" + }, + "9065": { + "op": "SHL" + }, + "9066": { + "op": "PUSH1", + "value": "0x64" + }, + "9068": { + "op": "DUP3" + }, + "9069": { + "op": "ADD" + }, + "9070": { + "op": "MSTORE" + }, + "9071": { + "op": "PUSH1", + "value": "0x84" + }, + "9073": { + "op": "ADD" + }, + "9074": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x6B1" + }, + "9077": { + "op": "JUMP" + }, + "9078": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPDEST", + "path": "14" + }, + "9079": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4070 + ], + "op": "DUP2", + "path": "14", + "statement": 122 + }, + "9080": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4077 + ], + "op": "MLOAD", + "path": "14" + }, + "9081": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4081, + 4083 + ], + "op": "PUSH1", + "path": "14", + "value": "0x41" + }, + "9083": { + "branch": 165, + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4083 + ], + "op": "EQ", + "path": "14" + }, + "9084": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x23C7" + }, + "9087": { + "branch": 165, + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPI", + "path": "14" + }, + "9088": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "9090": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MLOAD", + "path": "14" + }, + "9091": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "9095": { + "op": "PUSH1", + "value": "0xE5" + }, + "9097": { + "op": "SHL" + }, + "9098": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP2", + "path": "14" + }, + "9099": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MSTORE", + "path": "14" + }, + "9100": { + "op": "PUSH1", + "value": "0x20" + }, + "9102": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "9104": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP3", + "path": "14" + }, + "9105": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "ADD", + "path": "14" + }, + "9106": { + "op": "MSTORE" + }, + "9107": { + "op": "PUSH1", + "value": "0x1E" + }, + "9109": { + "op": "PUSH1", + "value": "0x24" + }, + "9111": { + "op": "DUP3" + }, + "9112": { + "op": "ADD" + }, + "9113": { + "op": "MSTORE" + }, + "9114": { + "op": "PUSH32", + "value": "0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000" + }, + "9147": { + "op": "PUSH1", + "value": "0x44" + }, + "9149": { + "op": "DUP3" + }, + "9150": { + "op": "ADD" + }, + "9151": { + "op": "MSTORE" + }, + "9152": { + "op": "PUSH1", + "value": "0x64" + }, + "9154": { + "op": "ADD" + }, + "9155": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x6B1" + }, + "9158": { + "op": "JUMP" + }, + "9159": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPDEST", + "path": "14" + }, + "9160": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "9162": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP3", + "path": "14" + }, + "9163": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "9164": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "9165": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "9166": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "9168": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "9169": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP6", + "path": "14" + }, + "9170": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "9171": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "9172": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "9174": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "9175": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP8", + "path": "14" + }, + "9176": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "9177": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "9178": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP4", + "path": "14" + }, + "9179": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "9180": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4197, + 4206 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "9182": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "9183": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP3", + "path": "14" + }, + "9184": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "9185": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP7", + "path": "14" + }, + "9186": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "9187": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "9188": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "9189": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP7", + "path": "14" + }, + "9190": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "9191": { + "op": "DUP11" + }, + "9192": { + "op": "SWAP1" + }, + "9193": { + "op": "MSTORE" + }, + "9194": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP1", + "path": "14" + }, + "9195": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP7", + "path": "14" + }, + "9196": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "9197": { + "op": "SWAP4" + }, + "9198": { + "op": "DUP2" + }, + "9199": { + "op": "ADD" + }, + "9200": { + "op": "DUP5" + }, + "9201": { + "op": "SWAP1" + }, + "9202": { + "op": "MSTORE" + }, + "9203": { + "op": "SWAP1" + }, + "9204": { + "op": "DUP2" + }, + "9205": { + "op": "ADD" + }, + "9206": { + "op": "DUP5" + }, + "9207": { + "op": "SWAP1" + }, + "9208": { + "op": "MSTORE" + }, + "9209": { + "op": "PUSH1", + "value": "0x80" + }, + "9211": { + "op": "DUP2" + }, + "9212": { + "op": "ADD" + }, + "9213": { + "op": "DUP3" + }, + "9214": { + "op": "SWAP1" + }, + "9215": { + "op": "MSTORE" + }, + "9216": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP3", + "path": "14" + }, + "9217": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP4", + "path": "14" + }, + "9218": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP1", + "path": "14" + }, + "9219": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "9220": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "9222": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "9223": { + "op": "PUSH1", + "value": "0xA0" + }, + "9225": { + "op": "ADD" + }, + "9226": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "9228": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "9230": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "9231": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "9233": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "9234": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "9235": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "9236": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "9237": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP5", + "path": "14" + }, + "9238": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "9239": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "9240": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP6", + "path": "14" + }, + "9241": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "GAS", + "path": "14" + }, + "9242": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "STATICCALL", + "path": "14" + }, + "9243": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "9244": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "9245": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "9246": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH2", + "path": "14", + "value": "0x242B" + }, + "9249": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPI", + "path": "14" + }, + "9250": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "9251": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "9253": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "9254": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "9255": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "9256": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "9258": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "REVERT", + "path": "14" + }, + "9259": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPDEST", + "path": "14" + }, + "9260": { + "op": "POP" + }, + "9261": { + "op": "POP" + }, + "9262": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "9264": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "9265": { + "op": "PUSH1", + "value": "0x1F" + }, + "9267": { + "op": "NOT" + }, + "9268": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "9269": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "9270": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "9271": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "PUSH1", + "path": "14", + "value": "0x9" + }, + "9273": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SLOAD", + "path": "14" + }, + "9274": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "9275": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP4", + "path": "14" + }, + "9276": { + "op": "POP" + }, + "9277": { + "op": "PUSH1", + "value": "0x1" + }, + "9279": { + "op": "PUSH1", + "value": "0x1" + }, + "9281": { + "op": "PUSH1", + "value": "0xA0" + }, + "9283": { + "op": "SHL" + }, + "9284": { + "op": "SUB" + }, + "9285": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP1", + "path": "14" + }, + "9286": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP6", + "path": "14" + }, + "9287": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "AND", + "path": "14" + }, + "9288": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "9289": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "AND", + "path": "14" + }, + "9290": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "EQ", + "path": "14" + }, + "9291": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "9292": { + "op": "POP" + }, + "9293": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP2", + "path": "14" + }, + "9294": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP1", + "path": "14" + }, + "9295": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "DUP10", + "path": "14", + "statement": 123 + }, + "9296": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "SWAP1", + "path": "14" + }, + "9297": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "PUSH32", + "path": "14", + "value": "0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36" + }, + "9330": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "SWAP1", + "path": "14" + }, + "9331": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "9333": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "SWAP1", + "path": "14" + }, + "9334": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "LOG3", + "path": "14" + }, + "9335": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4648, + 4670 + ], + "op": "SWAP8", + "path": "14", + "statement": 124 + }, + "9336": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "SWAP7", + "path": "14" + }, + "9337": { + "op": "POP" + }, + "9338": { + "op": "POP" + }, + "9339": { + "op": "POP" + }, + "9340": { + "op": "POP" + }, + "9341": { + "op": "POP" + }, + "9342": { + "op": "POP" + }, + "9343": { + "op": "POP" + }, + "9344": { + "fn": "Allowlist._verifySignature", + "jump": "o", + "offset": [ + 3622, + 4677 + ], + "op": "JUMP", + "path": "14" + }, + "9345": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6437, + 6858 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9346": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6580 + ], + "op": "PUSH2", + "path": "37", + "statement": 125, + "value": "0x248A" + }, + "9349": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6572, + 6579 + ], + "op": "DUP2", + "path": "37" + }, + "9350": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6571 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1F4F" + }, + "9353": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6564, + 6580 + ], + "op": "JUMP", + "path": "37" + }, + "9354": { + "branch": 179, + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6580 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9355": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH2", + "path": "37", + "value": "0x24D6" + }, + "9358": { + "branch": 179, + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "JUMPI", + "path": "37" + }, + "9359": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "9361": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "MLOAD", + "path": "37" + }, + "9362": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "9366": { + "op": "PUSH1", + "value": "0xE5" + }, + "9368": { + "op": "SHL" + }, + "9369": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "DUP2", + "path": "37" + }, + "9370": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "MSTORE", + "path": "37" + }, + "9371": { + "op": "PUSH1", + "value": "0x20" + }, + "9373": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "9375": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "DUP3", + "path": "37" + }, + "9376": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "ADD", + "path": "37" + }, + "9377": { + "op": "MSTORE" + }, + "9378": { + "op": "PUSH1", + "value": "0x18" + }, + "9380": { + "op": "PUSH1", + "value": "0x24" + }, + "9382": { + "op": "DUP3" + }, + "9383": { + "op": "ADD" + }, + "9384": { + "op": "MSTORE" + }, + "9385": { + "op": "PUSH32", + "value": "0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000" + }, + "9418": { + "op": "PUSH1", + "value": "0x44" + }, + "9420": { + "op": "DUP3" + }, + "9421": { + "op": "ADD" + }, + "9422": { + "op": "MSTORE" + }, + "9423": { + "op": "PUSH1", + "value": "0x64" + }, + "9425": { + "op": "ADD" + }, + "9426": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "9429": { + "op": "JUMP" + }, + "9430": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9431": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6683 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "9433": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6702 + ], + "op": "PUSH2", + "path": "37", + "value": "0x24E1" + }, + "9436": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6694, + 6701 + ], + "op": "DUP3", + "path": "37" + }, + "9437": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6693 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1263" + }, + "9440": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6686, + 6702 + ], + "op": "JUMP", + "path": "37" + }, + "9441": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6702 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9442": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6702 + ], + "op": "SWAP1", + "path": "37" + }, + "9443": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6702 + ], + "op": "POP", + "path": "37" + }, + "9444": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6759 + ], + "op": "PUSH2", + "path": "37", + "statement": 126, + "value": "0x24EC" + }, + "9447": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6751, + 6758 + ], + "op": "DUP3", + "path": "37" + }, + "9448": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6750 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2190" + }, + "9451": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6745, + 6759 + ], + "op": "JUMP", + "path": "37" + }, + "9452": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6759 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9453": { + "op": "PUSH1", + "value": "0x1" + }, + "9455": { + "op": "PUSH1", + "value": "0x1" + }, + "9457": { + "op": "PUSH1", + "value": "0xA0" + }, + "9459": { + "op": "SHL" + }, + "9460": { + "op": "SUB" + }, + "9461": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "AND", + "path": "37", + "statement": 127 + }, + "9462": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6846, + 6851 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "9464": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "SWAP1", + "path": "37" + }, + "9465": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP2", + "path": "37" + }, + "9466": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "MSTORE", + "path": "37" + }, + "9467": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6821 + ], + "op": "PUSH1", + "path": "37", + "value": "0x8" + }, + "9469": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "9471": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "SWAP1", + "path": "37" + }, + "9472": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP2", + "path": "37" + }, + "9473": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "MSTORE", + "path": "37" + }, + "9474": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "9476": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP1", + "path": "37" + }, + "9477": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP4", + "path": "37" + }, + "9478": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "KECCAK256", + "path": "37" + }, + "9479": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP4", + "path": "37" + }, + "9480": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "DUP4", + "path": "37" + }, + "9481": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "MSTORE", + "path": "37" + }, + "9482": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP3", + "path": "37" + }, + "9483": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP1", + "path": "37" + }, + "9484": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "MSTORE", + "path": "37" + }, + "9485": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "KECCAK256", + "path": "37" + }, + "9486": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "DUP1", + "path": "37" + }, + "9487": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SLOAD", + "path": "37" + }, + "9488": { + "op": "PUSH1", + "value": "0xFF" + }, + "9490": { + "op": "NOT" + }, + "9491": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "AND", + "path": "37" + }, + "9492": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SWAP1", + "path": "37" + }, + "9493": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SSTORE", + "path": "37" + }, + "9494": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "o", + "offset": [ + 6437, + 6858 + ], + "op": "JUMP", + "path": "37" + }, + "9495": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5609, + 6276 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9496": { + "op": "PUSH1", + "value": "0x1" + }, + "9498": { + "op": "PUSH1", + "value": "0x1" + }, + "9500": { + "op": "PUSH1", + "value": "0xA0" + }, + "9502": { + "op": "SHL" + }, + "9503": { + "op": "SUB" + }, + "9504": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5816, + 5832 + ], + "op": "DUP4", + "path": "37", + "statement": 128 + }, + "9505": { + "branch": 180, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5816, + 5832 + ], + "op": "AND", + "path": "37" + }, + "9506": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH2", + "path": "37", + "value": "0x253D" + }, + "9509": { + "branch": 180, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "JUMPI", + "path": "37" + }, + "9510": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "9512": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "MLOAD", + "path": "37" + }, + "9513": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "9517": { + "op": "PUSH1", + "value": "0xE5" + }, + "9519": { + "op": "SHL" + }, + "9520": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "DUP2", + "path": "37" + }, + "9521": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "MSTORE", + "path": "37" + }, + "9522": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "9524": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "ADD", + "path": "37" + }, + "9525": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "9528": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "SWAP1", + "path": "37" + }, + "9529": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2C5F" + }, + "9532": { + "fn": "Soulbound.mintSoulboundToken", + "jump": "i", + "offset": [ + 5808, + 5858 + ], + "op": "JUMP", + "path": "37" + }, + "9533": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9534": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6004, + 6012 + ], + "op": "DUP1", + "path": "37", + "statement": 129 + }, + "9535": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5998, + 6020 + ], + "op": "MLOAD", + "path": "37" + }, + "9536": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6024, + 6025 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "9538": { + "branch": 181, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5998, + 6025 + ], + "op": "SUB", + "path": "37" + }, + "9539": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH2", + "path": "37", + "value": "0x2580" + }, + "9542": { + "branch": 181, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "JUMPI", + "path": "37" + }, + "9543": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "9545": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "MLOAD", + "path": "37" + }, + "9546": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "9550": { + "op": "PUSH1", + "value": "0xE5" + }, + "9552": { + "op": "SHL" + }, + "9553": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "DUP2", + "path": "37" + }, + "9554": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "MSTORE", + "path": "37" + }, + "9555": { + "op": "PUSH1", + "value": "0x20" + }, + "9557": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "9559": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "DUP3", + "path": "37" + }, + "9560": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "ADD", + "path": "37" + }, + "9561": { + "op": "MSTORE" + }, + "9562": { + "op": "PUSH1", + "value": "0xF" + }, + "9564": { + "op": "PUSH1", + "value": "0x24" + }, + "9566": { + "op": "DUP3" + }, + "9567": { + "op": "ADD" + }, + "9568": { + "op": "MSTORE" + }, + "9569": { + "op": "PUSH15", + "value": "0x22B6B83A3C903A37B5B2B72AA92497" + }, + "9585": { + "op": "PUSH1", + "value": "0x89" + }, + "9587": { + "op": "SHL" + }, + "9588": { + "op": "PUSH1", + "value": "0x44" + }, + "9590": { + "op": "DUP3" + }, + "9591": { + "op": "ADD" + }, + "9592": { + "op": "MSTORE" + }, + "9593": { + "op": "PUSH1", + "value": "0x64" + }, + "9595": { + "op": "ADD" + }, + "9596": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6B1" + }, + "9599": { + "op": "JUMP" + }, + "9600": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9601": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6188 + ], + "op": "PUSH2", + "path": "37", + "statement": 130, + "value": "0x258B" + }, + "9604": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6166, + 6168 + ], + "op": "DUP4", + "path": "37" + }, + "9605": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6170, + 6177 + ], + "op": "DUP4", + "path": "37" + }, + "9606": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6179, + 6187 + ], + "op": "DUP4", + "path": "37" + }, + "9607": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6165 + ], + "op": "PUSH2", + "path": "37", + "value": "0x25BD" + }, + "9610": { + "fn": "Soulbound.mintSoulboundToken", + "jump": "i", + "offset": [ + 6160, + 6188 + ], + "op": "JUMP", + "path": "37" + }, + "9611": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6188 + ], + "op": "JUMPDEST", + "path": "37" + }, + "9612": { + "op": "POP" + }, + "9613": { + "op": "POP" + }, + "9614": { + "op": "PUSH1", + "value": "0x1" + }, + "9616": { + "op": "PUSH1", + "value": "0x1" + }, + "9618": { + "op": "PUSH1", + "value": "0xA0" + }, + "9620": { + "op": "SHL" + }, + "9621": { + "op": "SUB" + }, + "9622": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37", + "statement": 131 + }, + "9623": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP2", + "path": "37" + }, + "9624": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "AND", + "path": "37" + }, + "9625": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "9627": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37" + }, + "9628": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP2", + "path": "37" + }, + "9629": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "MSTORE", + "path": "37" + }, + "9630": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6249 + ], + "op": "PUSH1", + "path": "37", + "value": "0x8" + }, + "9632": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "9634": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37" + }, + "9635": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP2", + "path": "37" + }, + "9636": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "MSTORE", + "path": "37" + }, + "9637": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "9639": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP1", + "path": "37" + }, + "9640": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP4", + "path": "37" + }, + "9641": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "KECCAK256", + "path": "37" + }, + "9642": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP4", + "path": "37" + }, + "9643": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "DUP4", + "path": "37" + }, + "9644": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "MSTORE", + "path": "37" + }, + "9645": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP3", + "path": "37" + }, + "9646": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP1", + "path": "37" + }, + "9647": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "MSTORE", + "path": "37" + }, + "9648": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "KECCAK256", + "path": "37" + }, + "9649": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "DUP1", + "path": "37" + }, + "9650": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SLOAD", + "path": "37" + }, + "9651": { + "op": "PUSH1", + "value": "0xFF" + }, + "9653": { + "op": "NOT" + }, + "9654": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "AND", + "path": "37" + }, + "9655": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6265, + 6269 + ], + "op": "PUSH1", + "path": "37", + "value": "0x1" + }, + "9657": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "OR", + "path": "37" + }, + "9658": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SWAP1", + "path": "37" + }, + "9659": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SSTORE", + "path": "37" + }, + "9660": { + "fn": "Soulbound.mintSoulboundToken", + "jump": "o", + "offset": [ + 5609, + 6276 + ], + "op": "JUMP", + "path": "37" + }, + "9661": { + "fn": "ERC4973._mint", + "offset": [ + 6055, + 6402 + ], + "op": "JUMPDEST", + "path": "41" + }, + "9662": { + "fn": "ERC4973._mint", + "offset": [ + 6174, + 6181 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "9664": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6218 + ], + "op": "PUSH2", + "path": "41", + "statement": 132, + "value": "0x25C8" + }, + "9667": { + "fn": "ERC4973._mint", + "offset": [ + 6210, + 6217 + ], + "op": "DUP4", + "path": "41" + }, + "9668": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6209 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1F4F" + }, + "9671": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6202, + 6218 + ], + "op": "JUMP", + "path": "41" + }, + "9672": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6218 + ], + "op": "JUMPDEST", + "path": "41" + }, + "9673": { + "branch": 169, + "fn": "ERC4973._mint", + "offset": [ + 6201, + 6218 + ], + "op": "ISZERO", + "path": "41" + }, + "9674": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH2", + "path": "41", + "value": "0x260C" + }, + "9677": { + "branch": 169, + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "JUMPI", + "path": "41" + }, + "9678": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "9680": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "MLOAD", + "path": "41" + }, + "9681": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "9685": { + "op": "PUSH1", + "value": "0xE5" + }, + "9687": { + "op": "SHL" + }, + "9688": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "DUP2", + "path": "41" + }, + "9689": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "MSTORE", + "path": "41" + }, + "9690": { + "op": "PUSH1", + "value": "0x20" + }, + "9692": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "9694": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "DUP3", + "path": "41" + }, + "9695": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "ADD", + "path": "41" + }, + "9696": { + "op": "MSTORE" + }, + "9697": { + "op": "PUSH1", + "value": "0x14" + }, + "9699": { + "op": "PUSH1", + "value": "0x24" + }, + "9701": { + "op": "DUP3" + }, + "9702": { + "op": "ADD" + }, + "9703": { + "op": "MSTORE" + }, + "9704": { + "op": "PUSH20", + "value": "0x6D696E743A20746F6B656E494420657869737473" + }, + "9725": { + "op": "PUSH1", + "value": "0x60" + }, + "9727": { + "op": "SHL" + }, + "9728": { + "op": "PUSH1", + "value": "0x44" + }, + "9730": { + "op": "DUP3" + }, + "9731": { + "op": "ADD" + }, + "9732": { + "op": "MSTORE" + }, + "9733": { + "op": "PUSH1", + "value": "0x64" + }, + "9735": { + "op": "ADD" + }, + "9736": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6B1" + }, + "9739": { + "op": "JUMP" + }, + "9740": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "JUMPDEST", + "path": "41" + }, + "9741": { + "op": "PUSH1", + "value": "0x1" + }, + "9743": { + "op": "PUSH1", + "value": "0x1" + }, + "9745": { + "op": "PUSH1", + "value": "0xA0" + }, + "9747": { + "op": "SHL" + }, + "9748": { + "op": "SUB" + }, + "9749": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP5", + "path": "41", + "statement": 133 + }, + "9750": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "AND", + "path": "41" + }, + "9751": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "9753": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "SWAP1", + "path": "41" + }, + "9754": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP2", + "path": "41" + }, + "9755": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "MSTORE", + "path": "41" + }, + "9756": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6262 + ], + "op": "PUSH1", + "path": "41", + "value": "0x5" + }, + "9758": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "9760": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "MSTORE", + "path": "41" + }, + "9761": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "9763": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP2", + "path": "41" + }, + "9764": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "KECCAK256", + "path": "41" + }, + "9765": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "DUP1", + "path": "41" + }, + "9766": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SLOAD", + "path": "41" + }, + "9767": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "9769": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "SWAP3", + "path": "41" + }, + "9770": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "SWAP1", + "path": "41" + }, + "9771": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2635" + }, + "9774": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "9775": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "DUP5", + "path": "41" + }, + "9776": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "9777": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2CBE" + }, + "9780": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6253, + 6271 + ], + "op": "JUMP", + "path": "41" + }, + "9781": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "JUMPDEST", + "path": "41" + }, + "9782": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "9783": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP2", + "path": "41" + }, + "9784": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SSTORE", + "path": "41" + }, + "9785": { + "op": "POP" + }, + "9786": { + "op": "POP" + }, + "9787": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "statement": 134, + "value": "0x0" + }, + "9789": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP4", + "path": "41" + }, + "9790": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP2", + "path": "41" + }, + "9791": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "MSTORE", + "path": "41" + }, + "9792": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6288 + ], + "op": "PUSH1", + "path": "41", + "value": "0x3" + }, + "9794": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "9796": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "SWAP1", + "path": "41" + }, + "9797": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP2", + "path": "41" + }, + "9798": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "MSTORE", + "path": "41" + }, + "9799": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "9801": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP1", + "path": "41" + }, + "9802": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP4", + "path": "41" + }, + "9803": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "KECCAK256", + "path": "41" + }, + "9804": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "DUP1", + "path": "41" + }, + "9805": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SLOAD", + "path": "41" + }, + "9806": { + "op": "PUSH1", + "value": "0x1" + }, + "9808": { + "op": "PUSH1", + "value": "0x1" + }, + "9810": { + "op": "PUSH1", + "value": "0xA0" + }, + "9812": { + "op": "SHL" + }, + "9813": { + "op": "SUB" + }, + "9814": { + "op": "NOT" + }, + "9815": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "AND", + "path": "41" + }, + "9816": { + "op": "PUSH1", + "value": "0x1" + }, + "9818": { + "op": "PUSH1", + "value": "0x1" + }, + "9820": { + "op": "PUSH1", + "value": "0xA0" + }, + "9822": { + "op": "SHL" + }, + "9823": { + "op": "SUB" + }, + "9824": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "DUP10", + "path": "41" + }, + "9825": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "AND", + "path": "41" + }, + "9826": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "OR", + "path": "41" + }, + "9827": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SWAP1", + "path": "41" + }, + "9828": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SSTORE", + "path": "41" + }, + "9829": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6322 + ], + "op": "PUSH1", + "path": "41", + "statement": 135, + "value": "0x4" + }, + "9831": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP1", + "path": "41" + }, + "9832": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP2", + "path": "41" + }, + "9833": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "MSTORE", + "path": "41" + }, + "9834": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP1", + "path": "41" + }, + "9835": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "KECCAK256", + "path": "41" + }, + "9836": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2675" + }, + "9839": { + "fn": "ERC4973._mint", + "offset": [ + 6334, + 6337 + ], + "op": "DUP4", + "path": "41" + }, + "9840": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "DUP3", + "path": "41" + }, + "9841": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2D97" + }, + "9844": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6312, + 6337 + ], + "op": "JUMP", + "path": "41" + }, + "9845": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "JUMPDEST", + "path": "41" + }, + "9846": { + "op": "POP" + }, + "9847": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH1", + "path": "41", + "statement": 136, + "value": "0x40" + }, + "9849": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "MLOAD", + "path": "41" + }, + "9850": { + "fn": "ERC4973._mint", + "offset": [ + 6363, + 6370 + ], + "op": "DUP4", + "path": "41" + }, + "9851": { + "fn": "ERC4973._mint", + "offset": [ + 6363, + 6370 + ], + "op": "SWAP1", + "path": "41" + }, + "9852": { + "op": "PUSH1", + "value": "0x1" + }, + "9854": { + "op": "PUSH1", + "value": "0x1" + }, + "9856": { + "op": "PUSH1", + "value": "0xA0" + }, + "9858": { + "op": "SHL" + }, + "9859": { + "op": "SUB" + }, + "9860": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "DUP7", + "path": "41" + }, + "9861": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "AND", + "path": "41" + }, + "9862": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "9863": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH32", + "path": "41", + "value": "0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27" + }, + "9896": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "9897": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "9899": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "9900": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "LOG3", + "path": "41" + }, + "9901": { + "op": "POP" + }, + "9902": { + "fn": "ERC4973._mint", + "offset": [ + 6388, + 6395 + ], + "op": "SWAP1", + "path": "41", + "statement": 137 + }, + "9903": { + "fn": "ERC4973._mint", + "offset": [ + 6388, + 6395 + ], + "op": "SWAP3", + "path": "41" + }, + "9904": { + "fn": "ERC4973._mint", + "offset": [ + 6055, + 6402 + ], + "op": "SWAP2", + "path": "41" + }, + "9905": { + "op": "POP" + }, + "9906": { + "op": "POP" + }, + "9907": { + "fn": "ERC4973._mint", + "jump": "o", + "offset": [ + 6055, + 6402 + ], + "op": "JUMP", + "path": "41" + }, + "9908": { + "op": "JUMPDEST" + }, + "9909": { + "op": "POP" + }, + "9910": { + "op": "DUP1" + }, + "9911": { + "op": "SLOAD" + }, + "9912": { + "op": "PUSH2", + "value": "0x26C0" + }, + "9915": { + "op": "SWAP1" + }, + "9916": { + "op": "PUSH2", + "value": "0x2BC9" + }, + "9919": { + "jump": "i", + "op": "JUMP" + }, + "9920": { + "op": "JUMPDEST" + }, + "9921": { + "op": "PUSH1", + "value": "0x0" + }, + "9923": { + "op": "DUP3" + }, + "9924": { + "op": "SSTORE" + }, + "9925": { + "op": "DUP1" + }, + "9926": { + "op": "PUSH1", + "value": "0x1F" + }, + "9928": { + "op": "LT" + }, + "9929": { + "op": "PUSH2", + "value": "0x26D0" + }, + "9932": { + "op": "JUMPI" + }, + "9933": { + "op": "POP" + }, + "9934": { + "op": "POP" + }, + "9935": { + "jump": "o", + "op": "JUMP" + }, + "9936": { + "op": "JUMPDEST" + }, + "9937": { + "op": "PUSH1", + "value": "0x1F" + }, + "9939": { + "op": "ADD" + }, + "9940": { + "op": "PUSH1", + "value": "0x20" + }, + "9942": { + "op": "SWAP1" + }, + "9943": { + "op": "DIV" + }, + "9944": { + "op": "SWAP1" + }, + "9945": { + "op": "PUSH1", + "value": "0x0" + }, + "9947": { + "op": "MSTORE" + }, + "9948": { + "op": "PUSH1", + "value": "0x20" + }, + "9950": { + "op": "PUSH1", + "value": "0x0" + }, + "9952": { + "op": "KECCAK256" + }, + "9953": { + "op": "SWAP1" + }, + "9954": { + "op": "DUP2" + }, + "9955": { + "op": "ADD" + }, + "9956": { + "op": "SWAP1" + }, + "9957": { + "op": "PUSH2", + "value": "0x110A" + }, + "9960": { + "op": "SWAP2" + }, + "9961": { + "op": "SWAP1" + }, + "9962": { + "op": "JUMPDEST" + }, + "9963": { + "op": "DUP1" + }, + "9964": { + "op": "DUP3" + }, + "9965": { + "op": "GT" + }, + "9966": { + "op": "ISZERO" + }, + "9967": { + "op": "PUSH2", + "value": "0x26FE" + }, + "9970": { + "op": "JUMPI" + }, + "9971": { + "op": "PUSH1", + "value": "0x0" + }, + "9973": { + "op": "DUP2" + }, + "9974": { + "op": "SSTORE" + }, + "9975": { + "op": "PUSH1", + "value": "0x1" + }, + "9977": { + "op": "ADD" + }, + "9978": { + "op": "PUSH2", + "value": "0x26EA" + }, + "9981": { + "op": "JUMP" + }, + "9982": { + "op": "JUMPDEST" + }, + "9983": { + "op": "POP" + }, + "9984": { + "op": "SWAP1" + }, + "9985": { + "jump": "o", + "op": "JUMP" + }, + "9986": { + "op": "JUMPDEST" + }, + "9987": { + "op": "DUP1" + }, + "9988": { + "op": "CALLDATALOAD" + }, + "9989": { + "op": "PUSH1", + "value": "0x1" + }, + "9991": { + "op": "PUSH1", + "value": "0x1" + }, + "9993": { + "op": "PUSH1", + "value": "0xA0" + }, + "9995": { + "op": "SHL" + }, + "9996": { + "op": "SUB" + }, + "9997": { + "op": "DUP2" + }, + "9998": { + "op": "AND" + }, + "9999": { + "op": "DUP2" + }, + "10000": { + "op": "EQ" + }, + "10001": { + "op": "PUSH2", + "value": "0x1ADF" + }, + "10004": { + "op": "JUMPI" + }, + "10005": { + "op": "PUSH1", + "value": "0x0" + }, + "10007": { + "op": "DUP1" + }, + "10008": { + "op": "REVERT" + }, + "10009": { + "op": "JUMPDEST" + }, + "10010": { + "op": "PUSH1", + "value": "0x0" + }, + "10012": { + "op": "DUP1" + }, + "10013": { + "op": "PUSH1", + "value": "0x40" + }, + "10015": { + "op": "DUP4" + }, + "10016": { + "op": "DUP6" + }, + "10017": { + "op": "SUB" + }, + "10018": { + "op": "SLT" + }, + "10019": { + "op": "ISZERO" + }, + "10020": { + "op": "PUSH2", + "value": "0x272C" + }, + "10023": { + "op": "JUMPI" + }, + "10024": { + "op": "PUSH1", + "value": "0x0" + }, + "10026": { + "op": "DUP1" + }, + "10027": { + "op": "REVERT" + }, + "10028": { + "op": "JUMPDEST" + }, + "10029": { + "op": "PUSH2", + "value": "0x2735" + }, + "10032": { + "op": "DUP4" + }, + "10033": { + "op": "PUSH2", + "value": "0x2702" + }, + "10036": { + "jump": "i", + "op": "JUMP" + }, + "10037": { + "op": "JUMPDEST" + }, + "10038": { + "op": "SWAP5" + }, + "10039": { + "op": "PUSH1", + "value": "0x20" + }, + "10041": { + "op": "SWAP4" + }, + "10042": { + "op": "SWAP1" + }, + "10043": { + "op": "SWAP4" + }, + "10044": { + "op": "ADD" + }, + "10045": { + "op": "CALLDATALOAD" + }, + "10046": { + "op": "SWAP4" + }, + "10047": { + "op": "POP" + }, + "10048": { + "op": "POP" + }, + "10049": { + "op": "POP" + }, + "10050": { + "jump": "o", + "op": "JUMP" + }, + "10051": { + "op": "JUMPDEST" + }, + "10052": { + "op": "PUSH1", + "value": "0x0" + }, + "10054": { + "op": "PUSH1", + "value": "0x20" + }, + "10056": { + "op": "DUP3" + }, + "10057": { + "op": "DUP5" + }, + "10058": { + "op": "SUB" + }, + "10059": { + "op": "SLT" + }, + "10060": { + "op": "ISZERO" + }, + "10061": { + "op": "PUSH2", + "value": "0x2755" + }, + "10064": { + "op": "JUMPI" + }, + "10065": { + "op": "PUSH1", + "value": "0x0" + }, + "10067": { + "op": "DUP1" + }, + "10068": { + "op": "REVERT" + }, + "10069": { + "op": "JUMPDEST" + }, + "10070": { + "op": "DUP2" + }, + "10071": { + "op": "CALLDATALOAD" + }, + "10072": { + "op": "PUSH1", + "value": "0x1" + }, + "10074": { + "op": "PUSH1", + "value": "0x1" + }, + "10076": { + "op": "PUSH1", + "value": "0xE0" + }, + "10078": { + "op": "SHL" + }, + "10079": { + "op": "SUB" + }, + "10080": { + "op": "NOT" + }, + "10081": { + "op": "DUP2" + }, + "10082": { + "op": "AND" + }, + "10083": { + "op": "DUP2" + }, + "10084": { + "op": "EQ" + }, + "10085": { + "op": "PUSH2", + "value": "0x1AA0" + }, + "10088": { + "op": "JUMPI" + }, + "10089": { + "op": "PUSH1", + "value": "0x0" + }, + "10091": { + "op": "DUP1" + }, + "10092": { + "op": "REVERT" + }, + "10093": { + "op": "JUMPDEST" + }, + "10094": { + "op": "PUSH1", + "value": "0x0" + }, + "10096": { + "op": "JUMPDEST" + }, + "10097": { + "op": "DUP4" + }, + "10098": { + "op": "DUP2" + }, + "10099": { + "op": "LT" + }, + "10100": { + "op": "ISZERO" + }, + "10101": { + "op": "PUSH2", + "value": "0x2788" + }, + "10104": { + "op": "JUMPI" + }, + "10105": { + "op": "DUP2" + }, + "10106": { + "op": "DUP2" + }, + "10107": { + "op": "ADD" + }, + "10108": { + "op": "MLOAD" + }, + "10109": { + "op": "DUP4" + }, + "10110": { + "op": "DUP3" + }, + "10111": { + "op": "ADD" + }, + "10112": { + "op": "MSTORE" + }, + "10113": { + "op": "PUSH1", + "value": "0x20" + }, + "10115": { + "op": "ADD" + }, + "10116": { + "op": "PUSH2", + "value": "0x2770" + }, + "10119": { + "op": "JUMP" + }, + "10120": { + "op": "JUMPDEST" + }, + "10121": { + "op": "DUP4" + }, + "10122": { + "op": "DUP2" + }, + "10123": { + "op": "GT" + }, + "10124": { + "op": "ISZERO" + }, + "10125": { + "op": "PUSH2", + "value": "0x2797" + }, + "10128": { + "op": "JUMPI" + }, + "10129": { + "op": "PUSH1", + "value": "0x0" + }, + "10131": { + "op": "DUP5" + }, + "10132": { + "op": "DUP5" + }, + "10133": { + "op": "ADD" + }, + "10134": { + "op": "MSTORE" + }, + "10135": { + "op": "JUMPDEST" + }, + "10136": { + "op": "POP" + }, + "10137": { + "op": "POP" + }, + "10138": { + "op": "POP" + }, + "10139": { + "op": "POP" + }, + "10140": { + "jump": "o", + "op": "JUMP" + }, + "10141": { + "op": "JUMPDEST" + }, + "10142": { + "op": "PUSH1", + "value": "0x20" + }, + "10144": { + "op": "DUP2" + }, + "10145": { + "op": "MSTORE" + }, + "10146": { + "op": "PUSH1", + "value": "0x0" + }, + "10148": { + "op": "DUP3" + }, + "10149": { + "op": "MLOAD" + }, + "10150": { + "op": "DUP1" + }, + "10151": { + "op": "PUSH1", + "value": "0x20" + }, + "10153": { + "op": "DUP5" + }, + "10154": { + "op": "ADD" + }, + "10155": { + "op": "MSTORE" + }, + "10156": { + "op": "PUSH2", + "value": "0x27BC" + }, + "10159": { + "op": "DUP2" + }, + "10160": { + "op": "PUSH1", + "value": "0x40" + }, + "10162": { + "op": "DUP6" + }, + "10163": { + "op": "ADD" + }, + "10164": { + "op": "PUSH1", + "value": "0x20" + }, + "10166": { + "op": "DUP8" + }, + "10167": { + "op": "ADD" + }, + "10168": { + "op": "PUSH2", + "value": "0x276D" + }, + "10171": { + "jump": "i", + "op": "JUMP" + }, + "10172": { + "op": "JUMPDEST" + }, + "10173": { + "op": "PUSH1", + "value": "0x1F" + }, + "10175": { + "op": "ADD" + }, + "10176": { + "op": "PUSH1", + "value": "0x1F" + }, + "10178": { + "op": "NOT" + }, + "10179": { + "op": "AND" + }, + "10180": { + "op": "SWAP2" + }, + "10181": { + "op": "SWAP1" + }, + "10182": { + "op": "SWAP2" + }, + "10183": { + "op": "ADD" + }, + "10184": { + "op": "PUSH1", + "value": "0x40" + }, + "10186": { + "op": "ADD" + }, + "10187": { + "op": "SWAP3" + }, + "10188": { + "op": "SWAP2" + }, + "10189": { + "op": "POP" + }, + "10190": { + "op": "POP" + }, + "10191": { + "jump": "o", + "op": "JUMP" + }, + "10192": { + "op": "JUMPDEST" + }, + "10193": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "10198": { + "op": "PUSH1", + "value": "0xE0" + }, + "10200": { + "op": "SHL" + }, + "10201": { + "op": "PUSH1", + "value": "0x0" + }, + "10203": { + "op": "MSTORE" + }, + "10204": { + "op": "PUSH1", + "value": "0x41" + }, + "10206": { + "op": "PUSH1", + "value": "0x4" + }, + "10208": { + "op": "MSTORE" + }, + "10209": { + "op": "PUSH1", + "value": "0x24" + }, + "10211": { + "op": "PUSH1", + "value": "0x0" + }, + "10213": { + "op": "REVERT" + }, + "10214": { + "op": "JUMPDEST" + }, + "10215": { + "op": "PUSH1", + "value": "0x0" + }, + "10217": { + "op": "DUP3" + }, + "10218": { + "op": "PUSH1", + "value": "0x1F" + }, + "10220": { + "op": "DUP4" + }, + "10221": { + "op": "ADD" + }, + "10222": { + "op": "SLT" + }, + "10223": { + "op": "PUSH2", + "value": "0x27F7" + }, + "10226": { + "op": "JUMPI" + }, + "10227": { + "op": "PUSH1", + "value": "0x0" + }, + "10229": { + "op": "DUP1" + }, + "10230": { + "op": "REVERT" + }, + "10231": { + "op": "JUMPDEST" + }, + "10232": { + "op": "DUP2" + }, + "10233": { + "op": "CALLDATALOAD" + }, + "10234": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "10243": { + "op": "DUP1" + }, + "10244": { + "op": "DUP3" + }, + "10245": { + "op": "GT" + }, + "10246": { + "op": "ISZERO" + }, + "10247": { + "op": "PUSH2", + "value": "0x2812" + }, + "10250": { + "op": "JUMPI" + }, + "10251": { + "op": "PUSH2", + "value": "0x2812" + }, + "10254": { + "op": "PUSH2", + "value": "0x27D0" + }, + "10257": { + "jump": "i", + "op": "JUMP" + }, + "10258": { + "op": "JUMPDEST" + }, + "10259": { + "op": "PUSH1", + "value": "0x40" + }, + "10261": { + "op": "MLOAD" + }, + "10262": { + "op": "PUSH1", + "value": "0x1F" + }, + "10264": { + "op": "DUP4" + }, + "10265": { + "op": "ADD" + }, + "10266": { + "op": "PUSH1", + "value": "0x1F" + }, + "10268": { + "op": "NOT" + }, + "10269": { + "op": "SWAP1" + }, + "10270": { + "op": "DUP2" + }, + "10271": { + "op": "AND" + }, + "10272": { + "op": "PUSH1", + "value": "0x3F" + }, + "10274": { + "op": "ADD" + }, + "10275": { + "op": "AND" + }, + "10276": { + "op": "DUP2" + }, + "10277": { + "op": "ADD" + }, + "10278": { + "op": "SWAP1" + }, + "10279": { + "op": "DUP3" + }, + "10280": { + "op": "DUP3" + }, + "10281": { + "op": "GT" + }, + "10282": { + "op": "DUP2" + }, + "10283": { + "op": "DUP4" + }, + "10284": { + "op": "LT" + }, + "10285": { + "op": "OR" + }, + "10286": { + "op": "ISZERO" + }, + "10287": { + "op": "PUSH2", + "value": "0x283A" + }, + "10290": { + "op": "JUMPI" + }, + "10291": { + "op": "PUSH2", + "value": "0x283A" + }, + "10294": { + "op": "PUSH2", + "value": "0x27D0" + }, + "10297": { + "jump": "i", + "op": "JUMP" + }, + "10298": { + "op": "JUMPDEST" + }, + "10299": { + "op": "DUP2" + }, + "10300": { + "op": "PUSH1", + "value": "0x40" + }, + "10302": { + "op": "MSTORE" + }, + "10303": { + "op": "DUP4" + }, + "10304": { + "op": "DUP2" + }, + "10305": { + "op": "MSTORE" + }, + "10306": { + "op": "DUP7" + }, + "10307": { + "op": "PUSH1", + "value": "0x20" + }, + "10309": { + "op": "DUP6" + }, + "10310": { + "op": "DUP9" + }, + "10311": { + "op": "ADD" + }, + "10312": { + "op": "ADD" + }, + "10313": { + "op": "GT" + }, + "10314": { + "op": "ISZERO" + }, + "10315": { + "op": "PUSH2", + "value": "0x2853" + }, + "10318": { + "op": "JUMPI" + }, + "10319": { + "op": "PUSH1", + "value": "0x0" + }, + "10321": { + "op": "DUP1" + }, + "10322": { + "op": "REVERT" + }, + "10323": { + "op": "JUMPDEST" + }, + "10324": { + "op": "DUP4" + }, + "10325": { + "op": "PUSH1", + "value": "0x20" + }, + "10327": { + "op": "DUP8" + }, + "10328": { + "op": "ADD" + }, + "10329": { + "op": "PUSH1", + "value": "0x20" + }, + "10331": { + "op": "DUP4" + }, + "10332": { + "op": "ADD" + }, + "10333": { + "op": "CALLDATACOPY" + }, + "10334": { + "op": "PUSH1", + "value": "0x0" + }, + "10336": { + "op": "PUSH1", + "value": "0x20" + }, + "10338": { + "op": "DUP6" + }, + "10339": { + "op": "DUP4" + }, + "10340": { + "op": "ADD" + }, + "10341": { + "op": "ADD" + }, + "10342": { + "op": "MSTORE" + }, + "10343": { + "op": "DUP1" + }, + "10344": { + "op": "SWAP5" + }, + "10345": { + "op": "POP" + }, + "10346": { + "op": "POP" + }, + "10347": { + "op": "POP" + }, + "10348": { + "op": "POP" + }, + "10349": { + "op": "POP" + }, + "10350": { + "op": "SWAP3" + }, + "10351": { + "op": "SWAP2" + }, + "10352": { + "op": "POP" + }, + "10353": { + "op": "POP" + }, + "10354": { + "jump": "o", + "op": "JUMP" + }, + "10355": { + "op": "JUMPDEST" + }, + "10356": { + "op": "PUSH1", + "value": "0x0" + }, + "10358": { + "op": "DUP1" + }, + "10359": { + "op": "PUSH1", + "value": "0x0" + }, + "10361": { + "op": "PUSH1", + "value": "0x60" + }, + "10363": { + "op": "DUP5" + }, + "10364": { + "op": "DUP7" + }, + "10365": { + "op": "SUB" + }, + "10366": { + "op": "SLT" + }, + "10367": { + "op": "ISZERO" + }, + "10368": { + "op": "PUSH2", + "value": "0x2888" + }, + "10371": { + "op": "JUMPI" + }, + "10372": { + "op": "PUSH1", + "value": "0x0" + }, + "10374": { + "op": "DUP1" + }, + "10375": { + "op": "REVERT" + }, + "10376": { + "op": "JUMPDEST" + }, + "10377": { + "op": "DUP4" + }, + "10378": { + "op": "CALLDATALOAD" + }, + "10379": { + "op": "SWAP3" + }, + "10380": { + "op": "POP" + }, + "10381": { + "op": "PUSH1", + "value": "0x20" + }, + "10383": { + "op": "DUP5" + }, + "10384": { + "op": "ADD" + }, + "10385": { + "op": "CALLDATALOAD" + }, + "10386": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "10395": { + "op": "DUP2" + }, + "10396": { + "op": "GT" + }, + "10397": { + "op": "ISZERO" + }, + "10398": { + "op": "PUSH2", + "value": "0x28A6" + }, + "10401": { + "op": "JUMPI" + }, + "10402": { + "op": "PUSH1", + "value": "0x0" + }, + "10404": { + "op": "DUP1" + }, + "10405": { + "op": "REVERT" + }, + "10406": { + "op": "JUMPDEST" + }, + "10407": { + "op": "PUSH2", + "value": "0x28B2" + }, + "10410": { + "op": "DUP7" + }, + "10411": { + "op": "DUP3" + }, + "10412": { + "op": "DUP8" + }, + "10413": { + "op": "ADD" + }, + "10414": { + "op": "PUSH2", + "value": "0x27E6" + }, + "10417": { + "jump": "i", + "op": "JUMP" + }, + "10418": { + "op": "JUMPDEST" + }, + "10419": { + "op": "SWAP3" + }, + "10420": { + "op": "POP" + }, + "10421": { + "op": "POP" + }, + "10422": { + "op": "PUSH1", + "value": "0x40" + }, + "10424": { + "op": "DUP5" + }, + "10425": { + "op": "ADD" + }, + "10426": { + "op": "CALLDATALOAD" + }, + "10427": { + "op": "SWAP1" + }, + "10428": { + "op": "POP" + }, + "10429": { + "op": "SWAP3" + }, + "10430": { + "op": "POP" + }, + "10431": { + "op": "SWAP3" + }, + "10432": { + "op": "POP" + }, + "10433": { + "op": "SWAP3" + }, + "10434": { + "jump": "o", + "op": "JUMP" + }, + "10435": { + "op": "JUMPDEST" + }, + "10436": { + "op": "PUSH1", + "value": "0x0" + }, + "10438": { + "op": "PUSH1", + "value": "0x20" + }, + "10440": { + "op": "DUP3" + }, + "10441": { + "op": "DUP5" + }, + "10442": { + "op": "SUB" + }, + "10443": { + "op": "SLT" + }, + "10444": { + "op": "ISZERO" + }, + "10445": { + "op": "PUSH2", + "value": "0x28D5" + }, + "10448": { + "op": "JUMPI" + }, + "10449": { + "op": "PUSH1", + "value": "0x0" + }, + "10451": { + "op": "DUP1" + }, + "10452": { + "op": "REVERT" + }, + "10453": { + "op": "JUMPDEST" + }, + "10454": { + "op": "POP" + }, + "10455": { + "op": "CALLDATALOAD" + }, + "10456": { + "op": "SWAP2" + }, + "10457": { + "op": "SWAP1" + }, + "10458": { + "op": "POP" + }, + "10459": { + "jump": "o", + "op": "JUMP" + }, + "10460": { + "op": "JUMPDEST" + }, + "10461": { + "op": "PUSH1", + "value": "0x0" + }, + "10463": { + "op": "DUP1" + }, + "10464": { + "op": "PUSH1", + "value": "0x0" + }, + "10466": { + "op": "PUSH1", + "value": "0x60" + }, + "10468": { + "op": "DUP5" + }, + "10469": { + "op": "DUP7" + }, + "10470": { + "op": "SUB" + }, + "10471": { + "op": "SLT" + }, + "10472": { + "op": "ISZERO" + }, + "10473": { + "op": "PUSH2", + "value": "0x28F1" + }, + "10476": { + "op": "JUMPI" + }, + "10477": { + "op": "PUSH1", + "value": "0x0" + }, + "10479": { + "op": "DUP1" + }, + "10480": { + "op": "REVERT" + }, + "10481": { + "op": "JUMPDEST" + }, + "10482": { + "op": "PUSH2", + "value": "0x28FA" + }, + "10485": { + "op": "DUP5" + }, + "10486": { + "op": "PUSH2", + "value": "0x2702" + }, + "10489": { + "jump": "i", + "op": "JUMP" + }, + "10490": { + "op": "JUMPDEST" + }, + "10491": { + "op": "SWAP6" + }, + "10492": { + "op": "PUSH1", + "value": "0x20" + }, + "10494": { + "op": "DUP6" + }, + "10495": { + "op": "ADD" + }, + "10496": { + "op": "CALLDATALOAD" + }, + "10497": { + "op": "SWAP6" + }, + "10498": { + "op": "POP" + }, + "10499": { + "op": "PUSH1", + "value": "0x40" + }, + "10501": { + "op": "SWAP1" + }, + "10502": { + "op": "SWAP5" + }, + "10503": { + "op": "ADD" + }, + "10504": { + "op": "CALLDATALOAD" + }, + "10505": { + "op": "SWAP4" + }, + "10506": { + "op": "SWAP3" + }, + "10507": { + "op": "POP" + }, + "10508": { + "op": "POP" + }, + "10509": { + "op": "POP" + }, + "10510": { + "jump": "o", + "op": "JUMP" + }, + "10511": { + "op": "JUMPDEST" + }, + "10512": { + "op": "PUSH1", + "value": "0x0" + }, + "10514": { + "op": "PUSH1", + "value": "0x20" + }, + "10516": { + "op": "DUP3" + }, + "10517": { + "op": "DUP5" + }, + "10518": { + "op": "SUB" + }, + "10519": { + "op": "SLT" + }, + "10520": { + "op": "ISZERO" + }, + "10521": { + "op": "PUSH2", + "value": "0x2921" + }, + "10524": { + "op": "JUMPI" + }, + "10525": { + "op": "PUSH1", + "value": "0x0" + }, + "10527": { + "op": "DUP1" + }, + "10528": { + "op": "REVERT" + }, + "10529": { + "op": "JUMPDEST" + }, + "10530": { + "op": "PUSH2", + "value": "0x1AA0" + }, + "10533": { + "op": "DUP3" + }, + "10534": { + "op": "PUSH2", + "value": "0x2702" + }, + "10537": { + "jump": "i", + "op": "JUMP" + }, + "10538": { + "op": "JUMPDEST" + }, + "10539": { + "op": "PUSH1", + "value": "0x0" + }, + "10541": { + "op": "DUP1" + }, + "10542": { + "op": "PUSH1", + "value": "0x40" + }, + "10544": { + "op": "DUP4" + }, + "10545": { + "op": "DUP6" + }, + "10546": { + "op": "SUB" + }, + "10547": { + "op": "SLT" + }, + "10548": { + "op": "ISZERO" + }, + "10549": { + "op": "PUSH2", + "value": "0x293D" + }, + "10552": { + "op": "JUMPI" + }, + "10553": { + "op": "PUSH1", + "value": "0x0" + }, + "10555": { + "op": "DUP1" + }, + "10556": { + "op": "REVERT" + }, + "10557": { + "op": "JUMPDEST" + }, + "10558": { + "op": "PUSH2", + "value": "0x2946" + }, + "10561": { + "op": "DUP4" + }, + "10562": { + "op": "PUSH2", + "value": "0x2702" + }, + "10565": { + "jump": "i", + "op": "JUMP" + }, + "10566": { + "op": "JUMPDEST" + }, + "10567": { + "op": "SWAP2" + }, + "10568": { + "op": "POP" + }, + "10569": { + "op": "PUSH1", + "value": "0x20" + }, + "10571": { + "op": "DUP4" + }, + "10572": { + "op": "ADD" + }, + "10573": { + "op": "CALLDATALOAD" + }, + "10574": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "10583": { + "op": "DUP2" + }, + "10584": { + "op": "GT" + }, + "10585": { + "op": "ISZERO" + }, + "10586": { + "op": "PUSH2", + "value": "0x2962" + }, + "10589": { + "op": "JUMPI" + }, + "10590": { + "op": "PUSH1", + "value": "0x0" + }, + "10592": { + "op": "DUP1" + }, + "10593": { + "op": "REVERT" + }, + "10594": { + "op": "JUMPDEST" + }, + "10595": { + "op": "PUSH2", + "value": "0x296E" + }, + "10598": { + "op": "DUP6" + }, + "10599": { + "op": "DUP3" + }, + "10600": { + "op": "DUP7" + }, + "10601": { + "op": "ADD" + }, + "10602": { + "op": "PUSH2", + "value": "0x27E6" + }, + "10605": { + "jump": "i", + "op": "JUMP" + }, + "10606": { + "op": "JUMPDEST" + }, + "10607": { + "op": "SWAP2" + }, + "10608": { + "op": "POP" + }, + "10609": { + "op": "POP" + }, + "10610": { + "op": "SWAP3" + }, + "10611": { + "op": "POP" + }, + "10612": { + "op": "SWAP3" + }, + "10613": { + "op": "SWAP1" + }, + "10614": { + "op": "POP" + }, + "10615": { + "jump": "o", + "op": "JUMP" + }, + "10616": { + "op": "JUMPDEST" + }, + "10617": { + "op": "PUSH1", + "value": "0x0" + }, + "10619": { + "op": "DUP1" + }, + "10620": { + "op": "PUSH1", + "value": "0x0" + }, + "10622": { + "op": "DUP1" + }, + "10623": { + "op": "PUSH1", + "value": "0x0" + }, + "10625": { + "op": "DUP1" + }, + "10626": { + "op": "PUSH1", + "value": "0xC0" + }, + "10628": { + "op": "DUP8" + }, + "10629": { + "op": "DUP10" + }, + "10630": { + "op": "SUB" + }, + "10631": { + "op": "SLT" + }, + "10632": { + "op": "ISZERO" + }, + "10633": { + "op": "PUSH2", + "value": "0x2991" + }, + "10636": { + "op": "JUMPI" + }, + "10637": { + "op": "PUSH1", + "value": "0x0" + }, + "10639": { + "op": "DUP1" + }, + "10640": { + "op": "REVERT" + }, + "10641": { + "op": "JUMPDEST" + }, + "10642": { + "op": "PUSH2", + "value": "0x299A" + }, + "10645": { + "op": "DUP8" + }, + "10646": { + "op": "PUSH2", + "value": "0x2702" + }, + "10649": { + "jump": "i", + "op": "JUMP" + }, + "10650": { + "op": "JUMPDEST" + }, + "10651": { + "op": "SWAP6" + }, + "10652": { + "op": "POP" + }, + "10653": { + "op": "PUSH2", + "value": "0x29A8" + }, + "10656": { + "op": "PUSH1", + "value": "0x20" + }, + "10658": { + "op": "DUP9" + }, + "10659": { + "op": "ADD" + }, + "10660": { + "op": "PUSH2", + "value": "0x2702" + }, + "10663": { + "jump": "i", + "op": "JUMP" + }, + "10664": { + "op": "JUMPDEST" + }, + "10665": { + "op": "SWAP5" + }, + "10666": { + "op": "POP" + }, + "10667": { + "op": "PUSH1", + "value": "0x40" + }, + "10669": { + "op": "DUP8" + }, + "10670": { + "op": "ADD" + }, + "10671": { + "op": "CALLDATALOAD" + }, + "10672": { + "op": "SWAP4" + }, + "10673": { + "op": "POP" + }, + "10674": { + "op": "PUSH1", + "value": "0x60" + }, + "10676": { + "op": "DUP8" + }, + "10677": { + "op": "ADD" + }, + "10678": { + "op": "CALLDATALOAD" + }, + "10679": { + "op": "SWAP3" + }, + "10680": { + "op": "POP" + }, + "10681": { + "op": "PUSH1", + "value": "0x80" + }, + "10683": { + "op": "DUP8" + }, + "10684": { + "op": "ADD" + }, + "10685": { + "op": "CALLDATALOAD" + }, + "10686": { + "op": "SWAP2" + }, + "10687": { + "op": "POP" + }, + "10688": { + "op": "PUSH1", + "value": "0xA0" + }, + "10690": { + "op": "DUP8" + }, + "10691": { + "op": "ADD" + }, + "10692": { + "op": "CALLDATALOAD" + }, + "10693": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "10702": { + "op": "DUP2" + }, + "10703": { + "op": "GT" + }, + "10704": { + "op": "ISZERO" + }, + "10705": { + "op": "PUSH2", + "value": "0x29D9" + }, + "10708": { + "op": "JUMPI" + }, + "10709": { + "op": "PUSH1", + "value": "0x0" + }, + "10711": { + "op": "DUP1" + }, + "10712": { + "op": "REVERT" + }, + "10713": { + "op": "JUMPDEST" + }, + "10714": { + "op": "PUSH2", + "value": "0x29E5" + }, + "10717": { + "op": "DUP10" + }, + "10718": { + "op": "DUP3" + }, + "10719": { + "op": "DUP11" + }, + "10720": { + "op": "ADD" + }, + "10721": { + "op": "PUSH2", + "value": "0x27E6" + }, + "10724": { + "jump": "i", + "op": "JUMP" + }, + "10725": { + "op": "JUMPDEST" + }, + "10726": { + "op": "SWAP2" + }, + "10727": { + "op": "POP" + }, + "10728": { + "op": "POP" + }, + "10729": { + "op": "SWAP3" + }, + "10730": { + "op": "SWAP6" + }, + "10731": { + "op": "POP" + }, + "10732": { + "op": "SWAP3" + }, + "10733": { + "op": "SWAP6" + }, + "10734": { + "op": "POP" + }, + "10735": { + "op": "SWAP3" + }, + "10736": { + "op": "SWAP6" + }, + "10737": { + "jump": "o", + "op": "JUMP" + }, + "10738": { + "op": "JUMPDEST" + }, + "10739": { + "op": "PUSH1", + "value": "0x0" + }, + "10741": { + "op": "DUP1" + }, + "10742": { + "op": "PUSH1", + "value": "0x0" + }, + "10744": { + "op": "DUP1" + }, + "10745": { + "op": "PUSH1", + "value": "0x80" + }, + "10747": { + "op": "DUP6" + }, + "10748": { + "op": "DUP8" + }, + "10749": { + "op": "SUB" + }, + "10750": { + "op": "SLT" + }, + "10751": { + "op": "ISZERO" + }, + "10752": { + "op": "PUSH2", + "value": "0x2A08" + }, + "10755": { + "op": "JUMPI" + }, + "10756": { + "op": "PUSH1", + "value": "0x0" + }, + "10758": { + "op": "DUP1" + }, + "10759": { + "op": "REVERT" + }, + "10760": { + "op": "JUMPDEST" + }, + "10761": { + "op": "PUSH2", + "value": "0x2A11" + }, + "10764": { + "op": "DUP6" + }, + "10765": { + "op": "PUSH2", + "value": "0x2702" + }, + "10768": { + "jump": "i", + "op": "JUMP" + }, + "10769": { + "op": "JUMPDEST" + }, + "10770": { + "op": "SWAP4" + }, + "10771": { + "op": "POP" + }, + "10772": { + "op": "PUSH2", + "value": "0x2A1F" + }, + "10775": { + "op": "PUSH1", + "value": "0x20" + }, + "10777": { + "op": "DUP7" + }, + "10778": { + "op": "ADD" + }, + "10779": { + "op": "PUSH2", + "value": "0x2702" + }, + "10782": { + "jump": "i", + "op": "JUMP" + }, + "10783": { + "op": "JUMPDEST" + }, + "10784": { + "op": "SWAP4" + }, + "10785": { + "op": "SWAP7" + }, + "10786": { + "op": "SWAP4" + }, + "10787": { + "op": "SWAP6" + }, + "10788": { + "op": "POP" + }, + "10789": { + "op": "POP" + }, + "10790": { + "op": "POP" + }, + "10791": { + "op": "POP" + }, + "10792": { + "op": "PUSH1", + "value": "0x40" + }, + "10794": { + "op": "DUP3" + }, + "10795": { + "op": "ADD" + }, + "10796": { + "op": "CALLDATALOAD" + }, + "10797": { + "op": "SWAP2" + }, + "10798": { + "op": "PUSH1", + "value": "0x60" + }, + "10800": { + "op": "ADD" + }, + "10801": { + "op": "CALLDATALOAD" + }, + "10802": { + "op": "SWAP1" + }, + "10803": { + "jump": "o", + "op": "JUMP" + }, + "10804": { + "op": "JUMPDEST" + }, + "10805": { + "op": "PUSH1", + "value": "0x0" + }, + "10807": { + "op": "DUP1" + }, + "10808": { + "op": "PUSH1", + "value": "0x40" + }, + "10810": { + "op": "DUP4" + }, + "10811": { + "op": "DUP6" + }, + "10812": { + "op": "SUB" + }, + "10813": { + "op": "SLT" + }, + "10814": { + "op": "ISZERO" + }, + "10815": { + "op": "PUSH2", + "value": "0x2A47" + }, + "10818": { + "op": "JUMPI" + }, + "10819": { + "op": "PUSH1", + "value": "0x0" + }, + "10821": { + "op": "DUP1" + }, + "10822": { + "op": "REVERT" + }, + "10823": { + "op": "JUMPDEST" + }, + "10824": { + "op": "POP" + }, + "10825": { + "op": "POP" + }, + "10826": { + "op": "DUP1" + }, + "10827": { + "op": "CALLDATALOAD" + }, + "10828": { + "op": "SWAP3" + }, + "10829": { + "op": "PUSH1", + "value": "0x20" + }, + "10831": { + "op": "SWAP1" + }, + "10832": { + "op": "SWAP2" + }, + "10833": { + "op": "ADD" + }, + "10834": { + "op": "CALLDATALOAD" + }, + "10835": { + "op": "SWAP2" + }, + "10836": { + "op": "POP" + }, + "10837": { + "jump": "o", + "op": "JUMP" + }, + "10838": { + "op": "JUMPDEST" + }, + "10839": { + "op": "PUSH1", + "value": "0x0" + }, + "10841": { + "op": "DUP1" + }, + "10842": { + "op": "PUSH1", + "value": "0x0" + }, + "10844": { + "op": "DUP1" + }, + "10845": { + "op": "PUSH1", + "value": "0x0" + }, + "10847": { + "op": "PUSH1", + "value": "0xA0" + }, + "10849": { + "op": "DUP7" + }, + "10850": { + "op": "DUP9" + }, + "10851": { + "op": "SUB" + }, + "10852": { + "op": "SLT" + }, + "10853": { + "op": "ISZERO" + }, + "10854": { + "op": "PUSH2", + "value": "0x2A6E" + }, + "10857": { + "op": "JUMPI" + }, + "10858": { + "op": "PUSH1", + "value": "0x0" + }, + "10860": { + "op": "DUP1" + }, + "10861": { + "op": "REVERT" + }, + "10862": { + "op": "JUMPDEST" + }, + "10863": { + "op": "PUSH2", + "value": "0x2A77" + }, + "10866": { + "op": "DUP7" + }, + "10867": { + "op": "PUSH2", + "value": "0x2702" + }, + "10870": { + "jump": "i", + "op": "JUMP" + }, + "10871": { + "op": "JUMPDEST" + }, + "10872": { + "op": "SWAP5" + }, + "10873": { + "op": "POP" + }, + "10874": { + "op": "PUSH1", + "value": "0x20" + }, + "10876": { + "op": "DUP7" + }, + "10877": { + "op": "ADD" + }, + "10878": { + "op": "CALLDATALOAD" + }, + "10879": { + "op": "SWAP4" + }, + "10880": { + "op": "POP" + }, + "10881": { + "op": "PUSH1", + "value": "0x40" + }, + "10883": { + "op": "DUP7" + }, + "10884": { + "op": "ADD" + }, + "10885": { + "op": "CALLDATALOAD" + }, + "10886": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "10895": { + "op": "DUP1" + }, + "10896": { + "op": "DUP3" + }, + "10897": { + "op": "GT" + }, + "10898": { + "op": "ISZERO" + }, + "10899": { + "op": "PUSH2", + "value": "0x2A9B" + }, + "10902": { + "op": "JUMPI" + }, + "10903": { + "op": "PUSH1", + "value": "0x0" + }, + "10905": { + "op": "DUP1" + }, + "10906": { + "op": "REVERT" + }, + "10907": { + "op": "JUMPDEST" + }, + "10908": { + "op": "PUSH2", + "value": "0x2AA7" + }, + "10911": { + "op": "DUP10" + }, + "10912": { + "op": "DUP4" + }, + "10913": { + "op": "DUP11" + }, + "10914": { + "op": "ADD" + }, + "10915": { + "op": "PUSH2", + "value": "0x27E6" + }, + "10918": { + "jump": "i", + "op": "JUMP" + }, + "10919": { + "op": "JUMPDEST" + }, + "10920": { + "op": "SWAP5" + }, + "10921": { + "op": "POP" + }, + "10922": { + "op": "PUSH1", + "value": "0x60" + }, + "10924": { + "op": "DUP9" + }, + "10925": { + "op": "ADD" + }, + "10926": { + "op": "CALLDATALOAD" + }, + "10927": { + "op": "SWAP4" + }, + "10928": { + "op": "POP" + }, + "10929": { + "op": "PUSH1", + "value": "0x80" + }, + "10931": { + "op": "DUP9" + }, + "10932": { + "op": "ADD" + }, + "10933": { + "op": "CALLDATALOAD" + }, + "10934": { + "op": "SWAP2" + }, + "10935": { + "op": "POP" + }, + "10936": { + "op": "DUP1" + }, + "10937": { + "op": "DUP3" + }, + "10938": { + "op": "GT" + }, + "10939": { + "op": "ISZERO" + }, + "10940": { + "op": "PUSH2", + "value": "0x2AC4" + }, + "10943": { + "op": "JUMPI" + }, + "10944": { + "op": "PUSH1", + "value": "0x0" + }, + "10946": { + "op": "DUP1" + }, + "10947": { + "op": "REVERT" + }, + "10948": { + "op": "JUMPDEST" + }, + "10949": { + "op": "POP" + }, + "10950": { + "op": "PUSH2", + "value": "0x2AD1" + }, + "10953": { + "op": "DUP9" + }, + "10954": { + "op": "DUP3" + }, + "10955": { + "op": "DUP10" + }, + "10956": { + "op": "ADD" + }, + "10957": { + "op": "PUSH2", + "value": "0x27E6" + }, + "10960": { + "jump": "i", + "op": "JUMP" + }, + "10961": { + "op": "JUMPDEST" + }, + "10962": { + "op": "SWAP2" + }, + "10963": { + "op": "POP" + }, + "10964": { + "op": "POP" + }, + "10965": { + "op": "SWAP3" + }, + "10966": { + "op": "SWAP6" + }, + "10967": { + "op": "POP" + }, + "10968": { + "op": "SWAP3" + }, + "10969": { + "op": "SWAP6" + }, + "10970": { + "op": "SWAP1" + }, + "10971": { + "op": "SWAP4" + }, + "10972": { + "op": "POP" + }, + "10973": { + "jump": "o", + "op": "JUMP" + }, + "10974": { + "op": "JUMPDEST" + }, + "10975": { + "op": "PUSH1", + "value": "0x0" + }, + "10977": { + "op": "DUP1" + }, + "10978": { + "op": "PUSH1", + "value": "0x40" + }, + "10980": { + "op": "DUP4" + }, + "10981": { + "op": "DUP6" + }, + "10982": { + "op": "SUB" + }, + "10983": { + "op": "SLT" + }, + "10984": { + "op": "ISZERO" + }, + "10985": { + "op": "PUSH2", + "value": "0x2AF1" + }, + "10988": { + "op": "JUMPI" + }, + "10989": { + "op": "PUSH1", + "value": "0x0" + }, + "10991": { + "op": "DUP1" + }, + "10992": { + "op": "REVERT" + }, + "10993": { + "op": "JUMPDEST" + }, + "10994": { + "op": "DUP3" + }, + "10995": { + "op": "CALLDATALOAD" + }, + "10996": { + "op": "SWAP2" + }, + "10997": { + "op": "POP" + }, + "10998": { + "op": "PUSH1", + "value": "0x20" + }, + "11000": { + "op": "DUP4" + }, + "11001": { + "op": "ADD" + }, + "11002": { + "op": "CALLDATALOAD" + }, + "11003": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "11012": { + "op": "DUP2" + }, + "11013": { + "op": "GT" + }, + "11014": { + "op": "ISZERO" + }, + "11015": { + "op": "PUSH2", + "value": "0x2962" + }, + "11018": { + "op": "JUMPI" + }, + "11019": { + "op": "PUSH1", + "value": "0x0" + }, + "11021": { + "op": "DUP1" + }, + "11022": { + "op": "REVERT" + }, + "11023": { + "op": "JUMPDEST" + }, + "11024": { + "op": "PUSH1", + "value": "0x0" + }, + "11026": { + "op": "DUP1" + }, + "11027": { + "op": "PUSH1", + "value": "0x0" + }, + "11029": { + "op": "PUSH1", + "value": "0x60" + }, + "11031": { + "op": "DUP5" + }, + "11032": { + "op": "DUP7" + }, + "11033": { + "op": "SUB" + }, + "11034": { + "op": "SLT" + }, + "11035": { + "op": "ISZERO" + }, + "11036": { + "op": "PUSH2", + "value": "0x2B24" + }, + "11039": { + "op": "JUMPI" + }, + "11040": { + "op": "PUSH1", + "value": "0x0" + }, + "11042": { + "op": "DUP1" + }, + "11043": { + "op": "REVERT" + }, + "11044": { + "op": "JUMPDEST" + }, + "11045": { + "op": "PUSH2", + "value": "0x2B2D" + }, + "11048": { + "op": "DUP5" + }, + "11049": { + "op": "PUSH2", + "value": "0x2702" + }, + "11052": { + "jump": "i", + "op": "JUMP" + }, + "11053": { + "op": "JUMPDEST" + }, + "11054": { + "op": "SWAP3" + }, + "11055": { + "op": "POP" + }, + "11056": { + "op": "PUSH1", + "value": "0x20" + }, + "11058": { + "op": "DUP5" + }, + "11059": { + "op": "ADD" + }, + "11060": { + "op": "CALLDATALOAD" + }, + "11061": { + "op": "SWAP2" + }, + "11062": { + "op": "POP" + }, + "11063": { + "op": "PUSH1", + "value": "0x40" + }, + "11065": { + "op": "DUP5" + }, + "11066": { + "op": "ADD" + }, + "11067": { + "op": "CALLDATALOAD" + }, + "11068": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "11077": { + "op": "DUP2" + }, + "11078": { + "op": "GT" + }, + "11079": { + "op": "ISZERO" + }, + "11080": { + "op": "PUSH2", + "value": "0x2B50" + }, + "11083": { + "op": "JUMPI" + }, + "11084": { + "op": "PUSH1", + "value": "0x0" + }, + "11086": { + "op": "DUP1" + }, + "11087": { + "op": "REVERT" + }, + "11088": { + "op": "JUMPDEST" + }, + "11089": { + "op": "PUSH2", + "value": "0x2B5C" + }, + "11092": { + "op": "DUP7" + }, + "11093": { + "op": "DUP3" + }, + "11094": { + "op": "DUP8" + }, + "11095": { + "op": "ADD" + }, + "11096": { + "op": "PUSH2", + "value": "0x27E6" + }, + "11099": { + "jump": "i", + "op": "JUMP" + }, + "11100": { + "op": "JUMPDEST" + }, + "11101": { + "op": "SWAP2" + }, + "11102": { + "op": "POP" + }, + "11103": { + "op": "POP" + }, + "11104": { + "op": "SWAP3" + }, + "11105": { + "op": "POP" + }, + "11106": { + "op": "SWAP3" + }, + "11107": { + "op": "POP" + }, + "11108": { + "op": "SWAP3" + }, + "11109": { + "jump": "o", + "op": "JUMP" + }, + "11110": { + "op": "JUMPDEST" + }, + "11111": { + "op": "PUSH1", + "value": "0x20" + }, + "11113": { + "op": "DUP1" + }, + "11114": { + "op": "DUP3" + }, + "11115": { + "op": "MSTORE" + }, + "11116": { + "op": "DUP2" + }, + "11117": { + "op": "DUP2" + }, + "11118": { + "op": "ADD" + }, + "11119": { + "op": "MSTORE" + }, + "11120": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "11153": { + "op": "PUSH1", + "value": "0x40" + }, + "11155": { + "op": "DUP3" + }, + "11156": { + "op": "ADD" + }, + "11157": { + "op": "MSTORE" + }, + "11158": { + "op": "PUSH1", + "value": "0x60" + }, + "11160": { + "op": "ADD" + }, + "11161": { + "op": "SWAP1" + }, + "11162": { + "jump": "o", + "op": "JUMP" + }, + "11163": { + "op": "JUMPDEST" + }, + "11164": { + "op": "PUSH1", + "value": "0x20" + }, + "11166": { + "op": "DUP1" + }, + "11167": { + "op": "DUP3" + }, + "11168": { + "op": "MSTORE" + }, + "11169": { + "op": "PUSH1", + "value": "0x14" + }, + "11171": { + "op": "SWAP1" + }, + "11172": { + "op": "DUP3" + }, + "11173": { + "op": "ADD" + }, + "11174": { + "op": "MSTORE" + }, + "11175": { + "op": "PUSH20", + "value": "0x4E6F7420416C6C6F776C697374204F776E657221" + }, + "11196": { + "op": "PUSH1", + "value": "0x60" + }, + "11198": { + "op": "SHL" + }, + "11199": { + "op": "PUSH1", + "value": "0x40" + }, + "11201": { + "op": "DUP3" + }, + "11202": { + "op": "ADD" + }, + "11203": { + "op": "MSTORE" + }, + "11204": { + "op": "PUSH1", + "value": "0x60" + }, + "11206": { + "op": "ADD" + }, + "11207": { + "op": "SWAP1" + }, + "11208": { + "jump": "o", + "op": "JUMP" + }, + "11209": { + "op": "JUMPDEST" + }, + "11210": { + "op": "PUSH1", + "value": "0x1" + }, + "11212": { + "op": "DUP2" + }, + "11213": { + "op": "DUP2" + }, + "11214": { + "op": "SHR" + }, + "11215": { + "op": "SWAP1" + }, + "11216": { + "op": "DUP3" + }, + "11217": { + "op": "AND" + }, + "11218": { + "op": "DUP1" + }, + "11219": { + "op": "PUSH2", + "value": "0x2BDD" + }, + "11222": { + "op": "JUMPI" + }, + "11223": { + "op": "PUSH1", + "value": "0x7F" + }, + "11225": { + "op": "DUP3" + }, + "11226": { + "op": "AND" + }, + "11227": { + "op": "SWAP2" + }, + "11228": { + "op": "POP" + }, + "11229": { + "op": "JUMPDEST" + }, + "11230": { + "op": "PUSH1", + "value": "0x20" + }, + "11232": { + "op": "DUP3" + }, + "11233": { + "op": "LT" + }, + "11234": { + "op": "DUP2" + }, + "11235": { + "op": "SUB" + }, + "11236": { + "op": "PUSH2", + "value": "0x2BFD" + }, + "11239": { + "op": "JUMPI" + }, + "11240": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "11245": { + "op": "PUSH1", + "value": "0xE0" + }, + "11247": { + "op": "SHL" + }, + "11248": { + "op": "PUSH1", + "value": "0x0" + }, + "11250": { + "op": "MSTORE" + }, + "11251": { + "op": "PUSH1", + "value": "0x22" + }, + "11253": { + "op": "PUSH1", + "value": "0x4" + }, + "11255": { + "op": "MSTORE" + }, + "11256": { + "op": "PUSH1", + "value": "0x24" + }, + "11258": { + "op": "PUSH1", + "value": "0x0" + }, + "11260": { + "op": "REVERT" + }, + "11261": { + "op": "JUMPDEST" + }, + "11262": { + "op": "POP" + }, + "11263": { + "op": "SWAP2" + }, + "11264": { + "op": "SWAP1" + }, + "11265": { + "op": "POP" + }, + "11266": { + "jump": "o", + "op": "JUMP" + }, + "11267": { + "op": "JUMPDEST" + }, + "11268": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "11273": { + "op": "PUSH1", + "value": "0xE0" + }, + "11275": { + "op": "SHL" + }, + "11276": { + "op": "PUSH1", + "value": "0x0" + }, + "11278": { + "op": "MSTORE" + }, + "11279": { + "op": "PUSH1", + "value": "0x11" + }, + "11281": { + "op": "PUSH1", + "value": "0x4" + }, + "11283": { + "op": "MSTORE" + }, + "11284": { + "op": "PUSH1", + "value": "0x24" + }, + "11286": { + "op": "PUSH1", + "value": "0x0" + }, + "11288": { + "op": "REVERT" + }, + "11289": { + "op": "JUMPDEST" + }, + "11290": { + "op": "PUSH1", + "value": "0x0" + }, + "11292": { + "op": "DUP2" + }, + "11293": { + "op": "PUSH2", + "value": "0x2C28" + }, + "11296": { + "op": "JUMPI" + }, + "11297": { + "op": "PUSH2", + "value": "0x2C28" + }, + "11300": { + "op": "PUSH2", + "value": "0x2C03" + }, + "11303": { + "jump": "i", + "op": "JUMP" + }, + "11304": { + "op": "JUMPDEST" + }, + "11305": { + "op": "POP" + }, + "11306": { + "op": "PUSH1", + "value": "0x0" + }, + "11308": { + "op": "NOT" + }, + "11309": { + "op": "ADD" + }, + "11310": { + "op": "SWAP1" + }, + "11311": { + "jump": "o", + "op": "JUMP" + }, + "11312": { + "op": "JUMPDEST" + }, + "11313": { + "op": "PUSH1", + "value": "0x0" + }, + "11315": { + "op": "DUP4" + }, + "11316": { + "op": "MLOAD" + }, + "11317": { + "op": "PUSH2", + "value": "0x2C42" + }, + "11320": { + "op": "DUP2" + }, + "11321": { + "op": "DUP5" + }, + "11322": { + "op": "PUSH1", + "value": "0x20" + }, + "11324": { + "op": "DUP9" + }, + "11325": { + "op": "ADD" + }, + "11326": { + "op": "PUSH2", + "value": "0x276D" + }, + "11329": { + "jump": "i", + "op": "JUMP" + }, + "11330": { + "op": "JUMPDEST" + }, + "11331": { + "op": "DUP4" + }, + "11332": { + "op": "MLOAD" + }, + "11333": { + "op": "SWAP1" + }, + "11334": { + "op": "DUP4" + }, + "11335": { + "op": "ADD" + }, + "11336": { + "op": "SWAP1" + }, + "11337": { + "op": "PUSH2", + "value": "0x2C56" + }, + "11340": { + "op": "DUP2" + }, + "11341": { + "op": "DUP4" + }, + "11342": { + "op": "PUSH1", + "value": "0x20" + }, + "11344": { + "op": "DUP9" + }, + "11345": { + "op": "ADD" + }, + "11346": { + "op": "PUSH2", + "value": "0x276D" + }, + "11349": { + "jump": "i", + "op": "JUMP" + }, + "11350": { + "op": "JUMPDEST" + }, + "11351": { + "op": "ADD" + }, + "11352": { + "op": "SWAP5" + }, + "11353": { + "op": "SWAP4" + }, + "11354": { + "op": "POP" + }, + "11355": { + "op": "POP" + }, + "11356": { + "op": "POP" + }, + "11357": { + "op": "POP" + }, + "11358": { + "jump": "o", + "op": "JUMP" + }, + "11359": { + "op": "JUMPDEST" + }, + "11360": { + "op": "PUSH1", + "value": "0x20" + }, + "11362": { + "op": "DUP1" + }, + "11363": { + "op": "DUP3" + }, + "11364": { + "op": "MSTORE" + }, + "11365": { + "op": "PUSH1", + "value": "0x15" + }, + "11367": { + "op": "SWAP1" + }, + "11368": { + "op": "DUP3" + }, + "11369": { + "op": "ADD" + }, + "11370": { + "op": "MSTORE" + }, + "11371": { + "op": "PUSH21", + "value": "0x26B4B73A103A37903D32B9379030B2323932B9B997" + }, + "11393": { + "op": "PUSH1", + "value": "0x59" + }, + "11395": { + "op": "SHL" + }, + "11396": { + "op": "PUSH1", + "value": "0x40" + }, + "11398": { + "op": "DUP3" + }, + "11399": { + "op": "ADD" + }, + "11400": { + "op": "MSTORE" + }, + "11401": { + "op": "PUSH1", + "value": "0x60" + }, + "11403": { + "op": "ADD" + }, + "11404": { + "op": "SWAP1" + }, + "11405": { + "jump": "o", + "op": "JUMP" + }, + "11406": { + "op": "JUMPDEST" + }, + "11407": { + "op": "PUSH1", + "value": "0x0" + }, + "11409": { + "op": "DUP3" + }, + "11410": { + "op": "DUP3" + }, + "11411": { + "op": "LT" + }, + "11412": { + "op": "ISZERO" + }, + "11413": { + "op": "PUSH2", + "value": "0x2CA0" + }, + "11416": { + "op": "JUMPI" + }, + "11417": { + "op": "PUSH2", + "value": "0x2CA0" + }, + "11420": { + "op": "PUSH2", + "value": "0x2C03" + }, + "11423": { + "jump": "i", + "op": "JUMP" + }, + "11424": { + "op": "JUMPDEST" + }, + "11425": { + "op": "POP" + }, + "11426": { + "op": "SUB" + }, + "11427": { + "op": "SWAP1" + }, + "11428": { + "jump": "o", + "op": "JUMP" + }, + "11429": { + "op": "JUMPDEST" + }, + "11430": { + "op": "PUSH1", + "value": "0x0" + }, + "11432": { + "op": "PUSH1", + "value": "0x1" + }, + "11434": { + "op": "DUP3" + }, + "11435": { + "op": "ADD" + }, + "11436": { + "op": "PUSH2", + "value": "0x2CB7" + }, + "11439": { + "op": "JUMPI" + }, + "11440": { + "op": "PUSH2", + "value": "0x2CB7" + }, + "11443": { + "op": "PUSH2", + "value": "0x2C03" + }, + "11446": { + "jump": "i", + "op": "JUMP" + }, + "11447": { + "op": "JUMPDEST" + }, + "11448": { + "op": "POP" + }, + "11449": { + "op": "PUSH1", + "value": "0x1" + }, + "11451": { + "op": "ADD" + }, + "11452": { + "op": "SWAP1" + }, + "11453": { + "jump": "o", + "op": "JUMP" + }, + "11454": { + "op": "JUMPDEST" + }, + "11455": { + "op": "PUSH1", + "value": "0x0" + }, + "11457": { + "op": "DUP3" + }, + "11458": { + "op": "NOT" + }, + "11459": { + "op": "DUP3" + }, + "11460": { + "op": "GT" + }, + "11461": { + "op": "ISZERO" + }, + "11462": { + "op": "PUSH2", + "value": "0x2CD1" + }, + "11465": { + "op": "JUMPI" + }, + "11466": { + "op": "PUSH2", + "value": "0x2CD1" + }, + "11469": { + "op": "PUSH2", + "value": "0x2C03" + }, + "11472": { + "jump": "i", + "op": "JUMP" + }, + "11473": { + "op": "JUMPDEST" + }, + "11474": { + "op": "POP" + }, + "11475": { + "op": "ADD" + }, + "11476": { + "op": "SWAP1" + }, + "11477": { + "jump": "o", + "op": "JUMP" + }, + "11478": { + "op": "JUMPDEST" + }, + "11479": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "11484": { + "op": "PUSH1", + "value": "0xE0" + }, + "11486": { + "op": "SHL" + }, + "11487": { + "op": "PUSH1", + "value": "0x0" + }, + "11489": { + "op": "MSTORE" + }, + "11490": { + "op": "PUSH1", + "value": "0x12" + }, + "11492": { + "op": "PUSH1", + "value": "0x4" + }, + "11494": { + "op": "MSTORE" + }, + "11495": { + "op": "PUSH1", + "value": "0x24" + }, + "11497": { + "op": "PUSH1", + "value": "0x0" + }, + "11499": { + "op": "REVERT" + }, + "11500": { + "op": "JUMPDEST" + }, + "11501": { + "op": "PUSH1", + "value": "0x0" + }, + "11503": { + "op": "DUP3" + }, + "11504": { + "op": "PUSH2", + "value": "0x2CFB" + }, + "11507": { + "op": "JUMPI" + }, + "11508": { + "op": "PUSH2", + "value": "0x2CFB" + }, + "11511": { + "op": "PUSH2", + "value": "0x2CD6" + }, + "11514": { + "jump": "i", + "op": "JUMP" + }, + "11515": { + "op": "JUMPDEST" + }, + "11516": { + "op": "POP" + }, + "11517": { + "op": "DIV" + }, + "11518": { + "op": "SWAP1" + }, + "11519": { + "jump": "o", + "op": "JUMP" + }, + "11520": { + "op": "JUMPDEST" + }, + "11521": { + "op": "PUSH1", + "value": "0x0" + }, + "11523": { + "op": "DUP3" + }, + "11524": { + "op": "PUSH2", + "value": "0x2D0F" + }, + "11527": { + "op": "JUMPI" + }, + "11528": { + "op": "PUSH2", + "value": "0x2D0F" + }, + "11531": { + "op": "PUSH2", + "value": "0x2CD6" + }, + "11534": { + "jump": "i", + "op": "JUMP" + }, + "11535": { + "op": "JUMPDEST" + }, + "11536": { + "op": "POP" + }, + "11537": { + "op": "MOD" + }, + "11538": { + "op": "SWAP1" + }, + "11539": { + "jump": "o", + "op": "JUMP" + }, + "11540": { + "op": "JUMPDEST" + }, + "11541": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "11546": { + "op": "PUSH1", + "value": "0xE0" + }, + "11548": { + "op": "SHL" + }, + "11549": { + "op": "PUSH1", + "value": "0x0" + }, + "11551": { + "op": "MSTORE" + }, + "11552": { + "op": "PUSH1", + "value": "0x32" + }, + "11554": { + "op": "PUSH1", + "value": "0x4" + }, + "11556": { + "op": "MSTORE" + }, + "11557": { + "op": "PUSH1", + "value": "0x24" + }, + "11559": { + "op": "PUSH1", + "value": "0x0" + }, + "11561": { + "op": "REVERT" + }, + "11562": { + "op": "JUMPDEST" + }, + "11563": { + "op": "PUSH1", + "value": "0x0" + }, + "11565": { + "op": "DUP2" + }, + "11566": { + "op": "PUSH1", + "value": "0x0" + }, + "11568": { + "op": "NOT" + }, + "11569": { + "op": "DIV" + }, + "11570": { + "op": "DUP4" + }, + "11571": { + "op": "GT" + }, + "11572": { + "op": "DUP3" + }, + "11573": { + "op": "ISZERO" + }, + "11574": { + "op": "ISZERO" + }, + "11575": { + "op": "AND" + }, + "11576": { + "op": "ISZERO" + }, + "11577": { + "op": "PUSH2", + "value": "0x2D44" + }, + "11580": { + "op": "JUMPI" + }, + "11581": { + "op": "PUSH2", + "value": "0x2D44" + }, + "11584": { + "op": "PUSH2", + "value": "0x2C03" + }, + "11587": { + "jump": "i", + "op": "JUMP" + }, + "11588": { + "op": "JUMPDEST" + }, + "11589": { + "op": "POP" + }, + "11590": { + "op": "MUL" + }, + "11591": { + "op": "SWAP1" + }, + "11592": { + "jump": "o", + "op": "JUMP" + }, + "11593": { + "op": "JUMPDEST" + }, + "11594": { + "op": "PUSH1", + "value": "0x1F" + }, + "11596": { + "op": "DUP3" + }, + "11597": { + "op": "GT" + }, + "11598": { + "op": "ISZERO" + }, + "11599": { + "op": "PUSH2", + "value": "0xA07" + }, + "11602": { + "op": "JUMPI" + }, + "11603": { + "op": "PUSH1", + "value": "0x0" + }, + "11605": { + "op": "DUP2" + }, + "11606": { + "op": "DUP2" + }, + "11607": { + "op": "MSTORE" + }, + "11608": { + "op": "PUSH1", + "value": "0x20" + }, + "11610": { + "op": "DUP2" + }, + "11611": { + "op": "KECCAK256" + }, + "11612": { + "op": "PUSH1", + "value": "0x1F" + }, + "11614": { + "op": "DUP6" + }, + "11615": { + "op": "ADD" + }, + "11616": { + "op": "PUSH1", + "value": "0x5" + }, + "11618": { + "op": "SHR" + }, + "11619": { + "op": "DUP2" + }, + "11620": { + "op": "ADD" + }, + "11621": { + "op": "PUSH1", + "value": "0x20" + }, + "11623": { + "op": "DUP7" + }, + "11624": { + "op": "LT" + }, + "11625": { + "op": "ISZERO" + }, + "11626": { + "op": "PUSH2", + "value": "0x2D70" + }, + "11629": { + "op": "JUMPI" + }, + "11630": { + "op": "POP" + }, + "11631": { + "op": "DUP1" + }, + "11632": { + "op": "JUMPDEST" + }, + "11633": { + "op": "PUSH1", + "value": "0x1F" + }, + "11635": { + "op": "DUP6" + }, + "11636": { + "op": "ADD" + }, + "11637": { + "op": "PUSH1", + "value": "0x5" + }, + "11639": { + "op": "SHR" + }, + "11640": { + "op": "DUP3" + }, + "11641": { + "op": "ADD" + }, + "11642": { + "op": "SWAP2" + }, + "11643": { + "op": "POP" + }, + "11644": { + "op": "JUMPDEST" + }, + "11645": { + "op": "DUP2" + }, + "11646": { + "op": "DUP2" + }, + "11647": { + "op": "LT" + }, + "11648": { + "op": "ISZERO" + }, + "11649": { + "op": "PUSH2", + "value": "0x2D8F" + }, + "11652": { + "op": "JUMPI" + }, + "11653": { + "op": "DUP3" + }, + "11654": { + "op": "DUP2" + }, + "11655": { + "op": "SSTORE" + }, + "11656": { + "op": "PUSH1", + "value": "0x1" + }, + "11658": { + "op": "ADD" + }, + "11659": { + "op": "PUSH2", + "value": "0x2D7C" + }, + "11662": { + "op": "JUMP" + }, + "11663": { + "op": "JUMPDEST" + }, + "11664": { + "op": "POP" + }, + "11665": { + "op": "POP" + }, + "11666": { + "op": "POP" + }, + "11667": { + "op": "POP" + }, + "11668": { + "op": "POP" + }, + "11669": { + "op": "POP" + }, + "11670": { + "jump": "o", + "op": "JUMP" + }, + "11671": { + "op": "JUMPDEST" + }, + "11672": { + "op": "DUP2" + }, + "11673": { + "op": "MLOAD" + }, + "11674": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "11683": { + "op": "DUP2" + }, + "11684": { + "op": "GT" + }, + "11685": { + "op": "ISZERO" + }, + "11686": { + "op": "PUSH2", + "value": "0x2DB1" + }, + "11689": { + "op": "JUMPI" + }, + "11690": { + "op": "PUSH2", + "value": "0x2DB1" + }, + "11693": { + "op": "PUSH2", + "value": "0x27D0" + }, + "11696": { + "jump": "i", + "op": "JUMP" + }, + "11697": { + "op": "JUMPDEST" + }, + "11698": { + "op": "PUSH2", + "value": "0x2DC5" + }, + "11701": { + "op": "DUP2" + }, + "11702": { + "op": "PUSH2", + "value": "0x2DBF" + }, + "11705": { + "op": "DUP5" + }, + "11706": { + "op": "SLOAD" + }, + "11707": { + "op": "PUSH2", + "value": "0x2BC9" + }, + "11710": { + "jump": "i", + "op": "JUMP" + }, + "11711": { + "op": "JUMPDEST" + }, + "11712": { + "op": "DUP5" + }, + "11713": { + "op": "PUSH2", + "value": "0x2D49" + }, + "11716": { + "jump": "i", + "op": "JUMP" + }, + "11717": { + "op": "JUMPDEST" + }, + "11718": { + "op": "PUSH1", + "value": "0x20" + }, + "11720": { + "op": "DUP1" + }, + "11721": { + "op": "PUSH1", + "value": "0x1F" + }, + "11723": { + "op": "DUP4" + }, + "11724": { + "op": "GT" + }, + "11725": { + "op": "PUSH1", + "value": "0x1" + }, + "11727": { + "op": "DUP2" + }, + "11728": { + "op": "EQ" + }, + "11729": { + "op": "PUSH2", + "value": "0x2DFA" + }, + "11732": { + "op": "JUMPI" + }, + "11733": { + "op": "PUSH1", + "value": "0x0" + }, + "11735": { + "op": "DUP5" + }, + "11736": { + "op": "ISZERO" + }, + "11737": { + "op": "PUSH2", + "value": "0x2DE2" + }, + "11740": { + "op": "JUMPI" + }, + "11741": { + "op": "POP" + }, + "11742": { + "op": "DUP6" + }, + "11743": { + "op": "DUP4" + }, + "11744": { + "op": "ADD" + }, + "11745": { + "op": "MLOAD" + }, + "11746": { + "op": "JUMPDEST" + }, + "11747": { + "op": "PUSH1", + "value": "0x0" + }, + "11749": { + "op": "NOT" + }, + "11750": { + "op": "PUSH1", + "value": "0x3" + }, + "11752": { + "op": "DUP7" + }, + "11753": { + "op": "SWAP1" + }, + "11754": { + "op": "SHL" + }, + "11755": { + "op": "SHR" + }, + "11756": { + "op": "NOT" + }, + "11757": { + "op": "AND" + }, + "11758": { + "op": "PUSH1", + "value": "0x1" + }, + "11760": { + "op": "DUP6" + }, + "11761": { + "op": "SWAP1" + }, + "11762": { + "op": "SHL" + }, + "11763": { + "op": "OR" + }, + "11764": { + "op": "DUP6" + }, + "11765": { + "op": "SSTORE" + }, + "11766": { + "op": "PUSH2", + "value": "0x2D8F" + }, + "11769": { + "op": "JUMP" + }, + "11770": { + "op": "JUMPDEST" + }, + "11771": { + "op": "PUSH1", + "value": "0x0" + }, + "11773": { + "op": "DUP6" + }, + "11774": { + "op": "DUP2" + }, + "11775": { + "op": "MSTORE" + }, + "11776": { + "op": "PUSH1", + "value": "0x20" + }, + "11778": { + "op": "DUP2" + }, + "11779": { + "op": "KECCAK256" + }, + "11780": { + "op": "PUSH1", + "value": "0x1F" + }, + "11782": { + "op": "NOT" + }, + "11783": { + "op": "DUP7" + }, + "11784": { + "op": "AND" + }, + "11785": { + "op": "SWAP2" + }, + "11786": { + "op": "JUMPDEST" + }, + "11787": { + "op": "DUP3" + }, + "11788": { + "op": "DUP2" + }, + "11789": { + "op": "LT" + }, + "11790": { + "op": "ISZERO" + }, + "11791": { + "op": "PUSH2", + "value": "0x2E29" + }, + "11794": { + "op": "JUMPI" + }, + "11795": { + "op": "DUP9" + }, + "11796": { + "op": "DUP7" + }, + "11797": { + "op": "ADD" + }, + "11798": { + "op": "MLOAD" + }, + "11799": { + "op": "DUP3" + }, + "11800": { + "op": "SSTORE" + }, + "11801": { + "op": "SWAP5" + }, + "11802": { + "op": "DUP5" + }, + "11803": { + "op": "ADD" + }, + "11804": { + "op": "SWAP5" + }, + "11805": { + "op": "PUSH1", + "value": "0x1" + }, + "11807": { + "op": "SWAP1" + }, + "11808": { + "op": "SWAP2" + }, + "11809": { + "op": "ADD" + }, + "11810": { + "op": "SWAP1" + }, + "11811": { + "op": "DUP5" + }, + "11812": { + "op": "ADD" + }, + "11813": { + "op": "PUSH2", + "value": "0x2E0A" + }, + "11816": { + "op": "JUMP" + }, + "11817": { + "op": "JUMPDEST" + }, + "11818": { + "op": "POP" + }, + "11819": { + "op": "DUP6" + }, + "11820": { + "op": "DUP3" + }, + "11821": { + "op": "LT" + }, + "11822": { + "op": "ISZERO" + }, + "11823": { + "op": "PUSH2", + "value": "0x2E47" + }, + "11826": { + "op": "JUMPI" + }, + "11827": { + "op": "DUP8" + }, + "11828": { + "op": "DUP6" + }, + "11829": { + "op": "ADD" + }, + "11830": { + "op": "MLOAD" + }, + "11831": { + "op": "PUSH1", + "value": "0x0" + }, + "11833": { + "op": "NOT" + }, + "11834": { + "op": "PUSH1", + "value": "0x3" + }, + "11836": { + "op": "DUP9" + }, + "11837": { + "op": "SWAP1" + }, + "11838": { + "op": "SHL" + }, + "11839": { + "op": "PUSH1", + "value": "0xF8" + }, + "11841": { + "op": "AND" + }, + "11842": { + "op": "SHR" + }, + "11843": { + "op": "NOT" + }, + "11844": { + "op": "AND" + }, + "11845": { + "op": "DUP2" + }, + "11846": { + "op": "SSTORE" + }, + "11847": { + "op": "JUMPDEST" + }, + "11848": { + "op": "POP" + }, + "11849": { + "op": "POP" + }, + "11850": { + "op": "POP" + }, + "11851": { + "op": "POP" + }, + "11852": { + "op": "POP" + }, + "11853": { + "op": "PUSH1", + "value": "0x1" + }, + "11855": { + "op": "SWAP1" + }, + "11856": { + "op": "DUP2" + }, + "11857": { + "op": "SHL" + }, + "11858": { + "op": "ADD" + }, + "11859": { + "op": "SWAP1" + }, + "11860": { + "op": "SSTORE" + }, + "11861": { + "op": "POP" + }, + "11862": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "6b88f2fffb0e719e45e6f7b0610f3a978370d776", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n/// _____ ______ ______ ______ ______ ______ _____ \n/// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-. \n/// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\ \n/// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____- \n/// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/ \n\npragma solidity ^0.8.8;\n\nimport \"./SoulboundWithSignature.sol\";\nimport \"./IsValidWithDate.sol\";\n\n/**\n * @title Soulbound Redeemable.\n * @author Daccred.\n * @dev An instance of the Soulbound token with capped supply\n * and tokens having their own individual expiry date.\n * Tokens are minted to and are pendng until receivers\n * pay to receive their complete token.\n */\ncontract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature {\n /// @dev Total sales of tokens [Total tokens paid for].\n uint256 private totalSales;\n /// @dev Total revenue from sales.\n uint256 private totalRevenue;\n /// @dev Price Limit [in eth] set by deploying contract.\n uint256 private priceLimit;\n /// @dev Price of individual tokens, set by deployer.\n uint256 private tokenPrice;\n /// @dev Pending token receivals.\n mapping(uint256 => bool) private pending;\n /// @dev Pending address to receive tokens.\n mapping(uint256 => address) private pendingReceivers;\n /// @dev Tax for token redemptions.\n /// 15 represents 1.5% of total sales.\n uint256 private tax = 15;\n /// @dev ReEntrancy Lock.\n bool private locked;\n\n /// @dev Emitted when a token is redeemed.\n event Redeemed(uint256 indexed tokenId, uint256 indexed extension);\n\n /// @dev Deploy the SoulboundWithSignature with set\n /// total supply, priceLimit and price of an individual token.\n constructor(\n string memory name,\n string memory symbol,\n address _allowlistOwner,\n uint256 _totalSupply,\n uint256 _priceLimit,\n uint256 _tokenPrice\n ) SoulboundWithSignature(name, symbol, _allowlistOwner, _totalSupply) {\n /// @dev Ensure that limit is higher or equal to individual token price.\n require(_tokenPrice <= _priceLimit, \"Price higher than limit.\");\n /// @dev Set priceLimit.\n priceLimit = _priceLimit;\n /// @dev Set individual token price.\n tokenPrice = _tokenPrice;\n }\n\n /// @dev Receive function.\n receive() external payable {}\n\n /// @dev Fallback function.\n fallback() external payable {}\n\n /**\n * @dev Protect against Re-Entrancy.\n */\n modifier nonReentrant() {\n require(!locked);\n locked = true;\n _;\n locked = false;\n }\n\n /**\n * @dev Return the price of one token, set by the deployer.\n *\n * @notice Callable by anyone.\n *\n * @return _tokenPrice Price of a single token.\n */\n function getIndividualTokenPrice()\n public\n view\n returns (uint256 _tokenPrice)\n {\n _tokenPrice = tokenPrice;\n }\n\n /**\n * @dev Return the highest possible price for a token.\n *\n * @notice Callable by anyone.\n *\n * @return _priceLimit Highest possible price.\n */\n function getPriceLimit() public view returns (uint256 _priceLimit) {\n _priceLimit = priceLimit;\n }\n\n /**\n * @dev Allows `caller` to set `_price` as price of one token.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer]\n * and the allowlistOwner.\n *\n * @param caller AllowlistOwner.\n * @param _price New price.\n */\n function setPrice(address caller, uint256 _price)\n public\n onlyOwner\n onlyAllowlistOwner(caller)\n {\n /// @dev Ensure that the price passed isn't more than the price limit.\n require(_price <= getPriceLimit(), \"Price higher than limit.\");\n /// @dev Set price.\n tokenPrice = _price;\n }\n\n /**\n * @dev Mints a pending soulbound token to `to`.\n * Pending tokens are minted and the receiver pays\n * to receive and completely mint them.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer]\n * and the allowlistOwner.\n *\n * @param from Allowlist owner.\n * @param to Receiver.\n * @param tokenId Id of token to be minted.\n * @param _tokenExpiryDate Set expiry date from the deployer.\n */\n function mintPendingRedeemableToken(\n address from,\n address to,\n uint256 tokenId,\n uint256 _tokenExpiryDate\n ) public onlyOwner onlyAllowlistOwner(from) {\n /// @dev Ensure that the supply is not crossed.\n /// @dev Should all soulbound tokens need to be limited,\n /// copy this code and paste in Soulboundcore.sol\n /// issueWithSignature function.\n require(supply < totalSupply, \"Issue Cap Reached.\");\n /// @dev Require `to` is not a zero address.\n require(to != address(0), \"Mint to zero address.\");\n /// @dev Require the token does not exist already.\n require(!_exists(tokenId), \"Mint of already existing token.\");\n /// @dev Require that the token is not on the pending list.\n require(!pending[tokenId], \"Mint of already pending token.\");\n /// @dev Set the token's pending state to true.\n pending[tokenId] = true;\n /// @dev Set the pending receiver of the token to `to`.\n pendingReceivers[tokenId] = to;\n /// @dev Set a new expiry date for the token.\n extendExpiry(tokenId, _tokenExpiryDate);\n /// @dev Increment supply.\n supply++;\n }\n\n /**\n * @dev Allows the `_receiver` to pay the price of one token to\n * fully mint the pending token.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer].\n *\n * @param _receiver Receiver of the token.\n * @param tokenId Pending tokenId for the receiver.\n */\n function payToReceiveToken(address _receiver, uint256 tokenId)\n public\n payable\n onlyOwner\n nonReentrant\n {\n /// @dev Require that the receiver is not a zero address.\n require(_receiver != address(0), \"Mint to zero address.\");\n /// @dev Require that the token does not exist yet.\n require(!_exists(tokenId), \"Mint of already existing token.\");\n /// @dev Require that the token is indeed pending.\n require(pending[tokenId], \"Already received token.\");\n /// @dev Require that the expected receiver of pending\n /// token is the `_receiver`.\n require(\n pendingReceivers[tokenId] == _receiver,\n \"Not pending receiver.\"\n );\n /// @dev Require that the token has not expired already.\n require(isValid(tokenId), \"Receival of expired token, redeem token.\");\n /// @dev Require that the amount sent is GTE the price of one token.\n require(msg.value >= tokenPrice, \"Price lower than token cost.\");\n /// @dev Initialize balance.\n uint256 balance;\n\n /// @dev If the amount sent is bigger than the price of one token.\n if (msg.value > tokenPrice) {\n /// @dev Calculate the balance of the `_receiver`.\n balance = msg.value - tokenPrice;\n /// @dev Pay the `_receiver` his balance.\n payable(_receiver).transfer(balance);\n }\n\n /// @dev Generate tokenURI.\n string memory _tokenURI = generateTokenURI(tokenId);\n /// @dev Finally issue the token to the `_receiver`.\n issue(_receiver, tokenId, _tokenURI);\n /// @dev Increment totalSales.\n totalSales++;\n /// @dev Add to the total Revenue.\n totalRevenue += tokenPrice;\n /// @dev Set the pending token to false.\n pending[tokenId] = false;\n /// @dev Delete the pending receiver.\n delete pendingReceivers[tokenId];\n }\n\n /**\n * @dev For expired pending tokens, this function redeems them and makes\n * valid for another period of time.\n * Tokens must be expired for it to be redeemed.\n * Emits the {Redeemed} event.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer].\n *\n * @param _receiver Receiver of the token.\n * @param tokenId Pending tokenId for the receiver.\n * @param _tokenExpiryDate New expiry date for tokens.\n */\n function redeemPendingToken(\n address _receiver,\n uint256 tokenId,\n uint256 _tokenExpiryDate\n ) public payable onlyOwner nonReentrant {\n /// @dev Require _receiver is not a zero address.\n require(_receiver != address(0), \"Redemption to zero address.\");\n /// @dev Require tokenId is existent.\n require(!_exists(tokenId), \"Redemption of existing token.\");\n /// @dev Require that the token is still pending.\n require(pending[tokenId], \"Already received token.\");\n /// @dev Require that the pending receiver is the `_receiver`.\n require(\n pendingReceivers[tokenId] == _receiver,\n \"Not pending receiver.\"\n );\n /// @dev Require the token has expired.\n require(!isValid(tokenId), \"Token unexpired.\");\n /// @dev Calculate tax.\n uint256 _tax = calculateTax(tax);\n /// @dev Require that the amount sent is GTE the tax.\n require(msg.value >= _tax, \"Price lower than redemption tax.\");\n /// @dev Initiate balance.\n uint256 balance;\n\n /// @dev If the tax is not 0.\n if (_tax != 0) {\n /// @dev Calculate receiver's balance.\n balance = msg.value - _tax;\n /// @dev Pay to receiver.\n payable(_receiver).transfer(balance);\n }\n\n /// @dev Extend expiry of tokenId.\n extendExpiry(tokenId, _tokenExpiryDate);\n /// @dev Emit the Redeemed event.\n emit Redeemed(tokenId, _tokenExpiryDate);\n }\n\n /**\n * @dev For expired minted tokens, this function redeems them and makes\n * valid for another period of time.\n * Tokens must be expired for it to be redeemed.\n * Emits the {Redeemed} event.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer].\n *\n * @param _receiver Receiver of the token.\n * @param tokenId Pending tokenId for the receiver.\n * @param _tokenExpiryDate New expiry date for tokens.\n */\n function redeemMintedToken(\n address _receiver,\n uint256 tokenId,\n uint256 _tokenExpiryDate\n ) public payable onlyOwner nonReentrant {\n /// @dev Require _receiver is not a zero address.\n require(_receiver != address(0), \"Redemption to zero address.\");\n /// @dev Require tokenId is existent.\n require(_exists(tokenId), \"Redemption of non-existing token.\");\n /// @dev Require that the token is still pending.\n require(!pending[tokenId], \"Token still pending.\");\n /// @dev Require that the pending receiver is the `_receiver`.\n require(ownerOf(tokenId) == _receiver, \"Not token owner.\");\n /// @dev Require the token has expired.\n require(!isValid(tokenId), \"Token unexpired.\");\n /// @dev Calculate tax.\n uint256 _tax = calculateTax(tax);\n /// @dev Require that the amount sent is GTE the tax.\n require(msg.value >= _tax, \"Price lower than redemption tax.\");\n /// @dev Initiate balance.\n uint256 balance;\n\n /// @dev If the tax is not 0.\n if (_tax != 0) {\n /// @dev Calculate receiver's balance.\n balance = msg.value - _tax;\n /// @dev Pay to receiver.\n payable(_receiver).transfer(balance);\n }\n\n /// @dev Extend expiry of tokenId.\n extendExpiry(tokenId, _tokenExpiryDate);\n /// @dev Emit the Redeemed event.\n emit Redeemed(tokenId, _tokenExpiryDate);\n }\n\n /**\n * @dev Allows the allowlistOwner to redeem an expired pending\n * token on behalf of the tokenOwner.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer]\n * and the allowlistOwner.\n *\n * @param _caller Allowlist owner.\n * @param _receiver Address of receiver.\n * @param tokenId TokenId.\n * @param _tokenExpiryDate Days to extend the token.\n * @param hash Hash of message.\n * @param sig Signature.\n */\n function redeemPendingTokenWithSignature(\n address _caller,\n address _receiver,\n uint256 tokenId,\n uint256 _tokenExpiryDate,\n bytes32 hash,\n bytes memory sig\n ) public payable onlyOwner onlyAllowlistOwner(_caller) nonReentrant {\n /// @dev Require that the signer is the allowlistowner.\n require(verifySignature(hash, sig), \"Hash not signed by you.\");\n /// @dev RedeemToken.\n redeemPendingToken(_receiver, tokenId, _tokenExpiryDate);\n }\n\n /**\n * @dev Allows the allowlistOwner to redeem an expired minted\n * token on behalf of the tokenOwner.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer]\n * and the allowlistOwner.\n *\n * @param _caller Allowlist owner.\n * @param _receiver Address of receiver.\n * @param tokenId TokenId.\n * @param _tokenExpiryDate Days to extend the token.\n * @param hash Hash of message.\n * @param sig Signature.\n */\n function redeemMintedTokenWithSignature(\n address _caller,\n address _receiver,\n uint256 tokenId,\n uint256 _tokenExpiryDate,\n bytes32 hash,\n bytes memory sig\n ) public payable onlyOwner onlyAllowlistOwner(_caller) nonReentrant {\n /// @dev Require that the signer is the allowlistowner.\n require(verifySignature(hash, sig), \"Hash not signed by you.\");\n /// @dev RedeemToken.\n redeemMintedToken(_receiver, tokenId, _tokenExpiryDate);\n }\n\n /**\n * @dev Allows the allowlistowner to withdraw his funds to his wallet.\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer]\n * and the allowlistOwner.\n *\n * @param _caller Address of allowlistowner.\n */\n function withdraw(address _caller)\n public\n onlyOwner\n onlyAllowlistOwner(_caller)\n {\n /// @dev Require that the allowlistowner is not a zero address.\n require(_caller != address(0), \"Sending to zero address.\");\n /// @dev Require that the balance of this contract is GTE the totalRevenue.\n require(\n address(this).balance >= totalRevenue,\n \"Revenue != Contract balance.\"\n );\n /// @dev Pay the totalRevenue to the allowlistowner.\n payable(_caller).transfer(totalRevenue);\n /// @dev Set the totalRevenue to 0.\n totalRevenue = 0;\n }\n\n /**\n * @dev Calculates the tax off the totalSales.\n *\n * @param _tax Percentage tax.\n *\n * @return __tax Tax calculated.\n */\n function calculateTax(uint256 _tax) private view returns (uint256 __tax) {\n /// Grant free tax if the total revenue of the contract is\n /// in range of 0 - 500 gwei.\n if (totalRevenue >= 0 && totalRevenue < 500 gwei) {\n /// @dev Set tax to 0.\n _tax = 0;\n }\n\n /// Else simply calculate tax on total revenue.\n __tax = (_tax * totalRevenue * 10) / 1000;\n }\n}\n", + "sourceMap": "826:14955:39:-:0;;;1558:2;1536:24;;1876:572;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2096:4;2102:6;2110:15;2127:12;2096:4;2102:6;2110:15;2127:12;2110:15;2096:4;2102:6;2096:4;2102:6;4395:5:41;:13;2096:4:39;4395:5:41;:13;:::i;:::-;-1:-1:-1;4418:7:41;:17;4428:7;4418;:17;:::i;:::-;;4329:113;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;:32::i;:::-;-1:-1:-1;;;;;;;1710:29:14;;1702:58;;;;-1:-1:-1;;;1702:58:14;;4747:2:43;1702:58:14;;;4729:21:43;4786:2;4766:18;;;4759:30;-1:-1:-1;;;4805:18:43;;;4798:46;4861:18;;1702:58:14;;;;;;;;;1810:14;:32;;-1:-1:-1;;;;;;1810:32:14;-1:-1:-1;;;;;1810:32:14;;;;;;;;;;-1:-1:-1;2045:17:38;;;2041:122:::2;;2092:3;2078:11;:17:::0;2041:122:::2;;;2126:11;:26:::0;;;2041:122:::2;1841:328:::0;;;;445:200:40;;;;2255:11:39::1;2240;:26;;2232:63;;;::::0;-1:-1:-1;;;2232:63:39;;5092:2:43;2232:63:39::1;::::0;::::1;5074:21:43::0;5131:2;5111:18;;;5104:30;5170:26;5150:18;;;5143:54;5214:18;;2232:63:39::1;4890:348:43::0;2232:63:39::1;2338:10;:24:::0;;;;2417:10:::1;:24:::0;-1:-1:-1;826:14955:39;;-1:-1:-1;;;826:14955:39;640:96:5;719:10;;640:96::o;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;14:127:43:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:915::-;1171:6;1179;1187;1195;1203;1211;1264:3;1252:9;1243:7;1239:23;1235:33;1232:53;;;1281:1;1278;1271:12;1232:53;1308:16;;-1:-1:-1;;;;;1373:14:43;;;1370:34;;;1400:1;1397;1390:12;1370:34;1423:61;1476:7;1467:6;1456:9;1452:22;1423:61;:::i;:::-;1413:71;;1530:2;1519:9;1515:18;1509:25;1493:41;;1559:2;1549:8;1546:16;1543:36;;;1575:1;1572;1565:12;1543:36;;1598:63;1653:7;1642:8;1631:9;1627:24;1598:63;:::i;:::-;1704:2;1689:18;;1683:25;1588:73;;-1:-1:-1;1683:25:43;-1:-1:-1;;;;;;1737:31:43;;1727:42;;1717:70;;1783:1;1780;1773:12;1717:70;1806:5;1796:15;;;1851:2;1840:9;1836:18;1830:25;1820:35;;1895:3;1884:9;1880:19;1874:26;1864:36;;1940:3;1929:9;1925:19;1919:26;1909:36;;1036:915;;;;;;;;:::o;1956:380::-;2035:1;2031:12;;;;2078;;;2099:61;;2153:4;2145:6;2141:17;2131:27;;2099:61;2206:2;2198:6;2195:14;2175:18;2172:38;2169:161;;2252:10;2247:3;2243:20;2240:1;2233:31;2287:4;2284:1;2277:15;2315:4;2312:1;2305:15;2169:161;;1956:380;;;:::o;2467:545::-;2569:2;2564:3;2561:11;2558:448;;;2605:1;2630:5;2626:2;2619:17;2675:4;2671:2;2661:19;2745:2;2733:10;2729:19;2726:1;2722:27;2716:4;2712:38;2781:4;2769:10;2766:20;2763:47;;;-1:-1:-1;2804:4:43;2763:47;2859:2;2854:3;2850:12;2847:1;2843:20;2837:4;2833:31;2823:41;;2914:82;2932:2;2925:5;2922:13;2914:82;;;2977:17;;;2958:1;2947:13;2914:82;;;2918:3;;;2558:448;2467:545;;;:::o;3188:1352::-;3308:10;;-1:-1:-1;;;;;3330:30:43;;3327:56;;;3363:18;;:::i;:::-;3392:97;3482:6;3442:38;3474:4;3468:11;3442:38;:::i;:::-;3436:4;3392:97;:::i;:::-;3544:4;;3608:2;3597:14;;3625:1;3620:663;;;;4327:1;4344:6;4341:89;;;-1:-1:-1;4396:19:43;;;4390:26;4341:89;-1:-1:-1;;3145:1:43;3141:11;;;3137:24;3133:29;3123:40;3169:1;3165:11;;;3120:57;4443:81;;3590:944;;3620:663;2414:1;2407:14;;;2451:4;2438:18;;-1:-1:-1;;3656:20:43;;;3774:236;3788:7;3785:1;3782:14;3774:236;;;3877:19;;;3871:26;3856:42;;3969:27;;;;3937:1;3925:14;;;;3804:19;;3774:236;;;3778:3;4038:6;4029:7;4026:19;4023:201;;;4099:19;;;4093:26;-1:-1:-1;;4182:1:43;4178:14;;;4194:3;4174:24;4170:37;4166:42;4151:58;4136:74;;4023:201;-1:-1:-1;;;;;4270:1:43;4254:14;;;4250:22;4237:36;;-1:-1:-1;3188:1352:43:o;4890:348::-;826:14955:39;;;;;;", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/SoulboundWithSignature.json b/tests/build/contracts/SoulboundWithSignature.json new file mode 100644 index 0000000..ba8d51c --- /dev/null +++ b/tests/build/contracts/SoulboundWithSignature.json @@ -0,0 +1,29671 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address", + "name": "_allowlistOwner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_totalSupply", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Unsigned", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Attest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "IssueWithSignature", + "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": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Revoke", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "RevokeWithSignature", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Signed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "Verified", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "addressHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bool", + "name": "result", + "type": "bool" + } + ], + "name": "VerifySignature", + "type": "event" + }, + { + "inputs": [], + "name": "_getBaseURI", + "outputs": [ + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "generateTokenURI", + "outputs": [ + { + "internalType": "string", + "name": "_tokenURI", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllowlistOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "isMinted", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + } + ], + "name": "issueWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "issuerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "tokenURI", + "type": "string" + } + ], + "name": "ownerIssueWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerRevokeWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "revokeWithSignature", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "internalType": "string", + "name": "_baseURI", + "type": "string" + } + ], + "name": "setBaseURI", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "sig", + "type": "bytes" + } + ], + "name": "verifySignature", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_signer", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "_hash", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "_signature", + "type": "bytes" + } + ], + "name": "verifySigner", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "pure", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "14": "contracts/contracts/packages/common/Allowlist.sol", + "15": "contracts/contracts/packages/common/IAllowlist.sol", + "37": "contracts/contracts/packages/soulbound/contracts/Soulbound.sol", + "38": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "40": "contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol", + "41": "contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol", + "exportedSymbols": { + "Allowlist": [ + 1120 + ], + "Context": [ + 6410 + ], + "ERC165": [ + 5549 + ], + "ERC4973": [ + 5876 + ], + "IAllowlist": [ + 1161 + ], + "IERC165": [ + 5528 + ], + "IERC4973": [ + 5605 + ], + "IERC721Metadata": [ + 5567 + ], + "ISoulbond": [ + 5970 + ], + "Ownable": [ + 6075 + ], + "Soulbound": [ + 4383 + ], + "SoulboundCore": [ + 4708 + ], + "SoulboundWithSignature": [ + 5516 + ] + }, + "id": 5517, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5425, + "literals": [ + "solidity", + "^", + "0.8", + ".8" + ], + "nodeType": "PragmaDirective", + "src": "36:23:40" + }, + { + "absolutePath": "contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol", + "file": "./SoulboundCore.sol", + "id": 5426, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 5517, + "sourceUnit": 4709, + "src": "61:29:40", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 5428, + "name": "SoulboundCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4708, + "src": "366:13:40" + }, + "id": 5429, + "nodeType": "InheritanceSpecifier", + "src": "366:13:40" + } + ], + "canonicalName": "SoulboundWithSignature", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5427, + "nodeType": "StructuredDocumentation", + "src": "92:238:40", + "text": " @title SoulboundWithSignature.\n @author Daccred.\n @dev SoulboundWithSignature contract template allows freedom of\n issuing and revoking tokens with Signature while controlling\n the totalSupply of the token." + }, + "fullyImplemented": true, + "id": 5516, + "linearizedBaseContracts": [ + 5516, + 4708, + 1120, + 4383, + 6075, + 6410, + 1161, + 5876, + 5605, + 5567, + 5549, + 5528 + ], + "name": "SoulboundWithSignature", + "nameLocation": "340:22:40", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 5447, + "nodeType": "Block", + "src": "643:2:40", + "statements": [] + }, + "documentation": { + "id": 5430, + "nodeType": "StructuredDocumentation", + "src": "386:54:40", + "text": "@dev Deploys inherited contract and sub contracts." + }, + "id": 5448, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 5441, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5432, + "src": "598:4:40", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5442, + "name": "symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5434, + "src": "604:6:40", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5443, + "name": "_allowlistOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5436, + "src": "612:15:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5444, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5438, + "src": "629:12:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 5445, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 5440, + "name": "SoulboundCore", + "nodeType": "IdentifierPath", + "referencedDeclaration": 4708, + "src": "584:13:40" + }, + "nodeType": "ModifierInvocation", + "src": "584:58:40" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5439, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5432, + "mutability": "mutable", + "name": "name", + "nameLocation": "480:4:40", + "nodeType": "VariableDeclaration", + "scope": 5448, + "src": "466:18:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5431, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "466:6:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5434, + "mutability": "mutable", + "name": "symbol", + "nameLocation": "508:6:40", + "nodeType": "VariableDeclaration", + "scope": 5448, + "src": "494:20:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5433, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "494:6:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5436, + "mutability": "mutable", + "name": "_allowlistOwner", + "nameLocation": "532:15:40", + "nodeType": "VariableDeclaration", + "scope": 5448, + "src": "524:23:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5435, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "524:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5438, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "565:12:40", + "nodeType": "VariableDeclaration", + "scope": 5448, + "src": "557:20:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5437, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "557:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "456:127:40" + }, + "returnParameters": { + "id": 5446, + "nodeType": "ParameterList", + "parameters": [], + "src": "643:0:40" + }, + "scope": 5516, + "src": "445:200:40", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5482, + "nodeType": "Block", + "src": "1648:483:40", + "statements": [ + { + "documentation": "@dev Ensure that the supply is not crossed.\n @dev Should all soulbound tokens need to be limited,\n copy this code and paste in Soulboundcore.sol\n issueWithSignature function.", + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5465, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "1905:6:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 5466, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "1914:11:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1905:20:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "49737375652043617020526561636865642e", + "id": 5468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1927:20:40", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c12f09333ab4a78ede2485ac6001e2180fc9f9af3ed199b4e198f266f939e331", + "typeString": "literal_string \"Issue Cap Reached.\"" + }, + "value": "Issue Cap Reached." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c12f09333ab4a78ede2485ac6001e2180fc9f9af3ed199b4e198f266f939e331", + "typeString": "literal_string \"Issue Cap Reached.\"" + } + ], + "id": 5464, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1897:7:40", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 5469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1897:51:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5470, + "nodeType": "ExpressionStatement", + "src": "1897:51:40" + }, + { + "documentation": "@dev Issue With Signature.", + "expression": { + "arguments": [ + { + "id": 5472, + "name": "addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5451, + "src": "2016:4:40", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5473, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5453, + "src": "2022:4:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5474, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5455, + "src": "2028:3:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5475, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5457, + "src": "2033:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5476, + "name": "tokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5459, + "src": "2042:8:40", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 5471, + "name": "issueWithSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4522, + "src": "1997:18:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,bytes32,bytes memory,uint256,string memory)" + } + }, + "id": 5477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1997:54:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5478, + "nodeType": "ExpressionStatement", + "src": "1997:54:40" + }, + { + "documentation": "@dev Incrememt supply on successful issue.", + "expression": { + "id": 5480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2116:8:40", + "subExpression": { + "id": 5479, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "2116:6:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5481, + "nodeType": "ExpressionStatement", + "src": "2116:8:40" + } + ] + }, + "documentation": { + "id": 5449, + "nodeType": "StructuredDocumentation", + "src": "651:809:40", + "text": " @dev Ref SoulboundCore.sol issueWithSignature\n This function grants the access to only the\n deployer of the contract, unlike the core\n that allows the function for anyone who has a\n signature signed by the allowlistOwner.\n This contract can be called by the deployer of the\n contract [DaccredDeployer] but is also protected\n as to the allowlistOwner must be the signer of the `sig.`\n @notice Callable by the deployer of this contract [DaccredDeployer].\n @param addr Address to be minted to.\n @param hash Hash of message signed.\n @param sig Signature.\n @param tokenId TokenId to be issued.\n @param tokenURI URI of token to be issued." + }, + "functionSelector": "ea5353c7", + "id": 5483, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5462, + "kind": "modifierInvocation", + "modifierName": { + "id": 5461, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "1638:9:40" + }, + "nodeType": "ModifierInvocation", + "src": "1638:9:40" + } + ], + "name": "ownerIssueWithSignature", + "nameLocation": "1474:23:40", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5451, + "mutability": "mutable", + "name": "addr", + "nameLocation": "1515:4:40", + "nodeType": "VariableDeclaration", + "scope": 5483, + "src": "1507:12:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5450, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1507:7:40", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5453, + "mutability": "mutable", + "name": "hash", + "nameLocation": "1537:4:40", + "nodeType": "VariableDeclaration", + "scope": 5483, + "src": "1529:12:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5452, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1529:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5455, + "mutability": "mutable", + "name": "sig", + "nameLocation": "1564:3:40", + "nodeType": "VariableDeclaration", + "scope": 5483, + "src": "1551:16:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5454, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1551:5:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5457, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1585:7:40", + "nodeType": "VariableDeclaration", + "scope": 5483, + "src": "1577:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5456, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1577:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5459, + "mutability": "mutable", + "name": "tokenURI", + "nameLocation": "1616:8:40", + "nodeType": "VariableDeclaration", + "scope": 5483, + "src": "1602:22:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5458, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1602:6:40", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1497:133:40" + }, + "returnParameters": { + "id": 5463, + "nodeType": "ParameterList", + "parameters": [], + "src": "1648:0:40" + }, + "scope": 5516, + "src": "1465:666:40", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 5514, + "nodeType": "Block", + "src": "2980:585:40", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 5497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 5495, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "3272:6:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 5496, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3282:1:40", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3272:11:40", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "documentation": "@dev If the supply control is not 0,\n decrement the supply.\n Should all soulbound tokens need to be limited,\n copy this code and paste in Soulboundcore.sol\n revokeWithSignature function.", + "falseBody": { + "id": 5506, + "nodeType": "Block", + "src": "3363:106:40", + "statements": [ + { + "documentation": "@dev Throw error if 0 is reached.", + "expression": { + "arguments": [ + { + "hexValue": "4c6f77657374206c696d697420726561636865642e", + "id": 5503, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3434:23:40", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8ac87302a63676feb48e85b628eca21ff71cfd1f76e522ddaa6e683a82fa6fa3", + "typeString": "literal_string \"Lowest limit reached.\"" + }, + "value": "Lowest limit reached." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8ac87302a63676feb48e85b628eca21ff71cfd1f76e522ddaa6e683a82fa6fa3", + "typeString": "literal_string \"Lowest limit reached.\"" + } + ], + "id": 5502, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "3427:6:40", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 5504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3427:31:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5505, + "nodeType": "ExpressionStatement", + "src": "3427:31:40" + } + ] + }, + "id": 5507, + "nodeType": "IfStatement", + "src": "3268:201:40", + "trueBody": { + "id": 5501, + "nodeType": "Block", + "src": "3285:72:40", + "statements": [ + { + "documentation": "@dev Decrement supply.", + "expression": { + "id": 5499, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": false, + "src": "3338:8:40", + "subExpression": { + "id": 5498, + "name": "supply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4401, + "src": "3338:6:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 5500, + "nodeType": "ExpressionStatement", + "src": "3338:8:40" + } + ] + } + }, + { + "documentation": "@dev Revoke With Signature.", + "expression": { + "arguments": [ + { + "id": 5509, + "name": "hash", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5486, + "src": "3539:4:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 5510, + "name": "sig", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5488, + "src": "3545:3:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 5511, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5490, + "src": "3550:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 5508, + "name": "revokeWithSignature", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4575, + "src": "3519:19:40", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes_memory_ptr_$_t_uint256_$returns$__$", + "typeString": "function (bytes32,bytes memory,uint256)" + } + }, + "id": 5512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3519:39:40", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5513, + "nodeType": "ExpressionStatement", + "src": "3519:39:40" + } + ] + }, + "documentation": { + "id": 5484, + "nodeType": "StructuredDocumentation", + "src": "2137:708:40", + "text": " @dev Ref SoulboundCore.sol revokeWithSignature\n This function grants the access to only the\n deployer of the contract, unlike the core\n that allows the function for anyone who has a\n signature signed by the allowlistOwner.\n This contract can be called by the deployer of the\n contract [DaccredDeployer] but is also protected\n as to the allowlistOwner must be the signer of the `sig.`\n @notice Callable by the deployer of this contract [DaccredDeployer].\n @param hash Hash of message signed.\n @param sig Signature.\n @param tokenId TokenId to be issued." + }, + "functionSelector": "1f04d135", + "id": 5515, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5493, + "kind": "modifierInvocation", + "modifierName": { + "id": 5492, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "2970:9:40" + }, + "nodeType": "ModifierInvocation", + "src": "2970:9:40" + } + ], + "name": "ownerRevokeWithSignature", + "nameLocation": "2859:24:40", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5491, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5486, + "mutability": "mutable", + "name": "hash", + "nameLocation": "2901:4:40", + "nodeType": "VariableDeclaration", + "scope": 5515, + "src": "2893:12:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 5485, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2893:7:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5488, + "mutability": "mutable", + "name": "sig", + "nameLocation": "2928:3:40", + "nodeType": "VariableDeclaration", + "scope": 5515, + "src": "2915:16:40", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5487, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2915:5:40", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5490, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2949:7:40", + "nodeType": "VariableDeclaration", + "scope": 5515, + "src": "2941:15:40", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5489, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2941:7:40", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2883:79:40" + }, + "returnParameters": { + "id": 5494, + "nodeType": "ParameterList", + "parameters": [], + "src": "2980:0:40" + }, + "scope": 5516, + "src": "2850:715:40", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 5517, + "src": "331:3236:40", + "usedErrors": [ + 1138 + ] + } + ], + "src": "36:3532:40" + }, + "bytecode": "60806040523480156200001157600080fd5b5060405162001ff538038062001ff5833981016040819052620000349162000235565b83838383818484818160006200004b838262000357565b5060016200005a828262000357565b50505062000077620000716200011260201b60201c565b62000116565b50506001600160a01b038116620000c75760405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b21020b2323932b9b99760811b604482015260640160405180910390fd5b600880546001600160a01b0319166001600160a01b03929092169190911790556000819003620000fe57620f424060095562000104565b60098190555b505050505050505062000423565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019057600080fd5b81516001600160401b0380821115620001ad57620001ad62000168565b604051601f8301601f19908116603f01168101908282118183101715620001d857620001d862000168565b81604052838152602092508683858801011115620001f557600080fd5b600091505b83821015620002195785820183015181830184015290820190620001fa565b838211156200022b5760008385830101525b9695505050505050565b600080600080608085870312156200024c57600080fd5b84516001600160401b03808211156200026457600080fd5b62000272888389016200017e565b955060208701519150808211156200028957600080fd5b5062000298878288016200017e565b604087015190945090506001600160a01b0381168114620002b857600080fd5b6060959095015193969295505050565b600181811c90821680620002dd57607f821691505b602082108103620002fe57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200035257600081815260208120601f850160051c810160208610156200032d5750805b601f850160051c820191505b818110156200034e5782815560010162000339565b5050505b505050565b81516001600160401b0381111562000373576200037362000168565b6200038b81620003848454620002c8565b8462000304565b602080601f831160018114620003c35760008415620003aa5750858301515b600019600386901b1c1916600185901b1785556200034e565b600085815260208120601f198616915b82811015620003f457888601518255948401946001909101908401620003d3565b5085821015620004135787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611bc280620004336000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806388433651116100b8578063c9e4c54d1161007c578063c9e4c54d146102b7578063daca6f78146102ca578063e92b0842146102dd578063ea5353c7146102f0578063f2fde38b14610303578063fb8f198d1461031657600080fd5b806388433651146102705780638da5cb5b1461028357806395d89b4114610294578063c87b56dd1461029c578063c9dd94c7146102af57600080fd5b806342966c681161010a57806342966c68146101bf5780635899e7b2146101d25780636352211e1461020b5780636e0a87461461023657806370a0823114610247578063715018a61461026857600080fd5b806301ffc9a71461014757806306fdde031461016f57806308c92e57146101845780631f04d13514610199578063210fa96b146101ac575b600080fd5b61015a6101553660046115bf565b610329565b60405190151581526020015b60405180910390f35b61017761037b565b6040516101669190611619565b6101976101923660046116ef565b61040d565b005b6101976101a73660046116ef565b610548565b6101776101ba36600461173f565b6105e4565b6101976101cd36600461173f565b610666565b61015a6101e0366004611774565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b61021e61021936600461173f565b6106db565b6040516001600160a01b039091168152602001610166565b6008546001600160a01b031661021e565b61025a61025536600461179e565b610740565b604051908152602001610166565b6101976107c9565b61019761027e3660046117b9565b6107ff565b6005546001600160a01b031661021e565b61017761089c565b6101776102aa36600461173f565b6108ab565b6101776109a0565b6101976102c5366004611807565b6109fd565b61015a6102d836600461188f565b610b32565b61015a6102eb3660046118c0565b610b45565b6101976102fe366004611807565b610bd9565b61019761031136600461179e565b610c74565b61021e610324366004611774565b610d0c565b60006001600160e01b03198216635b5e139f60e01b148061035a57506001600160e01b03198216635164cf4760e01b145b8061037557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461038a90611917565b80601f01602080910402602001604051908101604052809291908181526020018280546103b690611917565b80156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b61041681610e20565b6104675760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104b35760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b6104bd8383610b32565b6105055760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610517610511826106db565b82610e3d565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6005546001600160a01b031633146105725760405162461bcd60e51b815260040161045e90611951565b600a541561059457600a805490600061058a8361199c565b91905055506105d4565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b604482015260640161045e565b6105df83838361040d565b505050565b60606105ee6109a0565b5160000361062e5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6106366109a0565b61063f83610f05565b6040516020016106509291906119b3565b6040516020818303038152906040529050919050565b61066f816106db565b6001600160a01b0316336001600160a01b0316146106cf5760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e6572000000000000604482015260640161045e565b6106d88161100e565b50565b6000818152600260205260408120546001600160a01b0316806103755760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e277420657869737400000000604482015260640161045e565b60006001600160a01b0382166107ad5760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b606482015260840161045e565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b031633146107f35760405162461bcd60e51b815260040161045e90611951565b6107fd60006110b5565b565b6005546001600160a01b031633146108295760405162461bcd60e51b815260040161045e90611951565b8161083c6008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146108935760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b604482015260640161045e565b6105df82611107565b60606001805461038a90611917565b60606108b682610e20565b6109025760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e2774206578697374000000604482015260640161045e565b6000828152600360205260409020805461091b90611917565b80601f016020809104026020016040519081016040528092919081815260200182805461094790611917565b80156109945780601f1061096957610100808354040283529160200191610994565b820191906000526020600020905b81548152906001019060200180831161097757829003601f168201915b50505050509050919050565b6060600680546109af90611917565b90506000036109f05760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6006805461038a90611917565b6001600160a01b038516610a4b5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b8251604114610a975760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b610aa18484610b32565b610ae95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610af4858383611159565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610b3e8383611170565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610baf573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610c035760405162461bcd60e51b815260040161045e90611951565b600954600a5410610c4b5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b604482015260640161045e565b610c5885858585856109fd565b600a8054906000610c68836119e2565b91905055505050505050565b6005546001600160a01b03163314610c9e5760405162461bcd60e51b815260040161045e90611951565b6001600160a01b038116610d035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161045e565b6106d8816110b5565b60006001600160a01b038316610d645760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e000000000000000000604482015260640161045e565b610d6d82610e20565b610daf5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610dc2836106db565b6001600160a01b031614610e185760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610e4882610e20565b610e8a5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610e9d836106db565b6001600160a01b031614610ef35760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b610efc82611316565b50600192915050565b606081600003610f2c5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610f565780610f40816119e2565b9150610f4f9050600a83611a11565b9150610f30565b60008167ffffffffffffffff811115610f7157610f7161164c565b6040519080825280601f01601f191660200182016040528015610f9b576020820181803683370190505b5090505b841561100657610fb0600183611a25565b9150610fbd600a86611a3c565b610fc8906030611a50565b60f81b818381518110610fdd57610fdd611a68565b60200101906001600160f81b031916908160001a905350610fff600a86611a11565b9450610f9f565b949350505050565b6000611019826106db565b6001600160a01b03811660009081526004602052604081208054929350600192909190611047908490611a25565b9091555050600082815260026020908152604080832080546001600160a01b03191690556003909152812061107b91611571565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036111495760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b604482015260640161045e565b60066111558282611acc565b5050565b60006111668484846113ac565b5060019392505050565b6005546000906001600160a01b0316331461119d5760405162461bcd60e51b815260040161045e90611951565b6005546001600160a01b0316331461120b5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b606482015260840161045e565b815160411461125c5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e6774680000604482015260640161045e565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa1580156112c0573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61131f81610e20565b61136b5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e0000000000000000604482015260640161045e565b6000611376826106db565b90506113818261100e565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b0383166113fa5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b805160000361143d5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b604482015260640161045e565b61144883838361147a565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061148583610e20565b156114c95760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b604482015260640161045e565b6001600160a01b03841660009081526004602052604081208054600192906114f2908490611a50565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206115328382611acc565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461157d90611917565b6000825580601f1061158d575050565b601f0160209004906000526020600020908101906106d891905b808211156115bb57600081556001016115a7565b5090565b6000602082840312156115d157600080fd5b81356001600160e01b031981168114610b3e57600080fd5b60005b838110156116045781810151838201526020016115ec565b83811115611613576000848401525b50505050565b60208152600082518060208401526116388160408501602087016115e9565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261167357600080fd5b813567ffffffffffffffff8082111561168e5761168e61164c565b604051601f8301601f19908116603f011681019082821181831017156116b6576116b661164c565b816040528381528660208588010111156116cf57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561170457600080fd5b83359250602084013567ffffffffffffffff81111561172257600080fd5b61172e86828701611662565b925050604084013590509250925092565b60006020828403121561175157600080fd5b5035919050565b80356001600160a01b038116811461176f57600080fd5b919050565b6000806040838503121561178757600080fd5b61179083611758565b946020939093013593505050565b6000602082840312156117b057600080fd5b610b3e82611758565b600080604083850312156117cc57600080fd5b6117d583611758565b9150602083013567ffffffffffffffff8111156117f157600080fd5b6117fd85828601611662565b9150509250929050565b600080600080600060a0868803121561181f57600080fd5b61182886611758565b945060208601359350604086013567ffffffffffffffff8082111561184c57600080fd5b61185889838a01611662565b945060608801359350608088013591508082111561187557600080fd5b5061188288828901611662565b9150509295509295909350565b600080604083850312156118a257600080fd5b82359150602083013567ffffffffffffffff8111156117f157600080fd5b6000806000606084860312156118d557600080fd5b6118de84611758565b925060208401359150604084013567ffffffffffffffff81111561190157600080fd5b61190d86828701611662565b9150509250925092565b600181811c9082168061192b57607f821691505b60208210810361194b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816119ab576119ab611986565b506000190190565b600083516119c58184602088016115e9565b8351908301906119d98183602088016115e9565b01949350505050565b6000600182016119f4576119f4611986565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611a2057611a206119fb565b500490565b600082821015611a3757611a37611986565b500390565b600082611a4b57611a4b6119fb565b500690565b60008219821115611a6357611a63611986565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156105df57600081815260208120601f850160051c81016020861015611aa55750805b601f850160051c820191505b81811015611ac457828155600101611ab1565b505050505050565b815167ffffffffffffffff811115611ae657611ae661164c565b611afa81611af48454611917565b84611a7e565b602080601f831160018114611b2f5760008415611b175750858301515b600019600386901b1c1916600185901b178555611ac4565b600085815260208120601f198616915b82811015611b5e57888601518255948401946001909101908401611b3f565b5085821015611b7c5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b1ceaa4c757b20410497822c8f13d0bec45391587c052ebd71ae5059a9d86a0d64736f6c634300080f0033", + "bytecodeSha1": "2bc40e57320a49569442760b8f5ca6efabc2794d", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "SoulboundWithSignature", + "coverageMap": { + "branches": { + "0": { + "Ownable.transferOwnership": { + "92": [ + 2006, + 2028, + true + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "86": [ + 3897, + 3920, + true + ], + "87": [ + 4067, + 4083, + true + ] + } + }, + "15": {}, + "37": { + "Soulbound._getBaseURI": { + "93": [ + 7561, + 7587, + true + ] + }, + "Soulbound._setBaseURI": { + "99": [ + 7152, + 7179, + true + ] + }, + "Soulbound.burnSoulboundToken": { + "100": [ + 6564, + 6580, + true + ] + }, + "Soulbound.issuerOf": { + "94": [ + 4479, + 4496, + true + ], + "95": [ + 4581, + 4598, + true + ], + "96": [ + 4691, + 4715, + true + ] + }, + "Soulbound.mintSoulboundToken": { + "101": [ + 5816, + 5832, + true + ], + "102": [ + 5998, + 6025, + true + ] + }, + "Soulbound.revoke": { + "97": [ + 3468, + 3485, + true + ], + "98": [ + 3580, + 3606, + true + ] + } + }, + "38": { + "Allowlist.getAllowlistOwner": { + "107": [ + 1693, + 1723, + true + ] + }, + "SoulboundCore.generateTokenURI": { + "106": [ + 6334, + 6366, + true + ] + }, + "SoulboundCore.issueWithSignature": { + "108": [ + 3058, + 3076, + true + ], + "109": [ + 3337, + 3353, + true + ], + "110": [ + 3509, + 3535, + true + ] + }, + "SoulboundCore.revokeWithSignature": { + "103": [ + 4455, + 4471, + true + ], + "104": [ + 4738, + 4754, + true + ], + "105": [ + 4910, + 4936, + true + ] + }, + "SoulboundCore.toString": { + "111": [ + 6933, + 6943, + false + ] + } + }, + "40": { + "SoulboundWithSignature.ownerIssueWithSignature": { + "85": [ + 1905, + 1925, + true + ] + }, + "SoulboundWithSignature.ownerRevokeWithSignature": { + "84": [ + 3272, + 3283, + false + ] + } + }, + "41": { + "ERC4973._mint": { + "91": [ + 6201, + 6218, + true + ] + }, + "ERC4973.balanceOf": { + "89": [ + 5570, + 5589, + true + ] + }, + "ERC4973.burn": { + "88": [ + 5316, + 5346, + true + ] + }, + "ERC4973.tokenURI": { + "90": [ + 5144, + 5160, + true + ] + } + }, + "5": {} + }, + "statements": { + "0": { + "Ownable._transferOwnership": { + "61": [ + 2378, + 2395 + ], + "62": [ + 2405, + 2450 + ] + }, + "Ownable.owner": { + "2": [ + 1101, + 1114 + ] + }, + "Ownable.renounceOwnership": { + "22": [ + 1732, + 1762 + ] + }, + "Ownable.transferOwnership": { + "39": [ + 1998, + 2071 + ], + "40": [ + 2081, + 2109 + ] + } + }, + "14": { + "Allowlist._verifySignature": { + "67": [ + 3876, + 3989 + ], + "68": [ + 4059, + 4118 + ], + "69": [ + 4545, + 4595 + ], + "70": [ + 4641, + 4670 + ] + }, + "Allowlist.getAllowlistOwner": { + "1": [ + 2240, + 2261 + ] + }, + "Allowlist.verifySignature": { + "34": [ + 2604, + 2638 + ] + }, + "Allowlist.verifySigner": { + "35": [ + 5068, + 5113 + ] + } + }, + "15": {}, + "37": { + "Soulbound._getBaseURI": { + "27": [ + 7553, + 7605 + ], + "28": [ + 7648, + 7666 + ] + }, + "Soulbound._setBaseURI": { + "63": [ + 7144, + 7198 + ], + "64": [ + 7238, + 7256 + ] + }, + "Soulbound.burnSoulboundToken": { + "71": [ + 6556, + 6609 + ], + "72": [ + 6745, + 6759 + ], + "73": [ + 6816, + 6851 + ] + }, + "Soulbound.isMinted": { + "0": [ + 5339, + 5366 + ] + }, + "Soulbound.issue": { + "65": [ + 2400, + 2443 + ], + "66": [ + 2483, + 2494 + ] + }, + "Soulbound.issuerOf": { + "41": [ + 4471, + 4524 + ], + "42": [ + 4573, + 4622 + ], + "43": [ + 4683, + 4746 + ], + "44": [ + 4795, + 4815 + ] + }, + "Soulbound.mintSoulboundToken": { + "74": [ + 5808, + 5858 + ], + "75": [ + 5990, + 6045 + ], + "76": [ + 6160, + 6188 + ], + "77": [ + 6244, + 6269 + ] + }, + "Soulbound.revoke": { + "46": [ + 3460, + 3509 + ], + "47": [ + 3572, + 3637 + ], + "48": [ + 3680, + 3708 + ], + "49": [ + 3748, + 3759 + ] + } + }, + "38": { + "SoulboundCore.generateTokenURI": { + "15": [ + 6326, + 6384 + ], + "16": [ + 6444, + 6514 + ] + }, + "SoulboundCore.issueWithSignature": { + "29": [ + 3050, + 3102 + ], + "30": [ + 3329, + 3382 + ], + "31": [ + 3501, + 3565 + ], + "32": [ + 3664, + 3694 + ], + "33": [ + 3756, + 3794 + ] + }, + "SoulboundCore.revokeWithSignature": { + "6": [ + 4447, + 4503 + ], + "7": [ + 4730, + 4783 + ], + "8": [ + 4902, + 4966 + ], + "9": [ + 5065, + 5098 + ], + "10": [ + 5161, + 5194 + ] + }, + "SoulboundCore.setBaseURI": { + "23": [ + 5711, + 5732 + ] + }, + "SoulboundCore.toString": { + "50": [ + 6959, + 6969 + ], + "51": [ + 7075, + 7083 + ], + "52": [ + 7097, + 7107 + ], + "53": [ + 7209, + 7220 + ], + "54": [ + 7234, + 7290 + ], + "55": [ + 7304, + 7315 + ], + "56": [ + 7335, + 7356 + ] + } + }, + "40": { + "SoulboundWithSignature.ownerIssueWithSignature": { + "36": [ + 1897, + 1948 + ], + "37": [ + 1997, + 2051 + ], + "38": [ + 2116, + 2124 + ] + }, + "SoulboundWithSignature.ownerRevokeWithSignature": { + "12": [ + 3338, + 3346 + ], + "13": [ + 3427, + 3458 + ], + "14": [ + 3519, + 3558 + ] + } + }, + "41": { + "ERC165.supportsInterface": { + "4": [ + 1750, + 1797 + ] + }, + "ERC4973._burn": { + "57": [ + 6510, + 6531 + ], + "58": [ + 6541, + 6564 + ], + "59": [ + 6574, + 6600 + ], + "60": [ + 6611, + 6638 + ] + }, + "ERC4973._exists": { + "45": [ + 6005, + 6042 + ] + }, + "ERC4973._mint": { + "78": [ + 6193, + 6243 + ], + "79": [ + 6253, + 6271 + ], + "80": [ + 6281, + 6302 + ], + "81": [ + 6312, + 6337 + ], + "82": [ + 6347, + 6371 + ], + "83": [ + 6381, + 6395 + ] + }, + "ERC4973.balanceOf": { + "20": [ + 5549, + 5659 + ], + "21": [ + 5669, + 5692 + ] + }, + "ERC4973.burn": { + "17": [ + 5308, + 5377 + ], + "18": [ + 5387, + 5401 + ] + }, + "ERC4973.name": { + "5": [ + 4861, + 4873 + ] + }, + "ERC4973.ownerOf": { + "19": [ + 5829, + 5889 + ] + }, + "ERC4973.supportsInterface": { + "3": [ + 4593, + 4769 + ] + }, + "ERC4973.symbol": { + "24": [ + 4967, + 4981 + ] + }, + "ERC4973.tokenURI": { + "25": [ + 5136, + 5194 + ], + "26": [ + 5204, + 5230 + ] + } + }, + "5": { + "Context._msgSender": { + "11": [ + 712, + 729 + ] + } + } + } + }, + "dependencies": [ + "Allowlist", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context", + "ERC165", + "ERC4973", + "IAllowlist", + "IERC165", + "IERC4973", + "IERC721Metadata", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable", + "Soulbound", + "SoulboundCore" + ], + "deployedBytecode": "608060405234801561001057600080fd5b50600436106101425760003560e01c806388433651116100b8578063c9e4c54d1161007c578063c9e4c54d146102b7578063daca6f78146102ca578063e92b0842146102dd578063ea5353c7146102f0578063f2fde38b14610303578063fb8f198d1461031657600080fd5b806388433651146102705780638da5cb5b1461028357806395d89b4114610294578063c87b56dd1461029c578063c9dd94c7146102af57600080fd5b806342966c681161010a57806342966c68146101bf5780635899e7b2146101d25780636352211e1461020b5780636e0a87461461023657806370a0823114610247578063715018a61461026857600080fd5b806301ffc9a71461014757806306fdde031461016f57806308c92e57146101845780631f04d13514610199578063210fa96b146101ac575b600080fd5b61015a6101553660046115bf565b610329565b60405190151581526020015b60405180910390f35b61017761037b565b6040516101669190611619565b6101976101923660046116ef565b61040d565b005b6101976101a73660046116ef565b610548565b6101776101ba36600461173f565b6105e4565b6101976101cd36600461173f565b610666565b61015a6101e0366004611774565b6001600160a01b03919091166000908152600760209081526040808320938352929052205460ff1690565b61021e61021936600461173f565b6106db565b6040516001600160a01b039091168152602001610166565b6008546001600160a01b031661021e565b61025a61025536600461179e565b610740565b604051908152602001610166565b6101976107c9565b61019761027e3660046117b9565b6107ff565b6005546001600160a01b031661021e565b61017761089c565b6101776102aa36600461173f565b6108ab565b6101776109a0565b6101976102c5366004611807565b6109fd565b61015a6102d836600461188f565b610b32565b61015a6102eb3660046118c0565b610b45565b6101976102fe366004611807565b610bd9565b61019761031136600461179e565b610c74565b61021e610324366004611774565b610d0c565b60006001600160e01b03198216635b5e139f60e01b148061035a57506001600160e01b03198216635164cf4760e01b145b8061037557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461038a90611917565b80601f01602080910402602001604051908101604052809291908181526020018280546103b690611917565b80156104035780601f106103d857610100808354040283529160200191610403565b820191906000526020600020905b8154815290600101906020018083116103e657829003601f168201915b5050505050905090565b61041681610e20565b6104675760405162461bcd60e51b815260206004820152601b60248201527f5265766f6b65206f6620696e6578697374656e7420746f6b656e2e000000000060448201526064015b60405180910390fd5b81516041146104b35760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b6104bd8383610b32565b6105055760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610517610511826106db565b82610e3d565b5060405181907ff947bf2266afede98f27ad2312db8b2a17921852307f979b6f14a2b41fa774bc90600090a2505050565b6005546001600160a01b031633146105725760405162461bcd60e51b815260040161045e90611951565b600a541561059457600a805490600061058a8361199c565b91905055506105d4565b60405162461bcd60e51b81526020600482015260156024820152742637bbb2b9ba103634b6b4ba103932b0b1b432b21760591b604482015260640161045e565b6105df83838361040d565b505050565b60606105ee6109a0565b5160000361062e5760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6106366109a0565b61063f83610f05565b6040516020016106509291906119b3565b6040516020818303038152906040529050919050565b61066f816106db565b6001600160a01b0316336001600160a01b0316146106cf5760405162461bcd60e51b815260206004820152601a60248201527f6275726e3a2073656e646572206d757374206265206f776e6572000000000000604482015260640161045e565b6106d88161100e565b50565b6000818152600260205260408120546001600160a01b0316806103755760405162461bcd60e51b815260206004820152601c60248201527f6f776e65724f663a20746f6b656e20646f65736e277420657869737400000000604482015260640161045e565b60006001600160a01b0382166107ad5760405162461bcd60e51b815260206004820152602c60248201527f62616c616e63654f663a2061646472657373207a65726f206973206e6f74206160448201526b103b30b634b21037bbb732b960a11b606482015260840161045e565b506001600160a01b031660009081526004602052604090205490565b6005546001600160a01b031633146107f35760405162461bcd60e51b815260040161045e90611951565b6107fd60006110b5565b565b6005546001600160a01b031633146108295760405162461bcd60e51b815260040161045e90611951565b8161083c6008546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146108935760405162461bcd60e51b81526020600482015260146024820152734e6f7420416c6c6f776c697374204f776e65722160601b604482015260640161045e565b6105df82611107565b60606001805461038a90611917565b60606108b682610e20565b6109025760405162461bcd60e51b815260206004820152601d60248201527f746f6b656e5552493a20746f6b656e20646f65736e2774206578697374000000604482015260640161045e565b6000828152600360205260409020805461091b90611917565b80601f016020809104026020016040519081016040528092919081815260200182805461094790611917565b80156109945780601f1061096957610100808354040283529160200191610994565b820191906000526020600020905b81548152906001019060200180831161097757829003601f168201915b50505050509050919050565b6060600680546109af90611917565b90506000036109f05760405162461bcd60e51b815260206004820152600d60248201526c456d707479206261736555524960981b604482015260640161045e565b6006805461038a90611917565b6001600160a01b038516610a4b5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b8251604114610a975760405162461bcd60e51b8152602060048201526018602482015277092dcecc2d8d2c840e6d2cedcc2e8eae4ca40d8cadccee8d60431b604482015260640161045e565b610aa18484610b32565b610ae95760405162461bcd60e51b81526020600482015260196024820152782430b9b4103737ba1039b4b3b732b210313c9037bbb732b91760391b604482015260640161045e565b610af4858383611159565b5060405182906001600160a01b038716907f79af0e59b31823dd289ceebabc4d63d25f35926b8548e3a084a500c9d4e1855690600090a35050505050565b6000610b3e8383611170565b9392505050565b602081810151604080840151606080860151835160008082528188018087528a905291821a81860181905292810186905260808101849052935190959293919260019260a080820193601f1981019281900390910190855afa158015610baf573d6000803e3d6000fd5b505050602060405103516001600160a01b0316876001600160a01b03161493505050509392505050565b6005546001600160a01b03163314610c035760405162461bcd60e51b815260040161045e90611951565b600954600a5410610c4b5760405162461bcd60e51b815260206004820152601260248201527124b9b9bab29021b0b8102932b0b1b432b21760711b604482015260640161045e565b610c5885858585856109fd565b600a8054906000610c68836119e2565b91905055505050505050565b6005546001600160a01b03163314610c9e5760405162461bcd60e51b815260040161045e90611951565b6001600160a01b038116610d035760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161045e565b6106d8816110b5565b60006001600160a01b038316610d645760405162461bcd60e51b815260206004820152601760248201527f517565727920666f72207a65726f20616464726573732e000000000000000000604482015260640161045e565b610d6d82610e20565b610daf5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610dc2836106db565b6001600160a01b031614610e185760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b503092915050565b6000908152600260205260409020546001600160a01b0316151590565b6000610e4882610e20565b610e8a5760405162461bcd60e51b81526020600482015260136024820152722737b716b2bc34b9ba32b73a103a37b5b2b71760691b604482015260640161045e565b826001600160a01b0316610e9d836106db565b6001600160a01b031614610ef35760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e206e6f74206f776e65642062792061646472657373000000000000604482015260640161045e565b610efc82611316565b50600192915050565b606081600003610f2c5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610f565780610f40816119e2565b9150610f4f9050600a83611a11565b9150610f30565b60008167ffffffffffffffff811115610f7157610f7161164c565b6040519080825280601f01601f191660200182016040528015610f9b576020820181803683370190505b5090505b841561100657610fb0600183611a25565b9150610fbd600a86611a3c565b610fc8906030611a50565b60f81b818381518110610fdd57610fdd611a68565b60200101906001600160f81b031916908160001a905350610fff600a86611a11565b9450610f9f565b949350505050565b6000611019826106db565b6001600160a01b03811660009081526004602052604081208054929350600192909190611047908490611a25565b9091555050600082815260026020908152604080832080546001600160a01b03191690556003909152812061107b91611571565b60405182906001600160a01b038316907fec9ab91322523c899ede7830ec9bfc992b5981cdcc27b91162fb23de5791117b90600090a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516000036111495760405162461bcd60e51b815260206004820152600e60248201526d092dcecc2d8d2c840d8cadccee8d60931b604482015260640161045e565b60066111558282611acc565b5050565b60006111668484846113ac565b5060019392505050565b6005546000906001600160a01b0316331461119d5760405162461bcd60e51b815260040161045e90611951565b6005546001600160a01b0316331461120b5760405162461bcd60e51b815260206004820152602b60248201527f4552433732313a3a2043616c6c20746f20636f6e7472616374206d616465206260448201526a3c903737b716b7bbb732b960a91b606482015260840161045e565b815160411461125c5760405162461bcd60e51b815260206004820152601e60248201527f4572723a3a20496e76616c6964207369676e6174757265206c656e6774680000604482015260640161045e565b602082810151604080850151606080870151835160008082529681018086528a905290861a938101849052908101849052608081018290529293909260019060a0016020604051602081039080840390855afa1580156112c0573d6000803e3d6000fd5b5050604051601f198101516008549093506001600160a01b038085169116149150819089907f7e4fe2a2a805a357593fdbdde58c02f6a53d8b4960744cd31a98697fc11c2e3690600090a3979650505050505050565b61131f81610e20565b61136b5760405162461bcd60e51b815260206004820152601860248201527f4275726e206f6620696e6578697374656e7420746f6b656e0000000000000000604482015260640161045e565b6000611376826106db565b90506113818261100e565b6001600160a01b0316600090815260076020908152604080832093835292905220805460ff19169055565b6001600160a01b0383166113fa5760405162461bcd60e51b815260206004820152601560248201527426b4b73a103a37903d32b9379030b2323932b9b99760591b604482015260640161045e565b805160000361143d5760405162461bcd60e51b815260206004820152600f60248201526e22b6b83a3c903a37b5b2b72aa9249760891b604482015260640161045e565b61144883838361147a565b50506001600160a01b03909116600090815260076020908152604080832093835292905220805460ff19166001179055565b600061148583610e20565b156114c95760405162461bcd60e51b81526020600482015260146024820152736d696e743a20746f6b656e49442065786973747360601b604482015260640161045e565b6001600160a01b03841660009081526004602052604081208054600192906114f2908490611a50565b9091555050600083815260026020908152604080832080546001600160a01b0319166001600160a01b038916179055600390915290206115328382611acc565b5060405183906001600160a01b038616907fe9274a84b19e9428826de6bae8c48329354f8f0e73f771b97cae2d9dccd45a2790600090a3509092915050565b50805461157d90611917565b6000825580601f1061158d575050565b601f0160209004906000526020600020908101906106d891905b808211156115bb57600081556001016115a7565b5090565b6000602082840312156115d157600080fd5b81356001600160e01b031981168114610b3e57600080fd5b60005b838110156116045781810151838201526020016115ec565b83811115611613576000848401525b50505050565b60208152600082518060208401526116388160408501602087016115e9565b601f01601f19169190910160400192915050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261167357600080fd5b813567ffffffffffffffff8082111561168e5761168e61164c565b604051601f8301601f19908116603f011681019082821181831017156116b6576116b661164c565b816040528381528660208588010111156116cf57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561170457600080fd5b83359250602084013567ffffffffffffffff81111561172257600080fd5b61172e86828701611662565b925050604084013590509250925092565b60006020828403121561175157600080fd5b5035919050565b80356001600160a01b038116811461176f57600080fd5b919050565b6000806040838503121561178757600080fd5b61179083611758565b946020939093013593505050565b6000602082840312156117b057600080fd5b610b3e82611758565b600080604083850312156117cc57600080fd5b6117d583611758565b9150602083013567ffffffffffffffff8111156117f157600080fd5b6117fd85828601611662565b9150509250929050565b600080600080600060a0868803121561181f57600080fd5b61182886611758565b945060208601359350604086013567ffffffffffffffff8082111561184c57600080fd5b61185889838a01611662565b945060608801359350608088013591508082111561187557600080fd5b5061188288828901611662565b9150509295509295909350565b600080604083850312156118a257600080fd5b82359150602083013567ffffffffffffffff8111156117f157600080fd5b6000806000606084860312156118d557600080fd5b6118de84611758565b925060208401359150604084013567ffffffffffffffff81111561190157600080fd5b61190d86828701611662565b9150509250925092565b600181811c9082168061192b57607f821691505b60208210810361194b57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000816119ab576119ab611986565b506000190190565b600083516119c58184602088016115e9565b8351908301906119d98183602088016115e9565b01949350505050565b6000600182016119f4576119f4611986565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611a2057611a206119fb565b500490565b600082821015611a3757611a37611986565b500390565b600082611a4b57611a4b6119fb565b500690565b60008219821115611a6357611a63611986565b500190565b634e487b7160e01b600052603260045260246000fd5b601f8211156105df57600081815260208120601f850160051c81016020861015611aa55750805b601f850160051c820191505b81811015611ac457828155600101611ab1565b505050505050565b815167ffffffffffffffff811115611ae657611ae661164c565b611afa81611af48454611917565b84611a7e565b602080601f831160018114611b2f5760008415611b175750858301515b600019600386901b1c1916600185901b178555611ac4565b600085815260208120601f198616915b82811015611b5e57888601518255948401946001909101908401611b3f565b5085821015611b7c5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea2646970667358221220b1ceaa4c757b20410497822c8f13d0bec45391587c052ebd71ae5059a9d86a0d64736f6c634300080f0033", + "deployedSourceMap": "331:3236:40:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4448:328:41;;;;;;:::i;:::-;;:::i;:::-;;;470:14:43;;463:22;445:41;;433:2;418:18;4448:328:41;;;;;;;;4782:98;;;:::i;:::-;;;;;;;:::i;4274:927:38:-;;;;;;:::i;:::-;;:::i;:::-;;2850:715:40;;;;;;:::i;:::-;;:::i;6139:382:38:-;;;;;;:::i;:::-;;:::i;5243:165:41:-;;;;;;:::i;:::-;;:::i;5225:148:37:-;;;;;;:::i;:::-;-1:-1:-1;;;;;5346:10:37;;;;5319:4;5346:10;;;:5;:10;;;;;;;;:20;;;;;;;;;;;5225:148;5705:213:41;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;3250:32:43;;;3232:51;;3220:2;3205:18;5705:213:41;3086:203:43;2171:97:14;2247:14;;-1:-1:-1;;;;;2247:14:14;2171:97;;5414:285:41;;;;;;:::i;:::-;;:::i;:::-;;;3631:25:43;;;3619:2;3604:18;5414:285:41;3485:177:43;1668:101:0;;;:::i;5539:200:38:-;;;;;;:::i;:::-;;:::i;1036:85:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;1036:85;;4886:102:41;;;:::i;4994:243::-;;;;;;:::i;:::-;;:::i;7425:248:37:-;;;:::i;2807:994:38:-;;;;;;:::i;:::-;;:::i;2495:150:14:-;;;;;;:::i;:::-;;:::i;4852:268::-;;;;;;:::i;:::-;;:::i;1465:666:40:-;;;;;;:::i;:::-;;:::i;1918:198:0:-;;;;;;:::i;:::-;;:::i;4302:520:37:-;;;;;;:::i;:::-;;:::i;4448:328:41:-;4573:4;-1:-1:-1;;;;;;4612:48:41;;-1:-1:-1;;;4612:48:41;;:105;;-1:-1:-1;;;;;;;4676:41:41;;-1:-1:-1;;;4676:41:41;4612:105;:157;;;-1:-1:-1;;;;;;;;;;1757:40:41;;;4733:36;4593:176;4448:328;-1:-1:-1;;4448:328:41:o;4782:98::-;4836:13;4868:5;4861:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4782:98;:::o;4274:927:38:-;4455:16;4463:7;4455;:16::i;:::-;4447:56;;;;-1:-1:-1;;;4447:56:38;;6271:2:43;4447:56:38;;;6253:21:43;6310:2;6290:18;;;6283:30;6349:29;6329:18;;;6322:57;6396:18;;4447:56:38;;;;;;;;;4738:3;:10;4752:2;4738:16;4730:53;;;;-1:-1:-1;;;4730:53:38;;6969:2:43;4730:53:38;;;6951:21:43;7008:2;6988:18;;;6981:30;-1:-1:-1;;;7027:18:43;;;7020:54;7091:18;;4730:53:38;6767:348:43;4730:53:38;4910:26;4926:4;4932:3;4910:15;:26::i;:::-;4902:64;;;;-1:-1:-1;;;4902:64:38;;7322:2:43;4902:64:38;;;7304:21:43;7361:2;7341:18;;;7334:30;-1:-1:-1;;;7380:18:43;;;7373:55;7445:18;;4902:64:38;7120:349:43;4902:64:38;5065:33;5072:16;5080:7;5072;:16::i;:::-;5090:7;5065:6;:33::i;:::-;-1:-1:-1;5166:28:38;;5186:7;;5166:28;;;;;4274:927;;;:::o;2850:715:40:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;3272:6:40::1;::::0;:11;3268:201:::1;;3338:6;:8:::0;;;:6:::1;:8;::::0;::::1;:::i;:::-;;;;;;3268:201;;;3427:31;::::0;-1:-1:-1;;;3427:31:40;;8310:2:43;3427:31:40::1;::::0;::::1;8292:21:43::0;8349:2;8329:18;;;8322:30;-1:-1:-1;;;8368:18:43;;;8361:51;8429:18;;3427:31:40::1;8108:345:43::0;3268:201:40::1;3519:39;3539:4;3545:3;3550:7;3519:19;:39::i;:::-;2850:715:::0;;;:::o;6139:382:38:-;6227:23;6340:13;:11;:13::i;:::-;6334:27;6365:1;6334:32;6326:58;;;;-1:-1:-1;;;6326:58:38;;8660:2:43;6326:58:38;;;8642:21:43;8699:2;8679:18;;;8672:30;-1:-1:-1;;;8718:18:43;;;8711:43;8771:18;;6326:58:38;8458:337:43;6326:58:38;6480:13;:11;:13::i;:::-;6495:17;6504:7;6495:8;:17::i;:::-;6463:50;;;;;;;;;:::i;:::-;;;;;;;;;;;;;6444:70;;6139:382;;;:::o;5243:165:41:-;5330:16;5338:7;5330;:16::i;:::-;-1:-1:-1;;;;;5316:30:41;:10;-1:-1:-1;;;;;5316:30:41;;5308:69;;;;-1:-1:-1;;;5308:69:41;;9477:2:43;5308:69:41;;;9459:21:43;9516:2;9496:18;;;9489:30;9555:28;9535:18;;;9528:56;9601:18;;5308:69:41;9275:350:43;5308:69:41;5387:14;5393:7;5387:5;:14::i;:::-;5243:165;:::o;5705:213::-;5768:7;5803:16;;;:7;:16;;;;;;-1:-1:-1;;;;;5803:16:41;;5829:60;;;;-1:-1:-1;;;5829:60:41;;9832:2:43;5829:60:41;;;9814:21:43;9871:2;9851:18;;;9844:30;9910;9890:18;;;9883:58;9958:18;;5829:60:41;9630:352:43;5414:285:41;5526:7;-1:-1:-1;;;;;5570:19:41;;5549:110;;;;-1:-1:-1;;;5549:110:41;;10189:2:43;5549:110:41;;;10171:21:43;10228:2;10208:18;;;10201:30;10267:34;10247:18;;;10240:62;-1:-1:-1;;;10318:18:43;;;10311:42;10370:19;;5549:110:41;9987:408:43;5549:110:41;-1:-1:-1;;;;;;5676:16:41;;;;;:9;:16;;;;;;;5414:285::o;1668:101:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;5539:200:38:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;5659:6:38::1;1704:19;2247:14:14::0;;-1:-1:-1;;;;;2247:14:14;;2171:97;1704:19:38::1;-1:-1:-1::0;;;;;1693:30:38::1;:7;-1:-1:-1::0;;;;;1693:30:38::1;;1685:63;;;::::0;-1:-1:-1;;;1685:63:38;;10602:2:43;1685:63:38::1;::::0;::::1;10584:21:43::0;10641:2;10621:18;;;10614:30;-1:-1:-1;;;10660:18:43;;;10653:50;10720:18;;1685:63:38::1;10400:344:43::0;1685:63:38::1;5711:21:::2;5723:8;5711:11;:21::i;4886:102:41:-:0;4942:13;4974:7;4967:14;;;;;:::i;4994:243::-;5107:13;5144:16;5152:7;5144;:16::i;:::-;5136:58;;;;-1:-1:-1;;;5136:58:41;;10951:2:43;5136:58:41;;;10933:21:43;10990:2;10970:18;;;10963:30;11029:31;11009:18;;;11002:59;11078:18;;5136:58:41;10749:353:43;5136:58:41;5211:19;;;;:10;:19;;;;;5204:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4994:243;;;:::o;7425:248:37:-;7469:22;7567:7;7561:21;;;;;:::i;:::-;;;7586:1;7561:26;7553:52;;;;-1:-1:-1;;;7553:52:37;;8660:2:43;7553:52:37;;;8642:21:43;8699:2;8679:18;;;8672:30;-1:-1:-1;;;8718:18:43;;;8711:43;8771:18;;7553:52:37;8458:337:43;7553:52:37;7659:7;7648:18;;;;;:::i;2807:994:38:-;-1:-1:-1;;;;;3058:18:38;;3050:52;;;;-1:-1:-1;;;3050:52:38;;11309:2:43;3050:52:38;;;11291:21:43;11348:2;11328:18;;;11321:30;-1:-1:-1;;;11367:18:43;;;11360:51;11428:18;;3050:52:38;11107:345:43;3050:52:38;3337:3;:10;3351:2;3337:16;3329:53;;;;-1:-1:-1;;;3329:53:38;;6969:2:43;3329:53:38;;;6951:21:43;7008:2;6988:18;;;6981:30;-1:-1:-1;;;7027:18:43;;;7020:54;7091:18;;3329:53:38;6767:348:43;3329:53:38;3509:26;3525:4;3531:3;3509:15;:26::i;:::-;3501:64;;;;-1:-1:-1;;;3501:64:38;;7322:2:43;3501:64:38;;;7304:21:43;7361:2;7341:18;;;7334:30;-1:-1:-1;;;7380:18:43;;;7373:55;7445:18;;3501:64:38;7120:349:43;3501:64:38;3664:30;3670:4;3676:7;3685:8;3664:5;:30::i;:::-;-1:-1:-1;3761:33:38;;3786:7;;-1:-1:-1;;;;;3761:33:38;;;;;;;;2807:994;;;;;:::o;2495:150:14:-;2584:4;2611:27;2628:4;2634:3;2611:16;:27::i;:::-;2604:34;2495:150;-1:-1:-1;;;2495:150:14:o;4852:268::-;6067:2;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;5087:25;;4982:4;5087:25;;;;;;;;;11684::43;;;6231:28:14;;;11725:18:43;;;11718:45;;;11779:18;;;11772:34;;;11822:18;;;11815:34;;;5087:25:14;;4982:4;;6127:19;;6231:28;;5087:25;;11656:19:43;;;;;-1:-1:-1;;5087:25:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:36:14;:7;-1:-1:-1;;;;;5076:36:14;;5068:45;;;;;4852:268;;;;;:::o;1465:666:40:-;1108:6:0;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1914:11:40::1;;1905:6;;:20;1897:51;;;::::0;-1:-1:-1;;;1897:51:40;;12062:2:43;1897:51:40::1;::::0;::::1;12044:21:43::0;12101:2;12081:18;;;12074:30;-1:-1:-1;;;12120:18:43;;;12113:48;12178:18;;1897:51:40::1;11860:342:43::0;1897:51:40::1;1997:54;2016:4;2022;2028:3;2033:7;2042:8;1997:18;:54::i;:::-;2116:6;:8:::0;;;:6:::1;:8;::::0;::::1;:::i;:::-;;;;;;1465:666:::0;;;;;:::o;1918:198:0:-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2006:22:0;::::1;1998:73;;;::::0;-1:-1:-1;;;1998:73:0;;12549:2:43;1998:73:0::1;::::0;::::1;12531:21:43::0;12588:2;12568:18;;;12561:30;12627:34;12607:18;;;12600:62;-1:-1:-1;;;12678:18:43;;;12671:36;12724:19;;1998:73:0::1;12347:402:43::0;1998:73:0::1;2081:28;2100:8;2081:18;:28::i;4302:520:37:-:0;4396:7;-1:-1:-1;;;;;4479:17:37;;4471:53;;;;-1:-1:-1;;;4471:53:37;;12956:2:43;4471:53:37;;;12938:21:43;12995:2;12975:18;;;12968:30;13034:25;13014:18;;;13007:53;13077:18;;4471:53:37;12754:347:43;4471:53:37;4581:17;4589:8;4581:7;:17::i;:::-;4573:49;;;;-1:-1:-1;;;4573:49:37;;13308:2:43;4573:49:37;;;13290:21:43;13347:2;13327:18;;;13320:30;-1:-1:-1;;;13366:18:43;;;13359:49;13425:18;;4573:49:37;13106:343:43;4573:49:37;4712:3;-1:-1:-1;;;;;4691:24:37;:17;4699:8;4691:7;:17::i;:::-;-1:-1:-1;;;;;4691:24:37;;4683:63;;;;-1:-1:-1;;;4683:63:37;;13656:2:43;4683:63:37;;;13638:21:43;13695:2;13675:18;;;13668:30;13734:28;13714:18;;;13707:56;13780:18;;4683:63:37;13454:350:43;4683:63:37;-1:-1:-1;4810:4:37;4302:520;;;;:::o;5924:125:41:-;5989:4;6012:16;;;:7;:16;;;;;;-1:-1:-1;;;;;6012:16:41;:30;;;5924:125::o;3338:428:37:-;3405:4;3468:17;3476:8;3468:7;:17::i;:::-;3460:49;;;;-1:-1:-1;;;3460:49:37;;13308:2:43;3460:49:37;;;13290:21:43;13347:2;13327:18;;;13320:30;-1:-1:-1;;;13366:18:43;;;13359:49;13425:18;;3460:49:37;13106:343:43;3460:49:37;3601:5;-1:-1:-1;;;;;3580:26:37;:17;3588:8;3580:7;:17::i;:::-;-1:-1:-1;;;;;3580:26:37;;3572:65;;;;-1:-1:-1;;;3572:65:37;;13656:2:43;3572:65:37;;;13638:21:43;13695:2;13675:18;;;13668:30;13734:28;13714:18;;;13707:56;13780:18;;3572:65:37;13454:350:43;3572:65:37;3680:28;3699:8;3680:18;:28::i;:::-;-1:-1:-1;3755:4:37;3338:428;;;;:::o;6660:703:38:-;6716:13;6933:5;6942:1;6933:10;6929:51;;-1:-1:-1;;6959:10:38;;;;;;;;;;;;-1:-1:-1;;;6959:10:38;;;;;6660:703::o;6929:51::-;7004:5;6989:12;7043:75;7050:9;;7043:75;;7075:8;;;;:::i;:::-;;-1:-1:-1;7097:10:38;;-1:-1:-1;7105:2:38;7097:10;;:::i;:::-;;;7043:75;;;7127:19;7159:6;7149:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7149:17:38;;7127:39;;7176:150;7183:10;;7176:150;;7209:11;7219:1;7209:11;;:::i;:::-;;-1:-1:-1;7277:10:38;7285:2;7277:5;:10;:::i;:::-;7264:24;;:2;:24;:::i;:::-;7251:39;;7234:6;7241;7234:14;;;;;;;;:::i;:::-;;;;:56;-1:-1:-1;;;;;7234:56:38;;;;;;;;-1:-1:-1;7304:11:38;7313:2;7304:11;;:::i;:::-;;;7176:150;;;7349:6;6660:703;-1:-1:-1;;;;6660:703:38:o;6408:237:41:-;6467:13;6483:16;6491:7;6483;:16::i;:::-;-1:-1:-1;;;;;6510:16:41;;;;;;:9;:16;;;;;:21;;6467:32;;-1:-1:-1;6530:1:41;;6510:16;;;:21;;6530:1;;6510:21;:::i;:::-;;;;-1:-1:-1;;6548:16:41;;;;:7;:16;;;;;;;;6541:23;;-1:-1:-1;;;;;;6541:23:41;;;6581:10;:19;;;;;6574:26;;;:::i;:::-;6616:22;;6630:7;;-1:-1:-1;;;;;6616:22:41;;;;;;;;6457:188;6408:237;:::o;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;7029:234:37:-;7158:8;7152:22;7178:1;7152:27;7144:54;;;;-1:-1:-1;;;7144:54:37;;14780:2:43;7144:54:37;;;14762:21:43;14819:2;14799:18;;;14792:30;-1:-1:-1;;;14838:18:43;;;14831:44;14892:18;;7144:54:37;14578:338:43;7144:54:37;7238:7;:18;7248:8;7238:7;:18;:::i;:::-;;7029:234;:::o;2196:305::-;2314:4;2400:43;2419:3;2424:8;2434;2400:18;:43::i;:::-;-1:-1:-1;2490:4:37;2196:305;;;;;:::o;3622:1055:14:-;1108:6:0;;3732:4:14;;-1:-1:-1;;;;;1108:6:0;719:10:5;1248:23:0;1240:68;;;;-1:-1:-1;;;1240:68:0;;;;;;;:::i;:::-;1108:6;;-1:-1:-1;;;;;1108:6:0;719:10:5;3897:23:14::1;3876:113;;;::::0;-1:-1:-1;;;3876:113:14;;17327:2:43;3876:113:14::1;::::0;::::1;17309:21:43::0;17366:2;17346:18;;;17339:30;17405:34;17385:18;;;17378:62;-1:-1:-1;;;17456:18:43;;;17449:41;17507:19;;3876:113:14::1;17125:407:43::0;3876:113:14::1;4067:3;:10;4081:2;4067:16;4059:59;;;::::0;-1:-1:-1;;;4059:59:14;;17739:2:43;4059:59:14::1;::::0;::::1;17721:21:43::0;17778:2;17758:18;;;17751:30;17817:32;17797:18;;;17790:60;17867:18;;4059:59:14::1;17537:354:43::0;4059:59:14::1;6067:2:::0;6058:12;;;6052:19;6142:2;6133:12;;;6127:19;6254:2;6245:12;;;6239:19;4331:24;;4197:9:::1;4331:24:::0;;;;;::::1;::::0;;;11684:25:43;;;6231:28:14;;;11725:18:43;;;11718:45;;;11779:18;;;11772:34;;;11822:18;;;11815:34;;;6052:19:14;;6127;;4331:24:::1;::::0;11656:19:43;;4331:24:14::1;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4331:24:14::1;::::0;-1:-1:-1;;4331:24:14;;;4469:14:::1;::::0;4331:24;;-1:-1:-1;;;;;;4459:24:14;;::::1;4469:14:::0;::::1;4459:24;::::0;-1:-1:-1;4459:24:14;;4566:4;;4550:45:::1;::::0;4428:27:::1;::::0;4550:45:::1;4648:22:::0;3622:1055;-1:-1:-1;;;;;;;3622:1055:14:o;6437:421:37:-;6564:16;6572:7;6564;:16::i;:::-;6556:53;;;;-1:-1:-1;;;6556:53:37;;18098:2:43;6556:53:37;;;18080:21:43;18137:2;18117:18;;;18110:30;18176:26;18156:18;;;18149:54;18220:18;;6556:53:37;17896:348:43;6556:53:37;6664:19;6686:16;6694:7;6686;:16::i;:::-;6664:38;;6745:14;6751:7;6745:5;:14::i;:::-;-1:-1:-1;;;;;6816:18:37;6846:5;6816:18;;;:5;:18;;;;;;;;:27;;;;;;;:35;;-1:-1:-1;;6816:35:37;;;6437:421::o;5609:667::-;-1:-1:-1;;;;;5816:16:37;;5808:50;;;;-1:-1:-1;;;5808:50:37;;11309:2:43;5808:50:37;;;11291:21:43;11348:2;11328:18;;;11321:30;-1:-1:-1;;;11367:18:43;;;11360:51;11428:18;;5808:50:37;11107:345:43;5808:50:37;6004:8;5998:22;6024:1;5998:27;5990:55;;;;-1:-1:-1;;;5990:55:37;;18451:2:43;5990:55:37;;;18433:21:43;18490:2;18470:18;;;18463:30;-1:-1:-1;;;18509:18:43;;;18502:45;18564:18;;5990:55:37;18249:339:43;5990:55:37;6160:28;6166:2;6170:7;6179:8;6160:5;:28::i;:::-;-1:-1:-1;;;;;;;6244:9:37;;;;;;;:5;:9;;;;;;;;:18;;;;;;;:25;;-1:-1:-1;;6244:25:37;6265:4;6244:25;;;5609:667::o;6055:347:41:-;6174:7;6202:16;6210:7;6202;:16::i;:::-;6201:17;6193:50;;;;-1:-1:-1;;;6193:50:41;;18795:2:43;6193:50:41;;;18777:21:43;18834:2;18814:18;;;18807:30;-1:-1:-1;;;18853:18:43;;;18846:50;18913:18;;6193:50:41;18593:344:43;6193:50:41;-1:-1:-1;;;;;6253:13:41;;;;;;:9;:13;;;;;:18;;6270:1;;6253:13;:18;;6270:1;;6253:18;:::i;:::-;;;;-1:-1:-1;;6281:16:41;;;;:7;:16;;;;;;;;:21;;-1:-1:-1;;;;;;6281:21:41;-1:-1:-1;;;;;6281:21:41;;;;;6312:10;:19;;;;;:25;6334:3;6312:19;:25;:::i;:::-;-1:-1:-1;6352:19:41;;6363:7;;-1:-1:-1;;;;;6352:19:41;;;;;;;;-1:-1:-1;6388:7:41;;6055:347;-1:-1:-1;;6055:347:41:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:286:43:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:43;;209:43;;199:71;;266:1;263;256:12;497:258;569:1;579:113;593:6;590:1;587:13;579:113;;;669:11;;;663:18;650:11;;;643:39;615:2;608:10;579:113;;;710:6;707:1;704:13;701:48;;;745:1;736:6;731:3;727:16;720:27;701:48;;497:258;;;:::o;760:383::-;909:2;898:9;891:21;872:4;941:6;935:13;984:6;979:2;968:9;964:18;957:34;1000:66;1059:6;1054:2;1043:9;1039:18;1034:2;1026:6;1022:15;1000:66;:::i;:::-;1127:2;1106:15;-1:-1:-1;;1102:29:43;1087:45;;;;1134:2;1083:54;;760:383;-1:-1:-1;;760:383:43:o;1148:127::-;1209:10;1204:3;1200:20;1197:1;1190:31;1240:4;1237:1;1230:15;1264:4;1261:1;1254:15;1280:718;1322:5;1375:3;1368:4;1360:6;1356:17;1352:27;1342:55;;1393:1;1390;1383:12;1342:55;1429:6;1416:20;1455:18;1492:2;1488;1485:10;1482:36;;;1498:18;;:::i;:::-;1573:2;1567:9;1541:2;1627:13;;-1:-1:-1;;1623:22:43;;;1647:2;1619:31;1615:40;1603:53;;;1671:18;;;1691:22;;;1668:46;1665:72;;;1717:18;;:::i;:::-;1757:10;1753:2;1746:22;1792:2;1784:6;1777:18;1838:3;1831:4;1826:2;1818:6;1814:15;1810:26;1807:35;1804:55;;;1855:1;1852;1845:12;1804:55;1919:2;1912:4;1904:6;1900:17;1893:4;1885:6;1881:17;1868:54;1966:1;1959:4;1954:2;1946:6;1942:15;1938:26;1931:37;1986:6;1977:15;;;;;;1280:718;;;;:::o;2003:456::-;2089:6;2097;2105;2158:2;2146:9;2137:7;2133:23;2129:32;2126:52;;;2174:1;2171;2164:12;2126:52;2210:9;2197:23;2187:33;;2271:2;2260:9;2256:18;2243:32;2298:18;2290:6;2287:30;2284:50;;;2330:1;2327;2320:12;2284:50;2353:49;2394:7;2385:6;2374:9;2370:22;2353:49;:::i;:::-;2343:59;;;2449:2;2438:9;2434:18;2421:32;2411:42;;2003:456;;;;;:::o;2464:180::-;2523:6;2576:2;2564:9;2555:7;2551:23;2547:32;2544:52;;;2592:1;2589;2582:12;2544:52;-1:-1:-1;2615:23:43;;2464:180;-1:-1:-1;2464:180:43:o;2649:173::-;2717:20;;-1:-1:-1;;;;;2766:31:43;;2756:42;;2746:70;;2812:1;2809;2802:12;2746:70;2649:173;;;:::o;2827:254::-;2895:6;2903;2956:2;2944:9;2935:7;2931:23;2927:32;2924:52;;;2972:1;2969;2962:12;2924:52;2995:29;3014:9;2995:29;:::i;:::-;2985:39;3071:2;3056:18;;;;3043:32;;-1:-1:-1;;;2827:254:43:o;3294:186::-;3353:6;3406:2;3394:9;3385:7;3381:23;3377:32;3374:52;;;3422:1;3419;3412:12;3374:52;3445:29;3464:9;3445:29;:::i;3667:395::-;3745:6;3753;3806:2;3794:9;3785:7;3781:23;3777:32;3774:52;;;3822:1;3819;3812:12;3774:52;3845:29;3864:9;3845:29;:::i;:::-;3835:39;;3925:2;3914:9;3910:18;3897:32;3952:18;3944:6;3941:30;3938:50;;;3984:1;3981;3974:12;3938:50;4007:49;4048:7;4039:6;4028:9;4024:22;4007:49;:::i;:::-;3997:59;;;3667:395;;;;;:::o;4067:752::-;4181:6;4189;4197;4205;4213;4266:3;4254:9;4245:7;4241:23;4237:33;4234:53;;;4283:1;4280;4273:12;4234:53;4306:29;4325:9;4306:29;:::i;:::-;4296:39;;4382:2;4371:9;4367:18;4354:32;4344:42;;4437:2;4426:9;4422:18;4409:32;4460:18;4501:2;4493:6;4490:14;4487:34;;;4517:1;4514;4507:12;4487:34;4540:49;4581:7;4572:6;4561:9;4557:22;4540:49;:::i;:::-;4530:59;;4636:2;4625:9;4621:18;4608:32;4598:42;;4693:3;4682:9;4678:19;4665:33;4649:49;;4723:2;4713:8;4710:16;4707:36;;;4739:1;4736;4729:12;4707:36;;4762:51;4805:7;4794:8;4783:9;4779:24;4762:51;:::i;:::-;4752:61;;;4067:752;;;;;;;;:::o;4824:388::-;4901:6;4909;4962:2;4950:9;4941:7;4937:23;4933:32;4930:52;;;4978:1;4975;4968:12;4930:52;5014:9;5001:23;4991:33;;5075:2;5064:9;5060:18;5047:32;5102:18;5094:6;5091:30;5088:50;;;5134:1;5131;5124:12;5217:462;5303:6;5311;5319;5372:2;5360:9;5351:7;5347:23;5343:32;5340:52;;;5388:1;5385;5378:12;5340:52;5411:29;5430:9;5411:29;:::i;:::-;5401:39;;5487:2;5476:9;5472:18;5459:32;5449:42;;5542:2;5531:9;5527:18;5514:32;5569:18;5561:6;5558:30;5555:50;;;5601:1;5598;5591:12;5555:50;5624:49;5665:7;5656:6;5645:9;5641:22;5624:49;:::i;:::-;5614:59;;;5217:462;;;;;:::o;5684:380::-;5763:1;5759:12;;;;5806;;;5827:61;;5881:4;5873:6;5869:17;5859:27;;5827:61;5934:2;5926:6;5923:14;5903:18;5900:38;5897:161;;5980:10;5975:3;5971:20;5968:1;5961:31;6015:4;6012:1;6005:15;6043:4;6040:1;6033:15;5897:161;;5684:380;;;:::o;7474:356::-;7676:2;7658:21;;;7695:18;;;7688:30;7754:34;7749:2;7734:18;;7727:62;7821:2;7806:18;;7474:356::o;7835:127::-;7896:10;7891:3;7887:20;7884:1;7877:31;7927:4;7924:1;7917:15;7951:4;7948:1;7941:15;7967:136;8006:3;8034:5;8024:39;;8043:18;;:::i;:::-;-1:-1:-1;;;8079:18:43;;7967:136::o;8800:470::-;8979:3;9017:6;9011:13;9033:53;9079:6;9074:3;9067:4;9059:6;9055:17;9033:53;:::i;:::-;9149:13;;9108:16;;;;9171:57;9149:13;9108:16;9205:4;9193:17;;9171:57;:::i;:::-;9244:20;;8800:470;-1:-1:-1;;;;8800:470:43:o;12207:135::-;12246:3;12267:17;;;12264:43;;12287:18;;:::i;:::-;-1:-1:-1;12334:1:43;12323:13;;12207:135::o;13809:127::-;13870:10;13865:3;13861:20;13858:1;13851:31;13901:4;13898:1;13891:15;13925:4;13922:1;13915:15;13941:120;13981:1;14007;13997:35;;14012:18;;:::i;:::-;-1:-1:-1;14046:9:43;;13941:120::o;14066:125::-;14106:4;14134:1;14131;14128:8;14125:34;;;14139:18;;:::i;:::-;-1:-1:-1;14176:9:43;;14066:125::o;14196:112::-;14228:1;14254;14244:35;;14259:18;;:::i;:::-;-1:-1:-1;14293:9:43;;14196:112::o;14313:128::-;14353:3;14384:1;14380:6;14377:1;14374:13;14371:39;;;14390:18;;:::i;:::-;-1:-1:-1;14426:9:43;;14313:128::o;14446:127::-;14507:10;14502:3;14498:20;14495:1;14488:31;14538:4;14535:1;14528:15;14562:4;14559:1;14552:15;15047:545;15149:2;15144:3;15141:11;15138:448;;;15185:1;15210:5;15206:2;15199:17;15255:4;15251:2;15241:19;15325:2;15313:10;15309:19;15306:1;15302:27;15296:4;15292:38;15361:4;15349:10;15346:20;15343:47;;;-1:-1:-1;15384:4:43;15343:47;15439:2;15434:3;15430:12;15427:1;15423:20;15417:4;15413:31;15403:41;;15494:82;15512:2;15505:5;15502:13;15494:82;;;15557:17;;;15538:1;15527:13;15494:82;;;15498:3;;;15047:545;;;:::o;15768:1352::-;15894:3;15888:10;15921:18;15913:6;15910:30;15907:56;;;15943:18;;:::i;:::-;15972:97;16062:6;16022:38;16054:4;16048:11;16022:38;:::i;:::-;16016:4;15972:97;:::i;:::-;16124:4;;16188:2;16177:14;;16205:1;16200:663;;;;16907:1;16924:6;16921:89;;;-1:-1:-1;16976:19:43;;;16970:26;16921:89;-1:-1:-1;;15725:1:43;15721:11;;;15717:24;15713:29;15703:40;15749:1;15745:11;;;15700:57;17023:81;;16170:944;;16200:663;14994:1;14987:14;;;15031:4;15018:18;;-1:-1:-1;;16236:20:43;;;16354:236;16368:7;16365:1;16362:14;16354:236;;;16457:19;;;16451:26;16436:42;;16549:27;;;;16517:1;16505:14;;;;16384:19;;16354:236;;;16358:3;16618:6;16609:7;16606:19;16603:201;;;16679:19;;;16673:26;-1:-1:-1;;16762:1:43;16758:14;;;16774:3;16754:24;16750:37;16746:42;16731:58;16716:74;;16603:201;-1:-1:-1;;;;;16850:1:43;16834:14;;;16830:22;16817:36;;-1:-1:-1;15768:1352:43:o", + "language": "Solidity", + "natspec": { + "author": "Daccred.", + "details": "SoulboundWithSignature contract template allows freedom of issuing and revoking tokens with Signature while controlling the totalSupply of the token.", + "errors": { + "Unsigned(address)": [ + { + "details": "Thrown when the address passed to the verify function is not signed." + } + ] + }, + "kind": "dev", + "methods": { + "_getBaseURI()": { + "details": "Returns already set baseURI if it exists.", + "notice": "Callable by anyone.", + "returns": { + "_baseURI": "baseURI set." + } + }, + "balanceOf(address)": { + "details": "ABTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.", + "notice": "Count all ABTs assigned to an owner", + "params": { + "owner": "An address for whom to query the balance" + }, + "returns": { + "_0": "The number of ABTs owned by `owner`, possibly zero" + } + }, + "burn(uint256)": { + "details": "Must emit a `event Revoke` with the `address to` field pointing to the zero address.", + "notice": "Destroys `tokenId`. At any time, an ABT receiver must be able to disassociate themselves from an ABT publicly through calling this function.", + "params": { + "tokenId": "The identifier for an ABT" + } + }, + "constructor": { + "details": "Deploys inherited contract and sub contracts." + }, + "generateTokenURI(uint256)": { + "details": "Using the `tokenId` passed, it generates a `stringified` tokenURI, packing the baseURI and the current tokenId. Makes use of OpenZeppelin's uint to string function.", + "notice": "Callable by anyone.", + "params": { + "tokenId": "ID of token whose tokenURI is desired." + }, + "returns": { + "_tokenURI": "TokenURI of the passed tokenId." + } + }, + "getAllowlistOwner()": { + "details": "Return the allowlistOwner.", + "notice": "Callable by anyone.", + "returns": { + "_0": "address of allowlistOwner." + } + }, + "isMinted(address,uint256)": { + "details": "Returns true if token `_tokenId` was minted from this contract to `_to`. `_to` must not be a 0 address. `_tokenId` must be an existent token.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "bool true or false." + } + }, + "issueWithSignature(address,bytes32,bytes,uint256,string)": { + "details": "Mints a particular quantity of tokens to `to`, on the condition that the address has been signed by the allowlistOwner off-chain. This will emit the {MintSoulboundToken} event from the Soulbound.sol.", + "notice": "Callable by anyone.", + "params": { + "addr": "Address to mint tokens to.", + "hash": "Hashed message by the allowlistOwner.", + "sig": "Signature, signed by the allowlistOwner.", + "tokenId": "Id of the tokens to mint to the `addr`.", + "tokenURI": "URI of the token to be minted." + } + }, + "issuerOf(address,uint256)": { + "details": "Since a token cannnot be minted twice. This function returns the address that minted token `_tokenId` to `_to`, otherwise this contract. `_to` must not be a 0 address. `_tokenId` must be an existent token. Owner of _tokenId must be _to.", + "notice": "Callable by anyone.", + "params": { + "_to": "Address to which token `_tokenId` is minted.", + "_tokenId": "Token minted." + }, + "returns": { + "_0": "address of issuer." + } + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "ownerIssueWithSignature(address,bytes32,bytes,uint256,string)": { + "details": "Ref SoulboundCore.sol issueWithSignature This function grants the access to only the deployer of the contract, unlike the core that allows the function for anyone who has a signature signed by the allowlistOwner. This contract can be called by the deployer of the contract [DaccredDeployer] but is also protected as to the allowlistOwner must be the signer of the `sig.`", + "notice": "Callable by the deployer of this contract [DaccredDeployer].", + "params": { + "addr": "Address to be minted to.", + "hash": "Hash of message signed.", + "sig": "Signature.", + "tokenId": "TokenId to be issued.", + "tokenURI": "URI of token to be issued." + } + }, + "ownerOf(uint256)": { + "details": "ABTs assigned to zero address are considered invalid, and queries about them do throw.", + "notice": "Find the address bound to an ERC4973 account-bound token", + "params": { + "tokenId": "The identifier for an ABT" + }, + "returns": { + "_0": "The address of the owner bound to the ABT" + } + }, + "ownerRevokeWithSignature(bytes32,bytes,uint256)": { + "details": "Ref SoulboundCore.sol revokeWithSignature This function grants the access to only the deployer of the contract, unlike the core that allows the function for anyone who has a signature signed by the allowlistOwner. This contract can be called by the deployer of the contract [DaccredDeployer] but is also protected as to the allowlistOwner must be the signer of the `sig.`", + "notice": "Callable by the deployer of this contract [DaccredDeployer].", + "params": { + "hash": "Hash of message signed.", + "sig": "Signature.", + "tokenId": "TokenId to be issued." + } + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "revokeWithSignature(bytes32,bytes,uint256)": { + "details": "Revokes the ownership of `tokenId` from the owner. The token must exist and the signature must be signed the allowlistOwner. This emits the {RevokeWithSignature} event.", + "notice": "Callable by anyone.", + "params": { + "hash": "Hashed message by the allowlistOwner.", + "sig": "Signature, signed by the allowlistOwner.", + "tokenId": "Id of the token to revoke." + } + }, + "setBaseURI(address,string)": { + "details": "Allows the `caller` (allowlistOwner) to set the baseURI. This is really important when the caller wants to mint Multiple tokens with the same base URI.", + "notice": "Callable by the deployer of this contract [DaccredDeployer] and the allowlistOwner." + }, + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + }, + "verifySignature(bytes32,bytes)": { + "details": "Returns true if the signer of signature `sig` is the `allowlistOwner`. And false if otherwise.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + }, + "verifySigner(address,bytes32,bytes)": { + "details": "Returns true if the signer of `_signature` is `_signer`.", + "notice": "Callable by anyone.", + "returns": { + "_0": "bool true or false." + } + } + }, + "title": "SoulboundWithSignature.", + "version": 1 + }, + "offset": [ + 331, + 3567 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x88433651 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xC9E4C54D GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xC9E4C54D EQ PUSH2 0x2B7 JUMPI DUP1 PUSH4 0xDACA6F78 EQ PUSH2 0x2CA JUMPI DUP1 PUSH4 0xE92B0842 EQ PUSH2 0x2DD JUMPI DUP1 PUSH4 0xEA5353C7 EQ PUSH2 0x2F0 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x303 JUMPI DUP1 PUSH4 0xFB8F198D EQ PUSH2 0x316 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x88433651 EQ PUSH2 0x270 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x283 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x294 JUMPI DUP1 PUSH4 0xC87B56DD EQ PUSH2 0x29C JUMPI DUP1 PUSH4 0xC9DD94C7 EQ PUSH2 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x42966C68 EQ PUSH2 0x1BF JUMPI DUP1 PUSH4 0x5899E7B2 EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x6352211E EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x6E0A8746 EQ PUSH2 0x236 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x268 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x16F JUMPI DUP1 PUSH4 0x8C92E57 EQ PUSH2 0x184 JUMPI DUP1 PUSH4 0x1F04D135 EQ PUSH2 0x199 JUMPI DUP1 PUSH4 0x210FA96B EQ PUSH2 0x1AC JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x15A PUSH2 0x155 CALLDATASIZE PUSH1 0x4 PUSH2 0x15BF JUMP JUMPDEST PUSH2 0x329 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x177 PUSH2 0x37B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x166 SWAP2 SWAP1 PUSH2 0x1619 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x192 CALLDATASIZE PUSH1 0x4 PUSH2 0x16EF JUMP JUMPDEST PUSH2 0x40D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x197 PUSH2 0x1A7 CALLDATASIZE PUSH1 0x4 PUSH2 0x16EF JUMP JUMPDEST PUSH2 0x548 JUMP JUMPDEST PUSH2 0x177 PUSH2 0x1BA CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x5E4 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x1CD CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x666 JUMP JUMPDEST PUSH2 0x15A PUSH2 0x1E0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1774 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH2 0x21E PUSH2 0x219 CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x166 JUMP JUMPDEST PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x21E JUMP JUMPDEST PUSH2 0x25A PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0x179E JUMP JUMPDEST PUSH2 0x740 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x166 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x7C9 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x27E CALLDATASIZE PUSH1 0x4 PUSH2 0x17B9 JUMP JUMPDEST PUSH2 0x7FF JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x21E JUMP JUMPDEST PUSH2 0x177 PUSH2 0x89C JUMP JUMPDEST PUSH2 0x177 PUSH2 0x2AA CALLDATASIZE PUSH1 0x4 PUSH2 0x173F JUMP JUMPDEST PUSH2 0x8AB JUMP JUMPDEST PUSH2 0x177 PUSH2 0x9A0 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x2C5 CALLDATASIZE PUSH1 0x4 PUSH2 0x1807 JUMP JUMPDEST PUSH2 0x9FD JUMP JUMPDEST PUSH2 0x15A PUSH2 0x2D8 CALLDATASIZE PUSH1 0x4 PUSH2 0x188F JUMP JUMPDEST PUSH2 0xB32 JUMP JUMPDEST PUSH2 0x15A PUSH2 0x2EB CALLDATASIZE PUSH1 0x4 PUSH2 0x18C0 JUMP JUMPDEST PUSH2 0xB45 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x2FE CALLDATASIZE PUSH1 0x4 PUSH2 0x1807 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST PUSH2 0x197 PUSH2 0x311 CALLDATASIZE PUSH1 0x4 PUSH2 0x179E JUMP JUMPDEST PUSH2 0xC74 JUMP JUMPDEST PUSH2 0x21E PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x1774 JUMP JUMPDEST PUSH2 0xD0C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5B5E139F PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x35A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x5164CF47 PUSH1 0xE0 SHL EQ JUMPDEST DUP1 PUSH2 0x375 JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 SLOAD PUSH2 0x38A SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3B6 SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x403 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3D8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x403 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3E6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x416 DUP2 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0x467 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x4B3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x4BD DUP4 DUP4 PUSH2 0xB32 JUMP JUMPDEST PUSH2 0x505 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x517 PUSH2 0x511 DUP3 PUSH2 0x6DB JUMP JUMPDEST DUP3 PUSH2 0xE3D JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP2 SWAP1 PUSH32 0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x572 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0xA SLOAD ISZERO PUSH2 0x594 JUMPI PUSH1 0xA DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x58A DUP4 PUSH2 0x199C JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x2637BBB2B9BA103634B6B4BA103932B0B1B432B217 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x5DF DUP4 DUP4 DUP4 PUSH2 0x40D JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x5EE PUSH2 0x9A0 JUMP JUMPDEST MLOAD PUSH1 0x0 SUB PUSH2 0x62E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x636 PUSH2 0x9A0 JUMP JUMPDEST PUSH2 0x63F DUP4 PUSH2 0xF05 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x650 SWAP3 SWAP2 SWAP1 PUSH2 0x19B3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x66F DUP2 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x6CF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x6D8 DUP2 PUSH2 0x100E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP1 PUSH2 0x375 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x7AD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x103B30B634B21037BBB732B9 PUSH1 0xA1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x45E JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x7F3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH2 0x7FD PUSH1 0x0 PUSH2 0x10B5 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x829 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST DUP2 PUSH2 0x83C PUSH1 0x8 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x893 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x4E6F7420416C6C6F776C697374204F776E657221 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x5DF DUP3 PUSH2 0x1107 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x1 DUP1 SLOAD PUSH2 0x38A SWAP1 PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x60 PUSH2 0x8B6 DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0x902 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x91B SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x947 SWAP1 PUSH2 0x1917 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x994 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x969 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x994 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x977 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x6 DUP1 SLOAD PUSH2 0x9AF SWAP1 PUSH2 0x1917 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 SUB PUSH2 0x9F0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x456D7074792062617365555249 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH2 0x38A SWAP1 PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH2 0xA4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP3 MLOAD PUSH1 0x41 EQ PUSH2 0xA97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH24 0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D PUSH1 0x43 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xAA1 DUP5 DUP5 PUSH2 0xB32 JUMP JUMPDEST PUSH2 0xAE9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917 PUSH1 0x39 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xAF4 DUP6 DUP4 DUP4 PUSH2 0x1159 JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP8 AND SWAP1 PUSH32 0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB3E DUP4 DUP4 PUSH2 0x1170 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP5 ADD MLOAD PUSH1 0x60 DUP1 DUP7 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE DUP2 DUP9 ADD DUP1 DUP8 MSTORE DUP11 SWAP1 MSTORE SWAP2 DUP3 BYTE DUP2 DUP7 ADD DUP2 SWAP1 MSTORE SWAP3 DUP2 ADD DUP7 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP5 SWAP1 MSTORE SWAP4 MLOAD SWAP1 SWAP6 SWAP3 SWAP4 SWAP2 SWAP3 PUSH1 0x1 SWAP3 PUSH1 0xA0 DUP1 DUP3 ADD SWAP4 PUSH1 0x1F NOT DUP2 ADD SWAP3 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xBAF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD SUB MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP8 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ SWAP4 POP POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xC03 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0x9 SLOAD PUSH1 0xA SLOAD LT PUSH2 0xC4B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x24B9B9BAB29021B0B8102932B0B1B432B217 PUSH1 0x71 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xC58 DUP6 DUP6 DUP6 DUP6 DUP6 PUSH2 0x9FD JUMP JUMPDEST PUSH1 0xA DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xC68 DUP4 PUSH2 0x19E2 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xC9E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xD03 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x646472657373 PUSH1 0xD0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x6D8 DUP2 PUSH2 0x10B5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xD64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x517565727920666F72207A65726F20616464726573732E000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xD6D DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0xDAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xDC2 DUP4 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xE18 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST POP ADDRESS SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE48 DUP3 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0xE8A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x2737B716B2BC34B9BA32B73A103A37B5B2B717 PUSH1 0x69 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xE9D DUP4 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xEF3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0xEFC DUP3 PUSH2 0x1316 JUMP JUMPDEST POP PUSH1 0x1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 PUSH1 0x0 SUB PUSH2 0xF2C JUMPI POP POP PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x1 DUP2 MSTORE PUSH1 0x3 PUSH1 0xFC SHL PUSH1 0x20 DUP3 ADD MSTORE SWAP1 JUMP JUMPDEST DUP2 PUSH1 0x0 JUMPDEST DUP2 ISZERO PUSH2 0xF56 JUMPI DUP1 PUSH2 0xF40 DUP2 PUSH2 0x19E2 JUMP JUMPDEST SWAP2 POP PUSH2 0xF4F SWAP1 POP PUSH1 0xA DUP4 PUSH2 0x1A11 JUMP JUMPDEST SWAP2 POP PUSH2 0xF30 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xF71 JUMPI PUSH2 0xF71 PUSH2 0x164C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0xF9B JUMPI PUSH1 0x20 DUP3 ADD DUP2 DUP1 CALLDATASIZE DUP4 CALLDATACOPY ADD SWAP1 POP JUMPDEST POP SWAP1 POP JUMPDEST DUP5 ISZERO PUSH2 0x1006 JUMPI PUSH2 0xFB0 PUSH1 0x1 DUP4 PUSH2 0x1A25 JUMP JUMPDEST SWAP2 POP PUSH2 0xFBD PUSH1 0xA DUP7 PUSH2 0x1A3C JUMP JUMPDEST PUSH2 0xFC8 SWAP1 PUSH1 0x30 PUSH2 0x1A50 JUMP JUMPDEST PUSH1 0xF8 SHL DUP2 DUP4 DUP2 MLOAD DUP2 LT PUSH2 0xFDD JUMPI PUSH2 0xFDD PUSH2 0x1A68 JUMP JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xF8 SHL SUB NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH2 0xFFF PUSH1 0xA DUP7 PUSH2 0x1A11 JUMP JUMPDEST SWAP5 POP PUSH2 0xF9F JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1019 DUP3 PUSH2 0x6DB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD SWAP3 SWAP4 POP PUSH1 0x1 SWAP3 SWAP1 SWAP2 SWAP1 PUSH2 0x1047 SWAP1 DUP5 SWAP1 PUSH2 0x1A25 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE DUP2 KECCAK256 PUSH2 0x107B SWAP2 PUSH2 0x1571 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x40 MLOAD SWAP2 AND SWAP2 SWAP1 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x1149 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x92DCECC2D8D2C840D8CADCCEE8D PUSH1 0x93 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x6 PUSH2 0x1155 DUP3 DUP3 PUSH2 0x1ACC JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1166 DUP5 DUP5 DUP5 PUSH2 0x13AC JUMP JUMPDEST POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x119D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x45E SWAP1 PUSH2 0x1951 JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x120B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062 PUSH1 0x44 DUP3 ADD MSTORE PUSH11 0x3C903737B716B7BBB732B9 PUSH1 0xA9 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x45E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x41 EQ PUSH2 0x125C JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x20 DUP3 DUP2 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD PUSH1 0x60 DUP1 DUP8 ADD MLOAD DUP4 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE SWAP7 DUP2 ADD DUP1 DUP7 MSTORE DUP11 SWAP1 MSTORE SWAP1 DUP7 BYTE SWAP4 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x80 DUP2 ADD DUP3 SWAP1 MSTORE SWAP3 SWAP4 SWAP1 SWAP3 PUSH1 0x1 SWAP1 PUSH1 0xA0 ADD PUSH1 0x20 PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 SUB SWAP1 DUP1 DUP5 SUB SWAP1 DUP6 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12C0 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x40 MLOAD PUSH1 0x1F NOT DUP2 ADD MLOAD PUSH1 0x8 SLOAD SWAP1 SWAP4 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND SWAP2 AND EQ SWAP2 POP DUP2 SWAP1 DUP10 SWAP1 PUSH32 0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36 SWAP1 PUSH1 0x0 SWAP1 LOG3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x131F DUP2 PUSH2 0xE20 JUMP JUMPDEST PUSH2 0x136B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1376 DUP3 PUSH2 0x6DB JUMP JUMPDEST SWAP1 POP PUSH2 0x1381 DUP3 PUSH2 0x100E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x13FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x26B4B73A103A37903D32B9379030B2323932B9B997 PUSH1 0x59 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST DUP1 MLOAD PUSH1 0x0 SUB PUSH2 0x143D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x22B6B83A3C903A37B5B2B72AA92497 PUSH1 0x89 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH2 0x1448 DUP4 DUP4 DUP4 PUSH2 0x147A JUMP JUMPDEST POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 SWAP4 DUP4 MSTORE SWAP3 SWAP1 MSTORE KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1485 DUP4 PUSH2 0xE20 JUMP JUMPDEST ISZERO PUSH2 0x14C9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x6D696E743A20746F6B656E494420657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x45E JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0x14F2 SWAP1 DUP5 SWAP1 PUSH2 0x1A50 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP10 AND OR SWAP1 SSTORE PUSH1 0x3 SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 PUSH2 0x1532 DUP4 DUP3 PUSH2 0x1ACC JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP4 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND SWAP1 PUSH32 0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x157D SWAP1 PUSH2 0x1917 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x158D JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x6D8 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x15BB JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x15A7 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x15D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xB3E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1604 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x15EC JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1613 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x1638 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x15E9 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1673 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x168E JUMPI PUSH2 0x168E PUSH2 0x164C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x16B6 JUMPI PUSH2 0x16B6 PUSH2 0x164C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x16CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1704 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1722 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x172E DUP7 DUP3 DUP8 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1751 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x176F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1787 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1790 DUP4 PUSH2 0x1758 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x17B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB3E DUP3 PUSH2 0x1758 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x17CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17D5 DUP4 PUSH2 0x1758 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x17FD DUP6 DUP3 DUP7 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x181F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1828 DUP7 PUSH2 0x1758 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x184C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1858 DUP10 DUP4 DUP11 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1875 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1882 DUP9 DUP3 DUP10 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x18A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x17F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x18D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18DE DUP5 PUSH2 0x1758 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1901 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x190D DUP7 DUP3 DUP8 ADD PUSH2 0x1662 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x192B JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x194B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP2 DUP2 ADD MSTORE PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x19AB JUMPI PUSH2 0x19AB PUSH2 0x1986 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP4 MLOAD PUSH2 0x19C5 DUP2 DUP5 PUSH1 0x20 DUP9 ADD PUSH2 0x15E9 JUMP JUMPDEST DUP4 MLOAD SWAP1 DUP4 ADD SWAP1 PUSH2 0x19D9 DUP2 DUP4 PUSH1 0x20 DUP9 ADD PUSH2 0x15E9 JUMP JUMPDEST ADD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x19F4 JUMPI PUSH2 0x19F4 PUSH2 0x1986 JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1A20 JUMPI PUSH2 0x1A20 PUSH2 0x19FB JUMP JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x1A37 JUMPI PUSH2 0x1A37 PUSH2 0x1986 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x1A4B JUMPI PUSH2 0x1A4B PUSH2 0x19FB JUMP JUMPDEST POP MOD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x1A63 JUMPI PUSH2 0x1A63 PUSH2 0x1986 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x5DF JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x1AA5 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1AC4 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x1AB1 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1AE6 JUMPI PUSH2 0x1AE6 PUSH2 0x164C JUMP JUMPDEST PUSH2 0x1AFA DUP2 PUSH2 0x1AF4 DUP5 SLOAD PUSH2 0x1917 JUMP JUMPDEST DUP5 PUSH2 0x1A7E JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x1B2F JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x1B17 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1AC4 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x1B5E JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x1B3F JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1B7C JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xB1 0xCE 0xAA 0x4C PUSH22 0x7B20410497822C8F13D0BEC45391587C052EBD71AE50 MSIZE 0xA9 0xD8 PUSH11 0xD64736F6C634300080F00 CALLER ", + "pcMap": { + "0": { + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "MSTORE", + "path": "40" + }, + "5": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "CALLVALUE", + "path": "40" + }, + "6": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "7": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "ISZERO", + "path": "40" + }, + "8": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x10" + }, + "11": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "12": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "14": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "15": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "REVERT", + "path": "40" + }, + "16": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPDEST", + "path": "40" + }, + "17": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "POP", + "path": "40" + }, + "18": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "20": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "CALLDATASIZE", + "path": "40" + }, + "21": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "LT", + "path": "40" + }, + "22": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x142" + }, + "25": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "26": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "28": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "CALLDATALOAD", + "path": "40" + }, + "29": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0xE0" + }, + "31": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "SHR", + "path": "40" + }, + "32": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "33": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x88433651" + }, + "38": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "GT", + "path": "40" + }, + "39": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0xB8" + }, + "42": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "43": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "44": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xC9E4C54D" + }, + "49": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "GT", + "path": "40" + }, + "50": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x7C" + }, + "53": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "54": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "55": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xC9E4C54D" + }, + "60": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "61": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2B7" + }, + "64": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "65": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "66": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xDACA6F78" + }, + "71": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "72": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2CA" + }, + "75": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "76": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "77": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xE92B0842" + }, + "82": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "83": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2DD" + }, + "86": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "87": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "88": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xEA5353C7" + }, + "93": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "94": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2F0" + }, + "97": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "98": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "99": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xF2FDE38B" + }, + "104": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "105": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x303" + }, + "108": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "109": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "110": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xFB8F198D" + }, + "115": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "116": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x316" + }, + "119": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "120": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "122": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "123": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "REVERT", + "path": "40" + }, + "124": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPDEST", + "path": "40" + }, + "125": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "126": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x88433651" + }, + "131": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "132": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x270" + }, + "135": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "136": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "137": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x8DA5CB5B" + }, + "142": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "143": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x283" + }, + "146": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "147": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "148": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x95D89B41" + }, + "153": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "154": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x294" + }, + "157": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "158": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "159": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xC87B56DD" + }, + "164": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "165": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x29C" + }, + "168": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "169": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "170": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0xC9DD94C7" + }, + "175": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "176": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2AF" + }, + "179": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "180": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "182": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "183": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "REVERT", + "path": "40" + }, + "184": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPDEST", + "path": "40" + }, + "185": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "186": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x42966C68" + }, + "191": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "GT", + "path": "40" + }, + "192": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x10A" + }, + "195": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "196": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "197": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x42966C68" + }, + "202": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "203": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1BF" + }, + "206": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "207": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "208": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x5899E7B2" + }, + "213": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "214": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1D2" + }, + "217": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "218": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "219": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x6352211E" + }, + "224": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "225": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x20B" + }, + "228": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "229": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "230": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x6E0A8746" + }, + "235": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "236": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x236" + }, + "239": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "240": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "241": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x70A08231" + }, + "246": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "247": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x247" + }, + "250": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "251": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "252": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x715018A6" + }, + "257": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "258": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x268" + }, + "261": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "262": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "264": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "265": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "REVERT", + "path": "40" + }, + "266": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPDEST", + "path": "40" + }, + "267": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "268": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x1FFC9A7" + }, + "273": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "274": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x147" + }, + "277": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "278": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "279": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x6FDDE03" + }, + "284": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "285": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x16F" + }, + "288": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "289": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "290": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x8C92E57" + }, + "295": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "296": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x184" + }, + "299": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "300": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "301": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x1F04D135" + }, + "306": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "307": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x199" + }, + "310": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "311": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "312": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH4", + "path": "40", + "value": "0x210FA96B" + }, + "317": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "EQ", + "path": "40" + }, + "318": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1AC" + }, + "321": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPI", + "path": "40" + }, + "322": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "JUMPDEST", + "path": "40" + }, + "323": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "325": { + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "DUP1", + "path": "40" + }, + "326": { + "first_revert": true, + "fn": null, + "offset": [ + 331, + 3567 + ], + "op": "REVERT", + "path": "40" + }, + "327": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "328": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x15A" + }, + "331": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x155" + }, + "334": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "335": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "337": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x15BF" + }, + "340": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "341": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "342": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH2", + "path": "41", + "value": "0x329" + }, + "345": { + "fn": "ERC4973.supportsInterface", + "jump": "i", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "346": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "347": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "349": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "350": { + "op": "SWAP1" + }, + "351": { + "op": "ISZERO" + }, + "352": { + "op": "ISZERO" + }, + "353": { + "op": "DUP2" + }, + "354": { + "op": "MSTORE" + }, + "355": { + "op": "PUSH1", + "value": "0x20" + }, + "357": { + "op": "ADD" + }, + "358": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "359": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "361": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "MLOAD", + "path": "41" + }, + "362": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "DUP1", + "path": "41" + }, + "363": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "364": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SUB", + "path": "41" + }, + "365": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP1", + "path": "41" + }, + "366": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "RETURN", + "path": "41" + }, + "367": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "368": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x177" + }, + "371": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x37B" + }, + "374": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "375": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "376": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "378": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "MLOAD", + "path": "41" + }, + "379": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x166" + }, + "382": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP2", + "path": "41" + }, + "383": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "384": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1619" + }, + "387": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "388": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "389": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x197" + }, + "392": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x192" + }, + "395": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "396": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "398": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x16EF" + }, + "401": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "402": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "403": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "PUSH2", + "path": "38", + "value": "0x40D" + }, + "406": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "407": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "408": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "STOP", + "path": "38" + }, + "409": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPDEST", + "path": "40" + }, + "410": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x197" + }, + "413": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1A7" + }, + "416": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "CALLDATASIZE", + "path": "40" + }, + "417": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "419": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x16EF" + }, + "422": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 2850, + 3565 + ], + "op": "JUMP", + "path": "40" + }, + "423": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPDEST", + "path": "40" + }, + "424": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "PUSH2", + "path": "40", + "value": "0x548" + }, + "427": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 2850, + 3565 + ], + "op": "JUMP", + "path": "40" + }, + "428": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "429": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x177" + }, + "432": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1BA" + }, + "435": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "436": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "438": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x173F" + }, + "441": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "442": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "443": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "PUSH2", + "path": "38", + "value": "0x5E4" + }, + "446": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "447": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "448": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x197" + }, + "451": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1CD" + }, + "454": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "455": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "457": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x173F" + }, + "460": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "461": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "462": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "PUSH2", + "path": "41", + "value": "0x666" + }, + "465": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "466": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "467": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x15A" + }, + "470": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1E0" + }, + "473": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "474": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "476": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1774" + }, + "479": { + "fn": "Soulbound.isMinted", + "jump": "i", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "480": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMPDEST", + "path": "37" + }, + "481": { + "op": "PUSH1", + "value": "0x1" + }, + "483": { + "op": "PUSH1", + "value": "0x1" + }, + "485": { + "op": "PUSH1", + "value": "0xA0" + }, + "487": { + "op": "SHL" + }, + "488": { + "op": "SUB" + }, + "489": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37", + "statement": 0 + }, + "490": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "491": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP2", + "path": "37" + }, + "492": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "AND", + "path": "37" + }, + "493": { + "fn": "Soulbound.isMinted", + "offset": [ + 5319, + 5323 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "495": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "496": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "497": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "498": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5351 + ], + "op": "PUSH1", + "path": "37", + "value": "0x7" + }, + "500": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "502": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "SWAP1", + "path": "37" + }, + "503": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP2", + "path": "37" + }, + "504": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "MSTORE", + "path": "37" + }, + "505": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "507": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP1", + "path": "37" + }, + "508": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "DUP4", + "path": "37" + }, + "509": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5356 + ], + "op": "KECCAK256", + "path": "37" + }, + "510": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP4", + "path": "37" + }, + "511": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "DUP4", + "path": "37" + }, + "512": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "513": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP3", + "path": "37" + }, + "514": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "515": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "MSTORE", + "path": "37" + }, + "516": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "KECCAK256", + "path": "37" + }, + "517": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SLOAD", + "path": "37" + }, + "518": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "PUSH1", + "path": "37", + "value": "0xFF" + }, + "520": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "AND", + "path": "37" + }, + "521": { + "fn": "Soulbound.isMinted", + "offset": [ + 5346, + 5366 + ], + "op": "SWAP1", + "path": "37" + }, + "522": { + "fn": "Soulbound.isMinted", + "offset": [ + 5225, + 5373 + ], + "op": "JUMP", + "path": "37" + }, + "523": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "524": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x21E" + }, + "527": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x219" + }, + "530": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "531": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "533": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x173F" + }, + "536": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "537": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "538": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6DB" + }, + "541": { + "fn": "ERC4973.ownerOf", + "jump": "i", + "offset": [ + 5705, + 5918 + ], + "op": "JUMP", + "path": "41" + }, + "542": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "543": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "545": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "MLOAD", + "path": "41" + }, + "546": { + "op": "PUSH1", + "value": "0x1" + }, + "548": { + "op": "PUSH1", + "value": "0x1" + }, + "550": { + "op": "PUSH1", + "value": "0xA0" + }, + "552": { + "op": "SHL" + }, + "553": { + "op": "SUB" + }, + "554": { + "op": "SWAP1" + }, + "555": { + "op": "SWAP2" + }, + "556": { + "op": "AND" + }, + "557": { + "op": "DUP2" + }, + "558": { + "op": "MSTORE" + }, + "559": { + "op": "PUSH1", + "value": "0x20" + }, + "561": { + "op": "ADD" + }, + "562": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "PUSH2", + "path": "41", + "value": "0x166" + }, + "565": { + "op": "JUMP" + }, + "566": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMPDEST", + "path": "14" + }, + "567": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "statement": 1, + "value": "0x8" + }, + "569": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "570": { + "op": "PUSH1", + "value": "0x1" + }, + "572": { + "op": "PUSH1", + "value": "0x1" + }, + "574": { + "op": "PUSH1", + "value": "0xA0" + }, + "576": { + "op": "SHL" + }, + "577": { + "op": "SUB" + }, + "578": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "579": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "PUSH2", + "path": "14", + "value": "0x21E" + }, + "582": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "583": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "584": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x25A" + }, + "587": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x255" + }, + "590": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "591": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "593": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x179E" + }, + "596": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "597": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "598": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x740" + }, + "601": { + "fn": "ERC4973.balanceOf", + "jump": "i", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "602": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "603": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "605": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "MLOAD", + "path": "41" + }, + "606": { + "op": "SWAP1" + }, + "607": { + "op": "DUP2" + }, + "608": { + "op": "MSTORE" + }, + "609": { + "op": "PUSH1", + "value": "0x20" + }, + "611": { + "op": "ADD" + }, + "612": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "PUSH2", + "path": "41", + "value": "0x166" + }, + "615": { + "op": "JUMP" + }, + "616": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "617": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x197" + }, + "620": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7C9" + }, + "623": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "624": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "625": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x197" + }, + "628": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x27E" + }, + "631": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "632": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "634": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x17B9" + }, + "637": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5539, + 5739 + ], + "op": "JUMP", + "path": "38" + }, + "638": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "639": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "PUSH2", + "path": "38", + "value": "0x7FF" + }, + "642": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5539, + 5739 + ], + "op": "JUMP", + "path": "38" + }, + "643": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMPDEST", + "path": "0" + }, + "644": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "statement": 2, + "value": "0x5" + }, + "646": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "647": { + "op": "PUSH1", + "value": "0x1" + }, + "649": { + "op": "PUSH1", + "value": "0x1" + }, + "651": { + "op": "PUSH1", + "value": "0xA0" + }, + "653": { + "op": "SHL" + }, + "654": { + "op": "SUB" + }, + "655": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "656": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "PUSH2", + "path": "0", + "value": "0x21E" + }, + "659": { + "fn": "Ownable.owner", + "offset": [ + 1036, + 1121 + ], + "op": "JUMP", + "path": "0" + }, + "660": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "661": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x177" + }, + "664": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "PUSH2", + "path": "41", + "value": "0x89C" + }, + "667": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4886, + 4988 + ], + "op": "JUMP", + "path": "41" + }, + "668": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "669": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x177" + }, + "672": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x2AA" + }, + "675": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "CALLDATASIZE", + "path": "41" + }, + "676": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "678": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x173F" + }, + "681": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "682": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "683": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "PUSH2", + "path": "41", + "value": "0x8AB" + }, + "686": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "687": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "688": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x177" + }, + "691": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "PUSH2", + "path": "37", + "value": "0x9A0" + }, + "694": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7425, + 7673 + ], + "op": "JUMP", + "path": "37" + }, + "695": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "696": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x197" + }, + "699": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x2C5" + }, + "702": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "703": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "705": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1807" + }, + "708": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "709": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "710": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "PUSH2", + "path": "38", + "value": "0x9FD" + }, + "713": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "714": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "715": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x15A" + }, + "718": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2D8" + }, + "721": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "722": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "724": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0x188F" + }, + "727": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "728": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "729": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "PUSH2", + "path": "14", + "value": "0xB32" + }, + "732": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "733": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "734": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x15A" + }, + "737": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x2EB" + }, + "740": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "CALLDATASIZE", + "path": "14" + }, + "741": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "743": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0x18C0" + }, + "746": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "747": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "748": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "PUSH2", + "path": "14", + "value": "0xB45" + }, + "751": { + "fn": "Allowlist.verifySigner", + "jump": "i", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "752": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPDEST", + "path": "40" + }, + "753": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x197" + }, + "756": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x2FE" + }, + "759": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "CALLDATASIZE", + "path": "40" + }, + "760": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "762": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0x1807" + }, + "765": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "i", + "offset": [ + 1465, + 2131 + ], + "op": "JUMP", + "path": "40" + }, + "766": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPDEST", + "path": "40" + }, + "767": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "PUSH2", + "path": "40", + "value": "0xBD9" + }, + "770": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "i", + "offset": [ + 1465, + 2131 + ], + "op": "JUMP", + "path": "40" + }, + "771": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "772": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x197" + }, + "775": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x311" + }, + "778": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "CALLDATASIZE", + "path": "0" + }, + "779": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "781": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0x179E" + }, + "784": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "785": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "786": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC74" + }, + "789": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 1918, + 2116 + ], + "op": "JUMP", + "path": "0" + }, + "790": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "791": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x21E" + }, + "794": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x324" + }, + "797": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "CALLDATASIZE", + "path": "37" + }, + "798": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "800": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1774" + }, + "803": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "804": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "805": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "PUSH2", + "path": "37", + "value": "0xD0C" + }, + "808": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "809": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "JUMPDEST", + "path": "41" + }, + "810": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4573, + 4577 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "812": { + "op": "PUSH1", + "value": "0x1" + }, + "814": { + "op": "PUSH1", + "value": "0x1" + }, + "816": { + "op": "PUSH1", + "value": "0xE0" + }, + "818": { + "op": "SHL" + }, + "819": { + "op": "SUB" + }, + "820": { + "op": "NOT" + }, + "821": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP3", + "path": "41", + "statement": 3 + }, + "822": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "AND", + "path": "41" + }, + "823": { + "op": "PUSH4", + "value": "0x5B5E139F" + }, + "828": { + "op": "PUSH1", + "value": "0xE0" + }, + "830": { + "op": "SHL" + }, + "831": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "EQ", + "path": "41" + }, + "832": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4660 + ], + "op": "DUP1", + "path": "41" + }, + "833": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "PUSH2", + "path": "41", + "value": "0x35A" + }, + "836": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPI", + "path": "41" + }, + "837": { + "op": "POP" + }, + "838": { + "op": "PUSH1", + "value": "0x1" + }, + "840": { + "op": "PUSH1", + "value": "0x1" + }, + "842": { + "op": "PUSH1", + "value": "0xE0" + }, + "844": { + "op": "SHL" + }, + "845": { + "op": "SUB" + }, + "846": { + "op": "NOT" + }, + "847": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "DUP3", + "path": "41" + }, + "848": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "AND", + "path": "41" + }, + "849": { + "op": "PUSH4", + "value": "0x5164CF47" + }, + "854": { + "op": "PUSH1", + "value": "0xE0" + }, + "856": { + "op": "SHL" + }, + "857": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4676, + 4717 + ], + "op": "EQ", + "path": "41" + }, + "858": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4717 + ], + "op": "JUMPDEST", + "path": "41" + }, + "859": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "DUP1", + "path": "41" + }, + "860": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "PUSH2", + "path": "41", + "value": "0x375" + }, + "863": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4612, + 4769 + ], + "op": "JUMPI", + "path": "41" + }, + "864": { + "op": "POP" + }, + "865": { + "op": "PUSH4", + "value": "0x1FFC9A7" + }, + "870": { + "op": "PUSH1", + "value": "0xE0" + }, + "872": { + "op": "SHL" + }, + "873": { + "op": "PUSH1", + "value": "0x1" + }, + "875": { + "op": "PUSH1", + "value": "0x1" + }, + "877": { + "op": "PUSH1", + "value": "0xE0" + }, + "879": { + "op": "SHL" + }, + "880": { + "op": "SUB" + }, + "881": { + "op": "NOT" + }, + "882": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "DUP4", + "path": "41", + "statement": 4 + }, + "883": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "AND", + "path": "41" + }, + "884": { + "fn": "ERC165.supportsInterface", + "offset": [ + 1757, + 1797 + ], + "op": "EQ", + "path": "41" + }, + "885": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4733, + 4769 + ], + "op": "JUMPDEST", + "path": "41" + }, + "886": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4593, + 4769 + ], + "op": "SWAP3", + "path": "41" + }, + "887": { + "fn": "ERC4973.supportsInterface", + "offset": [ + 4448, + 4776 + ], + "op": "SWAP2", + "path": "41" + }, + "888": { + "op": "POP" + }, + "889": { + "op": "POP" + }, + "890": { + "fn": "ERC4973.supportsInterface", + "jump": "o", + "offset": [ + 4448, + 4776 + ], + "op": "JUMP", + "path": "41" + }, + "891": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "JUMPDEST", + "path": "41" + }, + "892": { + "fn": "ERC4973.name", + "offset": [ + 4836, + 4849 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "894": { + "fn": "ERC4973.name", + "offset": [ + 4868, + 4873 + ], + "op": "PUSH1", + "path": "41", + "statement": 5, + "value": "0x0" + }, + "896": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "897": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "898": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x38A" + }, + "901": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "902": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1917" + }, + "905": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "906": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "907": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "908": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "910": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "911": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "913": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "914": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "915": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "916": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "917": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "919": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "920": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "922": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MLOAD", + "path": "41" + }, + "923": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "924": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "925": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "926": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "928": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "929": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "930": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP3", + "path": "41" + }, + "931": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "932": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "933": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "934": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "935": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "936": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "938": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "939": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "940": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "941": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "942": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3B6" + }, + "945": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "946": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1917" + }, + "949": { + "fn": "ERC4973.name", + "jump": "i", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "950": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "951": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "952": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ISZERO", + "path": "41" + }, + "953": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x403" + }, + "956": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "957": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "958": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "960": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "LT", + "path": "41" + }, + "961": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3D8" + }, + "964": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "965": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "968": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "969": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "970": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "971": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DIV", + "path": "41" + }, + "972": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MUL", + "path": "41" + }, + "973": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "974": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "975": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "976": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "978": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "979": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "980": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x403" + }, + "983": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMP", + "path": "41" + }, + "984": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "985": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "986": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "987": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "988": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "989": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "991": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "992": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "994": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "996": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "KECCAK256", + "path": "41" + }, + "997": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "998": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "999": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "1000": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SLOAD", + "path": "41" + }, + "1001": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP2", + "path": "41" + }, + "1002": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "MSTORE", + "path": "41" + }, + "1003": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "1004": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "1006": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "1007": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "1008": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1010": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "1011": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP1", + "path": "41" + }, + "1012": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP4", + "path": "41" + }, + "1013": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "GT", + "path": "41" + }, + "1014": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH2", + "path": "41", + "value": "0x3E6" + }, + "1017": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPI", + "path": "41" + }, + "1018": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "1019": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "1020": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SUB", + "path": "41" + }, + "1021": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "1023": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "AND", + "path": "41" + }, + "1024": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "DUP3", + "path": "41" + }, + "1025": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "ADD", + "path": "41" + }, + "1026": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP2", + "path": "41" + }, + "1027": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1028": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "1029": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "1030": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "1031": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "1032": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "1033": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "SWAP1", + "path": "41" + }, + "1034": { + "fn": "ERC4973.name", + "offset": [ + 4861, + 4873 + ], + "op": "POP", + "path": "41" + }, + "1035": { + "fn": "ERC4973.name", + "offset": [ + 4782, + 4880 + ], + "op": "SWAP1", + "path": "41" + }, + "1036": { + "fn": "ERC4973.name", + "jump": "o", + "offset": [ + 4782, + 4880 + ], + "op": "JUMP", + "path": "41" + }, + "1037": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1038": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4471 + ], + "op": "PUSH2", + "path": "38", + "statement": 6, + "value": "0x416" + }, + "1041": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4463, + 4470 + ], + "op": "DUP2", + "path": "38" + }, + "1042": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4462 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE20" + }, + "1045": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4455, + 4471 + ], + "op": "JUMP", + "path": "38" + }, + "1046": { + "branch": 103, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4455, + 4471 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1047": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH2", + "path": "38", + "value": "0x467" + }, + "1050": { + "branch": 103, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPI", + "path": "38" + }, + "1051": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1053": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MLOAD", + "path": "38" + }, + "1054": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1058": { + "op": "PUSH1", + "value": "0xE5" + }, + "1060": { + "op": "SHL" + }, + "1061": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP2", + "path": "38" + }, + "1062": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MSTORE", + "path": "38" + }, + "1063": { + "op": "PUSH1", + "value": "0x20" + }, + "1065": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1067": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP3", + "path": "38" + }, + "1068": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "ADD", + "path": "38" + }, + "1069": { + "op": "MSTORE" + }, + "1070": { + "op": "PUSH1", + "value": "0x1B" + }, + "1072": { + "op": "PUSH1", + "value": "0x24" + }, + "1074": { + "op": "DUP3" + }, + "1075": { + "op": "ADD" + }, + "1076": { + "op": "MSTORE" + }, + "1077": { + "op": "PUSH32", + "value": "0x5265766F6B65206F6620696E6578697374656E7420746F6B656E2E0000000000" + }, + "1110": { + "op": "PUSH1", + "value": "0x44" + }, + "1112": { + "op": "DUP3" + }, + "1113": { + "op": "ADD" + }, + "1114": { + "op": "MSTORE" + }, + "1115": { + "op": "PUSH1", + "value": "0x64" + }, + "1117": { + "op": "ADD" + }, + "1118": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1119": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1121": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "MLOAD", + "path": "38" + }, + "1122": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "DUP1", + "path": "38" + }, + "1123": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "SWAP2", + "path": "38" + }, + "1124": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "SUB", + "path": "38" + }, + "1125": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "SWAP1", + "path": "38" + }, + "1126": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "REVERT", + "optimizer_revert": true, + "path": "38" + }, + "1127": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4447, + 4503 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1128": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4741 + ], + "op": "DUP2", + "path": "38", + "statement": 7 + }, + "1129": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4748 + ], + "op": "MLOAD", + "path": "38" + }, + "1130": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4752, + 4754 + ], + "op": "PUSH1", + "path": "38", + "value": "0x41" + }, + "1132": { + "branch": 104, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4738, + 4754 + ], + "op": "EQ", + "path": "38" + }, + "1133": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH2", + "path": "38", + "value": "0x4B3" + }, + "1136": { + "branch": 104, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "JUMPI", + "path": "38" + }, + "1137": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1139": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "MLOAD", + "path": "38" + }, + "1140": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1144": { + "op": "PUSH1", + "value": "0xE5" + }, + "1146": { + "op": "SHL" + }, + "1147": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "DUP2", + "path": "38" + }, + "1148": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "MSTORE", + "path": "38" + }, + "1149": { + "op": "PUSH1", + "value": "0x20" + }, + "1151": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1153": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "DUP3", + "path": "38" + }, + "1154": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "ADD", + "path": "38" + }, + "1155": { + "op": "MSTORE" + }, + "1156": { + "op": "PUSH1", + "value": "0x18" + }, + "1158": { + "op": "PUSH1", + "value": "0x24" + }, + "1160": { + "op": "DUP3" + }, + "1161": { + "op": "ADD" + }, + "1162": { + "op": "MSTORE" + }, + "1163": { + "op": "PUSH24", + "value": "0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D" + }, + "1188": { + "op": "PUSH1", + "value": "0x43" + }, + "1190": { + "op": "SHL" + }, + "1191": { + "op": "PUSH1", + "value": "0x44" + }, + "1193": { + "op": "DUP3" + }, + "1194": { + "op": "ADD" + }, + "1195": { + "op": "MSTORE" + }, + "1196": { + "op": "PUSH1", + "value": "0x64" + }, + "1198": { + "op": "ADD" + }, + "1199": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "PUSH2", + "path": "38", + "value": "0x45E" + }, + "1202": { + "op": "JUMP" + }, + "1203": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4730, + 4783 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1204": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4936 + ], + "op": "PUSH2", + "path": "38", + "statement": 8, + "value": "0x4BD" + }, + "1207": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4926, + 4930 + ], + "op": "DUP4", + "path": "38" + }, + "1208": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4932, + 4935 + ], + "op": "DUP4", + "path": "38" + }, + "1209": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4925 + ], + "op": "PUSH2", + "path": "38", + "value": "0xB32" + }, + "1212": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 4910, + 4936 + ], + "op": "JUMP", + "path": "38" + }, + "1213": { + "branch": 105, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4910, + 4936 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1214": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH2", + "path": "38", + "value": "0x505" + }, + "1217": { + "branch": 105, + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "JUMPI", + "path": "38" + }, + "1218": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1220": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "MLOAD", + "path": "38" + }, + "1221": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1225": { + "op": "PUSH1", + "value": "0xE5" + }, + "1227": { + "op": "SHL" + }, + "1228": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "DUP2", + "path": "38" + }, + "1229": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "MSTORE", + "path": "38" + }, + "1230": { + "op": "PUSH1", + "value": "0x20" + }, + "1232": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1234": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "DUP3", + "path": "38" + }, + "1235": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "ADD", + "path": "38" + }, + "1236": { + "op": "MSTORE" + }, + "1237": { + "op": "PUSH1", + "value": "0x19" + }, + "1239": { + "op": "PUSH1", + "value": "0x24" + }, + "1241": { + "op": "DUP3" + }, + "1242": { + "op": "ADD" + }, + "1243": { + "op": "MSTORE" + }, + "1244": { + "op": "PUSH25", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917" + }, + "1270": { + "op": "PUSH1", + "value": "0x39" + }, + "1272": { + "op": "SHL" + }, + "1273": { + "op": "PUSH1", + "value": "0x44" + }, + "1275": { + "op": "DUP3" + }, + "1276": { + "op": "ADD" + }, + "1277": { + "op": "MSTORE" + }, + "1278": { + "op": "PUSH1", + "value": "0x64" + }, + "1280": { + "op": "ADD" + }, + "1281": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "PUSH2", + "path": "38", + "value": "0x45E" + }, + "1284": { + "op": "JUMP" + }, + "1285": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4902, + 4966 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1286": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5098 + ], + "op": "PUSH2", + "path": "38", + "statement": 9, + "value": "0x517" + }, + "1289": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5088 + ], + "op": "PUSH2", + "path": "38", + "value": "0x511" + }, + "1292": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5080, + 5087 + ], + "op": "DUP3", + "path": "38" + }, + "1293": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5079 + ], + "op": "PUSH2", + "path": "38", + "value": "0x6DB" + }, + "1296": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 5072, + 5088 + ], + "op": "JUMP", + "path": "38" + }, + "1297": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5072, + 5088 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1298": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5090, + 5097 + ], + "op": "DUP3", + "path": "38" + }, + "1299": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5071 + ], + "op": "PUSH2", + "path": "38", + "value": "0xE3D" + }, + "1302": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "i", + "offset": [ + 5065, + 5098 + ], + "op": "JUMP", + "path": "38" + }, + "1303": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5065, + 5098 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1304": { + "op": "POP" + }, + "1305": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH1", + "path": "38", + "statement": 10, + "value": "0x40" + }, + "1307": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "MLOAD", + "path": "38" + }, + "1308": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5186, + 5193 + ], + "op": "DUP2", + "path": "38" + }, + "1309": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5186, + 5193 + ], + "op": "SWAP1", + "path": "38" + }, + "1310": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH32", + "path": "38", + "value": "0xF947BF2266AFEDE98F27AD2312DB8B2A17921852307F979B6F14A2B41FA774BC" + }, + "1343": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "SWAP1", + "path": "38" + }, + "1344": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "1346": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "SWAP1", + "path": "38" + }, + "1347": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 5166, + 5194 + ], + "op": "LOG2", + "path": "38" + }, + "1348": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "1349": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "1350": { + "fn": "SoulboundCore.revokeWithSignature", + "offset": [ + 4274, + 5201 + ], + "op": "POP", + "path": "38" + }, + "1351": { + "fn": "SoulboundCore.revokeWithSignature", + "jump": "o", + "offset": [ + 4274, + 5201 + ], + "op": "JUMP", + "path": "38" + }, + "1352": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1353": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "1355": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1356": { + "op": "PUSH1", + "value": "0x1" + }, + "1358": { + "op": "PUSH1", + "value": "0x1" + }, + "1360": { + "op": "PUSH1", + "value": "0xA0" + }, + "1362": { + "op": "SHL" + }, + "1363": { + "op": "SUB" + }, + "1364": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "1365": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5", + "statement": 11 + }, + "1366": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "1367": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x572" + }, + "1370": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "1371": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "1373": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "1374": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1378": { + "op": "PUSH1", + "value": "0xE5" + }, + "1380": { + "op": "SHL" + }, + "1381": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "1382": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "1383": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "1385": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "1386": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x45E" + }, + "1389": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "1390": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1951" + }, + "1393": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "1394": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1395": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3272, + 3278 + ], + "op": "PUSH1", + "path": "40", + "value": "0xA" + }, + "1397": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3272, + 3278 + ], + "op": "SLOAD", + "path": "40" + }, + "1398": { + "branch": 84, + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3272, + 3283 + ], + "op": "ISZERO", + "path": "40" + }, + "1399": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "PUSH2", + "path": "40", + "value": "0x594" + }, + "1402": { + "branch": 84, + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMPI", + "path": "40" + }, + "1403": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3344 + ], + "op": "PUSH1", + "path": "40", + "statement": 12, + "value": "0xA" + }, + "1405": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "DUP1", + "path": "40" + }, + "1406": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SLOAD", + "path": "40" + }, + "1407": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SWAP1", + "path": "40" + }, + "1408": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3344 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "1410": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "PUSH2", + "path": "40", + "value": "0x58A" + }, + "1413": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "DUP4", + "path": "40" + }, + "1414": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "PUSH2", + "path": "40", + "value": "0x199C" + }, + "1417": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 3338, + 3346 + ], + "op": "JUMP", + "path": "40" + }, + "1418": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1419": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SWAP2", + "path": "40" + }, + "1420": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SWAP1", + "path": "40" + }, + "1421": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "POP", + "path": "40" + }, + "1422": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "SSTORE", + "path": "40" + }, + "1423": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3338, + 3346 + ], + "op": "POP", + "path": "40" + }, + "1424": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "PUSH2", + "path": "40", + "value": "0x5D4" + }, + "1427": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMP", + "path": "40" + }, + "1428": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1429": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "PUSH1", + "path": "40", + "statement": 13, + "value": "0x40" + }, + "1431": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "MLOAD", + "path": "40" + }, + "1432": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1436": { + "op": "PUSH1", + "value": "0xE5" + }, + "1438": { + "op": "SHL" + }, + "1439": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "DUP2", + "path": "40" + }, + "1440": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "MSTORE", + "path": "40" + }, + "1441": { + "op": "PUSH1", + "value": "0x20" + }, + "1443": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "1445": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "DUP3", + "path": "40" + }, + "1446": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "ADD", + "path": "40" + }, + "1447": { + "op": "MSTORE" + }, + "1448": { + "op": "PUSH1", + "value": "0x15" + }, + "1450": { + "op": "PUSH1", + "value": "0x24" + }, + "1452": { + "op": "DUP3" + }, + "1453": { + "op": "ADD" + }, + "1454": { + "op": "MSTORE" + }, + "1455": { + "op": "PUSH21", + "value": "0x2637BBB2B9BA103634B6B4BA103932B0B1B432B217" + }, + "1477": { + "op": "PUSH1", + "value": "0x59" + }, + "1479": { + "op": "SHL" + }, + "1480": { + "op": "PUSH1", + "value": "0x44" + }, + "1482": { + "op": "DUP3" + }, + "1483": { + "op": "ADD" + }, + "1484": { + "op": "MSTORE" + }, + "1485": { + "op": "PUSH1", + "value": "0x64" + }, + "1487": { + "op": "ADD" + }, + "1488": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3427, + 3458 + ], + "op": "PUSH2", + "path": "40", + "value": "0x45E" + }, + "1491": { + "op": "JUMP" + }, + "1492": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3268, + 3469 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1493": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3519, + 3558 + ], + "op": "PUSH2", + "path": "40", + "statement": 14, + "value": "0x5DF" + }, + "1496": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3539, + 3543 + ], + "op": "DUP4", + "path": "40" + }, + "1497": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3545, + 3548 + ], + "op": "DUP4", + "path": "40" + }, + "1498": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3550, + 3557 + ], + "op": "DUP4", + "path": "40" + }, + "1499": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3519, + 3538 + ], + "op": "PUSH2", + "path": "40", + "value": "0x40D" + }, + "1502": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "i", + "offset": [ + 3519, + 3558 + ], + "op": "JUMP", + "path": "40" + }, + "1503": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 3519, + 3558 + ], + "op": "JUMPDEST", + "path": "40" + }, + "1504": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "POP", + "path": "40" + }, + "1505": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "POP", + "path": "40" + }, + "1506": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "offset": [ + 2850, + 3565 + ], + "op": "POP", + "path": "40" + }, + "1507": { + "fn": "SoulboundWithSignature.ownerRevokeWithSignature", + "jump": "o", + "offset": [ + 2850, + 3565 + ], + "op": "JUMP", + "path": "40" + }, + "1508": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1509": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6227, + 6250 + ], + "op": "PUSH1", + "path": "38", + "value": "0x60" + }, + "1511": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6353 + ], + "op": "PUSH2", + "path": "38", + "statement": 15, + "value": "0x5EE" + }, + "1514": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6351 + ], + "op": "PUSH2", + "path": "38", + "value": "0x9A0" + }, + "1517": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6340, + 6353 + ], + "op": "JUMP", + "path": "38" + }, + "1518": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6340, + 6353 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1519": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6334, + 6361 + ], + "op": "MLOAD", + "path": "38" + }, + "1520": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6365, + 6366 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "1522": { + "branch": 106, + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6334, + 6366 + ], + "op": "SUB", + "path": "38" + }, + "1523": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH2", + "path": "38", + "value": "0x62E" + }, + "1526": { + "branch": 106, + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "JUMPI", + "path": "38" + }, + "1527": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1529": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "MLOAD", + "path": "38" + }, + "1530": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1534": { + "op": "PUSH1", + "value": "0xE5" + }, + "1536": { + "op": "SHL" + }, + "1537": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "DUP2", + "path": "38" + }, + "1538": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "MSTORE", + "path": "38" + }, + "1539": { + "op": "PUSH1", + "value": "0x20" + }, + "1541": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "1543": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "DUP3", + "path": "38" + }, + "1544": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "ADD", + "path": "38" + }, + "1545": { + "op": "MSTORE" + }, + "1546": { + "op": "PUSH1", + "value": "0xD" + }, + "1548": { + "op": "PUSH1", + "value": "0x24" + }, + "1550": { + "op": "DUP3" + }, + "1551": { + "op": "ADD" + }, + "1552": { + "op": "MSTORE" + }, + "1553": { + "op": "PUSH13", + "value": "0x456D7074792062617365555249" + }, + "1567": { + "op": "PUSH1", + "value": "0x98" + }, + "1569": { + "op": "SHL" + }, + "1570": { + "op": "PUSH1", + "value": "0x44" + }, + "1572": { + "op": "DUP3" + }, + "1573": { + "op": "ADD" + }, + "1574": { + "op": "MSTORE" + }, + "1575": { + "op": "PUSH1", + "value": "0x64" + }, + "1577": { + "op": "ADD" + }, + "1578": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "PUSH2", + "path": "38", + "value": "0x45E" + }, + "1581": { + "op": "JUMP" + }, + "1582": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6326, + 6384 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1583": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6493 + ], + "op": "PUSH2", + "path": "38", + "statement": 16, + "value": "0x636" + }, + "1586": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6491 + ], + "op": "PUSH2", + "path": "38", + "value": "0x9A0" + }, + "1589": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6480, + 6493 + ], + "op": "JUMP", + "path": "38" + }, + "1590": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6480, + 6493 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1591": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6512 + ], + "op": "PUSH2", + "path": "38", + "value": "0x63F" + }, + "1594": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6504, + 6511 + ], + "op": "DUP4", + "path": "38" + }, + "1595": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6503 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF05" + }, + "1598": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6495, + 6512 + ], + "op": "JUMP", + "path": "38" + }, + "1599": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6495, + 6512 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1600": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1602": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MLOAD", + "path": "38" + }, + "1603": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "1605": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "ADD", + "path": "38" + }, + "1606": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH2", + "path": "38", + "value": "0x650" + }, + "1609": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP3", + "path": "38" + }, + "1610": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP2", + "path": "38" + }, + "1611": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP1", + "path": "38" + }, + "1612": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH2", + "path": "38", + "value": "0x19B3" + }, + "1615": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "i", + "offset": [ + 6463, + 6513 + ], + "op": "JUMP", + "path": "38" + }, + "1616": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "JUMPDEST", + "path": "38" + }, + "1617": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1619": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MLOAD", + "path": "38" + }, + "1620": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "1622": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP2", + "path": "38" + }, + "1623": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP4", + "path": "38" + }, + "1624": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SUB", + "path": "38" + }, + "1625": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SUB", + "path": "38" + }, + "1626": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "DUP2", + "path": "38" + }, + "1627": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MSTORE", + "path": "38" + }, + "1628": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "SWAP1", + "path": "38" + }, + "1629": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "1631": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6463, + 6513 + ], + "op": "MSTORE", + "path": "38" + }, + "1632": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6444, + 6514 + ], + "op": "SWAP1", + "path": "38" + }, + "1633": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6444, + 6514 + ], + "op": "POP", + "path": "38" + }, + "1634": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "SWAP2", + "path": "38" + }, + "1635": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "SWAP1", + "path": "38" + }, + "1636": { + "fn": "SoulboundCore.generateTokenURI", + "offset": [ + 6139, + 6521 + ], + "op": "POP", + "path": "38" + }, + "1637": { + "fn": "SoulboundCore.generateTokenURI", + "jump": "o", + "offset": [ + 6139, + 6521 + ], + "op": "JUMP", + "path": "38" + }, + "1638": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1639": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "PUSH2", + "path": "41", + "statement": 17, + "value": "0x66F" + }, + "1642": { + "fn": "ERC4973.burn", + "offset": [ + 5338, + 5345 + ], + "op": "DUP2", + "path": "41" + }, + "1643": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6DB" + }, + "1646": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5330, + 5346 + ], + "op": "JUMP", + "path": "41" + }, + "1647": { + "fn": "ERC4973.burn", + "offset": [ + 5330, + 5346 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1648": { + "op": "PUSH1", + "value": "0x1" + }, + "1650": { + "op": "PUSH1", + "value": "0x1" + }, + "1652": { + "op": "PUSH1", + "value": "0xA0" + }, + "1654": { + "op": "SHL" + }, + "1655": { + "op": "SUB" + }, + "1656": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "1657": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5326 + ], + "op": "CALLER", + "path": "41" + }, + "1658": { + "op": "PUSH1", + "value": "0x1" + }, + "1660": { + "op": "PUSH1", + "value": "0x1" + }, + "1662": { + "op": "PUSH1", + "value": "0xA0" + }, + "1664": { + "op": "SHL" + }, + "1665": { + "op": "SUB" + }, + "1666": { + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "AND", + "path": "41" + }, + "1667": { + "branch": 88, + "fn": "ERC4973.burn", + "offset": [ + 5316, + 5346 + ], + "op": "EQ", + "path": "41" + }, + "1668": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6CF" + }, + "1671": { + "branch": 88, + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPI", + "path": "41" + }, + "1672": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1674": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MLOAD", + "path": "41" + }, + "1675": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1679": { + "op": "PUSH1", + "value": "0xE5" + }, + "1681": { + "op": "SHL" + }, + "1682": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP2", + "path": "41" + }, + "1683": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "MSTORE", + "path": "41" + }, + "1684": { + "op": "PUSH1", + "value": "0x20" + }, + "1686": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1688": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "DUP3", + "path": "41" + }, + "1689": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "ADD", + "path": "41" + }, + "1690": { + "op": "MSTORE" + }, + "1691": { + "op": "PUSH1", + "value": "0x1A" + }, + "1693": { + "op": "PUSH1", + "value": "0x24" + }, + "1695": { + "op": "DUP3" + }, + "1696": { + "op": "ADD" + }, + "1697": { + "op": "MSTORE" + }, + "1698": { + "op": "PUSH32", + "value": "0x6275726E3A2073656E646572206D757374206265206F776E6572000000000000" + }, + "1731": { + "op": "PUSH1", + "value": "0x44" + }, + "1733": { + "op": "DUP3" + }, + "1734": { + "op": "ADD" + }, + "1735": { + "op": "MSTORE" + }, + "1736": { + "op": "PUSH1", + "value": "0x64" + }, + "1738": { + "op": "ADD" + }, + "1739": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "PUSH2", + "path": "41", + "value": "0x45E" + }, + "1742": { + "op": "JUMP" + }, + "1743": { + "fn": "ERC4973.burn", + "offset": [ + 5308, + 5377 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1744": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "PUSH2", + "path": "41", + "statement": 18, + "value": "0x6D8" + }, + "1747": { + "fn": "ERC4973.burn", + "offset": [ + 5393, + 5400 + ], + "op": "DUP2", + "path": "41" + }, + "1748": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5392 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100E" + }, + "1751": { + "fn": "ERC4973.burn", + "jump": "i", + "offset": [ + 5387, + 5401 + ], + "op": "JUMP", + "path": "41" + }, + "1752": { + "fn": "ERC4973.burn", + "offset": [ + 5387, + 5401 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1753": { + "fn": "ERC4973.burn", + "offset": [ + 5243, + 5408 + ], + "op": "POP", + "path": "41" + }, + "1754": { + "fn": "ERC4973.burn", + "jump": "o", + "offset": [ + 5243, + 5408 + ], + "op": "JUMP", + "path": "41" + }, + "1755": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5705, + 5918 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1756": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5768, + 5775 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1758": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "1759": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "1760": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "1761": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5810 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "1763": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1765": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "MSTORE", + "path": "41" + }, + "1766": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1768": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP2", + "path": "41" + }, + "1769": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "KECCAK256", + "path": "41" + }, + "1770": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "SLOAD", + "path": "41" + }, + "1771": { + "op": "PUSH1", + "value": "0x1" + }, + "1773": { + "op": "PUSH1", + "value": "0x1" + }, + "1775": { + "op": "PUSH1", + "value": "0xA0" + }, + "1777": { + "op": "SHL" + }, + "1778": { + "op": "SUB" + }, + "1779": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "AND", + "path": "41" + }, + "1780": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5803, + 5819 + ], + "op": "DUP1", + "path": "41" + }, + "1781": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "statement": 19, + "value": "0x375" + }, + "1784": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "JUMPI", + "path": "41" + }, + "1785": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1787": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MLOAD", + "path": "41" + }, + "1788": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1792": { + "op": "PUSH1", + "value": "0xE5" + }, + "1794": { + "op": "SHL" + }, + "1795": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP2", + "path": "41" + }, + "1796": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "MSTORE", + "path": "41" + }, + "1797": { + "op": "PUSH1", + "value": "0x20" + }, + "1799": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1801": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "DUP3", + "path": "41" + }, + "1802": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "ADD", + "path": "41" + }, + "1803": { + "op": "MSTORE" + }, + "1804": { + "op": "PUSH1", + "value": "0x1C" + }, + "1806": { + "op": "PUSH1", + "value": "0x24" + }, + "1808": { + "op": "DUP3" + }, + "1809": { + "op": "ADD" + }, + "1810": { + "op": "MSTORE" + }, + "1811": { + "op": "PUSH32", + "value": "0x6F776E65724F663A20746F6B656E20646F65736E277420657869737400000000" + }, + "1844": { + "op": "PUSH1", + "value": "0x44" + }, + "1846": { + "op": "DUP3" + }, + "1847": { + "op": "ADD" + }, + "1848": { + "op": "MSTORE" + }, + "1849": { + "op": "PUSH1", + "value": "0x64" + }, + "1851": { + "op": "ADD" + }, + "1852": { + "fn": "ERC4973.ownerOf", + "offset": [ + 5829, + 5889 + ], + "op": "PUSH2", + "path": "41", + "value": "0x45E" + }, + "1855": { + "op": "JUMP" + }, + "1856": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5414, + 5699 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1857": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5526, + 5533 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1859": { + "op": "PUSH1", + "value": "0x1" + }, + "1861": { + "op": "PUSH1", + "value": "0x1" + }, + "1863": { + "op": "PUSH1", + "value": "0xA0" + }, + "1865": { + "op": "SHL" + }, + "1866": { + "op": "SUB" + }, + "1867": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "DUP3", + "path": "41", + "statement": 20 + }, + "1868": { + "branch": 89, + "fn": "ERC4973.balanceOf", + "offset": [ + 5570, + 5589 + ], + "op": "AND", + "path": "41" + }, + "1869": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x7AD" + }, + "1872": { + "branch": 89, + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPI", + "path": "41" + }, + "1873": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1875": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MLOAD", + "path": "41" + }, + "1876": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "1880": { + "op": "PUSH1", + "value": "0xE5" + }, + "1882": { + "op": "SHL" + }, + "1883": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP2", + "path": "41" + }, + "1884": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "MSTORE", + "path": "41" + }, + "1885": { + "op": "PUSH1", + "value": "0x20" + }, + "1887": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1889": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "DUP3", + "path": "41" + }, + "1890": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "ADD", + "path": "41" + }, + "1891": { + "op": "MSTORE" + }, + "1892": { + "op": "PUSH1", + "value": "0x2C" + }, + "1894": { + "op": "PUSH1", + "value": "0x24" + }, + "1896": { + "op": "DUP3" + }, + "1897": { + "op": "ADD" + }, + "1898": { + "op": "MSTORE" + }, + "1899": { + "op": "PUSH32", + "value": "0x62616C616E63654F663A2061646472657373207A65726F206973206E6F742061" + }, + "1932": { + "op": "PUSH1", + "value": "0x44" + }, + "1934": { + "op": "DUP3" + }, + "1935": { + "op": "ADD" + }, + "1936": { + "op": "MSTORE" + }, + "1937": { + "op": "PUSH12", + "value": "0x103B30B634B21037BBB732B9" + }, + "1950": { + "op": "PUSH1", + "value": "0xA1" + }, + "1952": { + "op": "SHL" + }, + "1953": { + "op": "PUSH1", + "value": "0x64" + }, + "1955": { + "op": "DUP3" + }, + "1956": { + "op": "ADD" + }, + "1957": { + "op": "MSTORE" + }, + "1958": { + "op": "PUSH1", + "value": "0x84" + }, + "1960": { + "op": "ADD" + }, + "1961": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "PUSH2", + "path": "41", + "value": "0x45E" + }, + "1964": { + "op": "JUMP" + }, + "1965": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5549, + 5659 + ], + "op": "JUMPDEST", + "path": "41" + }, + "1966": { + "op": "POP" + }, + "1967": { + "op": "PUSH1", + "value": "0x1" + }, + "1969": { + "op": "PUSH1", + "value": "0x1" + }, + "1971": { + "op": "PUSH1", + "value": "0xA0" + }, + "1973": { + "op": "SHL" + }, + "1974": { + "op": "SUB" + }, + "1975": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "AND", + "path": "41", + "statement": 21 + }, + "1976": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "1978": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1979": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "DUP2", + "path": "41" + }, + "1980": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "1981": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5685 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "1983": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "1985": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "MSTORE", + "path": "41" + }, + "1986": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "1988": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1989": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "KECCAK256", + "path": "41" + }, + "1990": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SLOAD", + "path": "41" + }, + "1991": { + "fn": "ERC4973.balanceOf", + "offset": [ + 5676, + 5692 + ], + "op": "SWAP1", + "path": "41" + }, + "1992": { + "fn": "ERC4973.balanceOf", + "jump": "o", + "offset": [ + 5414, + 5699 + ], + "op": "JUMP", + "path": "41" + }, + "1993": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1668, + 1769 + ], + "op": "JUMPDEST", + "path": "0" + }, + "1994": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "1996": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "1997": { + "op": "PUSH1", + "value": "0x1" + }, + "1999": { + "op": "PUSH1", + "value": "0x1" + }, + "2001": { + "op": "PUSH1", + "value": "0xA0" + }, + "2003": { + "op": "SHL" + }, + "2004": { + "op": "SUB" + }, + "2005": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "2006": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2007": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "2008": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x7F3" + }, + "2011": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "2012": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2014": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "2015": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2019": { + "op": "PUSH1", + "value": "0xE5" + }, + "2021": { + "op": "SHL" + }, + "2022": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "2023": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "2024": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2026": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "2027": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x45E" + }, + "2030": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "2031": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1951" + }, + "2034": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "2035": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2036": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "PUSH2", + "path": "0", + "statement": 22, + "value": "0x7FD" + }, + "2039": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1759, + 1760 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "2041": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1750 + ], + "op": "PUSH2", + "path": "0", + "value": "0x10B5" + }, + "2044": { + "fn": "Ownable.renounceOwnership", + "jump": "i", + "offset": [ + 1732, + 1762 + ], + "op": "JUMP", + "path": "0" + }, + "2045": { + "fn": "Ownable.renounceOwnership", + "offset": [ + 1732, + 1762 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2046": { + "fn": "Ownable.renounceOwnership", + "jump": "o", + "offset": [ + 1668, + 1769 + ], + "op": "JUMP", + "path": "0" + }, + "2047": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5539, + 5739 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2048": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "2050": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "2051": { + "op": "PUSH1", + "value": "0x1" + }, + "2053": { + "op": "PUSH1", + "value": "0x1" + }, + "2055": { + "op": "PUSH1", + "value": "0xA0" + }, + "2057": { + "op": "SHL" + }, + "2058": { + "op": "SUB" + }, + "2059": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "2060": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "2061": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "2062": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x829" + }, + "2065": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "2066": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "2068": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "2069": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2073": { + "op": "PUSH1", + "value": "0xE5" + }, + "2075": { + "op": "SHL" + }, + "2076": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "2077": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "2078": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "2080": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "2081": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x45E" + }, + "2084": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "2085": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1951" + }, + "2088": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "2089": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "2090": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5659, + 5665 + ], + "op": "DUP2", + "path": "38" + }, + "2091": { + "offset": [ + 1704, + 1723 + ], + "op": "PUSH2", + "path": "38", + "value": "0x83C" + }, + "2094": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "PUSH1", + "path": "14", + "value": "0x8" + }, + "2096": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SLOAD", + "path": "14" + }, + "2097": { + "op": "PUSH1", + "value": "0x1" + }, + "2099": { + "op": "PUSH1", + "value": "0x1" + }, + "2101": { + "op": "PUSH1", + "value": "0xA0" + }, + "2103": { + "op": "SHL" + }, + "2104": { + "op": "SUB" + }, + "2105": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "AND", + "path": "14" + }, + "2106": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2247, + 2261 + ], + "op": "SWAP1", + "path": "14" + }, + "2107": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 2171, + 2268 + ], + "op": "JUMP", + "path": "14" + }, + "2108": { + "offset": [ + 1704, + 1723 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2109": { + "op": "PUSH1", + "value": "0x1" + }, + "2111": { + "op": "PUSH1", + "value": "0x1" + }, + "2113": { + "op": "PUSH1", + "value": "0xA0" + }, + "2115": { + "op": "SHL" + }, + "2116": { + "op": "SUB" + }, + "2117": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "2118": { + "offset": [ + 1693, + 1700 + ], + "op": "DUP2", + "path": "38" + }, + "2119": { + "op": "PUSH1", + "value": "0x1" + }, + "2121": { + "op": "PUSH1", + "value": "0x1" + }, + "2123": { + "op": "PUSH1", + "value": "0xA0" + }, + "2125": { + "op": "SHL" + }, + "2126": { + "op": "SUB" + }, + "2127": { + "offset": [ + 1693, + 1723 + ], + "op": "AND", + "path": "38" + }, + "2128": { + "branch": 107, + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1693, + 1723 + ], + "op": "EQ", + "path": "38" + }, + "2129": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x893" + }, + "2132": { + "branch": 107, + "offset": [ + 1685, + 1748 + ], + "op": "JUMPI", + "path": "38" + }, + "2133": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2135": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MLOAD", + "path": "38" + }, + "2136": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2140": { + "op": "PUSH1", + "value": "0xE5" + }, + "2142": { + "op": "SHL" + }, + "2143": { + "offset": [ + 1685, + 1748 + ], + "op": "DUP2", + "path": "38" + }, + "2144": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "MSTORE", + "path": "38" + }, + "2145": { + "op": "PUSH1", + "value": "0x20" + }, + "2147": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2149": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "DUP3", + "path": "38" + }, + "2150": { + "fn": "Allowlist.getAllowlistOwner", + "offset": [ + 1685, + 1748 + ], + "op": "ADD", + "path": "38" + }, + "2151": { + "op": "MSTORE" + }, + "2152": { + "op": "PUSH1", + "value": "0x14" + }, + "2154": { + "op": "PUSH1", + "value": "0x24" + }, + "2156": { + "op": "DUP3" + }, + "2157": { + "op": "ADD" + }, + "2158": { + "op": "MSTORE" + }, + "2159": { + "op": "PUSH20", + "value": "0x4E6F7420416C6C6F776C697374204F776E657221" + }, + "2180": { + "op": "PUSH1", + "value": "0x60" + }, + "2182": { + "op": "SHL" + }, + "2183": { + "op": "PUSH1", + "value": "0x44" + }, + "2185": { + "op": "DUP3" + }, + "2186": { + "op": "ADD" + }, + "2187": { + "op": "MSTORE" + }, + "2188": { + "op": "PUSH1", + "value": "0x64" + }, + "2190": { + "op": "ADD" + }, + "2191": { + "offset": [ + 1685, + 1748 + ], + "op": "PUSH2", + "path": "38", + "value": "0x45E" + }, + "2194": { + "op": "JUMP" + }, + "2195": { + "offset": [ + 1685, + 1748 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2196": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5711, + 5732 + ], + "op": "PUSH2", + "path": "38", + "statement": 23, + "value": "0x5DF" + }, + "2199": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5723, + 5731 + ], + "op": "DUP3", + "path": "38" + }, + "2200": { + "fn": "SoulboundCore.setBaseURI", + "offset": [ + 5711, + 5722 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1107" + }, + "2203": { + "fn": "SoulboundCore.setBaseURI", + "jump": "i", + "offset": [ + 5711, + 5732 + ], + "op": "JUMP", + "path": "38" + }, + "2204": { + "fn": "ERC4973.symbol", + "offset": [ + 4886, + 4988 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2205": { + "fn": "ERC4973.symbol", + "offset": [ + 4942, + 4955 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "2207": { + "fn": "ERC4973.symbol", + "offset": [ + 4974, + 4981 + ], + "op": "PUSH1", + "path": "41", + "statement": 24, + "value": "0x1" + }, + "2209": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "DUP1", + "path": "41" + }, + "2210": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SLOAD", + "path": "41" + }, + "2211": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x38A" + }, + "2214": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "SWAP1", + "path": "41" + }, + "2215": { + "fn": "ERC4973.symbol", + "offset": [ + 4967, + 4981 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1917" + }, + "2218": { + "fn": "ERC4973.symbol", + "jump": "i", + "offset": [ + 4967, + 4981 + ], + "op": "JUMP", + "path": "41" + }, + "2219": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2220": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5107, + 5120 + ], + "op": "PUSH1", + "path": "41", + "value": "0x60" + }, + "2222": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5160 + ], + "op": "PUSH2", + "path": "41", + "statement": 25, + "value": "0x8B6" + }, + "2225": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5152, + 5159 + ], + "op": "DUP3", + "path": "41" + }, + "2226": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5151 + ], + "op": "PUSH2", + "path": "41", + "value": "0xE20" + }, + "2229": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5144, + 5160 + ], + "op": "JUMP", + "path": "41" + }, + "2230": { + "branch": 90, + "fn": "ERC4973.tokenURI", + "offset": [ + 5144, + 5160 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2231": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "value": "0x902" + }, + "2234": { + "branch": 90, + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPI", + "path": "41" + }, + "2235": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2237": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MLOAD", + "path": "41" + }, + "2238": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2242": { + "op": "PUSH1", + "value": "0xE5" + }, + "2244": { + "op": "SHL" + }, + "2245": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP2", + "path": "41" + }, + "2246": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "MSTORE", + "path": "41" + }, + "2247": { + "op": "PUSH1", + "value": "0x20" + }, + "2249": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "2251": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "DUP3", + "path": "41" + }, + "2252": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "ADD", + "path": "41" + }, + "2253": { + "op": "MSTORE" + }, + "2254": { + "op": "PUSH1", + "value": "0x1D" + }, + "2256": { + "op": "PUSH1", + "value": "0x24" + }, + "2258": { + "op": "DUP3" + }, + "2259": { + "op": "ADD" + }, + "2260": { + "op": "MSTORE" + }, + "2261": { + "op": "PUSH32", + "value": "0x746F6B656E5552493A20746F6B656E20646F65736E2774206578697374000000" + }, + "2294": { + "op": "PUSH1", + "value": "0x44" + }, + "2296": { + "op": "DUP3" + }, + "2297": { + "op": "ADD" + }, + "2298": { + "op": "MSTORE" + }, + "2299": { + "op": "PUSH1", + "value": "0x64" + }, + "2301": { + "op": "ADD" + }, + "2302": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "PUSH2", + "path": "41", + "value": "0x45E" + }, + "2305": { + "op": "JUMP" + }, + "2306": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5136, + 5194 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2307": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "statement": 26, + "value": "0x0" + }, + "2309": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2310": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2311": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2312": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5221 + ], + "op": "PUSH1", + "path": "41", + "value": "0x3" + }, + "2314": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2316": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2317": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2319": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2320": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5211, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "2321": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2322": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2323": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x91B" + }, + "2326": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2327": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1917" + }, + "2330": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "2331": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2332": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2333": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2335": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2336": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2338": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2339": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2340": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "2341": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "2342": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2344": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2345": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2347": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MLOAD", + "path": "41" + }, + "2348": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2349": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2350": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2351": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "2353": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2354": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2355": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP3", + "path": "41" + }, + "2356": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2357": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2358": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2359": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2360": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2361": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2363": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2364": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2365": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2366": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2367": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x947" + }, + "2370": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2371": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1917" + }, + "2374": { + "fn": "ERC4973.tokenURI", + "jump": "i", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "2375": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2376": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2377": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ISZERO", + "path": "41" + }, + "2378": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x994" + }, + "2381": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "2382": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2383": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2385": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "LT", + "path": "41" + }, + "2386": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x969" + }, + "2389": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "2390": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x100" + }, + "2393": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2394": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "2395": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2396": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DIV", + "path": "41" + }, + "2397": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MUL", + "path": "41" + }, + "2398": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "2399": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2400": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2401": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2403": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2404": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2405": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x994" + }, + "2408": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMP", + "path": "41" + }, + "2409": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2410": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2411": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2412": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2413": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2414": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "2416": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2417": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2419": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "2421": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "KECCAK256", + "path": "41" + }, + "2422": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2423": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2424": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2425": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SLOAD", + "path": "41" + }, + "2426": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP2", + "path": "41" + }, + "2427": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "MSTORE", + "path": "41" + }, + "2428": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2429": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "2431": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2432": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2433": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "2435": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2436": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP1", + "path": "41" + }, + "2437": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP4", + "path": "41" + }, + "2438": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "GT", + "path": "41" + }, + "2439": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH2", + "path": "41", + "value": "0x977" + }, + "2442": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPI", + "path": "41" + }, + "2443": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2444": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2445": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SUB", + "path": "41" + }, + "2446": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1F" + }, + "2448": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "AND", + "path": "41" + }, + "2449": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "DUP3", + "path": "41" + }, + "2450": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "ADD", + "path": "41" + }, + "2451": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP2", + "path": "41" + }, + "2452": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "JUMPDEST", + "path": "41" + }, + "2453": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2454": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2455": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2456": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2457": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2458": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "SWAP1", + "path": "41" + }, + "2459": { + "fn": "ERC4973.tokenURI", + "offset": [ + 5204, + 5230 + ], + "op": "POP", + "path": "41" + }, + "2460": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP2", + "path": "41" + }, + "2461": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "SWAP1", + "path": "41" + }, + "2462": { + "fn": "ERC4973.tokenURI", + "offset": [ + 4994, + 5237 + ], + "op": "POP", + "path": "41" + }, + "2463": { + "fn": "ERC4973.tokenURI", + "jump": "o", + "offset": [ + 4994, + 5237 + ], + "op": "JUMP", + "path": "41" + }, + "2464": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7425, + 7673 + ], + "op": "JUMPDEST", + "path": "37" + }, + "2465": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7469, + 7491 + ], + "op": "PUSH1", + "path": "37", + "value": "0x60" + }, + "2467": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7567, + 7574 + ], + "op": "PUSH1", + "path": "37", + "statement": 27, + "value": "0x6" + }, + "2469": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "DUP1", + "path": "37" + }, + "2470": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SLOAD", + "path": "37" + }, + "2471": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x9AF" + }, + "2474": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "2475": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1917" + }, + "2478": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7561, + 7582 + ], + "op": "JUMP", + "path": "37" + }, + "2479": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "JUMPDEST", + "path": "37" + }, + "2480": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "SWAP1", + "path": "37" + }, + "2481": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7582 + ], + "op": "POP", + "path": "37" + }, + "2482": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7586, + 7587 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "2484": { + "branch": 93, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7561, + 7587 + ], + "op": "SUB", + "path": "37" + }, + "2485": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x9F0" + }, + "2488": { + "branch": 93, + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPI", + "path": "37" + }, + "2489": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "2491": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MLOAD", + "path": "37" + }, + "2492": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2496": { + "op": "PUSH1", + "value": "0xE5" + }, + "2498": { + "op": "SHL" + }, + "2499": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP2", + "path": "37" + }, + "2500": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "MSTORE", + "path": "37" + }, + "2501": { + "op": "PUSH1", + "value": "0x20" + }, + "2503": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "2505": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "DUP3", + "path": "37" + }, + "2506": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "ADD", + "path": "37" + }, + "2507": { + "op": "MSTORE" + }, + "2508": { + "op": "PUSH1", + "value": "0xD" + }, + "2510": { + "op": "PUSH1", + "value": "0x24" + }, + "2512": { + "op": "DUP3" + }, + "2513": { + "op": "ADD" + }, + "2514": { + "op": "MSTORE" + }, + "2515": { + "op": "PUSH13", + "value": "0x456D7074792062617365555249" + }, + "2529": { + "op": "PUSH1", + "value": "0x98" + }, + "2531": { + "op": "SHL" + }, + "2532": { + "op": "PUSH1", + "value": "0x44" + }, + "2534": { + "op": "DUP3" + }, + "2535": { + "op": "ADD" + }, + "2536": { + "op": "MSTORE" + }, + "2537": { + "op": "PUSH1", + "value": "0x64" + }, + "2539": { + "op": "ADD" + }, + "2540": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "2543": { + "op": "JUMP" + }, + "2544": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7553, + 7605 + ], + "op": "JUMPDEST", + "path": "37" + }, + "2545": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7659, + 7666 + ], + "op": "PUSH1", + "path": "37", + "statement": 28, + "value": "0x6" + }, + "2547": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "DUP1", + "path": "37" + }, + "2548": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SLOAD", + "path": "37" + }, + "2549": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x38A" + }, + "2552": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "SWAP1", + "path": "37" + }, + "2553": { + "fn": "Soulbound._getBaseURI", + "offset": [ + 7648, + 7666 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1917" + }, + "2556": { + "fn": "Soulbound._getBaseURI", + "jump": "i", + "offset": [ + 7648, + 7666 + ], + "op": "JUMP", + "path": "37" + }, + "2557": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2558": { + "op": "PUSH1", + "value": "0x1" + }, + "2560": { + "op": "PUSH1", + "value": "0x1" + }, + "2562": { + "op": "PUSH1", + "value": "0xA0" + }, + "2564": { + "op": "SHL" + }, + "2565": { + "op": "SUB" + }, + "2566": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3058, + 3076 + ], + "op": "DUP6", + "path": "38", + "statement": 29 + }, + "2567": { + "branch": 108, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3058, + 3076 + ], + "op": "AND", + "path": "38" + }, + "2568": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA4B" + }, + "2571": { + "branch": 108, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "JUMPI", + "path": "38" + }, + "2572": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2574": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "MLOAD", + "path": "38" + }, + "2575": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2579": { + "op": "PUSH1", + "value": "0xE5" + }, + "2581": { + "op": "SHL" + }, + "2582": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "DUP2", + "path": "38" + }, + "2583": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "MSTORE", + "path": "38" + }, + "2584": { + "op": "PUSH1", + "value": "0x20" + }, + "2586": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2588": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "DUP3", + "path": "38" + }, + "2589": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "ADD", + "path": "38" + }, + "2590": { + "op": "MSTORE" + }, + "2591": { + "op": "PUSH1", + "value": "0x15" + }, + "2593": { + "op": "PUSH1", + "value": "0x24" + }, + "2595": { + "op": "DUP3" + }, + "2596": { + "op": "ADD" + }, + "2597": { + "op": "MSTORE" + }, + "2598": { + "op": "PUSH21", + "value": "0x26B4B73A103A37903D32B9379030B2323932B9B997" + }, + "2620": { + "op": "PUSH1", + "value": "0x59" + }, + "2622": { + "op": "SHL" + }, + "2623": { + "op": "PUSH1", + "value": "0x44" + }, + "2625": { + "op": "DUP3" + }, + "2626": { + "op": "ADD" + }, + "2627": { + "op": "MSTORE" + }, + "2628": { + "op": "PUSH1", + "value": "0x64" + }, + "2630": { + "op": "ADD" + }, + "2631": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "PUSH2", + "path": "38", + "value": "0x45E" + }, + "2634": { + "op": "JUMP" + }, + "2635": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3050, + 3102 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2636": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3340 + ], + "op": "DUP3", + "path": "38", + "statement": 30 + }, + "2637": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3347 + ], + "op": "MLOAD", + "path": "38" + }, + "2638": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3351, + 3353 + ], + "op": "PUSH1", + "path": "38", + "value": "0x41" + }, + "2640": { + "branch": 109, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3337, + 3353 + ], + "op": "EQ", + "path": "38" + }, + "2641": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH2", + "path": "38", + "value": "0xA97" + }, + "2644": { + "branch": 109, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "JUMPI", + "path": "38" + }, + "2645": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2647": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "MLOAD", + "path": "38" + }, + "2648": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2652": { + "op": "PUSH1", + "value": "0xE5" + }, + "2654": { + "op": "SHL" + }, + "2655": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "DUP2", + "path": "38" + }, + "2656": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "MSTORE", + "path": "38" + }, + "2657": { + "op": "PUSH1", + "value": "0x20" + }, + "2659": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2661": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "DUP3", + "path": "38" + }, + "2662": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "ADD", + "path": "38" + }, + "2663": { + "op": "MSTORE" + }, + "2664": { + "op": "PUSH1", + "value": "0x18" + }, + "2666": { + "op": "PUSH1", + "value": "0x24" + }, + "2668": { + "op": "DUP3" + }, + "2669": { + "op": "ADD" + }, + "2670": { + "op": "MSTORE" + }, + "2671": { + "op": "PUSH24", + "value": "0x92DCECC2D8D2C840E6D2CEDCC2E8EAE4CA40D8CADCCEE8D" + }, + "2696": { + "op": "PUSH1", + "value": "0x43" + }, + "2698": { + "op": "SHL" + }, + "2699": { + "op": "PUSH1", + "value": "0x44" + }, + "2701": { + "op": "DUP3" + }, + "2702": { + "op": "ADD" + }, + "2703": { + "op": "MSTORE" + }, + "2704": { + "op": "PUSH1", + "value": "0x64" + }, + "2706": { + "op": "ADD" + }, + "2707": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "PUSH2", + "path": "38", + "value": "0x45E" + }, + "2710": { + "op": "JUMP" + }, + "2711": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3329, + 3382 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2712": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3535 + ], + "op": "PUSH2", + "path": "38", + "statement": 31, + "value": "0xAA1" + }, + "2715": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3525, + 3529 + ], + "op": "DUP5", + "path": "38" + }, + "2716": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3531, + 3534 + ], + "op": "DUP5", + "path": "38" + }, + "2717": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3524 + ], + "op": "PUSH2", + "path": "38", + "value": "0xB32" + }, + "2720": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 3509, + 3535 + ], + "op": "JUMP", + "path": "38" + }, + "2721": { + "branch": 110, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3509, + 3535 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2722": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH2", + "path": "38", + "value": "0xAE9" + }, + "2725": { + "branch": 110, + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "JUMPI", + "path": "38" + }, + "2726": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "2728": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "MLOAD", + "path": "38" + }, + "2729": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "2733": { + "op": "PUSH1", + "value": "0xE5" + }, + "2735": { + "op": "SHL" + }, + "2736": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "DUP2", + "path": "38" + }, + "2737": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "MSTORE", + "path": "38" + }, + "2738": { + "op": "PUSH1", + "value": "0x20" + }, + "2740": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH1", + "path": "38", + "value": "0x4" + }, + "2742": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "DUP3", + "path": "38" + }, + "2743": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "ADD", + "path": "38" + }, + "2744": { + "op": "MSTORE" + }, + "2745": { + "op": "PUSH1", + "value": "0x19" + }, + "2747": { + "op": "PUSH1", + "value": "0x24" + }, + "2749": { + "op": "DUP3" + }, + "2750": { + "op": "ADD" + }, + "2751": { + "op": "MSTORE" + }, + "2752": { + "op": "PUSH25", + "value": "0x2430B9B4103737BA1039B4B3B732B210313C9037BBB732B917" + }, + "2778": { + "op": "PUSH1", + "value": "0x39" + }, + "2780": { + "op": "SHL" + }, + "2781": { + "op": "PUSH1", + "value": "0x44" + }, + "2783": { + "op": "DUP3" + }, + "2784": { + "op": "ADD" + }, + "2785": { + "op": "MSTORE" + }, + "2786": { + "op": "PUSH1", + "value": "0x64" + }, + "2788": { + "op": "ADD" + }, + "2789": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "PUSH2", + "path": "38", + "value": "0x45E" + }, + "2792": { + "op": "JUMP" + }, + "2793": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3501, + 3565 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2794": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3694 + ], + "op": "PUSH2", + "path": "38", + "statement": 32, + "value": "0xAF4" + }, + "2797": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3670, + 3674 + ], + "op": "DUP6", + "path": "38" + }, + "2798": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3676, + 3683 + ], + "op": "DUP4", + "path": "38" + }, + "2799": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3685, + 3693 + ], + "op": "DUP4", + "path": "38" + }, + "2800": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3669 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1159" + }, + "2803": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "i", + "offset": [ + 3664, + 3694 + ], + "op": "JUMP", + "path": "38" + }, + "2804": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3664, + 3694 + ], + "op": "JUMPDEST", + "path": "38" + }, + "2805": { + "op": "POP" + }, + "2806": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH1", + "path": "38", + "statement": 33, + "value": "0x40" + }, + "2808": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "MLOAD", + "path": "38" + }, + "2809": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3786, + 3793 + ], + "op": "DUP3", + "path": "38" + }, + "2810": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3786, + 3793 + ], + "op": "SWAP1", + "path": "38" + }, + "2811": { + "op": "PUSH1", + "value": "0x1" + }, + "2813": { + "op": "PUSH1", + "value": "0x1" + }, + "2815": { + "op": "PUSH1", + "value": "0xA0" + }, + "2817": { + "op": "SHL" + }, + "2818": { + "op": "SUB" + }, + "2819": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "DUP8", + "path": "38" + }, + "2820": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "AND", + "path": "38" + }, + "2821": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "2822": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH32", + "path": "38", + "value": "0x79AF0E59B31823DD289CEEBABC4D63D25F35926B8548E3A084A500C9D4E18556" + }, + "2855": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "2856": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "2858": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "SWAP1", + "path": "38" + }, + "2859": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 3761, + 3794 + ], + "op": "LOG3", + "path": "38" + }, + "2860": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2861": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2862": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2863": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2864": { + "fn": "SoulboundCore.issueWithSignature", + "offset": [ + 2807, + 3801 + ], + "op": "POP", + "path": "38" + }, + "2865": { + "fn": "SoulboundCore.issueWithSignature", + "jump": "o", + "offset": [ + 2807, + 3801 + ], + "op": "JUMP", + "path": "38" + }, + "2866": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2867": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2584, + 2588 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2869": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "PUSH2", + "path": "14", + "statement": 34, + "value": "0xB3E" + }, + "2872": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2628, + 2632 + ], + "op": "DUP4", + "path": "14" + }, + "2873": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2634, + 2637 + ], + "op": "DUP4", + "path": "14" + }, + "2874": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2627 + ], + "op": "PUSH2", + "path": "14", + "value": "0x1170" + }, + "2877": { + "fn": "Allowlist.verifySignature", + "jump": "i", + "offset": [ + 2611, + 2638 + ], + "op": "JUMP", + "path": "14" + }, + "2878": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2611, + 2638 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2879": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2604, + 2638 + ], + "op": "SWAP4", + "path": "14" + }, + "2880": { + "fn": "Allowlist.verifySignature", + "offset": [ + 2495, + 2645 + ], + "op": "SWAP3", + "path": "14" + }, + "2881": { + "op": "POP" + }, + "2882": { + "op": "POP" + }, + "2883": { + "op": "POP" + }, + "2884": { + "fn": "Allowlist.verifySignature", + "jump": "o", + "offset": [ + 2495, + 2645 + ], + "op": "JUMP", + "path": "14" + }, + "2885": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2886": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "2888": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "2889": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "2890": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "2891": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "2892": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "2894": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "2895": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP5", + "path": "14" + }, + "2896": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "2897": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "2898": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "2900": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "2901": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP7", + "path": "14" + }, + "2902": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "2903": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "2904": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP4", + "path": "14", + "statement": 35 + }, + "2905": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "2906": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2908": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2909": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP3", + "path": "14" + }, + "2910": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "2911": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "2912": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP9", + "path": "14" + }, + "2913": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "2914": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2915": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP8", + "path": "14" + }, + "2916": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MSTORE", + "path": "14" + }, + "2917": { + "op": "DUP11" + }, + "2918": { + "op": "SWAP1" + }, + "2919": { + "op": "MSTORE" + }, + "2920": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "2921": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP3", + "path": "14" + }, + "2922": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "2923": { + "op": "DUP2" + }, + "2924": { + "op": "DUP7" + }, + "2925": { + "op": "ADD" + }, + "2926": { + "op": "DUP2" + }, + "2927": { + "op": "SWAP1" + }, + "2928": { + "op": "MSTORE" + }, + "2929": { + "op": "SWAP3" + }, + "2930": { + "op": "DUP2" + }, + "2931": { + "op": "ADD" + }, + "2932": { + "op": "DUP7" + }, + "2933": { + "op": "SWAP1" + }, + "2934": { + "op": "MSTORE" + }, + "2935": { + "op": "PUSH1", + "value": "0x80" + }, + "2937": { + "op": "DUP2" + }, + "2938": { + "op": "ADD" + }, + "2939": { + "op": "DUP5" + }, + "2940": { + "op": "SWAP1" + }, + "2941": { + "op": "MSTORE" + }, + "2942": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP4", + "path": "14" + }, + "2943": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "2944": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP1", + "path": "14" + }, + "2945": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4982, + 4986 + ], + "op": "SWAP6", + "path": "14" + }, + "2946": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "2947": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP4", + "path": "14" + }, + "2948": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP2", + "path": "14" + }, + "2949": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP3", + "path": "14" + }, + "2950": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "2952": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "2953": { + "op": "PUSH1", + "value": "0xA0" + }, + "2955": { + "op": "DUP1" + }, + "2956": { + "op": "DUP3" + }, + "2957": { + "op": "ADD" + }, + "2958": { + "op": "SWAP4" + }, + "2959": { + "op": "PUSH1", + "value": "0x1F" + }, + "2961": { + "op": "NOT" + }, + "2962": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "2963": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "2964": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP3", + "path": "14" + }, + "2965": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP2", + "path": "14" + }, + "2966": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "2967": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "2968": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "2969": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP2", + "path": "14" + }, + "2970": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ADD", + "path": "14" + }, + "2971": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SWAP1", + "path": "14" + }, + "2972": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP6", + "path": "14" + }, + "2973": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "GAS", + "path": "14" + }, + "2974": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "STATICCALL", + "path": "14" + }, + "2975": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "2976": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2977": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "ISZERO", + "path": "14" + }, + "2978": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH2", + "path": "14", + "value": "0xBAF" + }, + "2981": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPI", + "path": "14" + }, + "2982": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "2983": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2985": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "DUP1", + "path": "14" + }, + "2986": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "2987": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "2988": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "2990": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "REVERT", + "path": "14" + }, + "2991": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "JUMPDEST", + "path": "14" + }, + "2992": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "2993": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "2994": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "POP", + "path": "14" + }, + "2995": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "2997": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "2999": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "3000": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "SUB", + "path": "14" + }, + "3001": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5087, + 5112 + ], + "op": "MLOAD", + "path": "14" + }, + "3002": { + "op": "PUSH1", + "value": "0x1" + }, + "3004": { + "op": "PUSH1", + "value": "0x1" + }, + "3006": { + "op": "PUSH1", + "value": "0xA0" + }, + "3008": { + "op": "SHL" + }, + "3009": { + "op": "SUB" + }, + "3010": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "3011": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5083 + ], + "op": "DUP8", + "path": "14" + }, + "3012": { + "op": "PUSH1", + "value": "0x1" + }, + "3014": { + "op": "PUSH1", + "value": "0x1" + }, + "3016": { + "op": "PUSH1", + "value": "0xA0" + }, + "3018": { + "op": "SHL" + }, + "3019": { + "op": "SUB" + }, + "3020": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "AND", + "path": "14" + }, + "3021": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5076, + 5112 + ], + "op": "EQ", + "path": "14" + }, + "3022": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "SWAP4", + "path": "14" + }, + "3023": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "3024": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "3025": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "3026": { + "fn": "Allowlist.verifySigner", + "offset": [ + 5068, + 5113 + ], + "op": "POP", + "path": "14" + }, + "3027": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP4", + "path": "14" + }, + "3028": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "SWAP3", + "path": "14" + }, + "3029": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "3030": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "3031": { + "fn": "Allowlist.verifySigner", + "offset": [ + 4852, + 5120 + ], + "op": "POP", + "path": "14" + }, + "3032": { + "fn": "Allowlist.verifySigner", + "jump": "o", + "offset": [ + 4852, + 5120 + ], + "op": "JUMP", + "path": "14" + }, + "3033": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "JUMPDEST", + "path": "40" + }, + "3034": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "3036": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "3037": { + "op": "PUSH1", + "value": "0x1" + }, + "3039": { + "op": "PUSH1", + "value": "0x1" + }, + "3041": { + "op": "PUSH1", + "value": "0xA0" + }, + "3043": { + "op": "SHL" + }, + "3044": { + "op": "SUB" + }, + "3045": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "3046": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3047": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "3048": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC03" + }, + "3051": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "3052": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "3054": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "3055": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3059": { + "op": "PUSH1", + "value": "0xE5" + }, + "3061": { + "op": "SHL" + }, + "3062": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "3063": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "3064": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "3066": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "3067": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x45E" + }, + "3070": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "3071": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1951" + }, + "3074": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "3075": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3076": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1914, + 1925 + ], + "op": "PUSH1", + "path": "40", + "statement": 36, + "value": "0x9" + }, + "3078": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1914, + 1925 + ], + "op": "SLOAD", + "path": "40" + }, + "3079": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1905, + 1911 + ], + "op": "PUSH1", + "path": "40", + "value": "0xA" + }, + "3081": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1905, + 1911 + ], + "op": "SLOAD", + "path": "40" + }, + "3082": { + "branch": 85, + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1905, + 1925 + ], + "op": "LT", + "path": "40" + }, + "3083": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH2", + "path": "40", + "value": "0xC4B" + }, + "3086": { + "branch": 85, + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "JUMPI", + "path": "40" + }, + "3087": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH1", + "path": "40", + "value": "0x40" + }, + "3089": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "MLOAD", + "path": "40" + }, + "3090": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3094": { + "op": "PUSH1", + "value": "0xE5" + }, + "3096": { + "op": "SHL" + }, + "3097": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "DUP2", + "path": "40" + }, + "3098": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "MSTORE", + "path": "40" + }, + "3099": { + "op": "PUSH1", + "value": "0x20" + }, + "3101": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH1", + "path": "40", + "value": "0x4" + }, + "3103": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "DUP3", + "path": "40" + }, + "3104": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "ADD", + "path": "40" + }, + "3105": { + "op": "MSTORE" + }, + "3106": { + "op": "PUSH1", + "value": "0x12" + }, + "3108": { + "op": "PUSH1", + "value": "0x24" + }, + "3110": { + "op": "DUP3" + }, + "3111": { + "op": "ADD" + }, + "3112": { + "op": "MSTORE" + }, + "3113": { + "op": "PUSH18", + "value": "0x24B9B9BAB29021B0B8102932B0B1B432B217" + }, + "3132": { + "op": "PUSH1", + "value": "0x71" + }, + "3134": { + "op": "SHL" + }, + "3135": { + "op": "PUSH1", + "value": "0x44" + }, + "3137": { + "op": "DUP3" + }, + "3138": { + "op": "ADD" + }, + "3139": { + "op": "MSTORE" + }, + "3140": { + "op": "PUSH1", + "value": "0x64" + }, + "3142": { + "op": "ADD" + }, + "3143": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "PUSH2", + "path": "40", + "value": "0x45E" + }, + "3146": { + "op": "JUMP" + }, + "3147": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1897, + 1948 + ], + "op": "JUMPDEST", + "path": "40" + }, + "3148": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1997, + 2051 + ], + "op": "PUSH2", + "path": "40", + "statement": 37, + "value": "0xC58" + }, + "3151": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2016, + 2020 + ], + "op": "DUP6", + "path": "40" + }, + "3152": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2022, + 2026 + ], + "op": "DUP6", + "path": "40" + }, + "3153": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2028, + 2031 + ], + "op": "DUP6", + "path": "40" + }, + "3154": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2033, + 2040 + ], + "op": "DUP6", + "path": "40" + }, + "3155": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2042, + 2050 + ], + "op": "DUP6", + "path": "40" + }, + "3156": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1997, + 2015 + ], + "op": "PUSH2", + "path": "40", + "value": "0x9FD" + }, + "3159": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "i", + "offset": [ + 1997, + 2051 + ], + "op": "JUMP", + "path": "40" + }, + "3160": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1997, + 2051 + ], + "op": "JUMPDEST", + "path": "40" + }, + "3161": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2122 + ], + "op": "PUSH1", + "path": "40", + "statement": 38, + "value": "0xA" + }, + "3163": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "DUP1", + "path": "40" + }, + "3164": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "SLOAD", + "path": "40" + }, + "3165": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "SWAP1", + "path": "40" + }, + "3166": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2122 + ], + "op": "PUSH1", + "path": "40", + "value": "0x0" + }, + "3168": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "PUSH2", + "path": "40", + "value": "0xC68" + }, + "3171": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "DUP4", + "path": "40" + }, + "3172": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "PUSH2", + "path": "40", + "value": "0x19E2" + }, + "3175": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "i", + "offset": [ + 2116, + 2124 + ], + "op": "JUMP", + "path": "40" + }, + "3176": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "JUMPDEST", + "path": "40" + }, + "3177": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "SWAP2", + "path": "40" + }, + "3178": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "SWAP1", + "path": "40" + }, + "3179": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "POP", + "path": "40" + }, + "3180": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "SSTORE", + "path": "40" + }, + "3181": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 2116, + 2124 + ], + "op": "POP", + "path": "40" + }, + "3182": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "POP", + "path": "40" + }, + "3183": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "POP", + "path": "40" + }, + "3184": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "POP", + "path": "40" + }, + "3185": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "POP", + "path": "40" + }, + "3186": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "offset": [ + 1465, + 2131 + ], + "op": "POP", + "path": "40" + }, + "3187": { + "fn": "SoulboundWithSignature.ownerIssueWithSignature", + "jump": "o", + "offset": [ + 1465, + 2131 + ], + "op": "JUMP", + "path": "40" + }, + "3188": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1918, + 2116 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3189": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "3191": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "3192": { + "op": "PUSH1", + "value": "0x1" + }, + "3194": { + "op": "PUSH1", + "value": "0x1" + }, + "3196": { + "op": "PUSH1", + "value": "0xA0" + }, + "3198": { + "op": "SHL" + }, + "3199": { + "op": "SUB" + }, + "3200": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "3201": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "3202": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "3203": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0xC9E" + }, + "3206": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "3207": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "3209": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "3210": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3214": { + "op": "PUSH1", + "value": "0xE5" + }, + "3216": { + "op": "SHL" + }, + "3217": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "3218": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "3219": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "3221": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "3222": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x45E" + }, + "3225": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "3226": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1951" + }, + "3229": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "3230": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3231": { + "op": "PUSH1", + "value": "0x1" + }, + "3233": { + "op": "PUSH1", + "value": "0x1" + }, + "3235": { + "op": "PUSH1", + "value": "0xA0" + }, + "3237": { + "op": "SHL" + }, + "3238": { + "op": "SUB" + }, + "3239": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "DUP2", + "path": "0", + "statement": 39 + }, + "3240": { + "branch": 92, + "fn": "Ownable.transferOwnership", + "offset": [ + 2006, + 2028 + ], + "op": "AND", + "path": "0" + }, + "3241": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0xD03" + }, + "3244": { + "branch": 92, + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPI", + "path": "0" + }, + "3245": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "3247": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MLOAD", + "path": "0" + }, + "3248": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3252": { + "op": "PUSH1", + "value": "0xE5" + }, + "3254": { + "op": "SHL" + }, + "3255": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP2", + "path": "0" + }, + "3256": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "MSTORE", + "path": "0" + }, + "3257": { + "op": "PUSH1", + "value": "0x20" + }, + "3259": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "3261": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "DUP3", + "path": "0" + }, + "3262": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "ADD", + "path": "0" + }, + "3263": { + "op": "MSTORE" + }, + "3264": { + "op": "PUSH1", + "value": "0x26" + }, + "3266": { + "op": "PUSH1", + "value": "0x24" + }, + "3268": { + "op": "DUP3" + }, + "3269": { + "op": "ADD" + }, + "3270": { + "op": "MSTORE" + }, + "3271": { + "op": "PUSH32", + "value": "0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061" + }, + "3304": { + "op": "PUSH1", + "value": "0x44" + }, + "3306": { + "op": "DUP3" + }, + "3307": { + "op": "ADD" + }, + "3308": { + "op": "MSTORE" + }, + "3309": { + "op": "PUSH6", + "value": "0x646472657373" + }, + "3316": { + "op": "PUSH1", + "value": "0xD0" + }, + "3318": { + "op": "SHL" + }, + "3319": { + "op": "PUSH1", + "value": "0x64" + }, + "3321": { + "op": "DUP3" + }, + "3322": { + "op": "ADD" + }, + "3323": { + "op": "MSTORE" + }, + "3324": { + "op": "PUSH1", + "value": "0x84" + }, + "3326": { + "op": "ADD" + }, + "3327": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "PUSH2", + "path": "0", + "value": "0x45E" + }, + "3330": { + "op": "JUMP" + }, + "3331": { + "fn": "Ownable.transferOwnership", + "offset": [ + 1998, + 2071 + ], + "op": "JUMPDEST", + "path": "0" + }, + "3332": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2109 + ], + "op": "PUSH2", + "path": "0", + "statement": 40, + "value": "0x6D8" + }, + "3335": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2100, + 2108 + ], + "op": "DUP2", + "path": "0" + }, + "3336": { + "fn": "Ownable.transferOwnership", + "offset": [ + 2081, + 2099 + ], + "op": "PUSH2", + "path": "0", + "value": "0x10B5" + }, + "3339": { + "fn": "Ownable.transferOwnership", + "jump": "i", + "offset": [ + 2081, + 2109 + ], + "op": "JUMP", + "path": "0" + }, + "3340": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3341": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4396, + 4403 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "3343": { + "op": "PUSH1", + "value": "0x1" + }, + "3345": { + "op": "PUSH1", + "value": "0x1" + }, + "3347": { + "op": "PUSH1", + "value": "0xA0" + }, + "3349": { + "op": "SHL" + }, + "3350": { + "op": "SUB" + }, + "3351": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "DUP4", + "path": "37", + "statement": 41 + }, + "3352": { + "branch": 94, + "fn": "Soulbound.issuerOf", + "offset": [ + 4479, + 4496 + ], + "op": "AND", + "path": "37" + }, + "3353": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0xD64" + }, + "3356": { + "branch": 94, + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPI", + "path": "37" + }, + "3357": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3359": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MLOAD", + "path": "37" + }, + "3360": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3364": { + "op": "PUSH1", + "value": "0xE5" + }, + "3366": { + "op": "SHL" + }, + "3367": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP2", + "path": "37" + }, + "3368": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "MSTORE", + "path": "37" + }, + "3369": { + "op": "PUSH1", + "value": "0x20" + }, + "3371": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3373": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "DUP3", + "path": "37" + }, + "3374": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "ADD", + "path": "37" + }, + "3375": { + "op": "MSTORE" + }, + "3376": { + "op": "PUSH1", + "value": "0x17" + }, + "3378": { + "op": "PUSH1", + "value": "0x24" + }, + "3380": { + "op": "DUP3" + }, + "3381": { + "op": "ADD" + }, + "3382": { + "op": "MSTORE" + }, + "3383": { + "op": "PUSH32", + "value": "0x517565727920666F72207A65726F20616464726573732E000000000000000000" + }, + "3416": { + "op": "PUSH1", + "value": "0x44" + }, + "3418": { + "op": "DUP3" + }, + "3419": { + "op": "ADD" + }, + "3420": { + "op": "MSTORE" + }, + "3421": { + "op": "PUSH1", + "value": "0x64" + }, + "3423": { + "op": "ADD" + }, + "3424": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "3427": { + "op": "JUMP" + }, + "3428": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4471, + 4524 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3429": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4598 + ], + "op": "PUSH2", + "path": "37", + "statement": 42, + "value": "0xD6D" + }, + "3432": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4589, + 4597 + ], + "op": "DUP3", + "path": "37" + }, + "3433": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4588 + ], + "op": "PUSH2", + "path": "37", + "value": "0xE20" + }, + "3436": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4581, + 4598 + ], + "op": "JUMP", + "path": "37" + }, + "3437": { + "branch": 95, + "fn": "Soulbound.issuerOf", + "offset": [ + 4581, + 4598 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3438": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "value": "0xDAF" + }, + "3441": { + "branch": 95, + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPI", + "path": "37" + }, + "3442": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3444": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MLOAD", + "path": "37" + }, + "3445": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3449": { + "op": "PUSH1", + "value": "0xE5" + }, + "3451": { + "op": "SHL" + }, + "3452": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP2", + "path": "37" + }, + "3453": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "MSTORE", + "path": "37" + }, + "3454": { + "op": "PUSH1", + "value": "0x20" + }, + "3456": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3458": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "DUP3", + "path": "37" + }, + "3459": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "ADD", + "path": "37" + }, + "3460": { + "op": "MSTORE" + }, + "3461": { + "op": "PUSH1", + "value": "0x13" + }, + "3463": { + "op": "PUSH1", + "value": "0x24" + }, + "3465": { + "op": "DUP3" + }, + "3466": { + "op": "ADD" + }, + "3467": { + "op": "MSTORE" + }, + "3468": { + "op": "PUSH19", + "value": "0x2737B716B2BC34B9BA32B73A103A37B5B2B717" + }, + "3488": { + "op": "PUSH1", + "value": "0x69" + }, + "3490": { + "op": "SHL" + }, + "3491": { + "op": "PUSH1", + "value": "0x44" + }, + "3493": { + "op": "DUP3" + }, + "3494": { + "op": "ADD" + }, + "3495": { + "op": "MSTORE" + }, + "3496": { + "op": "PUSH1", + "value": "0x64" + }, + "3498": { + "op": "ADD" + }, + "3499": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "3502": { + "op": "JUMP" + }, + "3503": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4573, + 4622 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3504": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4712, + 4715 + ], + "op": "DUP3", + "path": "37", + "statement": 43 + }, + "3505": { + "op": "PUSH1", + "value": "0x1" + }, + "3507": { + "op": "PUSH1", + "value": "0x1" + }, + "3509": { + "op": "PUSH1", + "value": "0xA0" + }, + "3511": { + "op": "SHL" + }, + "3512": { + "op": "SUB" + }, + "3513": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "3514": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "PUSH2", + "path": "37", + "value": "0xDC2" + }, + "3517": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4699, + 4707 + ], + "op": "DUP4", + "path": "37" + }, + "3518": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4698 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6DB" + }, + "3521": { + "fn": "Soulbound.issuerOf", + "jump": "i", + "offset": [ + 4691, + 4708 + ], + "op": "JUMP", + "path": "37" + }, + "3522": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4708 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3523": { + "op": "PUSH1", + "value": "0x1" + }, + "3525": { + "op": "PUSH1", + "value": "0x1" + }, + "3527": { + "op": "PUSH1", + "value": "0xA0" + }, + "3529": { + "op": "SHL" + }, + "3530": { + "op": "SUB" + }, + "3531": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "AND", + "path": "37" + }, + "3532": { + "branch": 96, + "fn": "Soulbound.issuerOf", + "offset": [ + 4691, + 4715 + ], + "op": "EQ", + "path": "37" + }, + "3533": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0xE18" + }, + "3536": { + "branch": 96, + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPI", + "path": "37" + }, + "3537": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3539": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MLOAD", + "path": "37" + }, + "3540": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3544": { + "op": "PUSH1", + "value": "0xE5" + }, + "3546": { + "op": "SHL" + }, + "3547": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP2", + "path": "37" + }, + "3548": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "MSTORE", + "path": "37" + }, + "3549": { + "op": "PUSH1", + "value": "0x20" + }, + "3551": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3553": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "DUP3", + "path": "37" + }, + "3554": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "ADD", + "path": "37" + }, + "3555": { + "op": "MSTORE" + }, + "3556": { + "op": "PUSH1", + "value": "0x1A" + }, + "3558": { + "op": "PUSH1", + "value": "0x24" + }, + "3560": { + "op": "DUP3" + }, + "3561": { + "op": "ADD" + }, + "3562": { + "op": "MSTORE" + }, + "3563": { + "op": "PUSH32", + "value": "0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000" + }, + "3596": { + "op": "PUSH1", + "value": "0x44" + }, + "3598": { + "op": "DUP3" + }, + "3599": { + "op": "ADD" + }, + "3600": { + "op": "MSTORE" + }, + "3601": { + "op": "PUSH1", + "value": "0x64" + }, + "3603": { + "op": "ADD" + }, + "3604": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "3607": { + "op": "JUMP" + }, + "3608": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4683, + 4746 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3609": { + "op": "POP" + }, + "3610": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4810, + 4814 + ], + "op": "ADDRESS", + "path": "37", + "statement": 44 + }, + "3611": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP3", + "path": "37" + }, + "3612": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "SWAP2", + "path": "37" + }, + "3613": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "3614": { + "fn": "Soulbound.issuerOf", + "offset": [ + 4302, + 4822 + ], + "op": "POP", + "path": "37" + }, + "3615": { + "fn": "Soulbound.issuerOf", + "jump": "o", + "offset": [ + 4302, + 4822 + ], + "op": "JUMP", + "path": "37" + }, + "3616": { + "fn": "ERC4973._exists", + "offset": [ + 5924, + 6049 + ], + "op": "JUMPDEST", + "path": "41" + }, + "3617": { + "fn": "ERC4973._exists", + "offset": [ + 5989, + 5993 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "3619": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41", + "statement": 45 + }, + "3620": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "DUP2", + "path": "41" + }, + "3621": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "3622": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6019 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "3624": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "3626": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "MSTORE", + "path": "41" + }, + "3627": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "3629": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SWAP1", + "path": "41" + }, + "3630": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "KECCAK256", + "path": "41" + }, + "3631": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "SLOAD", + "path": "41" + }, + "3632": { + "op": "PUSH1", + "value": "0x1" + }, + "3634": { + "op": "PUSH1", + "value": "0x1" + }, + "3636": { + "op": "PUSH1", + "value": "0xA0" + }, + "3638": { + "op": "SHL" + }, + "3639": { + "op": "SUB" + }, + "3640": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6028 + ], + "op": "AND", + "path": "41" + }, + "3641": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "ISZERO", + "path": "41" + }, + "3642": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "ISZERO", + "path": "41" + }, + "3643": { + "fn": "ERC4973._exists", + "offset": [ + 6012, + 6042 + ], + "op": "SWAP1", + "path": "41" + }, + "3644": { + "fn": "ERC4973._exists", + "jump": "o", + "offset": [ + 5924, + 6049 + ], + "op": "JUMP", + "path": "41" + }, + "3645": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3646": { + "fn": "Soulbound.revoke", + "offset": [ + 3405, + 3409 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "3648": { + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3485 + ], + "op": "PUSH2", + "path": "37", + "statement": 46, + "value": "0xE48" + }, + "3651": { + "fn": "Soulbound.revoke", + "offset": [ + 3476, + 3484 + ], + "op": "DUP3", + "path": "37" + }, + "3652": { + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3475 + ], + "op": "PUSH2", + "path": "37", + "value": "0xE20" + }, + "3655": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3468, + 3485 + ], + "op": "JUMP", + "path": "37" + }, + "3656": { + "branch": 97, + "fn": "Soulbound.revoke", + "offset": [ + 3468, + 3485 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3657": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH2", + "path": "37", + "value": "0xE8A" + }, + "3660": { + "branch": 97, + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "JUMPI", + "path": "37" + }, + "3661": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3663": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "MLOAD", + "path": "37" + }, + "3664": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3668": { + "op": "PUSH1", + "value": "0xE5" + }, + "3670": { + "op": "SHL" + }, + "3671": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "DUP2", + "path": "37" + }, + "3672": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "MSTORE", + "path": "37" + }, + "3673": { + "op": "PUSH1", + "value": "0x20" + }, + "3675": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3677": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "DUP3", + "path": "37" + }, + "3678": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "ADD", + "path": "37" + }, + "3679": { + "op": "MSTORE" + }, + "3680": { + "op": "PUSH1", + "value": "0x13" + }, + "3682": { + "op": "PUSH1", + "value": "0x24" + }, + "3684": { + "op": "DUP3" + }, + "3685": { + "op": "ADD" + }, + "3686": { + "op": "MSTORE" + }, + "3687": { + "op": "PUSH19", + "value": "0x2737B716B2BC34B9BA32B73A103A37B5B2B717" + }, + "3707": { + "op": "PUSH1", + "value": "0x69" + }, + "3709": { + "op": "SHL" + }, + "3710": { + "op": "PUSH1", + "value": "0x44" + }, + "3712": { + "op": "DUP3" + }, + "3713": { + "op": "ADD" + }, + "3714": { + "op": "MSTORE" + }, + "3715": { + "op": "PUSH1", + "value": "0x64" + }, + "3717": { + "op": "ADD" + }, + "3718": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "3721": { + "op": "JUMP" + }, + "3722": { + "fn": "Soulbound.revoke", + "offset": [ + 3460, + 3509 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3723": { + "fn": "Soulbound.revoke", + "offset": [ + 3601, + 3606 + ], + "op": "DUP3", + "path": "37", + "statement": 47 + }, + "3724": { + "op": "PUSH1", + "value": "0x1" + }, + "3726": { + "op": "PUSH1", + "value": "0x1" + }, + "3728": { + "op": "PUSH1", + "value": "0xA0" + }, + "3730": { + "op": "SHL" + }, + "3731": { + "op": "SUB" + }, + "3732": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "AND", + "path": "37" + }, + "3733": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3597 + ], + "op": "PUSH2", + "path": "37", + "value": "0xE9D" + }, + "3736": { + "fn": "Soulbound.revoke", + "offset": [ + 3588, + 3596 + ], + "op": "DUP4", + "path": "37" + }, + "3737": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3587 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6DB" + }, + "3740": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3580, + 3597 + ], + "op": "JUMP", + "path": "37" + }, + "3741": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3597 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3742": { + "op": "PUSH1", + "value": "0x1" + }, + "3744": { + "op": "PUSH1", + "value": "0x1" + }, + "3746": { + "op": "PUSH1", + "value": "0xA0" + }, + "3748": { + "op": "SHL" + }, + "3749": { + "op": "SUB" + }, + "3750": { + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "AND", + "path": "37" + }, + "3751": { + "branch": 98, + "fn": "Soulbound.revoke", + "offset": [ + 3580, + 3606 + ], + "op": "EQ", + "path": "37" + }, + "3752": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH2", + "path": "37", + "value": "0xEF3" + }, + "3755": { + "branch": 98, + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "JUMPI", + "path": "37" + }, + "3756": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "3758": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "MLOAD", + "path": "37" + }, + "3759": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "3763": { + "op": "PUSH1", + "value": "0xE5" + }, + "3765": { + "op": "SHL" + }, + "3766": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "DUP2", + "path": "37" + }, + "3767": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "MSTORE", + "path": "37" + }, + "3768": { + "op": "PUSH1", + "value": "0x20" + }, + "3770": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "3772": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "DUP3", + "path": "37" + }, + "3773": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "ADD", + "path": "37" + }, + "3774": { + "op": "MSTORE" + }, + "3775": { + "op": "PUSH1", + "value": "0x1A" + }, + "3777": { + "op": "PUSH1", + "value": "0x24" + }, + "3779": { + "op": "DUP3" + }, + "3780": { + "op": "ADD" + }, + "3781": { + "op": "MSTORE" + }, + "3782": { + "op": "PUSH32", + "value": "0x546F6B656E206E6F74206F776E65642062792061646472657373000000000000" + }, + "3815": { + "op": "PUSH1", + "value": "0x44" + }, + "3817": { + "op": "DUP3" + }, + "3818": { + "op": "ADD" + }, + "3819": { + "op": "MSTORE" + }, + "3820": { + "op": "PUSH1", + "value": "0x64" + }, + "3822": { + "op": "ADD" + }, + "3823": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "3826": { + "op": "JUMP" + }, + "3827": { + "fn": "Soulbound.revoke", + "offset": [ + 3572, + 3637 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3828": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3708 + ], + "op": "PUSH2", + "path": "37", + "statement": 48, + "value": "0xEFC" + }, + "3831": { + "fn": "Soulbound.revoke", + "offset": [ + 3699, + 3707 + ], + "op": "DUP3", + "path": "37" + }, + "3832": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3698 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1316" + }, + "3835": { + "fn": "Soulbound.revoke", + "jump": "i", + "offset": [ + 3680, + 3708 + ], + "op": "JUMP", + "path": "37" + }, + "3836": { + "fn": "Soulbound.revoke", + "offset": [ + 3680, + 3708 + ], + "op": "JUMPDEST", + "path": "37" + }, + "3837": { + "op": "POP" + }, + "3838": { + "fn": "Soulbound.revoke", + "offset": [ + 3755, + 3759 + ], + "op": "PUSH1", + "path": "37", + "statement": 49, + "value": "0x1" + }, + "3840": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "SWAP3", + "path": "37" + }, + "3841": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "SWAP2", + "path": "37" + }, + "3842": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "POP", + "path": "37" + }, + "3843": { + "fn": "Soulbound.revoke", + "offset": [ + 3338, + 3766 + ], + "op": "POP", + "path": "37" + }, + "3844": { + "fn": "Soulbound.revoke", + "jump": "o", + "offset": [ + 3338, + 3766 + ], + "op": "JUMP", + "path": "37" + }, + "3845": { + "fn": "SoulboundCore.toString", + "offset": [ + 6660, + 7363 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3846": { + "fn": "SoulboundCore.toString", + "offset": [ + 6716, + 6729 + ], + "op": "PUSH1", + "path": "38", + "value": "0x60" + }, + "3848": { + "fn": "SoulboundCore.toString", + "offset": [ + 6933, + 6938 + ], + "op": "DUP2", + "path": "38" + }, + "3849": { + "fn": "SoulboundCore.toString", + "offset": [ + 6942, + 6943 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "3851": { + "branch": 111, + "fn": "SoulboundCore.toString", + "offset": [ + 6933, + 6943 + ], + "op": "SUB", + "path": "38" + }, + "3852": { + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF2C" + }, + "3855": { + "branch": 111, + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "JUMPI", + "path": "38" + }, + "3856": { + "op": "POP" + }, + "3857": { + "op": "POP" + }, + "3858": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "statement": 50, + "value": "0x40" + }, + "3860": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP1", + "path": "38" + }, + "3861": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MLOAD", + "path": "38" + }, + "3862": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP1", + "path": "38" + }, + "3863": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP3", + "path": "38" + }, + "3864": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "ADD", + "path": "38" + }, + "3865": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP1", + "path": "38" + }, + "3866": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP2", + "path": "38" + }, + "3867": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "3868": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1" + }, + "3870": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP2", + "path": "38" + }, + "3871": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "3872": { + "op": "PUSH1", + "value": "0x3" + }, + "3874": { + "op": "PUSH1", + "value": "0xFC" + }, + "3876": { + "op": "SHL" + }, + "3877": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "3879": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "DUP3", + "path": "38" + }, + "3880": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "ADD", + "path": "38" + }, + "3881": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "MSTORE", + "path": "38" + }, + "3882": { + "fn": "SoulboundCore.toString", + "offset": [ + 6959, + 6969 + ], + "op": "SWAP1", + "path": "38" + }, + "3883": { + "fn": "SoulboundCore.toString", + "jump": "o", + "offset": [ + 6660, + 7363 + ], + "op": "JUMP", + "path": "38" + }, + "3884": { + "fn": "SoulboundCore.toString", + "offset": [ + 6929, + 6980 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3885": { + "fn": "SoulboundCore.toString", + "offset": [ + 7004, + 7009 + ], + "op": "DUP2", + "path": "38" + }, + "3886": { + "fn": "SoulboundCore.toString", + "offset": [ + 6989, + 7001 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "3888": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3889": { + "fn": "SoulboundCore.toString", + "offset": [ + 7050, + 7059 + ], + "op": "DUP2", + "path": "38" + }, + "3890": { + "fn": "SoulboundCore.toString", + "offset": [ + 7050, + 7059 + ], + "op": "ISZERO", + "path": "38" + }, + "3891": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF56" + }, + "3894": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPI", + "path": "38" + }, + "3895": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "DUP1", + "path": "38", + "statement": 51 + }, + "3896": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF40" + }, + "3899": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "DUP2", + "path": "38" + }, + "3900": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "PUSH2", + "path": "38", + "value": "0x19E2" + }, + "3903": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7075, + 7083 + ], + "op": "JUMP", + "path": "38" + }, + "3904": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3905": { + "fn": "SoulboundCore.toString", + "offset": [ + 7075, + 7083 + ], + "op": "SWAP2", + "path": "38" + }, + "3906": { + "op": "POP" + }, + "3907": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "PUSH2", + "path": "38", + "statement": 52, + "value": "0xF4F" + }, + "3910": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "SWAP1", + "path": "38" + }, + "3911": { + "op": "POP" + }, + "3912": { + "fn": "SoulboundCore.toString", + "offset": [ + 7105, + 7107 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "3914": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "DUP4", + "path": "38" + }, + "3915": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A11" + }, + "3918": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7097, + 7107 + ], + "op": "JUMP", + "path": "38" + }, + "3919": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3920": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "SWAP2", + "path": "38" + }, + "3921": { + "fn": "SoulboundCore.toString", + "offset": [ + 7097, + 7107 + ], + "op": "POP", + "path": "38" + }, + "3922": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF30" + }, + "3925": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMP", + "path": "38" + }, + "3926": { + "fn": "SoulboundCore.toString", + "offset": [ + 7043, + 7118 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3927": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7146 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "3929": { + "fn": "SoulboundCore.toString", + "offset": [ + 7159, + 7165 + ], + "op": "DUP2", + "path": "38" + }, + "3930": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH8", + "path": "38", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "3939": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP2", + "path": "38" + }, + "3940": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "GT", + "path": "38" + }, + "3941": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ISZERO", + "path": "38" + }, + "3942": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF71" + }, + "3945": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPI", + "path": "38" + }, + "3946": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF71" + }, + "3949": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0x164C" + }, + "3952": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7149, + 7166 + ], + "op": "JUMP", + "path": "38" + }, + "3953": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3954": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "3956": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MLOAD", + "path": "38" + }, + "3957": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "3958": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3959": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "3960": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MSTORE", + "path": "38" + }, + "3961": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3962": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1F" + }, + "3964": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3965": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1F" + }, + "3967": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "NOT", + "path": "38" + }, + "3968": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "AND", + "path": "38" + }, + "3969": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "3971": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3972": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "3973": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3974": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x40" + }, + "3976": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "MSTORE", + "path": "38" + }, + "3977": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3978": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ISZERO", + "path": "38" + }, + "3979": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF9B" + }, + "3982": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPI", + "path": "38" + }, + "3983": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "3985": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP3", + "path": "38" + }, + "3986": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3987": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP2", + "path": "38" + }, + "3988": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP1", + "path": "38" + }, + "3989": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "CALLDATASIZE", + "path": "38" + }, + "3990": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "DUP4", + "path": "38" + }, + "3991": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "CALLDATACOPY", + "path": "38" + }, + "3992": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "ADD", + "path": "38" + }, + "3993": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "3994": { + "op": "POP" + }, + "3995": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "JUMPDEST", + "path": "38" + }, + "3996": { + "fn": "SoulboundCore.toString", + "offset": [ + 7149, + 7166 + ], + "op": "POP", + "path": "38" + }, + "3997": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7166 + ], + "op": "SWAP1", + "path": "38" + }, + "3998": { + "fn": "SoulboundCore.toString", + "offset": [ + 7127, + 7166 + ], + "op": "POP", + "path": "38" + }, + "3999": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4000": { + "fn": "SoulboundCore.toString", + "offset": [ + 7183, + 7193 + ], + "op": "DUP5", + "path": "38" + }, + "4001": { + "fn": "SoulboundCore.toString", + "offset": [ + 7183, + 7193 + ], + "op": "ISZERO", + "path": "38" + }, + "4002": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1006" + }, + "4005": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPI", + "path": "38" + }, + "4006": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "PUSH2", + "path": "38", + "statement": 53, + "value": "0xFB0" + }, + "4009": { + "fn": "SoulboundCore.toString", + "offset": [ + 7219, + 7220 + ], + "op": "PUSH1", + "path": "38", + "value": "0x1" + }, + "4011": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "DUP4", + "path": "38" + }, + "4012": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A25" + }, + "4015": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7209, + 7220 + ], + "op": "JUMP", + "path": "38" + }, + "4016": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4017": { + "fn": "SoulboundCore.toString", + "offset": [ + 7209, + 7220 + ], + "op": "SWAP2", + "path": "38" + }, + "4018": { + "op": "POP" + }, + "4019": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "PUSH2", + "path": "38", + "statement": 54, + "value": "0xFBD" + }, + "4022": { + "fn": "SoulboundCore.toString", + "offset": [ + 7285, + 7287 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "4024": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7282 + ], + "op": "DUP7", + "path": "38" + }, + "4025": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A3C" + }, + "4028": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7277, + 7287 + ], + "op": "JUMP", + "path": "38" + }, + "4029": { + "fn": "SoulboundCore.toString", + "offset": [ + 7277, + 7287 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4030": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "PUSH2", + "path": "38", + "value": "0xFC8" + }, + "4033": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "SWAP1", + "path": "38" + }, + "4034": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7266 + ], + "op": "PUSH1", + "path": "38", + "value": "0x30" + }, + "4036": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A50" + }, + "4039": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7264, + 7288 + ], + "op": "JUMP", + "path": "38" + }, + "4040": { + "fn": "SoulboundCore.toString", + "offset": [ + 7264, + 7288 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4041": { + "fn": "SoulboundCore.toString", + "offset": [ + 7251, + 7290 + ], + "op": "PUSH1", + "path": "38", + "value": "0xF8" + }, + "4043": { + "fn": "SoulboundCore.toString", + "offset": [ + 7251, + 7290 + ], + "op": "SHL", + "path": "38" + }, + "4044": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7240 + ], + "op": "DUP2", + "path": "38" + }, + "4045": { + "fn": "SoulboundCore.toString", + "offset": [ + 7241, + 7247 + ], + "op": "DUP4", + "path": "38" + }, + "4046": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "DUP2", + "path": "38" + }, + "4047": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "MLOAD", + "path": "38" + }, + "4048": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "DUP2", + "path": "38" + }, + "4049": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "LT", + "path": "38" + }, + "4050": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0xFDD" + }, + "4053": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "JUMPI", + "path": "38" + }, + "4054": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0xFDD" + }, + "4057": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A68" + }, + "4060": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7234, + 7248 + ], + "op": "JUMP", + "path": "38" + }, + "4061": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4062": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "PUSH1", + "path": "38", + "value": "0x20" + }, + "4064": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "ADD", + "path": "38" + }, + "4065": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7248 + ], + "op": "ADD", + "path": "38" + }, + "4066": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "4067": { + "op": "PUSH1", + "value": "0x1" + }, + "4069": { + "op": "PUSH1", + "value": "0x1" + }, + "4071": { + "op": "PUSH1", + "value": "0xF8" + }, + "4073": { + "op": "SHL" + }, + "4074": { + "op": "SUB" + }, + "4075": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "NOT", + "path": "38" + }, + "4076": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "AND", + "path": "38" + }, + "4077": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "4078": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "DUP2", + "path": "38" + }, + "4079": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "PUSH1", + "path": "38", + "value": "0x0" + }, + "4081": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "BYTE", + "path": "38" + }, + "4082": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "SWAP1", + "path": "38" + }, + "4083": { + "fn": "SoulboundCore.toString", + "offset": [ + 7234, + 7290 + ], + "op": "MSTORE8", + "path": "38" + }, + "4084": { + "op": "POP" + }, + "4085": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "PUSH2", + "path": "38", + "statement": 55, + "value": "0xFFF" + }, + "4088": { + "fn": "SoulboundCore.toString", + "offset": [ + 7313, + 7315 + ], + "op": "PUSH1", + "path": "38", + "value": "0xA" + }, + "4090": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "DUP7", + "path": "38" + }, + "4091": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "PUSH2", + "path": "38", + "value": "0x1A11" + }, + "4094": { + "fn": "SoulboundCore.toString", + "jump": "i", + "offset": [ + 7304, + 7315 + ], + "op": "JUMP", + "path": "38" + }, + "4095": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4096": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "SWAP5", + "path": "38" + }, + "4097": { + "fn": "SoulboundCore.toString", + "offset": [ + 7304, + 7315 + ], + "op": "POP", + "path": "38" + }, + "4098": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "PUSH2", + "path": "38", + "value": "0xF9F" + }, + "4101": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMP", + "path": "38" + }, + "4102": { + "fn": "SoulboundCore.toString", + "offset": [ + 7176, + 7326 + ], + "op": "JUMPDEST", + "path": "38" + }, + "4103": { + "fn": "SoulboundCore.toString", + "offset": [ + 7349, + 7355 + ], + "op": "SWAP5", + "path": "38", + "statement": 56 + }, + "4104": { + "fn": "SoulboundCore.toString", + "offset": [ + 6660, + 7363 + ], + "op": "SWAP4", + "path": "38" + }, + "4105": { + "op": "POP" + }, + "4106": { + "op": "POP" + }, + "4107": { + "op": "POP" + }, + "4108": { + "op": "POP" + }, + "4109": { + "fn": "SoulboundCore.toString", + "jump": "o", + "offset": [ + 6660, + 7363 + ], + "op": "JUMP", + "path": "38" + }, + "4110": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4111": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6480 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4113": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1019" + }, + "4116": { + "fn": "ERC4973._burn", + "offset": [ + 6491, + 6498 + ], + "op": "DUP3", + "path": "41" + }, + "4117": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6490 + ], + "op": "PUSH2", + "path": "41", + "value": "0x6DB" + }, + "4120": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6483, + 6499 + ], + "op": "JUMP", + "path": "41" + }, + "4121": { + "fn": "ERC4973._burn", + "offset": [ + 6483, + 6499 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4122": { + "op": "PUSH1", + "value": "0x1" + }, + "4124": { + "op": "PUSH1", + "value": "0x1" + }, + "4126": { + "op": "PUSH1", + "value": "0xA0" + }, + "4128": { + "op": "SHL" + }, + "4129": { + "op": "SUB" + }, + "4130": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41", + "statement": 57 + }, + "4131": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "AND", + "path": "41" + }, + "4132": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4134": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "4135": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "4136": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "4137": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6519 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "4139": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "4141": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "MSTORE", + "path": "41" + }, + "4142": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4144": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "DUP2", + "path": "41" + }, + "4145": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "KECCAK256", + "path": "41" + }, + "4146": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "DUP1", + "path": "41" + }, + "4147": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SLOAD", + "path": "41" + }, + "4148": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP3", + "path": "41" + }, + "4149": { + "fn": "ERC4973._burn", + "offset": [ + 6467, + 6499 + ], + "op": "SWAP4", + "path": "41" + }, + "4150": { + "op": "POP" + }, + "4151": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "4153": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP3", + "path": "41" + }, + "4154": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "4155": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP2", + "path": "41" + }, + "4156": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6526 + ], + "op": "SWAP1", + "path": "41" + }, + "4157": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1047" + }, + "4160": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "4161": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "DUP5", + "path": "41" + }, + "4162": { + "fn": "ERC4973._burn", + "offset": [ + 6530, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "4163": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1A25" + }, + "4166": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6510, + 6531 + ], + "op": "JUMP", + "path": "41" + }, + "4167": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4168": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP1", + "path": "41" + }, + "4169": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SWAP2", + "path": "41" + }, + "4170": { + "fn": "ERC4973._burn", + "offset": [ + 6510, + 6531 + ], + "op": "SSTORE", + "path": "41" + }, + "4171": { + "op": "POP" + }, + "4172": { + "op": "POP" + }, + "4173": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "statement": 58, + "value": "0x0" + }, + "4175": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP3", + "path": "41" + }, + "4176": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "4177": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "4178": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6555 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "4180": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "4182": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "4183": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP2", + "path": "41" + }, + "4184": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "MSTORE", + "path": "41" + }, + "4185": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "4187": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "4188": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "DUP4", + "path": "41" + }, + "4189": { + "fn": "ERC4973._burn", + "offset": [ + 6548, + 6564 + ], + "op": "KECCAK256", + "path": "41" + }, + "4190": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "DUP1", + "path": "41" + }, + "4191": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SLOAD", + "path": "41" + }, + "4192": { + "op": "PUSH1", + "value": "0x1" + }, + "4194": { + "op": "PUSH1", + "value": "0x1" + }, + "4196": { + "op": "PUSH1", + "value": "0xA0" + }, + "4198": { + "op": "SHL" + }, + "4199": { + "op": "SUB" + }, + "4200": { + "op": "NOT" + }, + "4201": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "AND", + "path": "41" + }, + "4202": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SWAP1", + "path": "41" + }, + "4203": { + "fn": "ERC4973._burn", + "offset": [ + 6541, + 6564 + ], + "op": "SSTORE", + "path": "41" + }, + "4204": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6591 + ], + "op": "PUSH1", + "path": "41", + "statement": 59, + "value": "0x3" + }, + "4206": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP1", + "path": "41" + }, + "4207": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "4208": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "MSTORE", + "path": "41" + }, + "4209": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "DUP2", + "path": "41" + }, + "4210": { + "fn": "ERC4973._burn", + "offset": [ + 6581, + 6600 + ], + "op": "KECCAK256", + "path": "41" + }, + "4211": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0x107B" + }, + "4214": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "SWAP2", + "path": "41" + }, + "4215": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1571" + }, + "4218": { + "fn": "ERC4973._burn", + "jump": "i", + "offset": [ + 6574, + 6600 + ], + "op": "JUMP", + "path": "41" + }, + "4219": { + "fn": "ERC4973._burn", + "offset": [ + 6574, + 6600 + ], + "op": "JUMPDEST", + "path": "41" + }, + "4220": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "statement": 60, + "value": "0x40" + }, + "4222": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "MLOAD", + "path": "41" + }, + "4223": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "DUP3", + "path": "41" + }, + "4224": { + "fn": "ERC4973._burn", + "offset": [ + 6630, + 6637 + ], + "op": "SWAP1", + "path": "41" + }, + "4225": { + "op": "PUSH1", + "value": "0x1" + }, + "4227": { + "op": "PUSH1", + "value": "0x1" + }, + "4229": { + "op": "PUSH1", + "value": "0xA0" + }, + "4231": { + "op": "SHL" + }, + "4232": { + "op": "SUB" + }, + "4233": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "DUP4", + "path": "41" + }, + "4234": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "AND", + "path": "41" + }, + "4235": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "4236": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH32", + "path": "41", + "value": "0xEC9AB91322523C899EDE7830EC9BFC992B5981CDCC27B91162FB23DE5791117B" + }, + "4269": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "4270": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "4272": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "SWAP1", + "path": "41" + }, + "4273": { + "fn": "ERC4973._burn", + "offset": [ + 6616, + 6638 + ], + "op": "LOG3", + "path": "41" + }, + "4274": { + "fn": "ERC4973._burn", + "offset": [ + 6457, + 6645 + ], + "op": "POP", + "path": "41" + }, + "4275": { + "fn": "ERC4973._burn", + "offset": [ + 6408, + 6645 + ], + "op": "POP", + "path": "41" + }, + "4276": { + "fn": "ERC4973._burn", + "jump": "o", + "offset": [ + 6408, + 6645 + ], + "op": "JUMP", + "path": "41" + }, + "4277": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "JUMPDEST", + "path": "0" + }, + "4278": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "4280": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP1", + "path": "0" + }, + "4281": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SLOAD", + "path": "0" + }, + "4282": { + "op": "PUSH1", + "value": "0x1" + }, + "4284": { + "op": "PUSH1", + "value": "0x1" + }, + "4286": { + "op": "PUSH1", + "value": "0xA0" + }, + "4288": { + "op": "SHL" + }, + "4289": { + "op": "SUB" + }, + "4290": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0", + "statement": 61 + }, + "4291": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "4292": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "4293": { + "op": "PUSH1", + "value": "0x1" + }, + "4295": { + "op": "PUSH1", + "value": "0x1" + }, + "4297": { + "op": "PUSH1", + "value": "0xA0" + }, + "4299": { + "op": "SHL" + }, + "4300": { + "op": "SUB" + }, + "4301": { + "op": "NOT" + }, + "4302": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP4", + "path": "0" + }, + "4303": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "AND", + "path": "0" + }, + "4304": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "DUP2", + "path": "0" + }, + "4305": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "OR", + "path": "0" + }, + "4306": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "4307": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP4", + "path": "0" + }, + "4308": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SSTORE", + "path": "0" + }, + "4309": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH1", + "path": "0", + "statement": 62, + "value": "0x40" + }, + "4311": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "MLOAD", + "path": "0" + }, + "4312": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "4313": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "AND", + "path": "0" + }, + "4314": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP2", + "path": "0" + }, + "4315": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2378, + 2395 + ], + "op": "SWAP1", + "path": "0" + }, + "4316": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "DUP3", + "path": "0" + }, + "4317": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2362, + 2368 + ], + "op": "SWAP1", + "path": "0" + }, + "4318": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "PUSH32", + "path": "0", + "value": "0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0" + }, + "4351": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "SWAP1", + "path": "0" + }, + "4352": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "PUSH1", + "path": "0", + "value": "0x0" + }, + "4354": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2343, + 2359 + ], + "op": "SWAP1", + "path": "0" + }, + "4355": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2410, + 2450 + ], + "op": "LOG3", + "path": "0" + }, + "4356": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2333, + 2457 + ], + "op": "POP", + "path": "0" + }, + "4357": { + "fn": "Ownable._transferOwnership", + "offset": [ + 2270, + 2457 + ], + "op": "POP", + "path": "0" + }, + "4358": { + "fn": "Ownable._transferOwnership", + "jump": "o", + "offset": [ + 2270, + 2457 + ], + "op": "JUMP", + "path": "0" + }, + "4359": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7029, + 7263 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4360": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7158, + 7166 + ], + "op": "DUP1", + "path": "37", + "statement": 63 + }, + "4361": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7152, + 7174 + ], + "op": "MLOAD", + "path": "37" + }, + "4362": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7178, + 7179 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4364": { + "branch": 99, + "fn": "Soulbound._setBaseURI", + "offset": [ + 7152, + 7179 + ], + "op": "SUB", + "path": "37" + }, + "4365": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1149" + }, + "4368": { + "branch": 99, + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "JUMPI", + "path": "37" + }, + "4369": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4371": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "MLOAD", + "path": "37" + }, + "4372": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4376": { + "op": "PUSH1", + "value": "0xE5" + }, + "4378": { + "op": "SHL" + }, + "4379": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "DUP2", + "path": "37" + }, + "4380": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "MSTORE", + "path": "37" + }, + "4381": { + "op": "PUSH1", + "value": "0x20" + }, + "4383": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "4385": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "DUP3", + "path": "37" + }, + "4386": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "ADD", + "path": "37" + }, + "4387": { + "op": "MSTORE" + }, + "4388": { + "op": "PUSH1", + "value": "0xE" + }, + "4390": { + "op": "PUSH1", + "value": "0x24" + }, + "4392": { + "op": "DUP3" + }, + "4393": { + "op": "ADD" + }, + "4394": { + "op": "MSTORE" + }, + "4395": { + "op": "PUSH14", + "value": "0x92DCECC2D8D2C840D8CADCCEE8D" + }, + "4410": { + "op": "PUSH1", + "value": "0x93" + }, + "4412": { + "op": "SHL" + }, + "4413": { + "op": "PUSH1", + "value": "0x44" + }, + "4415": { + "op": "DUP3" + }, + "4416": { + "op": "ADD" + }, + "4417": { + "op": "MSTORE" + }, + "4418": { + "op": "PUSH1", + "value": "0x64" + }, + "4420": { + "op": "ADD" + }, + "4421": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "4424": { + "op": "JUMP" + }, + "4425": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7144, + 7198 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4426": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7245 + ], + "op": "PUSH1", + "path": "37", + "statement": 64, + "value": "0x6" + }, + "4428": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1155" + }, + "4431": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7248, + 7256 + ], + "op": "DUP3", + "path": "37" + }, + "4432": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7245 + ], + "op": "DUP3", + "path": "37" + }, + "4433": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1ACC" + }, + "4436": { + "fn": "Soulbound._setBaseURI", + "jump": "i", + "offset": [ + 7238, + 7256 + ], + "op": "JUMP", + "path": "37" + }, + "4437": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4438": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7238, + 7256 + ], + "op": "POP", + "path": "37" + }, + "4439": { + "fn": "Soulbound._setBaseURI", + "offset": [ + 7029, + 7263 + ], + "op": "POP", + "path": "37" + }, + "4440": { + "fn": "Soulbound._setBaseURI", + "jump": "o", + "offset": [ + 7029, + 7263 + ], + "op": "JUMP", + "path": "37" + }, + "4441": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4442": { + "fn": "Soulbound.issue", + "offset": [ + 2314, + 2318 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4444": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2443 + ], + "op": "PUSH2", + "path": "37", + "statement": 65, + "value": "0x1166" + }, + "4447": { + "fn": "Soulbound.issue", + "offset": [ + 2419, + 2422 + ], + "op": "DUP5", + "path": "37" + }, + "4448": { + "fn": "Soulbound.issue", + "offset": [ + 2424, + 2432 + ], + "op": "DUP5", + "path": "37" + }, + "4449": { + "fn": "Soulbound.issue", + "offset": [ + 2434, + 2442 + ], + "op": "DUP5", + "path": "37" + }, + "4450": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2418 + ], + "op": "PUSH2", + "path": "37", + "value": "0x13AC" + }, + "4453": { + "fn": "Soulbound.issue", + "jump": "i", + "offset": [ + 2400, + 2443 + ], + "op": "JUMP", + "path": "37" + }, + "4454": { + "fn": "Soulbound.issue", + "offset": [ + 2400, + 2443 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4455": { + "op": "POP" + }, + "4456": { + "fn": "Soulbound.issue", + "offset": [ + 2490, + 2494 + ], + "op": "PUSH1", + "path": "37", + "statement": 66, + "value": "0x1" + }, + "4458": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "SWAP4", + "path": "37" + }, + "4459": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "SWAP3", + "path": "37" + }, + "4460": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "4461": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "4462": { + "fn": "Soulbound.issue", + "offset": [ + 2196, + 2501 + ], + "op": "POP", + "path": "37" + }, + "4463": { + "fn": "Soulbound.issue", + "jump": "o", + "offset": [ + 2196, + 2501 + ], + "op": "JUMP", + "path": "37" + }, + "4464": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4465": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "4467": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "4468": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3732, + 3736 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4470": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3732, + 3736 + ], + "op": "SWAP1", + "path": "14" + }, + "4471": { + "op": "PUSH1", + "value": "0x1" + }, + "4473": { + "op": "PUSH1", + "value": "0x1" + }, + "4475": { + "op": "PUSH1", + "value": "0xA0" + }, + "4477": { + "op": "SHL" + }, + "4478": { + "op": "SUB" + }, + "4479": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "4480": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4481": { + "offset": [ + 1248, + 1271 + ], + "op": "EQ", + "path": "0" + }, + "4482": { + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x119D" + }, + "4485": { + "offset": [ + 1240, + 1308 + ], + "op": "JUMPI", + "path": "0" + }, + "4486": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x40" + }, + "4488": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MLOAD", + "path": "0" + }, + "4489": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4493": { + "op": "PUSH1", + "value": "0xE5" + }, + "4495": { + "op": "SHL" + }, + "4496": { + "offset": [ + 1240, + 1308 + ], + "op": "DUP2", + "path": "0" + }, + "4497": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "MSTORE", + "path": "0" + }, + "4498": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH1", + "path": "0", + "value": "0x4" + }, + "4500": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "ADD", + "path": "0" + }, + "4501": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x45E" + }, + "4504": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "SWAP1", + "path": "0" + }, + "4505": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "PUSH2", + "path": "0", + "value": "0x1951" + }, + "4508": { + "fn": "Context._msgSender", + "jump": "i", + "offset": [ + 1240, + 1308 + ], + "op": "JUMP", + "path": "0" + }, + "4509": { + "fn": "Context._msgSender", + "offset": [ + 1240, + 1308 + ], + "op": "JUMPDEST", + "path": "0" + }, + "4510": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "PUSH1", + "path": "0", + "value": "0x5" + }, + "4512": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "SLOAD", + "path": "0" + }, + "4513": { + "op": "PUSH1", + "value": "0x1" + }, + "4515": { + "op": "PUSH1", + "value": "0x1" + }, + "4517": { + "op": "PUSH1", + "value": "0xA0" + }, + "4519": { + "op": "SHL" + }, + "4520": { + "op": "SUB" + }, + "4521": { + "fn": "Ownable.owner", + "offset": [ + 1108, + 1114 + ], + "op": "AND", + "path": "0" + }, + "4522": { + "fn": "Context._msgSender", + "offset": [ + 719, + 729 + ], + "op": "CALLER", + "path": "5" + }, + "4523": { + "branch": 86, + "fn": "Allowlist._verifySignature", + "offset": [ + 3897, + 3920 + ], + "op": "EQ", + "path": "14", + "statement": 67 + }, + "4524": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x120B" + }, + "4527": { + "branch": 86, + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPI", + "path": "14" + }, + "4528": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4530": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MLOAD", + "path": "14" + }, + "4531": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4535": { + "op": "PUSH1", + "value": "0xE5" + }, + "4537": { + "op": "SHL" + }, + "4538": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP2", + "path": "14" + }, + "4539": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "MSTORE", + "path": "14" + }, + "4540": { + "op": "PUSH1", + "value": "0x20" + }, + "4542": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "4544": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "DUP3", + "path": "14" + }, + "4545": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "ADD", + "path": "14" + }, + "4546": { + "op": "MSTORE" + }, + "4547": { + "op": "PUSH1", + "value": "0x2B" + }, + "4549": { + "op": "PUSH1", + "value": "0x24" + }, + "4551": { + "op": "DUP3" + }, + "4552": { + "op": "ADD" + }, + "4553": { + "op": "MSTORE" + }, + "4554": { + "op": "PUSH32", + "value": "0x4552433732313A3A2043616C6C20746F20636F6E7472616374206D6164652062" + }, + "4587": { + "op": "PUSH1", + "value": "0x44" + }, + "4589": { + "op": "DUP3" + }, + "4590": { + "op": "ADD" + }, + "4591": { + "op": "MSTORE" + }, + "4592": { + "op": "PUSH11", + "value": "0x3C903737B716B7BBB732B9" + }, + "4604": { + "op": "PUSH1", + "value": "0xA9" + }, + "4606": { + "op": "SHL" + }, + "4607": { + "op": "PUSH1", + "value": "0x64" + }, + "4609": { + "op": "DUP3" + }, + "4610": { + "op": "ADD" + }, + "4611": { + "op": "MSTORE" + }, + "4612": { + "op": "PUSH1", + "value": "0x84" + }, + "4614": { + "op": "ADD" + }, + "4615": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "PUSH2", + "path": "14", + "value": "0x45E" + }, + "4618": { + "op": "JUMP" + }, + "4619": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3876, + 3989 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4620": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4070 + ], + "op": "DUP2", + "path": "14", + "statement": 68 + }, + "4621": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4077 + ], + "op": "MLOAD", + "path": "14" + }, + "4622": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4081, + 4083 + ], + "op": "PUSH1", + "path": "14", + "value": "0x41" + }, + "4624": { + "branch": 87, + "fn": "Allowlist._verifySignature", + "offset": [ + 4067, + 4083 + ], + "op": "EQ", + "path": "14" + }, + "4625": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x125C" + }, + "4628": { + "branch": 87, + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPI", + "path": "14" + }, + "4629": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4631": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MLOAD", + "path": "14" + }, + "4632": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4636": { + "op": "PUSH1", + "value": "0xE5" + }, + "4638": { + "op": "SHL" + }, + "4639": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP2", + "path": "14" + }, + "4640": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "MSTORE", + "path": "14" + }, + "4641": { + "op": "PUSH1", + "value": "0x20" + }, + "4643": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH1", + "path": "14", + "value": "0x4" + }, + "4645": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "DUP3", + "path": "14" + }, + "4646": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "ADD", + "path": "14" + }, + "4647": { + "op": "MSTORE" + }, + "4648": { + "op": "PUSH1", + "value": "0x1E" + }, + "4650": { + "op": "PUSH1", + "value": "0x24" + }, + "4652": { + "op": "DUP3" + }, + "4653": { + "op": "ADD" + }, + "4654": { + "op": "MSTORE" + }, + "4655": { + "op": "PUSH32", + "value": "0x4572723A3A20496E76616C6964207369676E6174757265206C656E6774680000" + }, + "4688": { + "op": "PUSH1", + "value": "0x44" + }, + "4690": { + "op": "DUP3" + }, + "4691": { + "op": "ADD" + }, + "4692": { + "op": "MSTORE" + }, + "4693": { + "op": "PUSH1", + "value": "0x64" + }, + "4695": { + "op": "ADD" + }, + "4696": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "PUSH2", + "path": "14", + "value": "0x45E" + }, + "4699": { + "op": "JUMP" + }, + "4700": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4059, + 4118 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4701": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6067, + 6069 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "4703": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP3", + "path": "14" + }, + "4704": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "DUP2", + "path": "14" + }, + "4705": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6058, + 6070 + ], + "op": "ADD", + "path": "14" + }, + "4706": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "MLOAD", + "path": "14" + }, + "4707": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6142, + 6144 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4709": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP1", + "path": "14" + }, + "4710": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "DUP6", + "path": "14" + }, + "4711": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6133, + 6145 + ], + "op": "ADD", + "path": "14" + }, + "4712": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "MLOAD", + "path": "14" + }, + "4713": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6254, + 6256 + ], + "op": "PUSH1", + "path": "14", + "value": "0x60" + }, + "4715": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP1", + "path": "14" + }, + "4716": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "DUP8", + "path": "14" + }, + "4717": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6245, + 6257 + ], + "op": "ADD", + "path": "14" + }, + "4718": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6239, + 6258 + ], + "op": "MLOAD", + "path": "14" + }, + "4719": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP4", + "path": "14" + }, + "4720": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4721": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4197, + 4206 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4723": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4724": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP3", + "path": "14" + }, + "4725": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "4726": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP7", + "path": "14" + }, + "4727": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "4728": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "4729": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4730": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP7", + "path": "14" + }, + "4731": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MSTORE", + "path": "14" + }, + "4732": { + "op": "DUP11" + }, + "4733": { + "op": "SWAP1" + }, + "4734": { + "op": "MSTORE" + }, + "4735": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "SWAP1", + "path": "14" + }, + "4736": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "DUP7", + "path": "14" + }, + "4737": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6231, + 6259 + ], + "op": "BYTE", + "path": "14" + }, + "4738": { + "op": "SWAP4" + }, + "4739": { + "op": "DUP2" + }, + "4740": { + "op": "ADD" + }, + "4741": { + "op": "DUP5" + }, + "4742": { + "op": "SWAP1" + }, + "4743": { + "op": "MSTORE" + }, + "4744": { + "op": "SWAP1" + }, + "4745": { + "op": "DUP2" + }, + "4746": { + "op": "ADD" + }, + "4747": { + "op": "DUP5" + }, + "4748": { + "op": "SWAP1" + }, + "4749": { + "op": "MSTORE" + }, + "4750": { + "op": "PUSH1", + "value": "0x80" + }, + "4752": { + "op": "DUP2" + }, + "4753": { + "op": "ADD" + }, + "4754": { + "op": "DUP3" + }, + "4755": { + "op": "SWAP1" + }, + "4756": { + "op": "MSTORE" + }, + "4757": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP3", + "path": "14" + }, + "4758": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6052, + 6071 + ], + "op": "SWAP4", + "path": "14" + }, + "4759": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP1", + "path": "14" + }, + "4760": { + "fn": "Allowlist.splitSignature", + "offset": [ + 6127, + 6146 + ], + "op": "SWAP3", + "path": "14" + }, + "4761": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x1" + }, + "4763": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4764": { + "op": "PUSH1", + "value": "0xA0" + }, + "4766": { + "op": "ADD" + }, + "4767": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "4769": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4771": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4772": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x20" + }, + "4774": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "4775": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "4776": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4777": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4778": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP5", + "path": "14" + }, + "4779": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SUB", + "path": "14" + }, + "4780": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4781": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP6", + "path": "14" + }, + "4782": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "GAS", + "path": "14" + }, + "4783": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "STATICCALL", + "path": "14" + }, + "4784": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "4785": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4786": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ISZERO", + "path": "14" + }, + "4787": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH2", + "path": "14", + "value": "0x12C0" + }, + "4790": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPI", + "path": "14" + }, + "4791": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "4792": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4794": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP1", + "path": "14" + }, + "4795": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATACOPY", + "path": "14" + }, + "4796": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "RETURNDATASIZE", + "path": "14" + }, + "4797": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4799": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "REVERT", + "path": "14" + }, + "4800": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "JUMPDEST", + "path": "14" + }, + "4801": { + "op": "POP" + }, + "4802": { + "op": "POP" + }, + "4803": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "PUSH1", + "path": "14", + "value": "0x40" + }, + "4805": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4806": { + "op": "PUSH1", + "value": "0x1F" + }, + "4808": { + "op": "NOT" + }, + "4809": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "DUP2", + "path": "14" + }, + "4810": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "ADD", + "path": "14" + }, + "4811": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "MLOAD", + "path": "14" + }, + "4812": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "PUSH1", + "path": "14", + "value": "0x8" + }, + "4814": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SLOAD", + "path": "14" + }, + "4815": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP1", + "path": "14" + }, + "4816": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4331, + 4355 + ], + "op": "SWAP4", + "path": "14" + }, + "4817": { + "op": "POP" + }, + "4818": { + "op": "PUSH1", + "value": "0x1" + }, + "4820": { + "op": "PUSH1", + "value": "0x1" + }, + "4822": { + "op": "PUSH1", + "value": "0xA0" + }, + "4824": { + "op": "SHL" + }, + "4825": { + "op": "SUB" + }, + "4826": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP1", + "path": "14" + }, + "4827": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP6", + "path": "14" + }, + "4828": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "AND", + "path": "14" + }, + "4829": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "4830": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4469, + 4483 + ], + "op": "AND", + "path": "14" + }, + "4831": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "EQ", + "path": "14" + }, + "4832": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP2", + "path": "14" + }, + "4833": { + "op": "POP" + }, + "4834": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "DUP2", + "path": "14" + }, + "4835": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4459, + 4483 + ], + "op": "SWAP1", + "path": "14" + }, + "4836": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "DUP10", + "path": "14", + "statement": 69 + }, + "4837": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4566, + 4570 + ], + "op": "SWAP1", + "path": "14" + }, + "4838": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "PUSH32", + "path": "14", + "value": "0x7E4FE2A2A805A357593FDBDDE58C02F6A53D8B4960744CD31A98697FC11C2E36" + }, + "4871": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "SWAP1", + "path": "14" + }, + "4872": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "PUSH1", + "path": "14", + "value": "0x0" + }, + "4874": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4428, + 4455 + ], + "op": "SWAP1", + "path": "14" + }, + "4875": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4550, + 4595 + ], + "op": "LOG3", + "path": "14" + }, + "4876": { + "fn": "Allowlist._verifySignature", + "offset": [ + 4648, + 4670 + ], + "op": "SWAP8", + "path": "14", + "statement": 70 + }, + "4877": { + "fn": "Allowlist._verifySignature", + "offset": [ + 3622, + 4677 + ], + "op": "SWAP7", + "path": "14" + }, + "4878": { + "op": "POP" + }, + "4879": { + "op": "POP" + }, + "4880": { + "op": "POP" + }, + "4881": { + "op": "POP" + }, + "4882": { + "op": "POP" + }, + "4883": { + "op": "POP" + }, + "4884": { + "op": "POP" + }, + "4885": { + "fn": "Allowlist._verifySignature", + "jump": "o", + "offset": [ + 3622, + 4677 + ], + "op": "JUMP", + "path": "14" + }, + "4886": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6437, + 6858 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4887": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6580 + ], + "op": "PUSH2", + "path": "37", + "statement": 71, + "value": "0x131F" + }, + "4890": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6572, + 6579 + ], + "op": "DUP2", + "path": "37" + }, + "4891": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6571 + ], + "op": "PUSH2", + "path": "37", + "value": "0xE20" + }, + "4894": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6564, + 6580 + ], + "op": "JUMP", + "path": "37" + }, + "4895": { + "branch": 100, + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6564, + 6580 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4896": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH2", + "path": "37", + "value": "0x136B" + }, + "4899": { + "branch": 100, + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "JUMPI", + "path": "37" + }, + "4900": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "4902": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "MLOAD", + "path": "37" + }, + "4903": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "4907": { + "op": "PUSH1", + "value": "0xE5" + }, + "4909": { + "op": "SHL" + }, + "4910": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "DUP2", + "path": "37" + }, + "4911": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "MSTORE", + "path": "37" + }, + "4912": { + "op": "PUSH1", + "value": "0x20" + }, + "4914": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "4916": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "DUP3", + "path": "37" + }, + "4917": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "ADD", + "path": "37" + }, + "4918": { + "op": "MSTORE" + }, + "4919": { + "op": "PUSH1", + "value": "0x18" + }, + "4921": { + "op": "PUSH1", + "value": "0x24" + }, + "4923": { + "op": "DUP3" + }, + "4924": { + "op": "ADD" + }, + "4925": { + "op": "MSTORE" + }, + "4926": { + "op": "PUSH32", + "value": "0x4275726E206F6620696E6578697374656E7420746F6B656E0000000000000000" + }, + "4959": { + "op": "PUSH1", + "value": "0x44" + }, + "4961": { + "op": "DUP3" + }, + "4962": { + "op": "ADD" + }, + "4963": { + "op": "MSTORE" + }, + "4964": { + "op": "PUSH1", + "value": "0x64" + }, + "4966": { + "op": "ADD" + }, + "4967": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "4970": { + "op": "JUMP" + }, + "4971": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6556, + 6609 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4972": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6683 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "4974": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6702 + ], + "op": "PUSH2", + "path": "37", + "value": "0x1376" + }, + "4977": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6694, + 6701 + ], + "op": "DUP3", + "path": "37" + }, + "4978": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6693 + ], + "op": "PUSH2", + "path": "37", + "value": "0x6DB" + }, + "4981": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6686, + 6702 + ], + "op": "JUMP", + "path": "37" + }, + "4982": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6686, + 6702 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4983": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6702 + ], + "op": "SWAP1", + "path": "37" + }, + "4984": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6664, + 6702 + ], + "op": "POP", + "path": "37" + }, + "4985": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6759 + ], + "op": "PUSH2", + "path": "37", + "statement": 72, + "value": "0x1381" + }, + "4988": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6751, + 6758 + ], + "op": "DUP3", + "path": "37" + }, + "4989": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6750 + ], + "op": "PUSH2", + "path": "37", + "value": "0x100E" + }, + "4992": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "i", + "offset": [ + 6745, + 6759 + ], + "op": "JUMP", + "path": "37" + }, + "4993": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6745, + 6759 + ], + "op": "JUMPDEST", + "path": "37" + }, + "4994": { + "op": "PUSH1", + "value": "0x1" + }, + "4996": { + "op": "PUSH1", + "value": "0x1" + }, + "4998": { + "op": "PUSH1", + "value": "0xA0" + }, + "5000": { + "op": "SHL" + }, + "5001": { + "op": "SUB" + }, + "5002": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "AND", + "path": "37", + "statement": 73 + }, + "5003": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6846, + 6851 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "5005": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "SWAP1", + "path": "37" + }, + "5006": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP2", + "path": "37" + }, + "5007": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "MSTORE", + "path": "37" + }, + "5008": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6821 + ], + "op": "PUSH1", + "path": "37", + "value": "0x7" + }, + "5010": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "5012": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "SWAP1", + "path": "37" + }, + "5013": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP2", + "path": "37" + }, + "5014": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "MSTORE", + "path": "37" + }, + "5015": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "5017": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP1", + "path": "37" + }, + "5018": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "DUP4", + "path": "37" + }, + "5019": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6834 + ], + "op": "KECCAK256", + "path": "37" + }, + "5020": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP4", + "path": "37" + }, + "5021": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "DUP4", + "path": "37" + }, + "5022": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "MSTORE", + "path": "37" + }, + "5023": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP3", + "path": "37" + }, + "5024": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "SWAP1", + "path": "37" + }, + "5025": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "MSTORE", + "path": "37" + }, + "5026": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6843 + ], + "op": "KECCAK256", + "path": "37" + }, + "5027": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "DUP1", + "path": "37" + }, + "5028": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SLOAD", + "path": "37" + }, + "5029": { + "op": "PUSH1", + "value": "0xFF" + }, + "5031": { + "op": "NOT" + }, + "5032": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "AND", + "path": "37" + }, + "5033": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SWAP1", + "path": "37" + }, + "5034": { + "fn": "Soulbound.burnSoulboundToken", + "offset": [ + 6816, + 6851 + ], + "op": "SSTORE", + "path": "37" + }, + "5035": { + "fn": "Soulbound.burnSoulboundToken", + "jump": "o", + "offset": [ + 6437, + 6858 + ], + "op": "JUMP", + "path": "37" + }, + "5036": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5609, + 6276 + ], + "op": "JUMPDEST", + "path": "37" + }, + "5037": { + "op": "PUSH1", + "value": "0x1" + }, + "5039": { + "op": "PUSH1", + "value": "0x1" + }, + "5041": { + "op": "PUSH1", + "value": "0xA0" + }, + "5043": { + "op": "SHL" + }, + "5044": { + "op": "SUB" + }, + "5045": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5816, + 5832 + ], + "op": "DUP4", + "path": "37", + "statement": 74 + }, + "5046": { + "branch": 101, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5816, + 5832 + ], + "op": "AND", + "path": "37" + }, + "5047": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH2", + "path": "37", + "value": "0x13FA" + }, + "5050": { + "branch": 101, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "JUMPI", + "path": "37" + }, + "5051": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "5053": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "MLOAD", + "path": "37" + }, + "5054": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5058": { + "op": "PUSH1", + "value": "0xE5" + }, + "5060": { + "op": "SHL" + }, + "5061": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "DUP2", + "path": "37" + }, + "5062": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "MSTORE", + "path": "37" + }, + "5063": { + "op": "PUSH1", + "value": "0x20" + }, + "5065": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "5067": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "DUP3", + "path": "37" + }, + "5068": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "ADD", + "path": "37" + }, + "5069": { + "op": "MSTORE" + }, + "5070": { + "op": "PUSH1", + "value": "0x15" + }, + "5072": { + "op": "PUSH1", + "value": "0x24" + }, + "5074": { + "op": "DUP3" + }, + "5075": { + "op": "ADD" + }, + "5076": { + "op": "MSTORE" + }, + "5077": { + "op": "PUSH21", + "value": "0x26B4B73A103A37903D32B9379030B2323932B9B997" + }, + "5099": { + "op": "PUSH1", + "value": "0x59" + }, + "5101": { + "op": "SHL" + }, + "5102": { + "op": "PUSH1", + "value": "0x44" + }, + "5104": { + "op": "DUP3" + }, + "5105": { + "op": "ADD" + }, + "5106": { + "op": "MSTORE" + }, + "5107": { + "op": "PUSH1", + "value": "0x64" + }, + "5109": { + "op": "ADD" + }, + "5110": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "5113": { + "op": "JUMP" + }, + "5114": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5808, + 5858 + ], + "op": "JUMPDEST", + "path": "37" + }, + "5115": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6004, + 6012 + ], + "op": "DUP1", + "path": "37", + "statement": 75 + }, + "5116": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5998, + 6020 + ], + "op": "MLOAD", + "path": "37" + }, + "5117": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6024, + 6025 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "5119": { + "branch": 102, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5998, + 6025 + ], + "op": "SUB", + "path": "37" + }, + "5120": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH2", + "path": "37", + "value": "0x143D" + }, + "5123": { + "branch": 102, + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "JUMPI", + "path": "37" + }, + "5124": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "5126": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "MLOAD", + "path": "37" + }, + "5127": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5131": { + "op": "PUSH1", + "value": "0xE5" + }, + "5133": { + "op": "SHL" + }, + "5134": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "DUP2", + "path": "37" + }, + "5135": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "MSTORE", + "path": "37" + }, + "5136": { + "op": "PUSH1", + "value": "0x20" + }, + "5138": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH1", + "path": "37", + "value": "0x4" + }, + "5140": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "DUP3", + "path": "37" + }, + "5141": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "ADD", + "path": "37" + }, + "5142": { + "op": "MSTORE" + }, + "5143": { + "op": "PUSH1", + "value": "0xF" + }, + "5145": { + "op": "PUSH1", + "value": "0x24" + }, + "5147": { + "op": "DUP3" + }, + "5148": { + "op": "ADD" + }, + "5149": { + "op": "MSTORE" + }, + "5150": { + "op": "PUSH15", + "value": "0x22B6B83A3C903A37B5B2B72AA92497" + }, + "5166": { + "op": "PUSH1", + "value": "0x89" + }, + "5168": { + "op": "SHL" + }, + "5169": { + "op": "PUSH1", + "value": "0x44" + }, + "5171": { + "op": "DUP3" + }, + "5172": { + "op": "ADD" + }, + "5173": { + "op": "MSTORE" + }, + "5174": { + "op": "PUSH1", + "value": "0x64" + }, + "5176": { + "op": "ADD" + }, + "5177": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "PUSH2", + "path": "37", + "value": "0x45E" + }, + "5180": { + "op": "JUMP" + }, + "5181": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 5990, + 6045 + ], + "op": "JUMPDEST", + "path": "37" + }, + "5182": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6188 + ], + "op": "PUSH2", + "path": "37", + "statement": 76, + "value": "0x1448" + }, + "5185": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6166, + 6168 + ], + "op": "DUP4", + "path": "37" + }, + "5186": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6170, + 6177 + ], + "op": "DUP4", + "path": "37" + }, + "5187": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6179, + 6187 + ], + "op": "DUP4", + "path": "37" + }, + "5188": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6165 + ], + "op": "PUSH2", + "path": "37", + "value": "0x147A" + }, + "5191": { + "fn": "Soulbound.mintSoulboundToken", + "jump": "i", + "offset": [ + 6160, + 6188 + ], + "op": "JUMP", + "path": "37" + }, + "5192": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6160, + 6188 + ], + "op": "JUMPDEST", + "path": "37" + }, + "5193": { + "op": "POP" + }, + "5194": { + "op": "POP" + }, + "5195": { + "op": "PUSH1", + "value": "0x1" + }, + "5197": { + "op": "PUSH1", + "value": "0x1" + }, + "5199": { + "op": "PUSH1", + "value": "0xA0" + }, + "5201": { + "op": "SHL" + }, + "5202": { + "op": "SUB" + }, + "5203": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37", + "statement": 77 + }, + "5204": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP2", + "path": "37" + }, + "5205": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "AND", + "path": "37" + }, + "5206": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x0" + }, + "5208": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37" + }, + "5209": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP2", + "path": "37" + }, + "5210": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "MSTORE", + "path": "37" + }, + "5211": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6249 + ], + "op": "PUSH1", + "path": "37", + "value": "0x7" + }, + "5213": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x20" + }, + "5215": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "SWAP1", + "path": "37" + }, + "5216": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP2", + "path": "37" + }, + "5217": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "MSTORE", + "path": "37" + }, + "5218": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "PUSH1", + "path": "37", + "value": "0x40" + }, + "5220": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP1", + "path": "37" + }, + "5221": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "DUP4", + "path": "37" + }, + "5222": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6253 + ], + "op": "KECCAK256", + "path": "37" + }, + "5223": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP4", + "path": "37" + }, + "5224": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "DUP4", + "path": "37" + }, + "5225": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "MSTORE", + "path": "37" + }, + "5226": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP3", + "path": "37" + }, + "5227": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "SWAP1", + "path": "37" + }, + "5228": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "MSTORE", + "path": "37" + }, + "5229": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6262 + ], + "op": "KECCAK256", + "path": "37" + }, + "5230": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "DUP1", + "path": "37" + }, + "5231": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SLOAD", + "path": "37" + }, + "5232": { + "op": "PUSH1", + "value": "0xFF" + }, + "5234": { + "op": "NOT" + }, + "5235": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "AND", + "path": "37" + }, + "5236": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6265, + 6269 + ], + "op": "PUSH1", + "path": "37", + "value": "0x1" + }, + "5238": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "OR", + "path": "37" + }, + "5239": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SWAP1", + "path": "37" + }, + "5240": { + "fn": "Soulbound.mintSoulboundToken", + "offset": [ + 6244, + 6269 + ], + "op": "SSTORE", + "path": "37" + }, + "5241": { + "fn": "Soulbound.mintSoulboundToken", + "jump": "o", + "offset": [ + 5609, + 6276 + ], + "op": "JUMP", + "path": "37" + }, + "5242": { + "fn": "ERC4973._mint", + "offset": [ + 6055, + 6402 + ], + "op": "JUMPDEST", + "path": "41" + }, + "5243": { + "fn": "ERC4973._mint", + "offset": [ + 6174, + 6181 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "5245": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6218 + ], + "op": "PUSH2", + "path": "41", + "statement": 78, + "value": "0x1485" + }, + "5248": { + "fn": "ERC4973._mint", + "offset": [ + 6210, + 6217 + ], + "op": "DUP4", + "path": "41" + }, + "5249": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6209 + ], + "op": "PUSH2", + "path": "41", + "value": "0xE20" + }, + "5252": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6202, + 6218 + ], + "op": "JUMP", + "path": "41" + }, + "5253": { + "fn": "ERC4973._mint", + "offset": [ + 6202, + 6218 + ], + "op": "JUMPDEST", + "path": "41" + }, + "5254": { + "branch": 91, + "fn": "ERC4973._mint", + "offset": [ + 6201, + 6218 + ], + "op": "ISZERO", + "path": "41" + }, + "5255": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH2", + "path": "41", + "value": "0x14C9" + }, + "5258": { + "branch": 91, + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "JUMPI", + "path": "41" + }, + "5259": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "5261": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "MLOAD", + "path": "41" + }, + "5262": { + "op": "PUSH3", + "value": "0x461BCD" + }, + "5266": { + "op": "PUSH1", + "value": "0xE5" + }, + "5268": { + "op": "SHL" + }, + "5269": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "DUP2", + "path": "41" + }, + "5270": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "MSTORE", + "path": "41" + }, + "5271": { + "op": "PUSH1", + "value": "0x20" + }, + "5273": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "5275": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "DUP3", + "path": "41" + }, + "5276": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "ADD", + "path": "41" + }, + "5277": { + "op": "MSTORE" + }, + "5278": { + "op": "PUSH1", + "value": "0x14" + }, + "5280": { + "op": "PUSH1", + "value": "0x24" + }, + "5282": { + "op": "DUP3" + }, + "5283": { + "op": "ADD" + }, + "5284": { + "op": "MSTORE" + }, + "5285": { + "op": "PUSH20", + "value": "0x6D696E743A20746F6B656E494420657869737473" + }, + "5306": { + "op": "PUSH1", + "value": "0x60" + }, + "5308": { + "op": "SHL" + }, + "5309": { + "op": "PUSH1", + "value": "0x44" + }, + "5311": { + "op": "DUP3" + }, + "5312": { + "op": "ADD" + }, + "5313": { + "op": "MSTORE" + }, + "5314": { + "op": "PUSH1", + "value": "0x64" + }, + "5316": { + "op": "ADD" + }, + "5317": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "PUSH2", + "path": "41", + "value": "0x45E" + }, + "5320": { + "op": "JUMP" + }, + "5321": { + "fn": "ERC4973._mint", + "offset": [ + 6193, + 6243 + ], + "op": "JUMPDEST", + "path": "41" + }, + "5322": { + "op": "PUSH1", + "value": "0x1" + }, + "5324": { + "op": "PUSH1", + "value": "0x1" + }, + "5326": { + "op": "PUSH1", + "value": "0xA0" + }, + "5328": { + "op": "SHL" + }, + "5329": { + "op": "SUB" + }, + "5330": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP5", + "path": "41", + "statement": 79 + }, + "5331": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "AND", + "path": "41" + }, + "5332": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "5334": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "SWAP1", + "path": "41" + }, + "5335": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP2", + "path": "41" + }, + "5336": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "MSTORE", + "path": "41" + }, + "5337": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6262 + ], + "op": "PUSH1", + "path": "41", + "value": "0x4" + }, + "5339": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "5341": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "MSTORE", + "path": "41" + }, + "5342": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "5344": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "DUP2", + "path": "41" + }, + "5345": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "KECCAK256", + "path": "41" + }, + "5346": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "DUP1", + "path": "41" + }, + "5347": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SLOAD", + "path": "41" + }, + "5348": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "PUSH1", + "path": "41", + "value": "0x1" + }, + "5350": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "SWAP3", + "path": "41" + }, + "5351": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6266 + ], + "op": "SWAP1", + "path": "41" + }, + "5352": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "PUSH2", + "path": "41", + "value": "0x14F2" + }, + "5355": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "5356": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "DUP5", + "path": "41" + }, + "5357": { + "fn": "ERC4973._mint", + "offset": [ + 6270, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "5358": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1A50" + }, + "5361": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6253, + 6271 + ], + "op": "JUMP", + "path": "41" + }, + "5362": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "JUMPDEST", + "path": "41" + }, + "5363": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP1", + "path": "41" + }, + "5364": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SWAP2", + "path": "41" + }, + "5365": { + "fn": "ERC4973._mint", + "offset": [ + 6253, + 6271 + ], + "op": "SSTORE", + "path": "41" + }, + "5366": { + "op": "POP" + }, + "5367": { + "op": "POP" + }, + "5368": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "statement": 80, + "value": "0x0" + }, + "5370": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP4", + "path": "41" + }, + "5371": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP2", + "path": "41" + }, + "5372": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "MSTORE", + "path": "41" + }, + "5373": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6288 + ], + "op": "PUSH1", + "path": "41", + "value": "0x2" + }, + "5375": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "value": "0x20" + }, + "5377": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "SWAP1", + "path": "41" + }, + "5378": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP2", + "path": "41" + }, + "5379": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "MSTORE", + "path": "41" + }, + "5380": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "PUSH1", + "path": "41", + "value": "0x40" + }, + "5382": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP1", + "path": "41" + }, + "5383": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "DUP4", + "path": "41" + }, + "5384": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6297 + ], + "op": "KECCAK256", + "path": "41" + }, + "5385": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "DUP1", + "path": "41" + }, + "5386": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SLOAD", + "path": "41" + }, + "5387": { + "op": "PUSH1", + "value": "0x1" + }, + "5389": { + "op": "PUSH1", + "value": "0x1" + }, + "5391": { + "op": "PUSH1", + "value": "0xA0" + }, + "5393": { + "op": "SHL" + }, + "5394": { + "op": "SUB" + }, + "5395": { + "op": "NOT" + }, + "5396": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "AND", + "path": "41" + }, + "5397": { + "op": "PUSH1", + "value": "0x1" + }, + "5399": { + "op": "PUSH1", + "value": "0x1" + }, + "5401": { + "op": "PUSH1", + "value": "0xA0" + }, + "5403": { + "op": "SHL" + }, + "5404": { + "op": "SUB" + }, + "5405": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "DUP10", + "path": "41" + }, + "5406": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "AND", + "path": "41" + }, + "5407": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "OR", + "path": "41" + }, + "5408": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SWAP1", + "path": "41" + }, + "5409": { + "fn": "ERC4973._mint", + "offset": [ + 6281, + 6302 + ], + "op": "SSTORE", + "path": "41" + }, + "5410": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6322 + ], + "op": "PUSH1", + "path": "41", + "statement": 81, + "value": "0x3" + }, + "5412": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP1", + "path": "41" + }, + "5413": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP2", + "path": "41" + }, + "5414": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "MSTORE", + "path": "41" + }, + "5415": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "SWAP1", + "path": "41" + }, + "5416": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "KECCAK256", + "path": "41" + }, + "5417": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1532" + }, + "5420": { + "fn": "ERC4973._mint", + "offset": [ + 6334, + 6337 + ], + "op": "DUP4", + "path": "41" + }, + "5421": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6331 + ], + "op": "DUP3", + "path": "41" + }, + "5422": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "PUSH2", + "path": "41", + "value": "0x1ACC" + }, + "5425": { + "fn": "ERC4973._mint", + "jump": "i", + "offset": [ + 6312, + 6337 + ], + "op": "JUMP", + "path": "41" + }, + "5426": { + "fn": "ERC4973._mint", + "offset": [ + 6312, + 6337 + ], + "op": "JUMPDEST", + "path": "41" + }, + "5427": { + "op": "POP" + }, + "5428": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH1", + "path": "41", + "statement": 82, + "value": "0x40" + }, + "5430": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "MLOAD", + "path": "41" + }, + "5431": { + "fn": "ERC4973._mint", + "offset": [ + 6363, + 6370 + ], + "op": "DUP4", + "path": "41" + }, + "5432": { + "fn": "ERC4973._mint", + "offset": [ + 6363, + 6370 + ], + "op": "SWAP1", + "path": "41" + }, + "5433": { + "op": "PUSH1", + "value": "0x1" + }, + "5435": { + "op": "PUSH1", + "value": "0x1" + }, + "5437": { + "op": "PUSH1", + "value": "0xA0" + }, + "5439": { + "op": "SHL" + }, + "5440": { + "op": "SUB" + }, + "5441": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "DUP7", + "path": "41" + }, + "5442": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "AND", + "path": "41" + }, + "5443": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "5444": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH32", + "path": "41", + "value": "0xE9274A84B19E9428826DE6BAE8C48329354F8F0E73F771B97CAE2D9DCCD45A27" + }, + "5477": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "5478": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "PUSH1", + "path": "41", + "value": "0x0" + }, + "5480": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "SWAP1", + "path": "41" + }, + "5481": { + "fn": "ERC4973._mint", + "offset": [ + 6352, + 6371 + ], + "op": "LOG3", + "path": "41" + }, + "5482": { + "op": "POP" + }, + "5483": { + "fn": "ERC4973._mint", + "offset": [ + 6388, + 6395 + ], + "op": "SWAP1", + "path": "41", + "statement": 83 + }, + "5484": { + "fn": "ERC4973._mint", + "offset": [ + 6388, + 6395 + ], + "op": "SWAP3", + "path": "41" + }, + "5485": { + "fn": "ERC4973._mint", + "offset": [ + 6055, + 6402 + ], + "op": "SWAP2", + "path": "41" + }, + "5486": { + "op": "POP" + }, + "5487": { + "op": "POP" + }, + "5488": { + "fn": "ERC4973._mint", + "jump": "o", + "offset": [ + 6055, + 6402 + ], + "op": "JUMP", + "path": "41" + }, + "5489": { + "op": "JUMPDEST" + }, + "5490": { + "op": "POP" + }, + "5491": { + "op": "DUP1" + }, + "5492": { + "op": "SLOAD" + }, + "5493": { + "op": "PUSH2", + "value": "0x157D" + }, + "5496": { + "op": "SWAP1" + }, + "5497": { + "op": "PUSH2", + "value": "0x1917" + }, + "5500": { + "jump": "i", + "op": "JUMP" + }, + "5501": { + "op": "JUMPDEST" + }, + "5502": { + "op": "PUSH1", + "value": "0x0" + }, + "5504": { + "op": "DUP3" + }, + "5505": { + "op": "SSTORE" + }, + "5506": { + "op": "DUP1" + }, + "5507": { + "op": "PUSH1", + "value": "0x1F" + }, + "5509": { + "op": "LT" + }, + "5510": { + "op": "PUSH2", + "value": "0x158D" + }, + "5513": { + "op": "JUMPI" + }, + "5514": { + "op": "POP" + }, + "5515": { + "op": "POP" + }, + "5516": { + "jump": "o", + "op": "JUMP" + }, + "5517": { + "op": "JUMPDEST" + }, + "5518": { + "op": "PUSH1", + "value": "0x1F" + }, + "5520": { + "op": "ADD" + }, + "5521": { + "op": "PUSH1", + "value": "0x20" + }, + "5523": { + "op": "SWAP1" + }, + "5524": { + "op": "DIV" + }, + "5525": { + "op": "SWAP1" + }, + "5526": { + "op": "PUSH1", + "value": "0x0" + }, + "5528": { + "op": "MSTORE" + }, + "5529": { + "op": "PUSH1", + "value": "0x20" + }, + "5531": { + "op": "PUSH1", + "value": "0x0" + }, + "5533": { + "op": "KECCAK256" + }, + "5534": { + "op": "SWAP1" + }, + "5535": { + "op": "DUP2" + }, + "5536": { + "op": "ADD" + }, + "5537": { + "op": "SWAP1" + }, + "5538": { + "op": "PUSH2", + "value": "0x6D8" + }, + "5541": { + "op": "SWAP2" + }, + "5542": { + "op": "SWAP1" + }, + "5543": { + "op": "JUMPDEST" + }, + "5544": { + "op": "DUP1" + }, + "5545": { + "op": "DUP3" + }, + "5546": { + "op": "GT" + }, + "5547": { + "op": "ISZERO" + }, + "5548": { + "op": "PUSH2", + "value": "0x15BB" + }, + "5551": { + "op": "JUMPI" + }, + "5552": { + "op": "PUSH1", + "value": "0x0" + }, + "5554": { + "op": "DUP2" + }, + "5555": { + "op": "SSTORE" + }, + "5556": { + "op": "PUSH1", + "value": "0x1" + }, + "5558": { + "op": "ADD" + }, + "5559": { + "op": "PUSH2", + "value": "0x15A7" + }, + "5562": { + "op": "JUMP" + }, + "5563": { + "op": "JUMPDEST" + }, + "5564": { + "op": "POP" + }, + "5565": { + "op": "SWAP1" + }, + "5566": { + "jump": "o", + "op": "JUMP" + }, + "5567": { + "op": "JUMPDEST" + }, + "5568": { + "op": "PUSH1", + "value": "0x0" + }, + "5570": { + "op": "PUSH1", + "value": "0x20" + }, + "5572": { + "op": "DUP3" + }, + "5573": { + "op": "DUP5" + }, + "5574": { + "op": "SUB" + }, + "5575": { + "op": "SLT" + }, + "5576": { + "op": "ISZERO" + }, + "5577": { + "op": "PUSH2", + "value": "0x15D1" + }, + "5580": { + "op": "JUMPI" + }, + "5581": { + "op": "PUSH1", + "value": "0x0" + }, + "5583": { + "op": "DUP1" + }, + "5584": { + "op": "REVERT" + }, + "5585": { + "op": "JUMPDEST" + }, + "5586": { + "op": "DUP2" + }, + "5587": { + "op": "CALLDATALOAD" + }, + "5588": { + "op": "PUSH1", + "value": "0x1" + }, + "5590": { + "op": "PUSH1", + "value": "0x1" + }, + "5592": { + "op": "PUSH1", + "value": "0xE0" + }, + "5594": { + "op": "SHL" + }, + "5595": { + "op": "SUB" + }, + "5596": { + "op": "NOT" + }, + "5597": { + "op": "DUP2" + }, + "5598": { + "op": "AND" + }, + "5599": { + "op": "DUP2" + }, + "5600": { + "op": "EQ" + }, + "5601": { + "op": "PUSH2", + "value": "0xB3E" + }, + "5604": { + "op": "JUMPI" + }, + "5605": { + "op": "PUSH1", + "value": "0x0" + }, + "5607": { + "op": "DUP1" + }, + "5608": { + "op": "REVERT" + }, + "5609": { + "op": "JUMPDEST" + }, + "5610": { + "op": "PUSH1", + "value": "0x0" + }, + "5612": { + "op": "JUMPDEST" + }, + "5613": { + "op": "DUP4" + }, + "5614": { + "op": "DUP2" + }, + "5615": { + "op": "LT" + }, + "5616": { + "op": "ISZERO" + }, + "5617": { + "op": "PUSH2", + "value": "0x1604" + }, + "5620": { + "op": "JUMPI" + }, + "5621": { + "op": "DUP2" + }, + "5622": { + "op": "DUP2" + }, + "5623": { + "op": "ADD" + }, + "5624": { + "op": "MLOAD" + }, + "5625": { + "op": "DUP4" + }, + "5626": { + "op": "DUP3" + }, + "5627": { + "op": "ADD" + }, + "5628": { + "op": "MSTORE" + }, + "5629": { + "op": "PUSH1", + "value": "0x20" + }, + "5631": { + "op": "ADD" + }, + "5632": { + "op": "PUSH2", + "value": "0x15EC" + }, + "5635": { + "op": "JUMP" + }, + "5636": { + "op": "JUMPDEST" + }, + "5637": { + "op": "DUP4" + }, + "5638": { + "op": "DUP2" + }, + "5639": { + "op": "GT" + }, + "5640": { + "op": "ISZERO" + }, + "5641": { + "op": "PUSH2", + "value": "0x1613" + }, + "5644": { + "op": "JUMPI" + }, + "5645": { + "op": "PUSH1", + "value": "0x0" + }, + "5647": { + "op": "DUP5" + }, + "5648": { + "op": "DUP5" + }, + "5649": { + "op": "ADD" + }, + "5650": { + "op": "MSTORE" + }, + "5651": { + "op": "JUMPDEST" + }, + "5652": { + "op": "POP" + }, + "5653": { + "op": "POP" + }, + "5654": { + "op": "POP" + }, + "5655": { + "op": "POP" + }, + "5656": { + "jump": "o", + "op": "JUMP" + }, + "5657": { + "op": "JUMPDEST" + }, + "5658": { + "op": "PUSH1", + "value": "0x20" + }, + "5660": { + "op": "DUP2" + }, + "5661": { + "op": "MSTORE" + }, + "5662": { + "op": "PUSH1", + "value": "0x0" + }, + "5664": { + "op": "DUP3" + }, + "5665": { + "op": "MLOAD" + }, + "5666": { + "op": "DUP1" + }, + "5667": { + "op": "PUSH1", + "value": "0x20" + }, + "5669": { + "op": "DUP5" + }, + "5670": { + "op": "ADD" + }, + "5671": { + "op": "MSTORE" + }, + "5672": { + "op": "PUSH2", + "value": "0x1638" + }, + "5675": { + "op": "DUP2" + }, + "5676": { + "op": "PUSH1", + "value": "0x40" + }, + "5678": { + "op": "DUP6" + }, + "5679": { + "op": "ADD" + }, + "5680": { + "op": "PUSH1", + "value": "0x20" + }, + "5682": { + "op": "DUP8" + }, + "5683": { + "op": "ADD" + }, + "5684": { + "op": "PUSH2", + "value": "0x15E9" + }, + "5687": { + "jump": "i", + "op": "JUMP" + }, + "5688": { + "op": "JUMPDEST" + }, + "5689": { + "op": "PUSH1", + "value": "0x1F" + }, + "5691": { + "op": "ADD" + }, + "5692": { + "op": "PUSH1", + "value": "0x1F" + }, + "5694": { + "op": "NOT" + }, + "5695": { + "op": "AND" + }, + "5696": { + "op": "SWAP2" + }, + "5697": { + "op": "SWAP1" + }, + "5698": { + "op": "SWAP2" + }, + "5699": { + "op": "ADD" + }, + "5700": { + "op": "PUSH1", + "value": "0x40" + }, + "5702": { + "op": "ADD" + }, + "5703": { + "op": "SWAP3" + }, + "5704": { + "op": "SWAP2" + }, + "5705": { + "op": "POP" + }, + "5706": { + "op": "POP" + }, + "5707": { + "jump": "o", + "op": "JUMP" + }, + "5708": { + "op": "JUMPDEST" + }, + "5709": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "5714": { + "op": "PUSH1", + "value": "0xE0" + }, + "5716": { + "op": "SHL" + }, + "5717": { + "op": "PUSH1", + "value": "0x0" + }, + "5719": { + "op": "MSTORE" + }, + "5720": { + "op": "PUSH1", + "value": "0x41" + }, + "5722": { + "op": "PUSH1", + "value": "0x4" + }, + "5724": { + "op": "MSTORE" + }, + "5725": { + "op": "PUSH1", + "value": "0x24" + }, + "5727": { + "op": "PUSH1", + "value": "0x0" + }, + "5729": { + "op": "REVERT" + }, + "5730": { + "op": "JUMPDEST" + }, + "5731": { + "op": "PUSH1", + "value": "0x0" + }, + "5733": { + "op": "DUP3" + }, + "5734": { + "op": "PUSH1", + "value": "0x1F" + }, + "5736": { + "op": "DUP4" + }, + "5737": { + "op": "ADD" + }, + "5738": { + "op": "SLT" + }, + "5739": { + "op": "PUSH2", + "value": "0x1673" + }, + "5742": { + "op": "JUMPI" + }, + "5743": { + "op": "PUSH1", + "value": "0x0" + }, + "5745": { + "op": "DUP1" + }, + "5746": { + "op": "REVERT" + }, + "5747": { + "op": "JUMPDEST" + }, + "5748": { + "op": "DUP2" + }, + "5749": { + "op": "CALLDATALOAD" + }, + "5750": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5759": { + "op": "DUP1" + }, + "5760": { + "op": "DUP3" + }, + "5761": { + "op": "GT" + }, + "5762": { + "op": "ISZERO" + }, + "5763": { + "op": "PUSH2", + "value": "0x168E" + }, + "5766": { + "op": "JUMPI" + }, + "5767": { + "op": "PUSH2", + "value": "0x168E" + }, + "5770": { + "op": "PUSH2", + "value": "0x164C" + }, + "5773": { + "jump": "i", + "op": "JUMP" + }, + "5774": { + "op": "JUMPDEST" + }, + "5775": { + "op": "PUSH1", + "value": "0x40" + }, + "5777": { + "op": "MLOAD" + }, + "5778": { + "op": "PUSH1", + "value": "0x1F" + }, + "5780": { + "op": "DUP4" + }, + "5781": { + "op": "ADD" + }, + "5782": { + "op": "PUSH1", + "value": "0x1F" + }, + "5784": { + "op": "NOT" + }, + "5785": { + "op": "SWAP1" + }, + "5786": { + "op": "DUP2" + }, + "5787": { + "op": "AND" + }, + "5788": { + "op": "PUSH1", + "value": "0x3F" + }, + "5790": { + "op": "ADD" + }, + "5791": { + "op": "AND" + }, + "5792": { + "op": "DUP2" + }, + "5793": { + "op": "ADD" + }, + "5794": { + "op": "SWAP1" + }, + "5795": { + "op": "DUP3" + }, + "5796": { + "op": "DUP3" + }, + "5797": { + "op": "GT" + }, + "5798": { + "op": "DUP2" + }, + "5799": { + "op": "DUP4" + }, + "5800": { + "op": "LT" + }, + "5801": { + "op": "OR" + }, + "5802": { + "op": "ISZERO" + }, + "5803": { + "op": "PUSH2", + "value": "0x16B6" + }, + "5806": { + "op": "JUMPI" + }, + "5807": { + "op": "PUSH2", + "value": "0x16B6" + }, + "5810": { + "op": "PUSH2", + "value": "0x164C" + }, + "5813": { + "jump": "i", + "op": "JUMP" + }, + "5814": { + "op": "JUMPDEST" + }, + "5815": { + "op": "DUP2" + }, + "5816": { + "op": "PUSH1", + "value": "0x40" + }, + "5818": { + "op": "MSTORE" + }, + "5819": { + "op": "DUP4" + }, + "5820": { + "op": "DUP2" + }, + "5821": { + "op": "MSTORE" + }, + "5822": { + "op": "DUP7" + }, + "5823": { + "op": "PUSH1", + "value": "0x20" + }, + "5825": { + "op": "DUP6" + }, + "5826": { + "op": "DUP9" + }, + "5827": { + "op": "ADD" + }, + "5828": { + "op": "ADD" + }, + "5829": { + "op": "GT" + }, + "5830": { + "op": "ISZERO" + }, + "5831": { + "op": "PUSH2", + "value": "0x16CF" + }, + "5834": { + "op": "JUMPI" + }, + "5835": { + "op": "PUSH1", + "value": "0x0" + }, + "5837": { + "op": "DUP1" + }, + "5838": { + "op": "REVERT" + }, + "5839": { + "op": "JUMPDEST" + }, + "5840": { + "op": "DUP4" + }, + "5841": { + "op": "PUSH1", + "value": "0x20" + }, + "5843": { + "op": "DUP8" + }, + "5844": { + "op": "ADD" + }, + "5845": { + "op": "PUSH1", + "value": "0x20" + }, + "5847": { + "op": "DUP4" + }, + "5848": { + "op": "ADD" + }, + "5849": { + "op": "CALLDATACOPY" + }, + "5850": { + "op": "PUSH1", + "value": "0x0" + }, + "5852": { + "op": "PUSH1", + "value": "0x20" + }, + "5854": { + "op": "DUP6" + }, + "5855": { + "op": "DUP4" + }, + "5856": { + "op": "ADD" + }, + "5857": { + "op": "ADD" + }, + "5858": { + "op": "MSTORE" + }, + "5859": { + "op": "DUP1" + }, + "5860": { + "op": "SWAP5" + }, + "5861": { + "op": "POP" + }, + "5862": { + "op": "POP" + }, + "5863": { + "op": "POP" + }, + "5864": { + "op": "POP" + }, + "5865": { + "op": "POP" + }, + "5866": { + "op": "SWAP3" + }, + "5867": { + "op": "SWAP2" + }, + "5868": { + "op": "POP" + }, + "5869": { + "op": "POP" + }, + "5870": { + "jump": "o", + "op": "JUMP" + }, + "5871": { + "op": "JUMPDEST" + }, + "5872": { + "op": "PUSH1", + "value": "0x0" + }, + "5874": { + "op": "DUP1" + }, + "5875": { + "op": "PUSH1", + "value": "0x0" + }, + "5877": { + "op": "PUSH1", + "value": "0x60" + }, + "5879": { + "op": "DUP5" + }, + "5880": { + "op": "DUP7" + }, + "5881": { + "op": "SUB" + }, + "5882": { + "op": "SLT" + }, + "5883": { + "op": "ISZERO" + }, + "5884": { + "op": "PUSH2", + "value": "0x1704" + }, + "5887": { + "op": "JUMPI" + }, + "5888": { + "op": "PUSH1", + "value": "0x0" + }, + "5890": { + "op": "DUP1" + }, + "5891": { + "op": "REVERT" + }, + "5892": { + "op": "JUMPDEST" + }, + "5893": { + "op": "DUP4" + }, + "5894": { + "op": "CALLDATALOAD" + }, + "5895": { + "op": "SWAP3" + }, + "5896": { + "op": "POP" + }, + "5897": { + "op": "PUSH1", + "value": "0x20" + }, + "5899": { + "op": "DUP5" + }, + "5900": { + "op": "ADD" + }, + "5901": { + "op": "CALLDATALOAD" + }, + "5902": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "5911": { + "op": "DUP2" + }, + "5912": { + "op": "GT" + }, + "5913": { + "op": "ISZERO" + }, + "5914": { + "op": "PUSH2", + "value": "0x1722" + }, + "5917": { + "op": "JUMPI" + }, + "5918": { + "op": "PUSH1", + "value": "0x0" + }, + "5920": { + "op": "DUP1" + }, + "5921": { + "op": "REVERT" + }, + "5922": { + "op": "JUMPDEST" + }, + "5923": { + "op": "PUSH2", + "value": "0x172E" + }, + "5926": { + "op": "DUP7" + }, + "5927": { + "op": "DUP3" + }, + "5928": { + "op": "DUP8" + }, + "5929": { + "op": "ADD" + }, + "5930": { + "op": "PUSH2", + "value": "0x1662" + }, + "5933": { + "jump": "i", + "op": "JUMP" + }, + "5934": { + "op": "JUMPDEST" + }, + "5935": { + "op": "SWAP3" + }, + "5936": { + "op": "POP" + }, + "5937": { + "op": "POP" + }, + "5938": { + "op": "PUSH1", + "value": "0x40" + }, + "5940": { + "op": "DUP5" + }, + "5941": { + "op": "ADD" + }, + "5942": { + "op": "CALLDATALOAD" + }, + "5943": { + "op": "SWAP1" + }, + "5944": { + "op": "POP" + }, + "5945": { + "op": "SWAP3" + }, + "5946": { + "op": "POP" + }, + "5947": { + "op": "SWAP3" + }, + "5948": { + "op": "POP" + }, + "5949": { + "op": "SWAP3" + }, + "5950": { + "jump": "o", + "op": "JUMP" + }, + "5951": { + "op": "JUMPDEST" + }, + "5952": { + "op": "PUSH1", + "value": "0x0" + }, + "5954": { + "op": "PUSH1", + "value": "0x20" + }, + "5956": { + "op": "DUP3" + }, + "5957": { + "op": "DUP5" + }, + "5958": { + "op": "SUB" + }, + "5959": { + "op": "SLT" + }, + "5960": { + "op": "ISZERO" + }, + "5961": { + "op": "PUSH2", + "value": "0x1751" + }, + "5964": { + "op": "JUMPI" + }, + "5965": { + "op": "PUSH1", + "value": "0x0" + }, + "5967": { + "op": "DUP1" + }, + "5968": { + "op": "REVERT" + }, + "5969": { + "op": "JUMPDEST" + }, + "5970": { + "op": "POP" + }, + "5971": { + "op": "CALLDATALOAD" + }, + "5972": { + "op": "SWAP2" + }, + "5973": { + "op": "SWAP1" + }, + "5974": { + "op": "POP" + }, + "5975": { + "jump": "o", + "op": "JUMP" + }, + "5976": { + "op": "JUMPDEST" + }, + "5977": { + "op": "DUP1" + }, + "5978": { + "op": "CALLDATALOAD" + }, + "5979": { + "op": "PUSH1", + "value": "0x1" + }, + "5981": { + "op": "PUSH1", + "value": "0x1" + }, + "5983": { + "op": "PUSH1", + "value": "0xA0" + }, + "5985": { + "op": "SHL" + }, + "5986": { + "op": "SUB" + }, + "5987": { + "op": "DUP2" + }, + "5988": { + "op": "AND" + }, + "5989": { + "op": "DUP2" + }, + "5990": { + "op": "EQ" + }, + "5991": { + "op": "PUSH2", + "value": "0x176F" + }, + "5994": { + "op": "JUMPI" + }, + "5995": { + "op": "PUSH1", + "value": "0x0" + }, + "5997": { + "op": "DUP1" + }, + "5998": { + "op": "REVERT" + }, + "5999": { + "op": "JUMPDEST" + }, + "6000": { + "op": "SWAP2" + }, + "6001": { + "op": "SWAP1" + }, + "6002": { + "op": "POP" + }, + "6003": { + "jump": "o", + "op": "JUMP" + }, + "6004": { + "op": "JUMPDEST" + }, + "6005": { + "op": "PUSH1", + "value": "0x0" + }, + "6007": { + "op": "DUP1" + }, + "6008": { + "op": "PUSH1", + "value": "0x40" + }, + "6010": { + "op": "DUP4" + }, + "6011": { + "op": "DUP6" + }, + "6012": { + "op": "SUB" + }, + "6013": { + "op": "SLT" + }, + "6014": { + "op": "ISZERO" + }, + "6015": { + "op": "PUSH2", + "value": "0x1787" + }, + "6018": { + "op": "JUMPI" + }, + "6019": { + "op": "PUSH1", + "value": "0x0" + }, + "6021": { + "op": "DUP1" + }, + "6022": { + "op": "REVERT" + }, + "6023": { + "op": "JUMPDEST" + }, + "6024": { + "op": "PUSH2", + "value": "0x1790" + }, + "6027": { + "op": "DUP4" + }, + "6028": { + "op": "PUSH2", + "value": "0x1758" + }, + "6031": { + "jump": "i", + "op": "JUMP" + }, + "6032": { + "op": "JUMPDEST" + }, + "6033": { + "op": "SWAP5" + }, + "6034": { + "op": "PUSH1", + "value": "0x20" + }, + "6036": { + "op": "SWAP4" + }, + "6037": { + "op": "SWAP1" + }, + "6038": { + "op": "SWAP4" + }, + "6039": { + "op": "ADD" + }, + "6040": { + "op": "CALLDATALOAD" + }, + "6041": { + "op": "SWAP4" + }, + "6042": { + "op": "POP" + }, + "6043": { + "op": "POP" + }, + "6044": { + "op": "POP" + }, + "6045": { + "jump": "o", + "op": "JUMP" + }, + "6046": { + "op": "JUMPDEST" + }, + "6047": { + "op": "PUSH1", + "value": "0x0" + }, + "6049": { + "op": "PUSH1", + "value": "0x20" + }, + "6051": { + "op": "DUP3" + }, + "6052": { + "op": "DUP5" + }, + "6053": { + "op": "SUB" + }, + "6054": { + "op": "SLT" + }, + "6055": { + "op": "ISZERO" + }, + "6056": { + "op": "PUSH2", + "value": "0x17B0" + }, + "6059": { + "op": "JUMPI" + }, + "6060": { + "op": "PUSH1", + "value": "0x0" + }, + "6062": { + "op": "DUP1" + }, + "6063": { + "op": "REVERT" + }, + "6064": { + "op": "JUMPDEST" + }, + "6065": { + "op": "PUSH2", + "value": "0xB3E" + }, + "6068": { + "op": "DUP3" + }, + "6069": { + "op": "PUSH2", + "value": "0x1758" + }, + "6072": { + "jump": "i", + "op": "JUMP" + }, + "6073": { + "op": "JUMPDEST" + }, + "6074": { + "op": "PUSH1", + "value": "0x0" + }, + "6076": { + "op": "DUP1" + }, + "6077": { + "op": "PUSH1", + "value": "0x40" + }, + "6079": { + "op": "DUP4" + }, + "6080": { + "op": "DUP6" + }, + "6081": { + "op": "SUB" + }, + "6082": { + "op": "SLT" + }, + "6083": { + "op": "ISZERO" + }, + "6084": { + "op": "PUSH2", + "value": "0x17CC" + }, + "6087": { + "op": "JUMPI" + }, + "6088": { + "op": "PUSH1", + "value": "0x0" + }, + "6090": { + "op": "DUP1" + }, + "6091": { + "op": "REVERT" + }, + "6092": { + "op": "JUMPDEST" + }, + "6093": { + "op": "PUSH2", + "value": "0x17D5" + }, + "6096": { + "op": "DUP4" + }, + "6097": { + "op": "PUSH2", + "value": "0x1758" + }, + "6100": { + "jump": "i", + "op": "JUMP" + }, + "6101": { + "op": "JUMPDEST" + }, + "6102": { + "op": "SWAP2" + }, + "6103": { + "op": "POP" + }, + "6104": { + "op": "PUSH1", + "value": "0x20" + }, + "6106": { + "op": "DUP4" + }, + "6107": { + "op": "ADD" + }, + "6108": { + "op": "CALLDATALOAD" + }, + "6109": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "6118": { + "op": "DUP2" + }, + "6119": { + "op": "GT" + }, + "6120": { + "op": "ISZERO" + }, + "6121": { + "op": "PUSH2", + "value": "0x17F1" + }, + "6124": { + "op": "JUMPI" + }, + "6125": { + "op": "PUSH1", + "value": "0x0" + }, + "6127": { + "op": "DUP1" + }, + "6128": { + "op": "REVERT" + }, + "6129": { + "op": "JUMPDEST" + }, + "6130": { + "op": "PUSH2", + "value": "0x17FD" + }, + "6133": { + "op": "DUP6" + }, + "6134": { + "op": "DUP3" + }, + "6135": { + "op": "DUP7" + }, + "6136": { + "op": "ADD" + }, + "6137": { + "op": "PUSH2", + "value": "0x1662" + }, + "6140": { + "jump": "i", + "op": "JUMP" + }, + "6141": { + "op": "JUMPDEST" + }, + "6142": { + "op": "SWAP2" + }, + "6143": { + "op": "POP" + }, + "6144": { + "op": "POP" + }, + "6145": { + "op": "SWAP3" + }, + "6146": { + "op": "POP" + }, + "6147": { + "op": "SWAP3" + }, + "6148": { + "op": "SWAP1" + }, + "6149": { + "op": "POP" + }, + "6150": { + "jump": "o", + "op": "JUMP" + }, + "6151": { + "op": "JUMPDEST" + }, + "6152": { + "op": "PUSH1", + "value": "0x0" + }, + "6154": { + "op": "DUP1" + }, + "6155": { + "op": "PUSH1", + "value": "0x0" + }, + "6157": { + "op": "DUP1" + }, + "6158": { + "op": "PUSH1", + "value": "0x0" + }, + "6160": { + "op": "PUSH1", + "value": "0xA0" + }, + "6162": { + "op": "DUP7" + }, + "6163": { + "op": "DUP9" + }, + "6164": { + "op": "SUB" + }, + "6165": { + "op": "SLT" + }, + "6166": { + "op": "ISZERO" + }, + "6167": { + "op": "PUSH2", + "value": "0x181F" + }, + "6170": { + "op": "JUMPI" + }, + "6171": { + "op": "PUSH1", + "value": "0x0" + }, + "6173": { + "op": "DUP1" + }, + "6174": { + "op": "REVERT" + }, + "6175": { + "op": "JUMPDEST" + }, + "6176": { + "op": "PUSH2", + "value": "0x1828" + }, + "6179": { + "op": "DUP7" + }, + "6180": { + "op": "PUSH2", + "value": "0x1758" + }, + "6183": { + "jump": "i", + "op": "JUMP" + }, + "6184": { + "op": "JUMPDEST" + }, + "6185": { + "op": "SWAP5" + }, + "6186": { + "op": "POP" + }, + "6187": { + "op": "PUSH1", + "value": "0x20" + }, + "6189": { + "op": "DUP7" + }, + "6190": { + "op": "ADD" + }, + "6191": { + "op": "CALLDATALOAD" + }, + "6192": { + "op": "SWAP4" + }, + "6193": { + "op": "POP" + }, + "6194": { + "op": "PUSH1", + "value": "0x40" + }, + "6196": { + "op": "DUP7" + }, + "6197": { + "op": "ADD" + }, + "6198": { + "op": "CALLDATALOAD" + }, + "6199": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "6208": { + "op": "DUP1" + }, + "6209": { + "op": "DUP3" + }, + "6210": { + "op": "GT" + }, + "6211": { + "op": "ISZERO" + }, + "6212": { + "op": "PUSH2", + "value": "0x184C" + }, + "6215": { + "op": "JUMPI" + }, + "6216": { + "op": "PUSH1", + "value": "0x0" + }, + "6218": { + "op": "DUP1" + }, + "6219": { + "op": "REVERT" + }, + "6220": { + "op": "JUMPDEST" + }, + "6221": { + "op": "PUSH2", + "value": "0x1858" + }, + "6224": { + "op": "DUP10" + }, + "6225": { + "op": "DUP4" + }, + "6226": { + "op": "DUP11" + }, + "6227": { + "op": "ADD" + }, + "6228": { + "op": "PUSH2", + "value": "0x1662" + }, + "6231": { + "jump": "i", + "op": "JUMP" + }, + "6232": { + "op": "JUMPDEST" + }, + "6233": { + "op": "SWAP5" + }, + "6234": { + "op": "POP" + }, + "6235": { + "op": "PUSH1", + "value": "0x60" + }, + "6237": { + "op": "DUP9" + }, + "6238": { + "op": "ADD" + }, + "6239": { + "op": "CALLDATALOAD" + }, + "6240": { + "op": "SWAP4" + }, + "6241": { + "op": "POP" + }, + "6242": { + "op": "PUSH1", + "value": "0x80" + }, + "6244": { + "op": "DUP9" + }, + "6245": { + "op": "ADD" + }, + "6246": { + "op": "CALLDATALOAD" + }, + "6247": { + "op": "SWAP2" + }, + "6248": { + "op": "POP" + }, + "6249": { + "op": "DUP1" + }, + "6250": { + "op": "DUP3" + }, + "6251": { + "op": "GT" + }, + "6252": { + "op": "ISZERO" + }, + "6253": { + "op": "PUSH2", + "value": "0x1875" + }, + "6256": { + "op": "JUMPI" + }, + "6257": { + "op": "PUSH1", + "value": "0x0" + }, + "6259": { + "op": "DUP1" + }, + "6260": { + "op": "REVERT" + }, + "6261": { + "op": "JUMPDEST" + }, + "6262": { + "op": "POP" + }, + "6263": { + "op": "PUSH2", + "value": "0x1882" + }, + "6266": { + "op": "DUP9" + }, + "6267": { + "op": "DUP3" + }, + "6268": { + "op": "DUP10" + }, + "6269": { + "op": "ADD" + }, + "6270": { + "op": "PUSH2", + "value": "0x1662" + }, + "6273": { + "jump": "i", + "op": "JUMP" + }, + "6274": { + "op": "JUMPDEST" + }, + "6275": { + "op": "SWAP2" + }, + "6276": { + "op": "POP" + }, + "6277": { + "op": "POP" + }, + "6278": { + "op": "SWAP3" + }, + "6279": { + "op": "SWAP6" + }, + "6280": { + "op": "POP" + }, + "6281": { + "op": "SWAP3" + }, + "6282": { + "op": "SWAP6" + }, + "6283": { + "op": "SWAP1" + }, + "6284": { + "op": "SWAP4" + }, + "6285": { + "op": "POP" + }, + "6286": { + "jump": "o", + "op": "JUMP" + }, + "6287": { + "op": "JUMPDEST" + }, + "6288": { + "op": "PUSH1", + "value": "0x0" + }, + "6290": { + "op": "DUP1" + }, + "6291": { + "op": "PUSH1", + "value": "0x40" + }, + "6293": { + "op": "DUP4" + }, + "6294": { + "op": "DUP6" + }, + "6295": { + "op": "SUB" + }, + "6296": { + "op": "SLT" + }, + "6297": { + "op": "ISZERO" + }, + "6298": { + "op": "PUSH2", + "value": "0x18A2" + }, + "6301": { + "op": "JUMPI" + }, + "6302": { + "op": "PUSH1", + "value": "0x0" + }, + "6304": { + "op": "DUP1" + }, + "6305": { + "op": "REVERT" + }, + "6306": { + "op": "JUMPDEST" + }, + "6307": { + "op": "DUP3" + }, + "6308": { + "op": "CALLDATALOAD" + }, + "6309": { + "op": "SWAP2" + }, + "6310": { + "op": "POP" + }, + "6311": { + "op": "PUSH1", + "value": "0x20" + }, + "6313": { + "op": "DUP4" + }, + "6314": { + "op": "ADD" + }, + "6315": { + "op": "CALLDATALOAD" + }, + "6316": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "6325": { + "op": "DUP2" + }, + "6326": { + "op": "GT" + }, + "6327": { + "op": "ISZERO" + }, + "6328": { + "op": "PUSH2", + "value": "0x17F1" + }, + "6331": { + "op": "JUMPI" + }, + "6332": { + "op": "PUSH1", + "value": "0x0" + }, + "6334": { + "op": "DUP1" + }, + "6335": { + "op": "REVERT" + }, + "6336": { + "op": "JUMPDEST" + }, + "6337": { + "op": "PUSH1", + "value": "0x0" + }, + "6339": { + "op": "DUP1" + }, + "6340": { + "op": "PUSH1", + "value": "0x0" + }, + "6342": { + "op": "PUSH1", + "value": "0x60" + }, + "6344": { + "op": "DUP5" + }, + "6345": { + "op": "DUP7" + }, + "6346": { + "op": "SUB" + }, + "6347": { + "op": "SLT" + }, + "6348": { + "op": "ISZERO" + }, + "6349": { + "op": "PUSH2", + "value": "0x18D5" + }, + "6352": { + "op": "JUMPI" + }, + "6353": { + "op": "PUSH1", + "value": "0x0" + }, + "6355": { + "op": "DUP1" + }, + "6356": { + "op": "REVERT" + }, + "6357": { + "op": "JUMPDEST" + }, + "6358": { + "op": "PUSH2", + "value": "0x18DE" + }, + "6361": { + "op": "DUP5" + }, + "6362": { + "op": "PUSH2", + "value": "0x1758" + }, + "6365": { + "jump": "i", + "op": "JUMP" + }, + "6366": { + "op": "JUMPDEST" + }, + "6367": { + "op": "SWAP3" + }, + "6368": { + "op": "POP" + }, + "6369": { + "op": "PUSH1", + "value": "0x20" + }, + "6371": { + "op": "DUP5" + }, + "6372": { + "op": "ADD" + }, + "6373": { + "op": "CALLDATALOAD" + }, + "6374": { + "op": "SWAP2" + }, + "6375": { + "op": "POP" + }, + "6376": { + "op": "PUSH1", + "value": "0x40" + }, + "6378": { + "op": "DUP5" + }, + "6379": { + "op": "ADD" + }, + "6380": { + "op": "CALLDATALOAD" + }, + "6381": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "6390": { + "op": "DUP2" + }, + "6391": { + "op": "GT" + }, + "6392": { + "op": "ISZERO" + }, + "6393": { + "op": "PUSH2", + "value": "0x1901" + }, + "6396": { + "op": "JUMPI" + }, + "6397": { + "op": "PUSH1", + "value": "0x0" + }, + "6399": { + "op": "DUP1" + }, + "6400": { + "op": "REVERT" + }, + "6401": { + "op": "JUMPDEST" + }, + "6402": { + "op": "PUSH2", + "value": "0x190D" + }, + "6405": { + "op": "DUP7" + }, + "6406": { + "op": "DUP3" + }, + "6407": { + "op": "DUP8" + }, + "6408": { + "op": "ADD" + }, + "6409": { + "op": "PUSH2", + "value": "0x1662" + }, + "6412": { + "jump": "i", + "op": "JUMP" + }, + "6413": { + "op": "JUMPDEST" + }, + "6414": { + "op": "SWAP2" + }, + "6415": { + "op": "POP" + }, + "6416": { + "op": "POP" + }, + "6417": { + "op": "SWAP3" + }, + "6418": { + "op": "POP" + }, + "6419": { + "op": "SWAP3" + }, + "6420": { + "op": "POP" + }, + "6421": { + "op": "SWAP3" + }, + "6422": { + "jump": "o", + "op": "JUMP" + }, + "6423": { + "op": "JUMPDEST" + }, + "6424": { + "op": "PUSH1", + "value": "0x1" + }, + "6426": { + "op": "DUP2" + }, + "6427": { + "op": "DUP2" + }, + "6428": { + "op": "SHR" + }, + "6429": { + "op": "SWAP1" + }, + "6430": { + "op": "DUP3" + }, + "6431": { + "op": "AND" + }, + "6432": { + "op": "DUP1" + }, + "6433": { + "op": "PUSH2", + "value": "0x192B" + }, + "6436": { + "op": "JUMPI" + }, + "6437": { + "op": "PUSH1", + "value": "0x7F" + }, + "6439": { + "op": "DUP3" + }, + "6440": { + "op": "AND" + }, + "6441": { + "op": "SWAP2" + }, + "6442": { + "op": "POP" + }, + "6443": { + "op": "JUMPDEST" + }, + "6444": { + "op": "PUSH1", + "value": "0x20" + }, + "6446": { + "op": "DUP3" + }, + "6447": { + "op": "LT" + }, + "6448": { + "op": "DUP2" + }, + "6449": { + "op": "SUB" + }, + "6450": { + "op": "PUSH2", + "value": "0x194B" + }, + "6453": { + "op": "JUMPI" + }, + "6454": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6459": { + "op": "PUSH1", + "value": "0xE0" + }, + "6461": { + "op": "SHL" + }, + "6462": { + "op": "PUSH1", + "value": "0x0" + }, + "6464": { + "op": "MSTORE" + }, + "6465": { + "op": "PUSH1", + "value": "0x22" + }, + "6467": { + "op": "PUSH1", + "value": "0x4" + }, + "6469": { + "op": "MSTORE" + }, + "6470": { + "op": "PUSH1", + "value": "0x24" + }, + "6472": { + "op": "PUSH1", + "value": "0x0" + }, + "6474": { + "op": "REVERT" + }, + "6475": { + "op": "JUMPDEST" + }, + "6476": { + "op": "POP" + }, + "6477": { + "op": "SWAP2" + }, + "6478": { + "op": "SWAP1" + }, + "6479": { + "op": "POP" + }, + "6480": { + "jump": "o", + "op": "JUMP" + }, + "6481": { + "op": "JUMPDEST" + }, + "6482": { + "op": "PUSH1", + "value": "0x20" + }, + "6484": { + "op": "DUP1" + }, + "6485": { + "op": "DUP3" + }, + "6486": { + "op": "MSTORE" + }, + "6487": { + "op": "DUP2" + }, + "6488": { + "op": "DUP2" + }, + "6489": { + "op": "ADD" + }, + "6490": { + "op": "MSTORE" + }, + "6491": { + "op": "PUSH32", + "value": "0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572" + }, + "6524": { + "op": "PUSH1", + "value": "0x40" + }, + "6526": { + "op": "DUP3" + }, + "6527": { + "op": "ADD" + }, + "6528": { + "op": "MSTORE" + }, + "6529": { + "op": "PUSH1", + "value": "0x60" + }, + "6531": { + "op": "ADD" + }, + "6532": { + "op": "SWAP1" + }, + "6533": { + "jump": "o", + "op": "JUMP" + }, + "6534": { + "op": "JUMPDEST" + }, + "6535": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6540": { + "op": "PUSH1", + "value": "0xE0" + }, + "6542": { + "op": "SHL" + }, + "6543": { + "op": "PUSH1", + "value": "0x0" + }, + "6545": { + "op": "MSTORE" + }, + "6546": { + "op": "PUSH1", + "value": "0x11" + }, + "6548": { + "op": "PUSH1", + "value": "0x4" + }, + "6550": { + "op": "MSTORE" + }, + "6551": { + "op": "PUSH1", + "value": "0x24" + }, + "6553": { + "op": "PUSH1", + "value": "0x0" + }, + "6555": { + "op": "REVERT" + }, + "6556": { + "op": "JUMPDEST" + }, + "6557": { + "op": "PUSH1", + "value": "0x0" + }, + "6559": { + "op": "DUP2" + }, + "6560": { + "op": "PUSH2", + "value": "0x19AB" + }, + "6563": { + "op": "JUMPI" + }, + "6564": { + "op": "PUSH2", + "value": "0x19AB" + }, + "6567": { + "op": "PUSH2", + "value": "0x1986" + }, + "6570": { + "jump": "i", + "op": "JUMP" + }, + "6571": { + "op": "JUMPDEST" + }, + "6572": { + "op": "POP" + }, + "6573": { + "op": "PUSH1", + "value": "0x0" + }, + "6575": { + "op": "NOT" + }, + "6576": { + "op": "ADD" + }, + "6577": { + "op": "SWAP1" + }, + "6578": { + "jump": "o", + "op": "JUMP" + }, + "6579": { + "op": "JUMPDEST" + }, + "6580": { + "op": "PUSH1", + "value": "0x0" + }, + "6582": { + "op": "DUP4" + }, + "6583": { + "op": "MLOAD" + }, + "6584": { + "op": "PUSH2", + "value": "0x19C5" + }, + "6587": { + "op": "DUP2" + }, + "6588": { + "op": "DUP5" + }, + "6589": { + "op": "PUSH1", + "value": "0x20" + }, + "6591": { + "op": "DUP9" + }, + "6592": { + "op": "ADD" + }, + "6593": { + "op": "PUSH2", + "value": "0x15E9" + }, + "6596": { + "jump": "i", + "op": "JUMP" + }, + "6597": { + "op": "JUMPDEST" + }, + "6598": { + "op": "DUP4" + }, + "6599": { + "op": "MLOAD" + }, + "6600": { + "op": "SWAP1" + }, + "6601": { + "op": "DUP4" + }, + "6602": { + "op": "ADD" + }, + "6603": { + "op": "SWAP1" + }, + "6604": { + "op": "PUSH2", + "value": "0x19D9" + }, + "6607": { + "op": "DUP2" + }, + "6608": { + "op": "DUP4" + }, + "6609": { + "op": "PUSH1", + "value": "0x20" + }, + "6611": { + "op": "DUP9" + }, + "6612": { + "op": "ADD" + }, + "6613": { + "op": "PUSH2", + "value": "0x15E9" + }, + "6616": { + "jump": "i", + "op": "JUMP" + }, + "6617": { + "op": "JUMPDEST" + }, + "6618": { + "op": "ADD" + }, + "6619": { + "op": "SWAP5" + }, + "6620": { + "op": "SWAP4" + }, + "6621": { + "op": "POP" + }, + "6622": { + "op": "POP" + }, + "6623": { + "op": "POP" + }, + "6624": { + "op": "POP" + }, + "6625": { + "jump": "o", + "op": "JUMP" + }, + "6626": { + "op": "JUMPDEST" + }, + "6627": { + "op": "PUSH1", + "value": "0x0" + }, + "6629": { + "op": "PUSH1", + "value": "0x1" + }, + "6631": { + "op": "DUP3" + }, + "6632": { + "op": "ADD" + }, + "6633": { + "op": "PUSH2", + "value": "0x19F4" + }, + "6636": { + "op": "JUMPI" + }, + "6637": { + "op": "PUSH2", + "value": "0x19F4" + }, + "6640": { + "op": "PUSH2", + "value": "0x1986" + }, + "6643": { + "jump": "i", + "op": "JUMP" + }, + "6644": { + "op": "JUMPDEST" + }, + "6645": { + "op": "POP" + }, + "6646": { + "op": "PUSH1", + "value": "0x1" + }, + "6648": { + "op": "ADD" + }, + "6649": { + "op": "SWAP1" + }, + "6650": { + "jump": "o", + "op": "JUMP" + }, + "6651": { + "op": "JUMPDEST" + }, + "6652": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6657": { + "op": "PUSH1", + "value": "0xE0" + }, + "6659": { + "op": "SHL" + }, + "6660": { + "op": "PUSH1", + "value": "0x0" + }, + "6662": { + "op": "MSTORE" + }, + "6663": { + "op": "PUSH1", + "value": "0x12" + }, + "6665": { + "op": "PUSH1", + "value": "0x4" + }, + "6667": { + "op": "MSTORE" + }, + "6668": { + "op": "PUSH1", + "value": "0x24" + }, + "6670": { + "op": "PUSH1", + "value": "0x0" + }, + "6672": { + "op": "REVERT" + }, + "6673": { + "op": "JUMPDEST" + }, + "6674": { + "op": "PUSH1", + "value": "0x0" + }, + "6676": { + "op": "DUP3" + }, + "6677": { + "op": "PUSH2", + "value": "0x1A20" + }, + "6680": { + "op": "JUMPI" + }, + "6681": { + "op": "PUSH2", + "value": "0x1A20" + }, + "6684": { + "op": "PUSH2", + "value": "0x19FB" + }, + "6687": { + "jump": "i", + "op": "JUMP" + }, + "6688": { + "op": "JUMPDEST" + }, + "6689": { + "op": "POP" + }, + "6690": { + "op": "DIV" + }, + "6691": { + "op": "SWAP1" + }, + "6692": { + "jump": "o", + "op": "JUMP" + }, + "6693": { + "op": "JUMPDEST" + }, + "6694": { + "op": "PUSH1", + "value": "0x0" + }, + "6696": { + "op": "DUP3" + }, + "6697": { + "op": "DUP3" + }, + "6698": { + "op": "LT" + }, + "6699": { + "op": "ISZERO" + }, + "6700": { + "op": "PUSH2", + "value": "0x1A37" + }, + "6703": { + "op": "JUMPI" + }, + "6704": { + "op": "PUSH2", + "value": "0x1A37" + }, + "6707": { + "op": "PUSH2", + "value": "0x1986" + }, + "6710": { + "jump": "i", + "op": "JUMP" + }, + "6711": { + "op": "JUMPDEST" + }, + "6712": { + "op": "POP" + }, + "6713": { + "op": "SUB" + }, + "6714": { + "op": "SWAP1" + }, + "6715": { + "jump": "o", + "op": "JUMP" + }, + "6716": { + "op": "JUMPDEST" + }, + "6717": { + "op": "PUSH1", + "value": "0x0" + }, + "6719": { + "op": "DUP3" + }, + "6720": { + "op": "PUSH2", + "value": "0x1A4B" + }, + "6723": { + "op": "JUMPI" + }, + "6724": { + "op": "PUSH2", + "value": "0x1A4B" + }, + "6727": { + "op": "PUSH2", + "value": "0x19FB" + }, + "6730": { + "jump": "i", + "op": "JUMP" + }, + "6731": { + "op": "JUMPDEST" + }, + "6732": { + "op": "POP" + }, + "6733": { + "op": "MOD" + }, + "6734": { + "op": "SWAP1" + }, + "6735": { + "jump": "o", + "op": "JUMP" + }, + "6736": { + "op": "JUMPDEST" + }, + "6737": { + "op": "PUSH1", + "value": "0x0" + }, + "6739": { + "op": "DUP3" + }, + "6740": { + "op": "NOT" + }, + "6741": { + "op": "DUP3" + }, + "6742": { + "op": "GT" + }, + "6743": { + "op": "ISZERO" + }, + "6744": { + "op": "PUSH2", + "value": "0x1A63" + }, + "6747": { + "op": "JUMPI" + }, + "6748": { + "op": "PUSH2", + "value": "0x1A63" + }, + "6751": { + "op": "PUSH2", + "value": "0x1986" + }, + "6754": { + "jump": "i", + "op": "JUMP" + }, + "6755": { + "op": "JUMPDEST" + }, + "6756": { + "op": "POP" + }, + "6757": { + "op": "ADD" + }, + "6758": { + "op": "SWAP1" + }, + "6759": { + "jump": "o", + "op": "JUMP" + }, + "6760": { + "op": "JUMPDEST" + }, + "6761": { + "op": "PUSH4", + "value": "0x4E487B71" + }, + "6766": { + "op": "PUSH1", + "value": "0xE0" + }, + "6768": { + "op": "SHL" + }, + "6769": { + "op": "PUSH1", + "value": "0x0" + }, + "6771": { + "op": "MSTORE" + }, + "6772": { + "op": "PUSH1", + "value": "0x32" + }, + "6774": { + "op": "PUSH1", + "value": "0x4" + }, + "6776": { + "op": "MSTORE" + }, + "6777": { + "op": "PUSH1", + "value": "0x24" + }, + "6779": { + "op": "PUSH1", + "value": "0x0" + }, + "6781": { + "op": "REVERT" + }, + "6782": { + "op": "JUMPDEST" + }, + "6783": { + "op": "PUSH1", + "value": "0x1F" + }, + "6785": { + "op": "DUP3" + }, + "6786": { + "op": "GT" + }, + "6787": { + "op": "ISZERO" + }, + "6788": { + "op": "PUSH2", + "value": "0x5DF" + }, + "6791": { + "op": "JUMPI" + }, + "6792": { + "op": "PUSH1", + "value": "0x0" + }, + "6794": { + "op": "DUP2" + }, + "6795": { + "op": "DUP2" + }, + "6796": { + "op": "MSTORE" + }, + "6797": { + "op": "PUSH1", + "value": "0x20" + }, + "6799": { + "op": "DUP2" + }, + "6800": { + "op": "KECCAK256" + }, + "6801": { + "op": "PUSH1", + "value": "0x1F" + }, + "6803": { + "op": "DUP6" + }, + "6804": { + "op": "ADD" + }, + "6805": { + "op": "PUSH1", + "value": "0x5" + }, + "6807": { + "op": "SHR" + }, + "6808": { + "op": "DUP2" + }, + "6809": { + "op": "ADD" + }, + "6810": { + "op": "PUSH1", + "value": "0x20" + }, + "6812": { + "op": "DUP7" + }, + "6813": { + "op": "LT" + }, + "6814": { + "op": "ISZERO" + }, + "6815": { + "op": "PUSH2", + "value": "0x1AA5" + }, + "6818": { + "op": "JUMPI" + }, + "6819": { + "op": "POP" + }, + "6820": { + "op": "DUP1" + }, + "6821": { + "op": "JUMPDEST" + }, + "6822": { + "op": "PUSH1", + "value": "0x1F" + }, + "6824": { + "op": "DUP6" + }, + "6825": { + "op": "ADD" + }, + "6826": { + "op": "PUSH1", + "value": "0x5" + }, + "6828": { + "op": "SHR" + }, + "6829": { + "op": "DUP3" + }, + "6830": { + "op": "ADD" + }, + "6831": { + "op": "SWAP2" + }, + "6832": { + "op": "POP" + }, + "6833": { + "op": "JUMPDEST" + }, + "6834": { + "op": "DUP2" + }, + "6835": { + "op": "DUP2" + }, + "6836": { + "op": "LT" + }, + "6837": { + "op": "ISZERO" + }, + "6838": { + "op": "PUSH2", + "value": "0x1AC4" + }, + "6841": { + "op": "JUMPI" + }, + "6842": { + "op": "DUP3" + }, + "6843": { + "op": "DUP2" + }, + "6844": { + "op": "SSTORE" + }, + "6845": { + "op": "PUSH1", + "value": "0x1" + }, + "6847": { + "op": "ADD" + }, + "6848": { + "op": "PUSH2", + "value": "0x1AB1" + }, + "6851": { + "op": "JUMP" + }, + "6852": { + "op": "JUMPDEST" + }, + "6853": { + "op": "POP" + }, + "6854": { + "op": "POP" + }, + "6855": { + "op": "POP" + }, + "6856": { + "op": "POP" + }, + "6857": { + "op": "POP" + }, + "6858": { + "op": "POP" + }, + "6859": { + "jump": "o", + "op": "JUMP" + }, + "6860": { + "op": "JUMPDEST" + }, + "6861": { + "op": "DUP2" + }, + "6862": { + "op": "MLOAD" + }, + "6863": { + "op": "PUSH8", + "value": "0xFFFFFFFFFFFFFFFF" + }, + "6872": { + "op": "DUP2" + }, + "6873": { + "op": "GT" + }, + "6874": { + "op": "ISZERO" + }, + "6875": { + "op": "PUSH2", + "value": "0x1AE6" + }, + "6878": { + "op": "JUMPI" + }, + "6879": { + "op": "PUSH2", + "value": "0x1AE6" + }, + "6882": { + "op": "PUSH2", + "value": "0x164C" + }, + "6885": { + "jump": "i", + "op": "JUMP" + }, + "6886": { + "op": "JUMPDEST" + }, + "6887": { + "op": "PUSH2", + "value": "0x1AFA" + }, + "6890": { + "op": "DUP2" + }, + "6891": { + "op": "PUSH2", + "value": "0x1AF4" + }, + "6894": { + "op": "DUP5" + }, + "6895": { + "op": "SLOAD" + }, + "6896": { + "op": "PUSH2", + "value": "0x1917" + }, + "6899": { + "jump": "i", + "op": "JUMP" + }, + "6900": { + "op": "JUMPDEST" + }, + "6901": { + "op": "DUP5" + }, + "6902": { + "op": "PUSH2", + "value": "0x1A7E" + }, + "6905": { + "jump": "i", + "op": "JUMP" + }, + "6906": { + "op": "JUMPDEST" + }, + "6907": { + "op": "PUSH1", + "value": "0x20" + }, + "6909": { + "op": "DUP1" + }, + "6910": { + "op": "PUSH1", + "value": "0x1F" + }, + "6912": { + "op": "DUP4" + }, + "6913": { + "op": "GT" + }, + "6914": { + "op": "PUSH1", + "value": "0x1" + }, + "6916": { + "op": "DUP2" + }, + "6917": { + "op": "EQ" + }, + "6918": { + "op": "PUSH2", + "value": "0x1B2F" + }, + "6921": { + "op": "JUMPI" + }, + "6922": { + "op": "PUSH1", + "value": "0x0" + }, + "6924": { + "op": "DUP5" + }, + "6925": { + "op": "ISZERO" + }, + "6926": { + "op": "PUSH2", + "value": "0x1B17" + }, + "6929": { + "op": "JUMPI" + }, + "6930": { + "op": "POP" + }, + "6931": { + "op": "DUP6" + }, + "6932": { + "op": "DUP4" + }, + "6933": { + "op": "ADD" + }, + "6934": { + "op": "MLOAD" + }, + "6935": { + "op": "JUMPDEST" + }, + "6936": { + "op": "PUSH1", + "value": "0x0" + }, + "6938": { + "op": "NOT" + }, + "6939": { + "op": "PUSH1", + "value": "0x3" + }, + "6941": { + "op": "DUP7" + }, + "6942": { + "op": "SWAP1" + }, + "6943": { + "op": "SHL" + }, + "6944": { + "op": "SHR" + }, + "6945": { + "op": "NOT" + }, + "6946": { + "op": "AND" + }, + "6947": { + "op": "PUSH1", + "value": "0x1" + }, + "6949": { + "op": "DUP6" + }, + "6950": { + "op": "SWAP1" + }, + "6951": { + "op": "SHL" + }, + "6952": { + "op": "OR" + }, + "6953": { + "op": "DUP6" + }, + "6954": { + "op": "SSTORE" + }, + "6955": { + "op": "PUSH2", + "value": "0x1AC4" + }, + "6958": { + "op": "JUMP" + }, + "6959": { + "op": "JUMPDEST" + }, + "6960": { + "op": "PUSH1", + "value": "0x0" + }, + "6962": { + "op": "DUP6" + }, + "6963": { + "op": "DUP2" + }, + "6964": { + "op": "MSTORE" + }, + "6965": { + "op": "PUSH1", + "value": "0x20" + }, + "6967": { + "op": "DUP2" + }, + "6968": { + "op": "KECCAK256" + }, + "6969": { + "op": "PUSH1", + "value": "0x1F" + }, + "6971": { + "op": "NOT" + }, + "6972": { + "op": "DUP7" + }, + "6973": { + "op": "AND" + }, + "6974": { + "op": "SWAP2" + }, + "6975": { + "op": "JUMPDEST" + }, + "6976": { + "op": "DUP3" + }, + "6977": { + "op": "DUP2" + }, + "6978": { + "op": "LT" + }, + "6979": { + "op": "ISZERO" + }, + "6980": { + "op": "PUSH2", + "value": "0x1B5E" + }, + "6983": { + "op": "JUMPI" + }, + "6984": { + "op": "DUP9" + }, + "6985": { + "op": "DUP7" + }, + "6986": { + "op": "ADD" + }, + "6987": { + "op": "MLOAD" + }, + "6988": { + "op": "DUP3" + }, + "6989": { + "op": "SSTORE" + }, + "6990": { + "op": "SWAP5" + }, + "6991": { + "op": "DUP5" + }, + "6992": { + "op": "ADD" + }, + "6993": { + "op": "SWAP5" + }, + "6994": { + "op": "PUSH1", + "value": "0x1" + }, + "6996": { + "op": "SWAP1" + }, + "6997": { + "op": "SWAP2" + }, + "6998": { + "op": "ADD" + }, + "6999": { + "op": "SWAP1" + }, + "7000": { + "op": "DUP5" + }, + "7001": { + "op": "ADD" + }, + "7002": { + "op": "PUSH2", + "value": "0x1B3F" + }, + "7005": { + "op": "JUMP" + }, + "7006": { + "op": "JUMPDEST" + }, + "7007": { + "op": "POP" + }, + "7008": { + "op": "DUP6" + }, + "7009": { + "op": "DUP3" + }, + "7010": { + "op": "LT" + }, + "7011": { + "op": "ISZERO" + }, + "7012": { + "op": "PUSH2", + "value": "0x1B7C" + }, + "7015": { + "op": "JUMPI" + }, + "7016": { + "op": "DUP8" + }, + "7017": { + "op": "DUP6" + }, + "7018": { + "op": "ADD" + }, + "7019": { + "op": "MLOAD" + }, + "7020": { + "op": "PUSH1", + "value": "0x0" + }, + "7022": { + "op": "NOT" + }, + "7023": { + "op": "PUSH1", + "value": "0x3" + }, + "7025": { + "op": "DUP9" + }, + "7026": { + "op": "SWAP1" + }, + "7027": { + "op": "SHL" + }, + "7028": { + "op": "PUSH1", + "value": "0xF8" + }, + "7030": { + "op": "AND" + }, + "7031": { + "op": "SHR" + }, + "7032": { + "op": "NOT" + }, + "7033": { + "op": "AND" + }, + "7034": { + "op": "DUP2" + }, + "7035": { + "op": "SSTORE" + }, + "7036": { + "op": "JUMPDEST" + }, + "7037": { + "op": "POP" + }, + "7038": { + "op": "POP" + }, + "7039": { + "op": "POP" + }, + "7040": { + "op": "POP" + }, + "7041": { + "op": "POP" + }, + "7042": { + "op": "PUSH1", + "value": "0x1" + }, + "7044": { + "op": "SWAP1" + }, + "7045": { + "op": "DUP2" + }, + "7046": { + "op": "SHL" + }, + "7047": { + "op": "ADD" + }, + "7048": { + "op": "SWAP1" + }, + "7049": { + "op": "SSTORE" + }, + "7050": { + "op": "POP" + }, + "7051": { + "jump": "o", + "op": "JUMP" + } + }, + "sha1": "0c19de967a8bb71991d9b9f821ecb3bd45dc444a", + "source": "// SPDX-License-Identifier: GPL-3.0\npragma solidity ^0.8.8;\n\nimport \"./SoulboundCore.sol\";\n\n/**\n * @title SoulboundWithSignature.\n * @author Daccred.\n * @dev SoulboundWithSignature contract template allows freedom of\n * issuing and revoking tokens with Signature while controlling\n * the totalSupply of the token.\n */\ncontract SoulboundWithSignature is SoulboundCore {\n /// @dev Deploys inherited contract and sub contracts.\n constructor(\n string memory name,\n string memory symbol,\n address _allowlistOwner,\n uint256 _totalSupply\n ) SoulboundCore(name, symbol, _allowlistOwner, _totalSupply) {}\n\n /**\n * @dev Ref SoulboundCore.sol issueWithSignature\n * This function grants the access to only the\n * deployer of the contract, unlike the core\n * that allows the function for anyone who has a\n * signature signed by the allowlistOwner.\n * This contract can be called by the deployer of the\n * contract [DaccredDeployer] but is also protected\n * as to the allowlistOwner must be the signer of the `sig.`\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer].\n *\n * @param addr Address to be minted to.\n * @param hash Hash of message signed.\n * @param sig Signature.\n * @param tokenId TokenId to be issued.\n * @param tokenURI URI of token to be issued.\n */\n function ownerIssueWithSignature(\n address addr,\n bytes32 hash,\n bytes memory sig,\n uint256 tokenId,\n string memory tokenURI\n ) public onlyOwner {\n /// @dev Ensure that the supply is not crossed.\n /// @dev Should all soulbound tokens need to be limited,\n /// copy this code and paste in Soulboundcore.sol\n /// issueWithSignature function.\n require(supply < totalSupply, \"Issue Cap Reached.\");\n /// @dev Issue With Signature.\n issueWithSignature(addr, hash, sig, tokenId, tokenURI);\n /// @dev Incrememt supply on successful issue.\n supply++;\n }\n\n /**\n * @dev Ref SoulboundCore.sol revokeWithSignature\n * This function grants the access to only the\n * deployer of the contract, unlike the core\n * that allows the function for anyone who has a\n * signature signed by the allowlistOwner.\n * This contract can be called by the deployer of the\n * contract [DaccredDeployer] but is also protected\n * as to the allowlistOwner must be the signer of the `sig.`\n *\n * @notice Callable by the deployer of this contract [DaccredDeployer].\n *\n * @param hash Hash of message signed.\n * @param sig Signature.\n * @param tokenId TokenId to be issued.\n */\n function ownerRevokeWithSignature(\n bytes32 hash,\n bytes memory sig,\n uint256 tokenId\n ) public onlyOwner {\n /// @dev If the supply control is not 0,\n /// decrement the supply.\n /// Should all soulbound tokens need to be limited,\n /// copy this code and paste in Soulboundcore.sol\n /// revokeWithSignature function.\n if (supply != 0) {\n /// @dev Decrement supply.\n supply--;\n } else {\n /// @dev Throw error if 0 is reached.\n revert(\"Lowest limit reached.\");\n }\n\n /// @dev Revoke With Signature.\n revokeWithSignature(hash, sig, tokenId);\n }\n}\n", + "sourceMap": "331:3236:40:-:0;;;445:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;598:4;604:6;612:15;629:12;612:15;598:4;604:6;598:4;604:6;4395:5:41;:13;598:4:40;4395:5:41;:13;:::i;:::-;-1:-1:-1;4418:7:41;:17;4428:7;4418;:17;:::i;:::-;;4329:113;;921:32:0;940:12;:10;;;:12;;:::i;:::-;921:18;:32::i;:::-;-1:-1:-1;;;;;;;1710:29:14;;1702:58;;;;-1:-1:-1;;;1702:58:14;;4623:2:43;1702:58:14;;;4605:21:43;4662:2;4642:18;;;4635:30;-1:-1:-1;;;4681:18:43;;;4674:46;4737:18;;1702:58:14;;;;;;;;1810:14;:32;;-1:-1:-1;;;;;;1810:32:14;-1:-1:-1;;;;;1810:32:14;;;;;;;;;;-1:-1:-1;2045:17:38;;;2041:122:::2;;2092:3;2078:11;:17:::0;2041:122:::2;;;2126:11;:26:::0;;;2041:122:::2;1841:328:::0;;;;445:200:40;;;;331:3236;;640:96:5;719:10;;640:96::o;2270:187:0:-;2362:6;;;-1:-1:-1;;;;;2378:17:0;;;-1:-1:-1;;;;;;2378:17:0;;;;;;;2410:40;;2362:6;;;2378:17;2362:6;;2410:40;;2343:16;;2410:40;2333:124;2270:187;:::o;14:127:43:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:885;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:43;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:43;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;730:3;725:2;720;712:6;708:15;704:24;701:33;698:53;;;747:1;744;737:12;698:53;769:1;760:10;;779:133;793:2;790:1;787:9;779:133;;;881:14;;;877:23;;871:30;850:14;;;846:23;;839:63;804:10;;;;779:133;;;930:2;927:1;924:9;921:80;;;989:1;984:2;979;971:6;967:15;963:24;956:35;921:80;1019:6;146:885;-1:-1:-1;;;;;;146:885:43:o;1036:791::-;1153:6;1161;1169;1177;1230:3;1218:9;1209:7;1205:23;1201:33;1198:53;;;1247:1;1244;1237:12;1198:53;1274:16;;-1:-1:-1;;;;;1339:14:43;;;1336:34;;;1366:1;1363;1356:12;1336:34;1389:61;1442:7;1433:6;1422:9;1418:22;1389:61;:::i;:::-;1379:71;;1496:2;1485:9;1481:18;1475:25;1459:41;;1525:2;1515:8;1512:16;1509:36;;;1541:1;1538;1531:12;1509:36;;1564:63;1619:7;1608:8;1597:9;1593:24;1564:63;:::i;:::-;1670:2;1655:18;;1649:25;1554:73;;-1:-1:-1;1649:25:43;-1:-1:-1;;;;;;1703:31:43;;1693:42;;1683:70;;1749:1;1746;1739:12;1683:70;1817:2;1802:18;;;;1796:25;1036:791;;;;-1:-1:-1;;;1036:791:43:o;1832:380::-;1911:1;1907:12;;;;1954;;;1975:61;;2029:4;2021:6;2017:17;2007:27;;1975:61;2082:2;2074:6;2071:14;2051:18;2048:38;2045:161;;2128:10;2123:3;2119:20;2116:1;2109:31;2163:4;2160:1;2153:15;2191:4;2188:1;2181:15;2045:161;;1832:380;;;:::o;2343:545::-;2445:2;2440:3;2437:11;2434:448;;;2481:1;2506:5;2502:2;2495:17;2551:4;2547:2;2537:19;2621:2;2609:10;2605:19;2602:1;2598:27;2592:4;2588:38;2657:4;2645:10;2642:20;2639:47;;;-1:-1:-1;2680:4:43;2639:47;2735:2;2730:3;2726:12;2723:1;2719:20;2713:4;2709:31;2699:41;;2790:82;2808:2;2801:5;2798:13;2790:82;;;2853:17;;;2834:1;2823:13;2790:82;;;2794:3;;;2434:448;2343:545;;;:::o;3064:1352::-;3184:10;;-1:-1:-1;;;;;3206:30:43;;3203:56;;;3239:18;;:::i;:::-;3268:97;3358:6;3318:38;3350:4;3344:11;3318:38;:::i;:::-;3312:4;3268:97;:::i;:::-;3420:4;;3484:2;3473:14;;3501:1;3496:663;;;;4203:1;4220:6;4217:89;;;-1:-1:-1;4272:19:43;;;4266:26;4217:89;-1:-1:-1;;3021:1:43;3017:11;;;3013:24;3009:29;2999:40;3045:1;3041:11;;;2996:57;4319:81;;3466:944;;3496:663;2290:1;2283:14;;;2327:4;2314:18;;-1:-1:-1;;3532:20:43;;;3650:236;3664:7;3661:1;3658:14;3650:236;;;3753:19;;;3747:26;3732:42;;3845:27;;;;3813:1;3801:14;;;;3680:19;;3650:236;;;3654:3;3914:6;3905:7;3902:19;3899:201;;;3975:19;;;3969:26;-1:-1:-1;;4058:1:43;4054:14;;;4070:3;4050:24;4046:37;4042:42;4027:58;4012:74;;3899:201;-1:-1:-1;;;;;4146:1:43;4130:14;;;4126:22;4113:36;;-1:-1:-1;3064:1352:43:o;4421:340::-;331:3236:40;;;;;;", + "sourcePath": "contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/StartTokenIdHelper.json b/tests/build/contracts/StartTokenIdHelper.json new file mode 100644 index 0000000..306d6c5 --- /dev/null +++ b/tests/build/contracts/StartTokenIdHelper.json @@ -0,0 +1,708 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "uint256", + "name": "startTokenId_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "startTokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "35": "contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol" + }, + "ast": { + "absolutePath": "contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol", + "exportedSymbols": { + "StartTokenIdHelper": [ + 4021 + ] + }, + "id": 4022, + "license": "GPL-3.0", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 4007, + "literals": [ + "solidity", + "^", + "0.8", + ".4" + ], + "nodeType": "PragmaDirective", + "src": "429:23:35" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "StartTokenIdHelper", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4008, + "nodeType": "StructuredDocumentation", + "src": "454:308:35", + "text": " This Helper is used to return a dynmamic value in the overriden _startTokenId() function.\n Extending this Helper before the ERC721A contract give us access to the herein set `startTokenId`\n to be returned by the overriden `_startTokenId()` function of ERC721A in the ERC721AStartTokenId mocks." + }, + "fullyImplemented": true, + "id": 4021, + "linearizedBaseContracts": [ + 4021 + ], + "name": "StartTokenIdHelper", + "nameLocation": "772:18:35", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "functionSelector": "e6798baa", + "id": 4010, + "mutability": "mutable", + "name": "startTokenId", + "nameLocation": "812:12:35", + "nodeType": "VariableDeclaration", + "scope": 4021, + "src": "797:27:35", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4009, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "797:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 4019, + "nodeType": "Block", + "src": "866:45:35", + "statements": [ + { + "expression": { + "id": 4017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 4015, + "name": "startTokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4010, + "src": "876:12:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 4016, + "name": "startTokenId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4012, + "src": "891:13:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "876:28:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 4018, + "nodeType": "ExpressionStatement", + "src": "876:28:35" + } + ] + }, + "id": 4020, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4012, + "mutability": "mutable", + "name": "startTokenId_", + "nameLocation": "851:13:35", + "nodeType": "VariableDeclaration", + "scope": 4020, + "src": "843:21:35", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4011, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "843:7:35", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "842:23:35" + }, + "returnParameters": { + "id": 4014, + "nodeType": "ParameterList", + "parameters": [], + "src": "866:0:35" + }, + "scope": 4021, + "src": "831:80:35", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + } + ], + "scope": 4022, + "src": "763:150:35", + "usedErrors": [] + } + ], + "src": "429:485:35" + }, + "bytecode": "608060405234801561001057600080fd5b506040516100db3803806100db83398101604081905261002f91610037565b600055610050565b60006020828403121561004957600080fd5b5051919050565b607d8061005e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063e6798baa14602d575b600080fd5b603560005481565b60405190815260200160405180910390f3fea2646970667358221220a2ad42ffdeb264730a0ce52c0b1d5c737b84852edcd8f17ddd90a11e5cd0a3d064736f6c634300080f0033", + "bytecodeSha1": "c7a0822956208462f5d70c767b4471e2f6a87c9f", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "StartTokenIdHelper", + "coverageMap": { + "branches": { + "35": {} + }, + "statements": { + "35": {} + } + }, + "dependencies": [], + "deployedBytecode": "6080604052348015600f57600080fd5b506004361060285760003560e01c8063e6798baa14602d575b600080fd5b603560005481565b60405190815260200160405180910390f3fea2646970667358221220a2ad42ffdeb264730a0ce52c0b1d5c737b84852edcd8f17ddd90a11e5cd0a3d064736f6c634300080f0033", + "deployedSourceMap": "763:150:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;797:27;;;;;;;;;160:25:43;;;148:2;133:18;797:27:35;;;;;;", + "language": "Solidity", + "natspec": { + "kind": "dev", + "methods": {}, + "notice": "This Helper is used to return a dynmamic value in the overriden _startTokenId() function. Extending this Helper before the ERC721A contract give us access to the herein set `startTokenId` to be returned by the overriden `_startTokenId()` function of ERC721A in the ERC721AStartTokenId mocks.", + "version": 1 + }, + "offset": [ + 763, + 913 + ], + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xE6798BAA EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x35 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LOG2 0xAD TIMESTAMP SELFDESTRUCT 0xDE 0xB2 PUSH5 0x730A0CE52C SIGNEXTEND SAR 0x5C PUSH20 0x7B84852EDCD8F17DDD90A11E5CD0A3D064736F6C PUSH4 0x4300080F STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x80" + }, + "2": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x40" + }, + "4": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "MSTORE", + "path": "35" + }, + "5": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "CALLVALUE", + "path": "35" + }, + "6": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "DUP1", + "path": "35" + }, + "7": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "ISZERO", + "path": "35" + }, + "8": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0xF" + }, + "10": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "JUMPI", + "path": "35" + }, + "11": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x0" + }, + "13": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "DUP1", + "path": "35" + }, + "14": { + "dev": "Cannot send ether to nonpayable function", + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "REVERT", + "path": "35" + }, + "15": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "JUMPDEST", + "path": "35" + }, + "16": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "POP", + "path": "35" + }, + "17": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x4" + }, + "19": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "CALLDATASIZE", + "path": "35" + }, + "20": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "LT", + "path": "35" + }, + "21": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x28" + }, + "23": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "JUMPI", + "path": "35" + }, + "24": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x0" + }, + "26": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "CALLDATALOAD", + "path": "35" + }, + "27": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0xE0" + }, + "29": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "SHR", + "path": "35" + }, + "30": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "DUP1", + "path": "35" + }, + "31": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH4", + "path": "35", + "value": "0xE6798BAA" + }, + "36": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "EQ", + "path": "35" + }, + "37": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x2D" + }, + "39": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "JUMPI", + "path": "35" + }, + "40": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "JUMPDEST", + "path": "35" + }, + "41": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "PUSH1", + "path": "35", + "value": "0x0" + }, + "43": { + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "DUP1", + "path": "35" + }, + "44": { + "first_revert": true, + "fn": null, + "offset": [ + 763, + 913 + ], + "op": "REVERT", + "path": "35" + }, + "45": { + "offset": [ + 797, + 824 + ], + "op": "JUMPDEST", + "path": "35" + }, + "46": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "PUSH1", + "path": "35", + "value": "0x35" + }, + "48": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "PUSH1", + "path": "35", + "value": "0x0" + }, + "50": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "SLOAD", + "path": "35" + }, + "51": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "DUP2", + "path": "35" + }, + "52": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "JUMP", + "path": "35" + }, + "53": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "JUMPDEST", + "path": "35" + }, + "54": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "PUSH1", + "path": "35", + "value": "0x40" + }, + "56": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "MLOAD", + "path": "35" + }, + "57": { + "op": "SWAP1" + }, + "58": { + "op": "DUP2" + }, + "59": { + "op": "MSTORE" + }, + "60": { + "op": "PUSH1", + "value": "0x20" + }, + "62": { + "op": "ADD" + }, + "63": { + "offset": [ + 797, + 824 + ], + "op": "PUSH1", + "path": "35", + "value": "0x40" + }, + "65": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "MLOAD", + "path": "35" + }, + "66": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "DUP1", + "path": "35" + }, + "67": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "SWAP2", + "path": "35" + }, + "68": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "SUB", + "path": "35" + }, + "69": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "SWAP1", + "path": "35" + }, + "70": { + "fn": null, + "offset": [ + 797, + 824 + ], + "op": "RETURN", + "path": "35" + } + }, + "sha1": "a145115a812b1835ac0f54472ad15ed8f71cb785", + "source": "// SPDX-License-Identifier: GPL-3.0\n\n// \t _____ ______ ______ ______ ______ ______ _____\n// /\\ __-. /\\ __ \\ /\\ ___\\ /\\ ___\\ /\\ == \\ /\\ ___\\ /\\ __-.\n// \\ \\ \\/\\ \\ \\ \\ __ \\ \\ \\ \\____ \\ \\ \\____ \\ \\ __< \\ \\ __\\ \\ \\ \\/\\ \\\n// \\ \\____- \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\_____\\ \\ \\_\\ \\_\\ \\ \\_____\\ \\ \\____-\n// \\/____/ \\/_/\\/_/ \\/_____/ \\/_____/ \\/_/ /_/ \\/_____/ \\/____/\n\npragma solidity ^0.8.4;\n\n/**\n * This Helper is used to return a dynmamic value in the overriden _startTokenId() function.\n * Extending this Helper before the ERC721A contract give us access to the herein set `startTokenId`\n * to be returned by the overriden `_startTokenId()` function of ERC721A in the ERC721AStartTokenId mocks.\n */\ncontract StartTokenIdHelper {\n uint256 public startTokenId;\n\n constructor(uint256 startTokenId_) {\n startTokenId = startTokenId_;\n }\n}\n", + "sourceMap": "763:150:35:-:0;;;831:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;876:12;:28;763:150;;14:184:43;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;-1:-1:-1;176:16:43;;14:184;-1:-1:-1;14:184:43:o;:::-;763:150:35;;;;;;", + "sourcePath": "contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Address.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Address.json new file mode 100644 index 0000000..79fdba9 --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Address.json @@ -0,0 +1,4084 @@ +{ + "abi": [], + "allSourcePaths": { + "4": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Address.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 6388 + ] + }, + "id": 6389, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6095, + "literals": [ + "solidity", + "^", + "0.8", + ".1" + ], + "nodeType": "PragmaDirective", + "src": "101:23:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Address", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 6096, + "nodeType": "StructuredDocumentation", + "src": "126:67:4", + "text": " @dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 6388, + "linearizedBaseContracts": [ + 6388 + ], + "name": "Address", + "nameLocation": "202:7:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6110, + "nodeType": "Block", + "src": "1241:254:4", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 6104, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6099, + "src": "1465:7:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1465:12:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1465:19:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1487:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1465:23:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6103, + "id": 6109, + "nodeType": "Return", + "src": "1458:30:4" + } + ] + }, + "documentation": { + "id": 6097, + "nodeType": "StructuredDocumentation", + "src": "216:954:4", + "text": " @dev Returns true if `account` is a contract.\n [IMPORTANT]\n ====\n It is unsafe to assume that an address for which this function returns\n false is an externally-owned account (EOA) and not a contract.\n Among others, `isContract` will return false for the following\n types of addresses:\n - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n ====\n [IMPORTANT]\n ====\n You shouldn't rely on `isContract` to protect against flash loan attacks!\n Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n constructor.\n ====" + }, + "id": 6111, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isContract", + "nameLocation": "1184:10:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6099, + "mutability": "mutable", + "name": "account", + "nameLocation": "1203:7:4", + "nodeType": "VariableDeclaration", + "scope": 6111, + "src": "1195:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1195:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1194:17:4" + }, + "returnParameters": { + "id": 6103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6102, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6111, + "src": "1235:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6101, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1235:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1234:6:4" + }, + "scope": 6388, + "src": "1175:320:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6144, + "nodeType": "Block", + "src": "2483:241:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 6122, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2509:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$6388", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$6388", + "typeString": "library Address" + } + ], + "id": 6121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2501:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2501:7:4", + "typeDescriptions": {} + } + }, + "id": 6123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2501:13:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "2501:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6125, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6116, + "src": "2526:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2501:31:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", + "id": 6127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2534:31:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + }, + "value": "Address: insufficient balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", + "typeString": "literal_string \"Address: insufficient balance\"" + } + ], + "id": 6119, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2493:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2493:73:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6129, + "nodeType": "ExpressionStatement", + "src": "2493:73:4" + }, + { + "assignments": [ + 6131, + null + ], + "declarations": [ + { + "constant": false, + "id": 6131, + "mutability": "mutable", + "name": "success", + "nameLocation": "2583:7:4", + "nodeType": "VariableDeclaration", + "scope": 6144, + "src": "2578:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6130, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2578:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 6138, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 6136, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2626:2:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 6132, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6114, + "src": "2596:9:4", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 6133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "2596:14:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 6135, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 6134, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6116, + "src": "2618:6:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "2596:29:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 6137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2596:33:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2577:52:4" + }, + { + "expression": { + "arguments": [ + { + "id": 6140, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6131, + "src": "2647:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", + "id": 6141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2656:60:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + }, + "value": "Address: unable to send value, recipient may have reverted" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", + "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" + } + ], + "id": 6139, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2639:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2639:78:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6143, + "nodeType": "ExpressionStatement", + "src": "2639:78:4" + } + ] + }, + "documentation": { + "id": 6112, + "nodeType": "StructuredDocumentation", + "src": "1501:906:4", + "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 6145, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nameLocation": "2421:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6114, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "2447:9:4", + "nodeType": "VariableDeclaration", + "scope": 6145, + "src": "2431:25:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 6113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2431:15:4", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6116, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2466:6:4", + "nodeType": "VariableDeclaration", + "scope": 6145, + "src": "2458:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2458:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2430:43:4" + }, + "returnParameters": { + "id": 6118, + "nodeType": "ParameterList", + "parameters": [], + "src": "2483:0:4" + }, + "scope": 6388, + "src": "2412:312:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6161, + "nodeType": "Block", + "src": "3555:84:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6156, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6148, + "src": "3585:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6157, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6150, + "src": "3593:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", + "id": 6158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3599:32:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + }, + "value": "Address: low-level call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", + "typeString": "literal_string \"Address: low-level call failed\"" + } + ], + "id": 6155, + "name": "functionCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6162, + 6182 + ], + "referencedDeclaration": 6182, + "src": "3572:12:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 6159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3572:60:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6154, + "id": 6160, + "nodeType": "Return", + "src": "3565:67:4" + } + ] + }, + "documentation": { + "id": 6146, + "nodeType": "StructuredDocumentation", + "src": "2730:731:4", + "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason, it is bubbled up by this\n function (like regular Solidity function calls).\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert.\n _Available since v3.1._" + }, + "id": 6162, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3475:12:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6148, + "mutability": "mutable", + "name": "target", + "nameLocation": "3496:6:4", + "nodeType": "VariableDeclaration", + "scope": 6162, + "src": "3488:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3488:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6150, + "mutability": "mutable", + "name": "data", + "nameLocation": "3517:4:4", + "nodeType": "VariableDeclaration", + "scope": 6162, + "src": "3504:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6149, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3504:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3487:35:4" + }, + "returnParameters": { + "id": 6154, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6153, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6162, + "src": "3541:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6152, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3541:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3540:14:4" + }, + "scope": 6388, + "src": "3466:173:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6181, + "nodeType": "Block", + "src": "4008:76:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6175, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6165, + "src": "4047:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6176, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6167, + "src": "4055:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4061:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + { + "id": 6178, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6169, + "src": "4064:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6174, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6202, + 6252 + ], + "referencedDeclaration": 6252, + "src": "4025:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 6179, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4025:52:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6173, + "id": 6180, + "nodeType": "Return", + "src": "4018:59:4" + } + ] + }, + "documentation": { + "id": 6163, + "nodeType": "StructuredDocumentation", + "src": "3645:211:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 6182, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "3870:12:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6170, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6165, + "mutability": "mutable", + "name": "target", + "nameLocation": "3900:6:4", + "nodeType": "VariableDeclaration", + "scope": 6182, + "src": "3892:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6164, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3892:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6167, + "mutability": "mutable", + "name": "data", + "nameLocation": "3929:4:4", + "nodeType": "VariableDeclaration", + "scope": 6182, + "src": "3916:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6166, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3916:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6169, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "3957:12:4", + "nodeType": "VariableDeclaration", + "scope": 6182, + "src": "3943:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6168, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3943:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3882:93:4" + }, + "returnParameters": { + "id": 6173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6172, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6182, + "src": "3994:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6171, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3994:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3993:14:4" + }, + "scope": 6388, + "src": "3861:223:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6201, + "nodeType": "Block", + "src": "4589:111:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6195, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6185, + "src": "4628:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6196, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6187, + "src": "4636:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6197, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6189, + "src": "4642:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", + "id": 6198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4649:43:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + }, + "value": "Address: low-level call with value failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", + "typeString": "literal_string \"Address: low-level call with value failed\"" + } + ], + "id": 6194, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6202, + 6252 + ], + "referencedDeclaration": 6252, + "src": "4606:21:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" + } + }, + "id": 6199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4606:87:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6193, + "id": 6200, + "nodeType": "Return", + "src": "4599:94:4" + } + ] + }, + "documentation": { + "id": 6183, + "nodeType": "StructuredDocumentation", + "src": "4090:351:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`.\n _Available since v3.1._" + }, + "id": 6202, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4455:21:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6190, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6185, + "mutability": "mutable", + "name": "target", + "nameLocation": "4494:6:4", + "nodeType": "VariableDeclaration", + "scope": 6202, + "src": "4486:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6184, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4486:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6187, + "mutability": "mutable", + "name": "data", + "nameLocation": "4523:4:4", + "nodeType": "VariableDeclaration", + "scope": 6202, + "src": "4510:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6186, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4510:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6189, + "mutability": "mutable", + "name": "value", + "nameLocation": "4545:5:4", + "nodeType": "VariableDeclaration", + "scope": 6202, + "src": "4537:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6188, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4537:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4476:80:4" + }, + "returnParameters": { + "id": 6193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6192, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6202, + "src": "4575:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6191, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4575:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4574:14:4" + }, + "scope": 6388, + "src": "4446:254:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6251, + "nodeType": "Block", + "src": "5127:320:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 6219, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5153:4:4", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$6388", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$6388", + "typeString": "library Address" + } + ], + "id": 6218, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5145:7:4", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6217, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5145:7:4", + "typeDescriptions": {} + } + }, + "id": 6220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5145:13:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "5145:21:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 6222, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "5170:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5145:30:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", + "id": 6224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5177:40:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + }, + "value": "Address: insufficient balance for call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", + "typeString": "literal_string \"Address: insufficient balance for call\"" + } + ], + "id": 6216, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5137:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6225, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5137:81:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6226, + "nodeType": "ExpressionStatement", + "src": "5137:81:4" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6229, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6205, + "src": "5247:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6228, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "5236:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5236:18:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 6231, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5256:31:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + }, + "value": "Address: call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", + "typeString": "literal_string \"Address: call to non-contract\"" + } + ], + "id": 6227, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5228:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5228:60:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6233, + "nodeType": "ExpressionStatement", + "src": "5228:60:4" + }, + { + "assignments": [ + 6235, + 6237 + ], + "declarations": [ + { + "constant": false, + "id": 6235, + "mutability": "mutable", + "name": "success", + "nameLocation": "5305:7:4", + "nodeType": "VariableDeclaration", + "scope": 6251, + "src": "5300:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6234, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5300:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6237, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5327:10:4", + "nodeType": "VariableDeclaration", + "scope": 6251, + "src": "5314:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6236, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5314:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6244, + "initialValue": { + "arguments": [ + { + "id": 6242, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6207, + "src": "5367:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6238, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6205, + "src": "5341:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "5341:11:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 6241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 6240, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6209, + "src": "5360:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "5341:25:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 6243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5341:31:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5299:73:4" + }, + { + "expression": { + "arguments": [ + { + "id": 6246, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6235, + "src": "5406:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6247, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6237, + "src": "5415:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6248, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6211, + "src": "5427:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6245, + "name": "verifyCallResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6387, + "src": "5389:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" + } + }, + "id": 6249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5389:51:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6215, + "id": 6250, + "nodeType": "Return", + "src": "5382:58:4" + } + ] + }, + "documentation": { + "id": 6203, + "nodeType": "StructuredDocumentation", + "src": "4706:237:4", + "text": " @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n with `errorMessage` as a fallback revert reason when `target` reverts.\n _Available since v3.1._" + }, + "id": 6252, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "4957:21:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6212, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6205, + "mutability": "mutable", + "name": "target", + "nameLocation": "4996:6:4", + "nodeType": "VariableDeclaration", + "scope": 6252, + "src": "4988:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6204, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4988:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6207, + "mutability": "mutable", + "name": "data", + "nameLocation": "5025:4:4", + "nodeType": "VariableDeclaration", + "scope": 6252, + "src": "5012:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6206, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5012:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6209, + "mutability": "mutable", + "name": "value", + "nameLocation": "5047:5:4", + "nodeType": "VariableDeclaration", + "scope": 6252, + "src": "5039:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6208, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5039:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6211, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "5076:12:4", + "nodeType": "VariableDeclaration", + "scope": 6252, + "src": "5062:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6210, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5062:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4978:116:4" + }, + "returnParameters": { + "id": 6215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6214, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6252, + "src": "5113:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6213, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5113:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5112:14:4" + }, + "scope": 6388, + "src": "4948:499:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6268, + "nodeType": "Block", + "src": "5724:97:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6263, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6255, + "src": "5760:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6264, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6257, + "src": "5768:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", + "id": 6265, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5774:39:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + }, + "value": "Address: low-level static call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", + "typeString": "literal_string \"Address: low-level static call failed\"" + } + ], + "id": 6262, + "name": "functionStaticCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6269, + 6304 + ], + "referencedDeclaration": 6304, + "src": "5741:18:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" + } + }, + "id": 6266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5741:73:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6261, + "id": 6267, + "nodeType": "Return", + "src": "5734:80:4" + } + ] + }, + "documentation": { + "id": 6253, + "nodeType": "StructuredDocumentation", + "src": "5453:166:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 6269, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "5633:18:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6255, + "mutability": "mutable", + "name": "target", + "nameLocation": "5660:6:4", + "nodeType": "VariableDeclaration", + "scope": 6269, + "src": "5652:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6254, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5652:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6257, + "mutability": "mutable", + "name": "data", + "nameLocation": "5681:4:4", + "nodeType": "VariableDeclaration", + "scope": 6269, + "src": "5668:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6256, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5668:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5651:35:4" + }, + "returnParameters": { + "id": 6261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6260, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6269, + "src": "5710:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6259, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5710:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5709:14:4" + }, + "scope": 6388, + "src": "5624:197:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6303, + "nodeType": "Block", + "src": "6163:228:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6283, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6272, + "src": "6192:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6282, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "6181:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6181:18:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 6285, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6201:38:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", + "typeString": "literal_string \"Address: static call to non-contract\"" + }, + "value": "Address: static call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", + "typeString": "literal_string \"Address: static call to non-contract\"" + } + ], + "id": 6281, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6173:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6173:67:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6287, + "nodeType": "ExpressionStatement", + "src": "6173:67:4" + }, + { + "assignments": [ + 6289, + 6291 + ], + "declarations": [ + { + "constant": false, + "id": 6289, + "mutability": "mutable", + "name": "success", + "nameLocation": "6257:7:4", + "nodeType": "VariableDeclaration", + "scope": 6303, + "src": "6252:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6288, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6252:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6291, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "6279:10:4", + "nodeType": "VariableDeclaration", + "scope": 6303, + "src": "6266:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6290, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6266:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6296, + "initialValue": { + "arguments": [ + { + "id": 6294, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6274, + "src": "6311:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6292, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6272, + "src": "6293:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "6293:17:4", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 6295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6293:23:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6251:65:4" + }, + { + "expression": { + "arguments": [ + { + "id": 6298, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6289, + "src": "6350:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6299, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6291, + "src": "6359:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6300, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6276, + "src": "6371:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6297, + "name": "verifyCallResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6387, + "src": "6333:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" + } + }, + "id": 6301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6333:51:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6280, + "id": 6302, + "nodeType": "Return", + "src": "6326:58:4" + } + ] + }, + "documentation": { + "id": 6270, + "nodeType": "StructuredDocumentation", + "src": "5827:173:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a static call.\n _Available since v3.3._" + }, + "id": 6304, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "6014:18:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6272, + "mutability": "mutable", + "name": "target", + "nameLocation": "6050:6:4", + "nodeType": "VariableDeclaration", + "scope": 6304, + "src": "6042:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6042:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6274, + "mutability": "mutable", + "name": "data", + "nameLocation": "6079:4:4", + "nodeType": "VariableDeclaration", + "scope": 6304, + "src": "6066:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6273, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6066:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6276, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "6107:12:4", + "nodeType": "VariableDeclaration", + "scope": 6304, + "src": "6093:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6275, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6093:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6032:93:4" + }, + "returnParameters": { + "id": 6280, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6279, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6304, + "src": "6149:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6278, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6149:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6148:14:4" + }, + "scope": 6388, + "src": "6005:386:4", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6320, + "nodeType": "Block", + "src": "6667:101:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6315, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6307, + "src": "6705:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6316, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6309, + "src": "6713:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", + "id": 6317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6719:41:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + }, + "value": "Address: low-level delegate call failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", + "typeString": "literal_string \"Address: low-level delegate call failed\"" + } + ], + "id": 6314, + "name": "functionDelegateCall", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6321, + 6356 + ], + "referencedDeclaration": 6356, + "src": "6684:20:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" + } + }, + "id": 6318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6684:77:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6313, + "id": 6319, + "nodeType": "Return", + "src": "6677:84:4" + } + ] + }, + "documentation": { + "id": 6305, + "nodeType": "StructuredDocumentation", + "src": "6397:168:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 6321, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "6579:20:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6307, + "mutability": "mutable", + "name": "target", + "nameLocation": "6608:6:4", + "nodeType": "VariableDeclaration", + "scope": 6321, + "src": "6600:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6600:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6309, + "mutability": "mutable", + "name": "data", + "nameLocation": "6629:4:4", + "nodeType": "VariableDeclaration", + "scope": 6321, + "src": "6616:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6308, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6616:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6599:35:4" + }, + "returnParameters": { + "id": 6313, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6312, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6321, + "src": "6653:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6311, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6653:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6652:14:4" + }, + "scope": 6388, + "src": "6570:198:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6355, + "nodeType": "Block", + "src": "7109:232:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 6335, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6324, + "src": "7138:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6334, + "name": "isContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6111, + "src": "7127:10:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7127:18:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", + "id": 6337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7147:40:4", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", + "typeString": "literal_string \"Address: delegate call to non-contract\"" + }, + "value": "Address: delegate call to non-contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", + "typeString": "literal_string \"Address: delegate call to non-contract\"" + } + ], + "id": 6333, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7119:7:4", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7119:69:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6339, + "nodeType": "ExpressionStatement", + "src": "7119:69:4" + }, + { + "assignments": [ + 6341, + 6343 + ], + "declarations": [ + { + "constant": false, + "id": 6341, + "mutability": "mutable", + "name": "success", + "nameLocation": "7205:7:4", + "nodeType": "VariableDeclaration", + "scope": 6355, + "src": "7200:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6340, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7200:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6343, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7227:10:4", + "nodeType": "VariableDeclaration", + "scope": 6355, + "src": "7214:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6342, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7214:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6348, + "initialValue": { + "arguments": [ + { + "id": 6346, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6326, + "src": "7261:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 6344, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6324, + "src": "7241:6:4", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "7241:19:4", + "typeDescriptions": { + "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) returns (bool,bytes memory)" + } + }, + "id": 6347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7241:25:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7199:67:4" + }, + { + "expression": { + "arguments": [ + { + "id": 6350, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6341, + "src": "7300:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6351, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6343, + "src": "7309:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "id": 6352, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6328, + "src": "7321:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6349, + "name": "verifyCallResult", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6387, + "src": "7283:16:4", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" + } + }, + "id": 6353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7283:51:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6332, + "id": 6354, + "nodeType": "Return", + "src": "7276:58:4" + } + ] + }, + "documentation": { + "id": 6322, + "nodeType": "StructuredDocumentation", + "src": "6774:175:4", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n but performing a delegate call.\n _Available since v3.4._" + }, + "id": 6356, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "6963:20:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6329, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6324, + "mutability": "mutable", + "name": "target", + "nameLocation": "7001:6:4", + "nodeType": "VariableDeclaration", + "scope": 6356, + "src": "6993:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6323, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6993:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6326, + "mutability": "mutable", + "name": "data", + "nameLocation": "7030:4:4", + "nodeType": "VariableDeclaration", + "scope": 6356, + "src": "7017:17:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6325, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7017:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6328, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7058:12:4", + "nodeType": "VariableDeclaration", + "scope": 6356, + "src": "7044:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6327, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7044:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6983:93:4" + }, + "returnParameters": { + "id": 6332, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6331, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6356, + "src": "7095:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6330, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7095:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7094:14:4" + }, + "scope": 6388, + "src": "6954:387:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6386, + "nodeType": "Block", + "src": "7721:532:4", + "statements": [ + { + "condition": { + "id": 6368, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6359, + "src": "7735:7:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6384, + "nodeType": "Block", + "src": "7792:455:4", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6375, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 6372, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6361, + "src": "7876:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "7876:17:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 6374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7896:1:4", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "7876:21:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 6382, + "nodeType": "Block", + "src": "8184:53:4", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6379, + "name": "errorMessage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6363, + "src": "8209:12:4", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 6378, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "8202:6:4", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 6380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8202:20:4", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6381, + "nodeType": "ExpressionStatement", + "src": "8202:20:4" + } + ] + }, + "id": 6383, + "nodeType": "IfStatement", + "src": "7872:365:4", + "trueBody": { + "id": 6377, + "nodeType": "Block", + "src": "7899:279:4", + "statements": [ + { + "AST": { + "nodeType": "YulBlock", + "src": "8019:145:4", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8041:40:4", + "value": { + "arguments": [ + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "8070:10:4" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "8064:5:4" + }, + "nodeType": "YulFunctionCall", + "src": "8064:17:4" + }, + "variables": [ + { + "name": "returndata_size", + "nodeType": "YulTypedName", + "src": "8045:15:4", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8113:2:4", + "type": "", + "value": "32" + }, + { + "name": "returndata", + "nodeType": "YulIdentifier", + "src": "8117:10:4" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8109:3:4" + }, + "nodeType": "YulFunctionCall", + "src": "8109:19:4" + }, + { + "name": "returndata_size", + "nodeType": "YulIdentifier", + "src": "8130:15:4" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "8102:6:4" + }, + "nodeType": "YulFunctionCall", + "src": "8102:44:4" + }, + "nodeType": "YulExpressionStatement", + "src": "8102:44:4" + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 6361, + "isOffset": false, + "isSlot": false, + "src": "8070:10:4", + "valueSize": 1 + }, + { + "declaration": 6361, + "isOffset": false, + "isSlot": false, + "src": "8117:10:4", + "valueSize": 1 + } + ], + "id": 6376, + "nodeType": "InlineAssembly", + "src": "8010:154:4" + } + ] + } + } + ] + }, + "id": 6385, + "nodeType": "IfStatement", + "src": "7731:516:4", + "trueBody": { + "id": 6371, + "nodeType": "Block", + "src": "7744:42:4", + "statements": [ + { + "expression": { + "id": 6369, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6361, + "src": "7765:10:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 6367, + "id": 6370, + "nodeType": "Return", + "src": "7758:17:4" + } + ] + } + } + ] + }, + "documentation": { + "id": 6357, + "nodeType": "StructuredDocumentation", + "src": "7347:209:4", + "text": " @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n revert reason using the provided one.\n _Available since v4.3._" + }, + "id": 6387, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResult", + "nameLocation": "7570:16:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6364, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6359, + "mutability": "mutable", + "name": "success", + "nameLocation": "7601:7:4", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "7596:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6358, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7596:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6361, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "7631:10:4", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "7618:23:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6360, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7618:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6363, + "mutability": "mutable", + "name": "errorMessage", + "nameLocation": "7665:12:4", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "7651:26:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6362, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7651:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7586:97:4" + }, + "returnParameters": { + "id": 6367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6366, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6387, + "src": "7707:12:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6365, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "7707:5:4", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "7706:14:4" + }, + "scope": 6388, + "src": "7561:692:4", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 6389, + "src": "194:8061:4", + "usedErrors": [] + } + ], + "src": "101:8155:4" + }, + "bytecode": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d49b87a0aad40144dc04c7db73b42da9c63281c3fdb5f841479764efe04223d764736f6c634300080f0033", + "bytecodeSha1": "1ce946f6a4eaa185320328620ccf999b9e86db7c", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Address", + "coverageMap": { + "branches": { + "4": {} + }, + "statements": { + "4": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220d49b87a0aad40144dc04c7db73b42da9c63281c3fdb5f841479764efe04223d764736f6c634300080f0033", + "deployedSourceMap": "194:8061:4:-:0;;;;;;;;", + "language": "Solidity", + "natspec": { + "details": "Collection of functions related to the address type", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "offset": [ + 194, + 8255 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xD4 SWAP12 DUP8 LOG0 0xAA 0xD4 ADD DIFFICULTY 0xDC DIV 0xC7 0xDB PUSH20 0xB42DA9C63281C3FDB5F841479764EFE04223D764 PUSH20 0x6F6C634300080F00330000000000000000000000 ", + "pcMap": { + "0": { + "offset": [ + 194, + 8255 + ], + "op": "PUSH20", + "path": "4", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "ADDRESS", + "path": "4" + }, + "22": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "EQ", + "path": "4" + }, + "23": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "PUSH1", + "path": "4", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "PUSH1", + "path": "4", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "MSTORE", + "path": "4" + }, + "28": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "PUSH1", + "path": "4", + "value": "0x0" + }, + "30": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "DUP1", + "path": "4" + }, + "31": { + "fn": null, + "offset": [ + 194, + 8255 + ], + "op": "REVERT", + "path": "4" + } + }, + "sha1": "04111ab098c4a26d23676fe0bc5b13eeb840965a", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (utils/Address.sol)\n\npragma solidity ^0.8.1;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n *\n * [IMPORTANT]\n * ====\n * You shouldn't rely on `isContract` to protect against flash loan attacks!\n *\n * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets\n * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract\n * constructor.\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize/address.code.length, which returns 0\n // for contracts in construction, since the code is only stored at the end\n // of the constructor execution.\n\n return account.code.length > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n (bool success, ) = recipient.call{value: amount}(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value\n ) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(\n address target,\n bytes memory data,\n uint256 value,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n require(isContract(target), \"Address: call to non-contract\");\n\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal view returns (bytes memory) {\n require(isContract(target), \"Address: static call to non-contract\");\n\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(\n address target,\n bytes memory data,\n string memory errorMessage\n ) internal returns (bytes memory) {\n require(isContract(target), \"Address: delegate call to non-contract\");\n\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the\n * revert reason using the provided one.\n *\n * _Available since v4.3._\n */\n function verifyCallResult(\n bool success,\n bytes memory returndata,\n string memory errorMessage\n ) internal pure returns (bytes memory) {\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n", + "sourceMap": "194:8061:4:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;194:8061:4;;;;;;;;;;;;;;;;;", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Address.sol", + "type": "library" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Context.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Context.json new file mode 100644 index 0000000..ae96552 --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Context.json @@ -0,0 +1,280 @@ +{ + "abi": [], + "allSourcePaths": { + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 6410 + ] + }, + "id": 6411, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6390, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:5" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Context", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6391, + "nodeType": "StructuredDocumentation", + "src": "111:496:5", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 6410, + "linearizedBaseContracts": [ + 6410 + ], + "name": "Context", + "nameLocation": "626:7:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 6399, + "nodeType": "Block", + "src": "702:34:5", + "statements": [ + { + "expression": { + "expression": { + "id": 6396, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "719:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "719:10:5", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 6395, + "id": 6398, + "nodeType": "Return", + "src": "712:17:5" + } + ] + }, + "id": 6400, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "649:10:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6392, + "nodeType": "ParameterList", + "parameters": [], + "src": "659:2:5" + }, + "returnParameters": { + "id": 6395, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6394, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6400, + "src": "693:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6393, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "692:9:5" + }, + "scope": 6410, + "src": "640:96:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 6408, + "nodeType": "Block", + "src": "809:32:5", + "statements": [ + { + "expression": { + "expression": { + "id": 6405, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "826:3:5", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6406, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "src": "826:8:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 6404, + "id": 6407, + "nodeType": "Return", + "src": "819:15:5" + } + ] + }, + "id": 6409, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "751:8:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6401, + "nodeType": "ParameterList", + "parameters": [], + "src": "759:2:5" + }, + "returnParameters": { + "id": 6404, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6403, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6409, + "src": "793:14:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6402, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "793:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "792:16:5" + }, + "scope": 6410, + "src": "742:99:5", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 6411, + "src": "608:235:5", + "usedErrors": [] + } + ], + "src": "86:758:5" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Context", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "offset": [ + 608, + 843 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "719844505df30bda93516e78eab1ced3bfe9ff4a", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165.json new file mode 100644 index 0000000..a53acdb --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/ERC165.json @@ -0,0 +1,352 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "7": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 6637 + ], + "IERC165": [ + 6792 + ] + }, + "id": 6638, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6615, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "99:23:7" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 6616, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6638, + "sourceUnit": 6793, + "src": "124:23:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 6618, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6792, + "src": "754:7:7" + }, + "id": 6619, + "nodeType": "InheritanceSpecifier", + "src": "754:7:7" + } + ], + "canonicalName": "ERC165", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6617, + "nodeType": "StructuredDocumentation", + "src": "149:576:7", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 6637, + "linearizedBaseContracts": [ + 6637, + 6792 + ], + "name": "ERC165", + "nameLocation": "744:6:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 6791 + ], + "body": { + "id": 6635, + "nodeType": "Block", + "src": "920:64:7", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 6633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6628, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6622, + "src": "937:11:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 6630, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6792, + "src": "957:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$6792_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$6792_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 6629, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "952:4:7", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 6631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:13:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$6792", + "typeString": "type(contract IERC165)" + } + }, + "id": 6632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "952:25:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "937:40:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 6627, + "id": 6634, + "nodeType": "Return", + "src": "930:47:7" + } + ] + }, + "documentation": { + "id": 6620, + "nodeType": "StructuredDocumentation", + "src": "768:56:7", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 6636, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "838:17:7", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 6624, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "896:8:7" + }, + "parameters": { + "id": 6623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6622, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "863:11:7", + "nodeType": "VariableDeclaration", + "scope": 6636, + "src": "856:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6621, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "856:6:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "855:20:7" + }, + "returnParameters": { + "id": 6627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6626, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6636, + "src": "914:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6625, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "913:6:7" + }, + "scope": 6637, + "src": "829:155:7", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 6638, + "src": "726:260:7", + "usedErrors": [] + } + ], + "src": "99:888:7" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "ERC165", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.", + "kind": "dev", + "methods": { + "supportsInterface(bytes4)": { + "details": "See {IERC165-supportsInterface}." + } + }, + "version": 1 + }, + "offset": [ + 726, + 986 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "b3cc6713a4ecd5a40a432dd8a7382c609564ee1a", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/ERC165.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165.json new file mode 100644 index 0000000..f64f5ab --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165.json @@ -0,0 +1,206 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "allSourcePaths": { + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 6792 + ] + }, + "id": 6793, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6782, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "100:23:8" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC165", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 6783, + "nodeType": "StructuredDocumentation", + "src": "125:279:8", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}." + }, + "fullyImplemented": false, + "id": 6792, + "linearizedBaseContracts": [ + 6792 + ], + "name": "IERC165", + "nameLocation": "415:7:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 6784, + "nodeType": "StructuredDocumentation", + "src": "429:340:8", + "text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 6791, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "783:17:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6786, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "808:11:8", + "nodeType": "VariableDeclaration", + "scope": 6791, + "src": "801:18:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6785, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "801:6:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "800:20:8" + }, + "returnParameters": { + "id": 6790, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6789, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6791, + "src": "844:4:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6788, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "844:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "843:6:8" + }, + "scope": 6792, + "src": "774:76:8", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 6793, + "src": "405:447:8", + "usedErrors": [] + } + ], + "src": "100:753:8" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC165", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.", + "kind": "dev", + "methods": { + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." + } + }, + "version": 1 + }, + "offset": [ + 405, + 852 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "d9d927f913d1d062ea9931d132a2f49f5e0cc423", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721.json new file mode 100644 index 0000000..f22efb2 --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721.json @@ -0,0 +1,1721 @@ +{ + "abi": [ + { + "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": "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "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": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "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": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ] + }, + "id": 6754, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6639, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "108:23:1" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 6640, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6754, + "sourceUnit": 6793, + "src": "133:47:1", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 6642, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6792, + "src": "271:7:1" + }, + "id": 6643, + "nodeType": "InheritanceSpecifier", + "src": "271:7:1" + } + ], + "canonicalName": "IERC721", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 6641, + "nodeType": "StructuredDocumentation", + "src": "182:67:1", + "text": " @dev Required interface of an ERC721 compliant contract." + }, + "fullyImplemented": false, + "id": 6753, + "linearizedBaseContracts": [ + 6753, + 6792 + ], + "name": "IERC721", + "nameLocation": "260:7:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 6644, + "nodeType": "StructuredDocumentation", + "src": "285:88:1", + "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." + }, + "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "id": 6652, + "name": "Transfer", + "nameLocation": "384:8:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 6651, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6646, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "409:4:1", + "nodeType": "VariableDeclaration", + "scope": 6652, + "src": "393:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6645, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "393:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6648, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "431:2:1", + "nodeType": "VariableDeclaration", + "scope": 6652, + "src": "415:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6647, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "415:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6650, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "451:7:1", + "nodeType": "VariableDeclaration", + "scope": 6652, + "src": "435:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6649, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "435:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "392:67:1" + }, + "src": "378:82:1" + }, + { + "anonymous": false, + "documentation": { + "id": 6653, + "nodeType": "StructuredDocumentation", + "src": "466:94:1", + "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "id": 6661, + "name": "Approval", + "nameLocation": "571:8:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 6660, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6655, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "596:5:1", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "580:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6654, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "580:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6657, + "indexed": true, + "mutability": "mutable", + "name": "approved", + "nameLocation": "619:8:1", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "603:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6656, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "603:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6659, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "645:7:1", + "nodeType": "VariableDeclaration", + "scope": 6661, + "src": "629:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6658, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "629:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "579:74:1" + }, + "src": "565:89:1" + }, + { + "anonymous": false, + "documentation": { + "id": 6662, + "nodeType": "StructuredDocumentation", + "src": "660:117:1", + "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "eventSelector": "17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31", + "id": 6670, + "name": "ApprovalForAll", + "nameLocation": "788:14:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 6669, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6664, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "819:5:1", + "nodeType": "VariableDeclaration", + "scope": 6670, + "src": "803:21:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6663, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "803:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6666, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "842:8:1", + "nodeType": "VariableDeclaration", + "scope": 6670, + "src": "826:24:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6665, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "826:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6668, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "857:8:1", + "nodeType": "VariableDeclaration", + "scope": 6670, + "src": "852:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6667, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "852:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "802:64:1" + }, + "src": "782:85:1" + }, + { + "documentation": { + "id": 6671, + "nodeType": "StructuredDocumentation", + "src": "873:76:1", + "text": " @dev Returns the number of tokens in ``owner``'s account." + }, + "functionSelector": "70a08231", + "id": 6678, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "963:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6674, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6673, + "mutability": "mutable", + "name": "owner", + "nameLocation": "981:5:1", + "nodeType": "VariableDeclaration", + "scope": 6678, + "src": "973:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6672, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "973:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "972:15:1" + }, + "returnParameters": { + "id": 6677, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6676, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1019:7:1", + "nodeType": "VariableDeclaration", + "scope": 6678, + "src": "1011:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6675, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1011:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1010:17:1" + }, + "scope": 6753, + "src": "954:74:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6679, + "nodeType": "StructuredDocumentation", + "src": "1034:131:1", + "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "6352211e", + "id": 6686, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "1179:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6681, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1195:7:1", + "nodeType": "VariableDeclaration", + "scope": 6686, + "src": "1187:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6680, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1187:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1186:17:1" + }, + "returnParameters": { + "id": 6685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6684, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1235:5:1", + "nodeType": "VariableDeclaration", + "scope": 6686, + "src": "1227:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1227:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1226:15:1" + }, + "scope": 6753, + "src": "1170:72:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6687, + "nodeType": "StructuredDocumentation", + "src": "1248:556:1", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "b88d4fde", + "id": 6698, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1818:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6689, + "mutability": "mutable", + "name": "from", + "nameLocation": "1852:4:1", + "nodeType": "VariableDeclaration", + "scope": 6698, + "src": "1844:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1844:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6691, + "mutability": "mutable", + "name": "to", + "nameLocation": "1874:2:1", + "nodeType": "VariableDeclaration", + "scope": 6698, + "src": "1866:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1866:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6693, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1894:7:1", + "nodeType": "VariableDeclaration", + "scope": 6698, + "src": "1886:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6692, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1886:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6695, + "mutability": "mutable", + "name": "data", + "nameLocation": "1926:4:1", + "nodeType": "VariableDeclaration", + "scope": 6698, + "src": "1911:19:1", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6694, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1911:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1834:102:1" + }, + "returnParameters": { + "id": 6697, + "nodeType": "ParameterList", + "parameters": [], + "src": "1945:0:1" + }, + "scope": 6753, + "src": "1809:137:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6699, + "nodeType": "StructuredDocumentation", + "src": "1952:690:1", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "42842e0e", + "id": 6708, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "2656:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6706, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6701, + "mutability": "mutable", + "name": "from", + "nameLocation": "2690:4:1", + "nodeType": "VariableDeclaration", + "scope": 6708, + "src": "2682:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6700, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2682:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6703, + "mutability": "mutable", + "name": "to", + "nameLocation": "2712:2:1", + "nodeType": "VariableDeclaration", + "scope": 6708, + "src": "2704:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2704:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6705, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2732:7:1", + "nodeType": "VariableDeclaration", + "scope": 6708, + "src": "2724:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6704, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2724:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2672:73:1" + }, + "returnParameters": { + "id": 6707, + "nodeType": "ParameterList", + "parameters": [], + "src": "2754:0:1" + }, + "scope": 6753, + "src": "2647:108:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6709, + "nodeType": "StructuredDocumentation", + "src": "2761:504:1", + "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 6718, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "3279:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6711, + "mutability": "mutable", + "name": "from", + "nameLocation": "3309:4:1", + "nodeType": "VariableDeclaration", + "scope": 6718, + "src": "3301:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6710, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3301:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6713, + "mutability": "mutable", + "name": "to", + "nameLocation": "3331:2:1", + "nodeType": "VariableDeclaration", + "scope": 6718, + "src": "3323:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6712, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3323:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6715, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3351:7:1", + "nodeType": "VariableDeclaration", + "scope": 6718, + "src": "3343:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3343:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3291:73:1" + }, + "returnParameters": { + "id": 6717, + "nodeType": "ParameterList", + "parameters": [], + "src": "3373:0:1" + }, + "scope": 6753, + "src": "3270:104:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6719, + "nodeType": "StructuredDocumentation", + "src": "3380:452:1", + "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 6726, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3846:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6724, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6721, + "mutability": "mutable", + "name": "to", + "nameLocation": "3862:2:1", + "nodeType": "VariableDeclaration", + "scope": 6726, + "src": "3854:10:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3854:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6723, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3874:7:1", + "nodeType": "VariableDeclaration", + "scope": 6726, + "src": "3866:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3866:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3853:29:1" + }, + "returnParameters": { + "id": 6725, + "nodeType": "ParameterList", + "parameters": [], + "src": "3891:0:1" + }, + "scope": 6753, + "src": "3837:55:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6727, + "nodeType": "StructuredDocumentation", + "src": "3898:309:1", + "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." + }, + "functionSelector": "a22cb465", + "id": 6734, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "4221:17:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6729, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4247:8:1", + "nodeType": "VariableDeclaration", + "scope": 6734, + "src": "4239:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6728, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4239:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6731, + "mutability": "mutable", + "name": "_approved", + "nameLocation": "4262:9:1", + "nodeType": "VariableDeclaration", + "scope": 6734, + "src": "4257:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6730, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4257:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4238:34:1" + }, + "returnParameters": { + "id": 6733, + "nodeType": "ParameterList", + "parameters": [], + "src": "4281:0:1" + }, + "scope": 6753, + "src": "4212:70:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6735, + "nodeType": "StructuredDocumentation", + "src": "4288:139:1", + "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "081812fc", + "id": 6742, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "4441:11:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6738, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6737, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4461:7:1", + "nodeType": "VariableDeclaration", + "scope": 6742, + "src": "4453:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6736, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4453:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4452:17:1" + }, + "returnParameters": { + "id": 6741, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6740, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4501:8:1", + "nodeType": "VariableDeclaration", + "scope": 6742, + "src": "4493:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6739, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4493:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4492:18:1" + }, + "scope": 6753, + "src": "4432:79:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6743, + "nodeType": "StructuredDocumentation", + "src": "4517:138:1", + "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" + }, + "functionSelector": "e985e9c5", + "id": 6752, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "4669:16:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6745, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4694:5:1", + "nodeType": "VariableDeclaration", + "scope": 6752, + "src": "4686:13:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6744, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4686:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6747, + "mutability": "mutable", + "name": "operator", + "nameLocation": "4709:8:1", + "nodeType": "VariableDeclaration", + "scope": 6752, + "src": "4701:16:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6746, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4701:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4685:33:1" + }, + "returnParameters": { + "id": 6751, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6750, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6752, + "src": "4742:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6749, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4742:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4741:6:1" + }, + "scope": 6753, + "src": "4660:88:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 6754, + "src": "250:4500:1", + "usedErrors": [] + } + ], + "src": "108:4643:1" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC721", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Required interface of an ERC721 compliant contract.", + "events": { + "Approval(address,address,uint256)": { + "details": "Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "ApprovalForAll(address,address,bool)": { + "details": "Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "Transfer(address,address,uint256)": { + "details": "Emitted when `tokenId` token is transferred from `from` to `to`." + } + }, + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." + } + }, + "version": 1 + }, + "offset": [ + 250, + 4750 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "e6ba89fb14d5f30e840815e0641dbbb126f719cc", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes calldata data\n ) external;\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata.json new file mode 100644 index 0000000..5ef9e88 --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Metadata.json @@ -0,0 +1,714 @@ +{ + "abi": [ + { + "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": "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": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "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": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "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" + } + ], + "allSourcePaths": { + "1": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "3": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "8": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/introspection/IERC165.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "exportedSymbols": { + "IERC165": [ + 6792 + ], + "IERC721": [ + 6753 + ], + "IERC721Metadata": [ + 6780 + ] + }, + "id": 6781, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6755, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "112:23:3" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721.sol", + "file": "../IERC721.sol", + "id": 6756, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6781, + "sourceUnit": 6754, + "src": "137:24:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 6758, + "name": "IERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6753, + "src": "326:7:3" + }, + "id": 6759, + "nodeType": "InheritanceSpecifier", + "src": "326:7:3" + } + ], + "canonicalName": "IERC721Metadata", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 6757, + "nodeType": "StructuredDocumentation", + "src": "163:133:3", + "text": " @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": false, + "id": 6780, + "linearizedBaseContracts": [ + 6780, + 6753, + 6792 + ], + "name": "IERC721Metadata", + "nameLocation": "307:15:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 6760, + "nodeType": "StructuredDocumentation", + "src": "340:58:3", + "text": " @dev Returns the token collection name." + }, + "functionSelector": "06fdde03", + "id": 6765, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "412:4:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6761, + "nodeType": "ParameterList", + "parameters": [], + "src": "416:2:3" + }, + "returnParameters": { + "id": 6764, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6763, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6765, + "src": "442:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6762, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "442:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "441:15:3" + }, + "scope": 6780, + "src": "403:54:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6766, + "nodeType": "StructuredDocumentation", + "src": "463:60:3", + "text": " @dev Returns the token collection symbol." + }, + "functionSelector": "95d89b41", + "id": 6771, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "537:6:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6767, + "nodeType": "ParameterList", + "parameters": [], + "src": "543:2:3" + }, + "returnParameters": { + "id": 6770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6769, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6771, + "src": "569:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6768, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "569:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "568:15:3" + }, + "scope": 6780, + "src": "528:56:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 6772, + "nodeType": "StructuredDocumentation", + "src": "590:90:3", + "text": " @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "functionSelector": "c87b56dd", + "id": 6779, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "694:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6775, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6774, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "711:7:3", + "nodeType": "VariableDeclaration", + "scope": 6779, + "src": "703:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6773, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "703:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "702:17:3" + }, + "returnParameters": { + "id": 6778, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6777, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6779, + "src": "743:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6776, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "743:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "742:15:3" + }, + "scope": 6780, + "src": "685:73:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 6781, + "src": "297:463:3", + "usedErrors": [] + } + ], + "src": "112:649:3" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC721Metadata", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC165", + "OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "See https://eips.ethereum.org/EIPS/eip-721", + "kind": "dev", + "methods": { + "approve(address,uint256)": { + "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." + }, + "balanceOf(address)": { + "details": "Returns the number of tokens in ``owner``'s account." + }, + "getApproved(uint256)": { + "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." + }, + "isApprovedForAll(address,address)": { + "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" + }, + "name()": { + "details": "Returns the token collection name." + }, + "ownerOf(uint256)": { + "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." + }, + "safeTransferFrom(address,address,uint256)": { + "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "safeTransferFrom(address,address,uint256,bytes)": { + "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." + }, + "setApprovalForAll(address,bool)": { + "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." + }, + "supportsInterface(bytes4)": { + "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." + }, + "symbol()": { + "details": "Returns the token collection symbol." + }, + "tokenURI(uint256)": { + "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." + }, + "transferFrom(address,address,uint256)": { + "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." + } + }, + "title": "ERC-721 Non-Fungible Token Standard, optional metadata extension", + "version": 1 + }, + "offset": [ + 297, + 760 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "f2961c701500b017eb65f22ae6a5bc46486b959a", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/extensions/IERC721Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/extensions/IERC721Metadata.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Receiver.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Receiver.json new file mode 100644 index 0000000..f36324d --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/IERC721Receiver.json @@ -0,0 +1,305 @@ +{ + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "2": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721Receiver.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721Receiver.sol", + "exportedSymbols": { + "IERC721Receiver": [ + 6093 + ] + }, + "id": 6094, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6077, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "116:23:2" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC721Receiver", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 6078, + "nodeType": "StructuredDocumentation", + "src": "141:152:2", + "text": " @title ERC721 token receiver interface\n @dev Interface for any contract that wants to support safeTransfers\n from ERC721 asset contracts." + }, + "fullyImplemented": false, + "id": 6093, + "linearizedBaseContracts": [ + 6093 + ], + "name": "IERC721Receiver", + "nameLocation": "304:15:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 6079, + "nodeType": "StructuredDocumentation", + "src": "326:493:2", + "text": " @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n by `operator` from `from`, this function is called.\n It must return its Solidity selector to confirm the token transfer.\n If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." + }, + "functionSelector": "150b7a02", + "id": 6092, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "onERC721Received", + "nameLocation": "833:16:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6088, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6081, + "mutability": "mutable", + "name": "operator", + "nameLocation": "867:8:2", + "nodeType": "VariableDeclaration", + "scope": 6092, + "src": "859:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "859:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6083, + "mutability": "mutable", + "name": "from", + "nameLocation": "893:4:2", + "nodeType": "VariableDeclaration", + "scope": 6092, + "src": "885:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6082, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "885:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6085, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "915:7:2", + "nodeType": "VariableDeclaration", + "scope": 6092, + "src": "907:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6084, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "907:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6087, + "mutability": "mutable", + "name": "data", + "nameLocation": "947:4:2", + "nodeType": "VariableDeclaration", + "scope": 6092, + "src": "932:19:2", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6086, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "932:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "849:108:2" + }, + "returnParameters": { + "id": 6091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6090, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6092, + "src": "976:6:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 6089, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "976:6:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "975:8:2" + }, + "scope": 6093, + "src": "824:160:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 6094, + "src": "294:692:2", + "usedErrors": [] + } + ], + "src": "116:871:2" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "IERC721Receiver", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.", + "kind": "dev", + "methods": { + "onERC721Received(address,address,uint256,bytes)": { + "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`." + } + }, + "title": "ERC721 token receiver interface", + "version": 1 + }, + "offset": [ + 294, + 986 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "814675660e7b7a8dec20898bef80ef03e69bd4b2", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC721/IERC721Receiver.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721Receiver.onERC721Received.selector`.\n */\n function onERC721Received(\n address operator,\n address from,\n uint256 tokenId,\n bytes calldata data\n ) external returns (bytes4);\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC721/IERC721Receiver.sol", + "type": "interface" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable.json new file mode 100644 index 0000000..6cfef58 --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Ownable.json @@ -0,0 +1,1340 @@ +{ + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "allSourcePaths": { + "0": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "5": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 6410 + ], + "Ownable": [ + 6075 + ] + }, + "id": 6076, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5972, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "87:23:0" + }, + { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 5973, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 6076, + "sourceUnit": 6411, + "src": "112:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 5975, + "name": "Context", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6410, + "src": "668:7:0" + }, + "id": 5976, + "nodeType": "InheritanceSpecifier", + "src": "668:7:0" + } + ], + "canonicalName": "Ownable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 5974, + "nodeType": "StructuredDocumentation", + "src": "144:494:0", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 6075, + "linearizedBaseContracts": [ + 6075, + 6410 + ], + "name": "Ownable", + "nameLocation": "657:7:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 5978, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "698:6:0", + "nodeType": "VariableDeclaration", + "scope": 6075, + "src": "682:22:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5977, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "682:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 5984, + "name": "OwnershipTransferred", + "nameLocation": "717:20:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 5983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5980, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "754:13:0", + "nodeType": "VariableDeclaration", + "scope": 5984, + "src": "738:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5979, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "738:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5982, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "785:8:0", + "nodeType": "VariableDeclaration", + "scope": 5984, + "src": "769:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5981, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "769:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "737:57:0" + }, + "src": "711:84:0" + }, + { + "body": { + "id": 5993, + "nodeType": "Block", + "src": "911:49:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5989, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "940:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "940:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 5988, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6074, + "src": "921:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "921:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5992, + "nodeType": "ExpressionStatement", + "src": "921:32:0" + } + ] + }, + "documentation": { + "id": 5985, + "nodeType": "StructuredDocumentation", + "src": "801:91:0", + "text": " @dev Initializes the contract setting the deployer as the initial owner." + }, + "id": 5994, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5986, + "nodeType": "ParameterList", + "parameters": [], + "src": "908:2:0" + }, + "returnParameters": { + "id": 5987, + "nodeType": "ParameterList", + "parameters": [], + "src": "911:0:0" + }, + "scope": 6075, + "src": "897:63:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6002, + "nodeType": "Block", + "src": "1091:30:0", + "statements": [ + { + "expression": { + "id": 6000, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5978, + "src": "1108:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 5999, + "id": 6001, + "nodeType": "Return", + "src": "1101:13:0" + } + ] + }, + "documentation": { + "id": 5995, + "nodeType": "StructuredDocumentation", + "src": "966:65:0", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 6003, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1045:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5996, + "nodeType": "ParameterList", + "parameters": [], + "src": "1050:2:0" + }, + "returnParameters": { + "id": 5999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5998, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6003, + "src": "1082:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5997, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1082:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1081:9:0" + }, + "scope": 6075, + "src": "1036:85:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 6016, + "nodeType": "Block", + "src": "1230:96:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6007, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6003, + "src": "1248:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 6008, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1248:7:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 6009, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6400, + "src": "1259:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 6010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1259:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1248:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 6012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:34:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 6006, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1240:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1240:68:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6014, + "nodeType": "ExpressionStatement", + "src": "1240:68:0" + }, + { + "id": 6015, + "nodeType": "PlaceholderStatement", + "src": "1318:1:0" + } + ] + }, + "documentation": { + "id": 6004, + "nodeType": "StructuredDocumentation", + "src": "1127:77:0", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 6017, + "name": "onlyOwner", + "nameLocation": "1218:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 6005, + "nodeType": "ParameterList", + "parameters": [], + "src": "1227:2:0" + }, + "src": "1209:117:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6030, + "nodeType": "Block", + "src": "1722:47:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 6026, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1759:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1751:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6024, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1751:7:0", + "typeDescriptions": {} + } + }, + "id": 6027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1751:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6023, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6074, + "src": "1732:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 6028, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1732:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6029, + "nodeType": "ExpressionStatement", + "src": "1732:30:0" + } + ] + }, + "documentation": { + "id": 6018, + "nodeType": "StructuredDocumentation", + "src": "1332:331:0", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 6031, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6021, + "kind": "modifierInvocation", + "modifierName": { + "id": 6020, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "1712:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "1712:9:0" + } + ], + "name": "renounceOwnership", + "nameLocation": "1677:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6019, + "nodeType": "ParameterList", + "parameters": [], + "src": "1694:2:0" + }, + "returnParameters": { + "id": 6022, + "nodeType": "ParameterList", + "parameters": [], + "src": "1722:0:0" + }, + "scope": 6075, + "src": "1668:101:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 6053, + "nodeType": "Block", + "src": "1988:128:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 6045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6040, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6034, + "src": "2006:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 6043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2026:1:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2018:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6041, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2018:7:0", + "typeDescriptions": {} + } + }, + "id": 6044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2018:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2006:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 6046, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:40:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 6039, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1998:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1998:73:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6048, + "nodeType": "ExpressionStatement", + "src": "1998:73:0" + }, + { + "expression": { + "arguments": [ + { + "id": 6050, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6034, + "src": "2100:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6049, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6074, + "src": "2081:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 6051, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2081:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6052, + "nodeType": "ExpressionStatement", + "src": "2081:28:0" + } + ] + }, + "documentation": { + "id": 6032, + "nodeType": "StructuredDocumentation", + "src": "1775:138:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 6054, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6037, + "kind": "modifierInvocation", + "modifierName": { + "id": 6036, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 6017, + "src": "1978:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "1978:9:0" + } + ], + "name": "transferOwnership", + "nameLocation": "1927:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6034, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1953:8:0", + "nodeType": "VariableDeclaration", + "scope": 6054, + "src": "1945:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6033, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1945:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1944:18:0" + }, + "returnParameters": { + "id": 6038, + "nodeType": "ParameterList", + "parameters": [], + "src": "1988:0:0" + }, + "scope": 6075, + "src": "1918:198:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 6073, + "nodeType": "Block", + "src": "2333:124:0", + "statements": [ + { + "assignments": [ + 6061 + ], + "declarations": [ + { + "constant": false, + "id": 6061, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2351:8:0", + "nodeType": "VariableDeclaration", + "scope": 6073, + "src": "2343:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2343:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 6063, + "initialValue": { + "id": 6062, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5978, + "src": "2362:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2343:25:0" + }, + { + "expression": { + "id": 6066, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6064, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5978, + "src": "2378:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 6065, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6057, + "src": "2387:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2378:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6067, + "nodeType": "ExpressionStatement", + "src": "2378:17:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6069, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6061, + "src": "2431:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6070, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6057, + "src": "2441:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 6068, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5984, + "src": "2410:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6071, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2410:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6072, + "nodeType": "EmitStatement", + "src": "2405:45:0" + } + ] + }, + "documentation": { + "id": 6055, + "nodeType": "StructuredDocumentation", + "src": "2122:143:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 6074, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2279:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6057, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2306:8:0", + "nodeType": "VariableDeclaration", + "scope": 6074, + "src": "2298:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2298:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2297:18:0" + }, + "returnParameters": { + "id": 6059, + "nodeType": "ParameterList", + "parameters": [], + "src": "2333:0:0" + }, + "scope": 6075, + "src": "2270:187:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 6076, + "src": "639:1820:0", + "usedErrors": [] + } + ], + "src": "87:2373:0" + }, + "bytecode": "", + "bytecodeSha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Ownable", + "coverageMap": { + "branches": {}, + "statements": {} + }, + "dependencies": [ + "OpenZeppelin/openzeppelin-contracts@4.6.0/Context" + ], + "deployedBytecode": "", + "deployedSourceMap": "", + "language": "Solidity", + "natspec": { + "details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.", + "kind": "dev", + "methods": { + "constructor": { + "details": "Initializes the contract setting the deployer as the initial owner." + }, + "owner()": { + "details": "Returns the address of the current owner." + }, + "renounceOwnership()": { + "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." + }, + "transferOwnership(address)": { + "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." + } + }, + "version": 1 + }, + "offset": [ + 639, + 2459 + ], + "opcodes": "", + "pcMap": {}, + "sha1": "d756b3242c79ebd83bcf5905ef187773b0675c8b", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n", + "sourceMap": "", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/access/Ownable.sol", + "type": "contract" +} \ No newline at end of file diff --git a/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Strings.json b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Strings.json new file mode 100644 index 0000000..de08c18 --- /dev/null +++ b/tests/build/contracts/dependencies/OpenZeppelin/openzeppelin-contracts@4.6.0/Strings.json @@ -0,0 +1,2679 @@ +{ + "abi": [], + "allSourcePaths": { + "6": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Strings.sol" + }, + "ast": { + "absolutePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Strings.sol", + "exportedSymbols": { + "Strings": [ + 6613 + ] + }, + "id": 6614, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 6412, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:6" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Strings", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 6413, + "nodeType": "StructuredDocumentation", + "src": "111:34:6", + "text": " @dev String operations." + }, + "fullyImplemented": true, + "id": 6613, + "linearizedBaseContracts": [ + 6613 + ], + "name": "Strings", + "nameLocation": "154:7:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 6416, + "mutability": "constant", + "name": "_HEX_SYMBOLS", + "nameLocation": "193:12:6", + "nodeType": "VariableDeclaration", + "scope": 6613, + "src": "168:58:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 6414, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "168:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": { + "hexValue": "30313233343536373839616263646566", + "id": 6415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "208:18:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", + "typeString": "literal_string \"0123456789abcdef\"" + }, + "value": "0123456789abcdef" + }, + "visibility": "private" + }, + { + "body": { + "id": 6494, + "nodeType": "Block", + "src": "399:632:6", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6424, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "601:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "610:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "601:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6430, + "nodeType": "IfStatement", + "src": "597:51:6", + "trueBody": { + "id": 6429, + "nodeType": "Block", + "src": "613:35:6", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 6427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "634:3:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "functionReturnParameters": 6423, + "id": 6428, + "nodeType": "Return", + "src": "627:10:6" + } + ] + } + }, + { + "assignments": [ + 6432 + ], + "declarations": [ + { + "constant": false, + "id": 6432, + "mutability": "mutable", + "name": "temp", + "nameLocation": "665:4:6", + "nodeType": "VariableDeclaration", + "scope": 6494, + "src": "657:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6431, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "657:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6434, + "initialValue": { + "id": 6433, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "672:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "657:20:6" + }, + { + "assignments": [ + 6436 + ], + "declarations": [ + { + "constant": false, + "id": 6436, + "mutability": "mutable", + "name": "digits", + "nameLocation": "695:6:6", + "nodeType": "VariableDeclaration", + "scope": 6494, + "src": "687:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6435, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "687:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6437, + "nodeType": "VariableDeclarationStatement", + "src": "687:14:6" + }, + { + "body": { + "id": 6448, + "nodeType": "Block", + "src": "729:57:6", + "statements": [ + { + "expression": { + "id": 6442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "743:8:6", + "subExpression": { + "id": 6441, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6436, + "src": "743:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6443, + "nodeType": "ExpressionStatement", + "src": "743:8:6" + }, + { + "expression": { + "id": 6446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6444, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6432, + "src": "765:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 6445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "773:2:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "765:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6447, + "nodeType": "ExpressionStatement", + "src": "765:10:6" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6440, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6438, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6432, + "src": "718:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 6439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "718:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6449, + "nodeType": "WhileStatement", + "src": "711:75:6" + }, + { + "assignments": [ + 6451 + ], + "declarations": [ + { + "constant": false, + "id": 6451, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "808:6:6", + "nodeType": "VariableDeclaration", + "scope": 6494, + "src": "795:19:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6450, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "795:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6456, + "initialValue": { + "arguments": [ + { + "id": 6454, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6436, + "src": "827:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "817:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 6452, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "821:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 6455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "817:17:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "795:39:6" + }, + { + "body": { + "id": 6487, + "nodeType": "Block", + "src": "863:131:6", + "statements": [ + { + "expression": { + "id": 6462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6460, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6436, + "src": "877:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 6461, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "887:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "877:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6463, + "nodeType": "ExpressionStatement", + "src": "877:11:6" + }, + { + "expression": { + "id": 6481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6464, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6451, + "src": "902:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6466, + "indexExpression": { + "id": 6465, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6436, + "src": "909:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "902:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3438", + "id": 6471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "932:2:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6474, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "945:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "3130", + "id": 6475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "953:2:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "945:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "937:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 6472, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "937:7:6", + "typeDescriptions": {} + } + }, + "id": 6477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:19:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "932:24:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6470, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "926:5:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 6469, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "926:5:6", + "typeDescriptions": {} + } + }, + "id": 6479, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "926:31:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 6468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "919:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 6467, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "919:6:6", + "typeDescriptions": {} + } + }, + "id": 6480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "919:39:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "902:56:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 6482, + "nodeType": "ExpressionStatement", + "src": "902:56:6" + }, + { + "expression": { + "id": 6485, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6483, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "972:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 6484, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "981:2:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "972:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6486, + "nodeType": "ExpressionStatement", + "src": "972:11:6" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6457, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6419, + "src": "851:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 6458, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "860:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "851:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6488, + "nodeType": "WhileStatement", + "src": "844:150:6" + }, + { + "expression": { + "arguments": [ + { + "id": 6491, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6451, + "src": "1017:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1010:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 6489, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1010:6:6", + "typeDescriptions": {} + } + }, + "id": 6492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:14:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6423, + "id": 6493, + "nodeType": "Return", + "src": "1003:21:6" + } + ] + }, + "documentation": { + "id": 6417, + "nodeType": "StructuredDocumentation", + "src": "233:90:6", + "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." + }, + "id": 6495, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "337:8:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6419, + "mutability": "mutable", + "name": "value", + "nameLocation": "354:5:6", + "nodeType": "VariableDeclaration", + "scope": 6495, + "src": "346:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6418, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "346:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "345:15:6" + }, + "returnParameters": { + "id": 6423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6422, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6495, + "src": "384:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6421, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "384:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "383:15:6" + }, + "scope": 6613, + "src": "328:703:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6535, + "nodeType": "Block", + "src": "1210:255:6", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6503, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6498, + "src": "1224:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1233:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1224:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6509, + "nodeType": "IfStatement", + "src": "1220:54:6", + "trueBody": { + "id": 6508, + "nodeType": "Block", + "src": "1236:38:6", + "statements": [ + { + "expression": { + "hexValue": "30783030", + "id": 6506, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1257:6:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4", + "typeString": "literal_string \"0x00\"" + }, + "value": "0x00" + }, + "functionReturnParameters": 6502, + "id": 6507, + "nodeType": "Return", + "src": "1250:13:6" + } + ] + } + }, + { + "assignments": [ + 6511 + ], + "declarations": [ + { + "constant": false, + "id": 6511, + "mutability": "mutable", + "name": "temp", + "nameLocation": "1291:4:6", + "nodeType": "VariableDeclaration", + "scope": 6535, + "src": "1283:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6510, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1283:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6513, + "initialValue": { + "id": 6512, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6498, + "src": "1298:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1283:20:6" + }, + { + "assignments": [ + 6515 + ], + "declarations": [ + { + "constant": false, + "id": 6515, + "mutability": "mutable", + "name": "length", + "nameLocation": "1321:6:6", + "nodeType": "VariableDeclaration", + "scope": 6535, + "src": "1313:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6514, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1313:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6517, + "initialValue": { + "hexValue": "30", + "id": 6516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1313:18:6" + }, + { + "body": { + "id": 6528, + "nodeType": "Block", + "src": "1359:57:6", + "statements": [ + { + "expression": { + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1373:8:6", + "subExpression": { + "id": 6521, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6515, + "src": "1373:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6523, + "nodeType": "ExpressionStatement", + "src": "1373:8:6" + }, + { + "expression": { + "id": 6526, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6524, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6511, + "src": "1395:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "38", + "id": 6525, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1404:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "1395:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6527, + "nodeType": "ExpressionStatement", + "src": "1395:10:6" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6518, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6511, + "src": "1348:4:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 6519, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1356:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1348:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6529, + "nodeType": "WhileStatement", + "src": "1341:75:6" + }, + { + "expression": { + "arguments": [ + { + "id": 6531, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6498, + "src": "1444:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6532, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6515, + "src": "1451:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6530, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 6536, + 6612 + ], + "referencedDeclaration": 6612, + "src": "1432:11:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 6533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1432:26:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6502, + "id": 6534, + "nodeType": "Return", + "src": "1425:33:6" + } + ] + }, + "documentation": { + "id": 6496, + "nodeType": "StructuredDocumentation", + "src": "1037:94:6", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." + }, + "id": 6536, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1145:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6498, + "mutability": "mutable", + "name": "value", + "nameLocation": "1165:5:6", + "nodeType": "VariableDeclaration", + "scope": 6536, + "src": "1157:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6497, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1157:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1156:15:6" + }, + "returnParameters": { + "id": 6502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6501, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6536, + "src": "1195:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6500, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1195:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1194:15:6" + }, + "scope": 6613, + "src": "1136:329:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6611, + "nodeType": "Block", + "src": "1678:351:6", + "statements": [ + { + "assignments": [ + 6547 + ], + "declarations": [ + { + "constant": false, + "id": 6547, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "1701:6:6", + "nodeType": "VariableDeclaration", + "scope": 6611, + "src": "1688:19:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 6546, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1688:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 6556, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6550, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1720:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6551, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6541, + "src": "1724:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1720:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 6553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1733:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1720:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 6549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1710:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 6548, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1714:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 6555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1710:25:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1688:47:6" + }, + { + "expression": { + "id": 6561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6557, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6547, + "src": "1745:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6559, + "indexExpression": { + "hexValue": "30", + "id": 6558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1752:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1745:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 6560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1757:3:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "src": "1745:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 6562, + "nodeType": "ExpressionStatement", + "src": "1745:15:6" + }, + { + "expression": { + "id": 6567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6563, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6547, + "src": "1770:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6565, + "indexExpression": { + "hexValue": "31", + "id": 6564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1777:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1770:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "78", + "id": 6566, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1782:3:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", + "typeString": "literal_string \"x\"" + }, + "value": "x" + }, + "src": "1770:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 6568, + "nodeType": "ExpressionStatement", + "src": "1770:15:6" + }, + { + "body": { + "id": 6597, + "nodeType": "Block", + "src": "1840:87:6", + "statements": [ + { + "expression": { + "id": 6591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6583, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6547, + "src": "1854:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 6585, + "indexExpression": { + "id": 6584, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6570, + "src": "1861:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1854:9:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 6586, + "name": "_HEX_SYMBOLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6416, + "src": "1866:12:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "id": 6590, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6587, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6539, + "src": "1879:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307866", + "id": 6588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1887:3:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "0xf" + }, + "src": "1879:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1866:25:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "1854:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 6592, + "nodeType": "ExpressionStatement", + "src": "1854:37:6" + }, + { + "expression": { + "id": 6595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6593, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6539, + "src": "1905:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 6594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "1905:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6596, + "nodeType": "ExpressionStatement", + "src": "1905:11:6" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6579, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6577, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6570, + "src": "1828:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 6578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1832:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1828:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 6598, + "initializationExpression": { + "assignments": [ + 6570 + ], + "declarations": [ + { + "constant": false, + "id": 6570, + "mutability": "mutable", + "name": "i", + "nameLocation": "1808:1:6", + "nodeType": "VariableDeclaration", + "scope": 6598, + "src": "1800:9:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6569, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1800:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6576, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 6571, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1812:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 6572, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6541, + "src": "1816:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1812:10:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 6574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1825:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1812:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1800:26:6" + }, + "loopExpression": { + "expression": { + "id": 6581, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": true, + "src": "1835:3:6", + "subExpression": { + "id": 6580, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6570, + "src": "1837:1:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6582, + "nodeType": "ExpressionStatement", + "src": "1835:3:6" + }, + "nodeType": "ForStatement", + "src": "1795:132:6" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 6602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6600, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6539, + "src": "1944:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 6601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1953:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1944:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "id": 6603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1956:34:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + }, + "value": "Strings: hex length insufficient" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + } + ], + "id": 6599, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1936:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 6604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1936:55:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6605, + "nodeType": "ExpressionStatement", + "src": "1936:55:6" + }, + { + "expression": { + "arguments": [ + { + "id": 6608, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6547, + "src": "2015:6:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2008:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 6606, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2008:6:6", + "typeDescriptions": {} + } + }, + "id": 6609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2008:14:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 6545, + "id": 6610, + "nodeType": "Return", + "src": "2001:21:6" + } + ] + }, + "documentation": { + "id": 6537, + "nodeType": "StructuredDocumentation", + "src": "1471:112:6", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." + }, + "id": 6612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1597:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6539, + "mutability": "mutable", + "name": "value", + "nameLocation": "1617:5:6", + "nodeType": "VariableDeclaration", + "scope": 6612, + "src": "1609:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6538, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1609:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6541, + "mutability": "mutable", + "name": "length", + "nameLocation": "1632:6:6", + "nodeType": "VariableDeclaration", + "scope": 6612, + "src": "1624:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6540, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1624:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1608:31:6" + }, + "returnParameters": { + "id": 6545, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6544, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6612, + "src": "1663:13:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6543, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1663:6:6", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1662:15:6" + }, + "scope": 6613, + "src": "1588:441:6", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 6614, + "src": "146:1885:6", + "usedErrors": [] + } + ], + "src": "86:1946:6" + }, + "bytecode": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203b395f72ee624c29f505bcdfc42eb867da3ca7fcca213f9d048cf6f2e9d0d0df64736f6c634300080f0033", + "bytecodeSha1": "1ce946f6a4eaa185320328620ccf999b9e86db7c", + "compiler": { + "evm_version": "istanbul", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "version": "0.8.15+commit.e14f2714" + }, + "contractName": "Strings", + "coverageMap": { + "branches": { + "6": {} + }, + "statements": { + "6": {} + } + }, + "dependencies": [], + "deployedBytecode": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203b395f72ee624c29f505bcdfc42eb867da3ca7fcca213f9d048cf6f2e9d0d0df64736f6c634300080f0033", + "deployedSourceMap": "146:1885:6:-:0;;;;;;;;", + "language": "Solidity", + "natspec": { + "details": "String operations.", + "kind": "dev", + "methods": {}, + "version": 1 + }, + "offset": [ + 146, + 2031 + ], + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 EXTCODESIZE CODECOPY 0x5F PUSH19 0xEE624C29F505BCDFC42EB867DA3CA7FCCA213F SWAP14 DIV DUP13 0xF6 CALLCODE 0xE9 0xD0 0xD0 0xDF PUSH5 0x736F6C6343 STOP ADDMOD 0xF STOP CALLER ", + "pcMap": { + "0": { + "offset": [ + 146, + 2031 + ], + "op": "PUSH20", + "path": "6", + "value": "0x0" + }, + "21": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "ADDRESS", + "path": "6" + }, + "22": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "EQ", + "path": "6" + }, + "23": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "PUSH1", + "path": "6", + "value": "0x80" + }, + "25": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "PUSH1", + "path": "6", + "value": "0x40" + }, + "27": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "MSTORE", + "path": "6" + }, + "28": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "PUSH1", + "path": "6", + "value": "0x0" + }, + "30": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "DUP1", + "path": "6" + }, + "31": { + "fn": null, + "offset": [ + 146, + 2031 + ], + "op": "REVERT", + "path": "6" + } + }, + "sha1": "8da07805a3ba0f671b12c496f43ae8c2684df165", + "source": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` decimal representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.\n */\n function toHexString(uint256 value) internal pure returns (string memory) {\n if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\n }\n\n /**\n * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.\n */\n function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n bytes memory buffer = new bytes(2 * length + 2);\n buffer[0] = \"0\";\n buffer[1] = \"x\";\n for (uint256 i = 2 * length + 1; i > 1; --i) {\n buffer[i] = _HEX_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n}\n", + "sourceMap": "146:1885:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;146:1885:6;;;;;;;;;;;;;;;;;", + "sourcePath": "C:/Users/antho/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/Strings.sol", + "type": "library" +} \ No newline at end of file diff --git a/tests/build/tests.json b/tests/build/tests.json new file mode 100644 index 0000000..b162f14 --- /dev/null +++ b/tests/build/tests.json @@ -0,0 +1,2013 @@ +{ + "contracts": { + "Admin": "63bf4ddaf73a55a7407006cf662f55a2c018e522", + "Allowlist": "551319127cdb9fbe01dc66d31d0c29a0093727e8", + "DeployerERC721": "64af4be4c79235994ee5f664f990306a43ed4cc7", + "DeployerSoulbound": "35ffdfcb9983740d3637dc7f015f4e2dd55add0e", + "DeployerSoulboundWithExtension": "a6ea8695ca076f30b62ba051edc80c8c57a61288", + "ERC721ABurnableMock": "b90fdebd2b7f1163e508e8bea7f4c47b530dc3f6", + "ERC721ABurnableStartTokenIdMock": "9925c2c8794b6c8e00b59dc9c83214568cf3f9a6", + "ERC721AGasReporterMock": "85fec4181c3ad596d742cf807e61059e42ead50a", + "ERC721AMock": "421add3143af2b4adf1ce79de2d1156186aadb65", + "ERC721AStartTokenIdMock": "e5dd6e1947f96fa261f45ab72fcb1ef01d94131e", + "ERC721ExtensionCore": "458c19f934af592b2aa9c73f8d07a95fd61adf5a", + "ERC721ExtensionSignature": "25973c3ef519cb5470a80e0e78851de93963db76", + "ERC721ReceiverMock": "1a2d4ef8bc83532324ce1e896d26ba872a18d280", + "IsValidWithDate": "67fe842c4073c6e48d213685bf4aa3589531317c", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Address": "1ce946f6a4eaa185320328620ccf999b9e86db7c", + "OpenZeppelin/openzeppelin-contracts@4.6.0/Strings": "1ce946f6a4eaa185320328620ccf999b9e86db7c", + "Pausable": "3b5be5f17b74c7d6d3ec1c7fa81c132354ec3b49", + "Soulbound": "a9ab484f7c2de8a9798ef45b4f2db8c2de2b98dd", + "SoulboundCore": "333764c9d3663004bd705297770b3d2c6716ca21", + "SoulboundRedeemable": "cae05163a6e53907f9a771b99db512f3f068f731", + "SoulboundWithSignature": "2bc40e57320a49569442760b8f5ca6efabc2794d", + "StartTokenIdHelper": "c7a0822956208462f5d70c767b4471e2f6a87c9f" + }, + "tests": { + "tests/Admin_test.py": { + "coverage": true, + "isolated": false, + "results": "...........", + "sha1": "19fc6b1ada6ceb6f755a0b2789683afd766a07c8", + "txhash": [ + "03ed66a7e3d0ff45bf53a6604b65bab5db704761", + "0769d133161133c923fb280199e7071219586e61", + "0889852da28db1afc0626ea1245f052beddfcb55", + "0af155bea7cc62e1eb90822927713844041ed32f", + "0b062c6488b3f3435a682de7a662851952aef5d6", + "0fcc0638e1b01bf6ab1ce0a5281dde63645de589", + "14c11a3ce6c6b7aa09053c0cd8a1d350216d087b", + "18d09c202b9041a342ba8fab057303cf9389e912", + "18eadfe01fa4eac1b6e969eba56d6457d18ca6a4", + "1be5534e6631b3b581a85ae4b723cbef8e8cad67", + "20175facdf739c389ab449cd29a30e9e29e086a7", + "2083a656f9b6ae51dbaa8947d531ad3c3aabe672", + "21300753899d3ceec9700a7c975743ac6cd440ae", + "2693907dc8b00750ee43e5cf348eef20eefde0df", + "26d1494fe7fb058df58063c40f1c4a3450ddc263", + "28b16530a50210952db85c382f006112cc1313df", + "2e22c515afab9bab9df7c1a702b8cc8aa06ee42a", + "30483b76883bb6585720da75d76c07e564220b1b", + "3760c3d4498f2d739c0300a5ce2f98e642df9922", + "37e34947e8d47498441b5d088857654fc7d7c652", + "3d276769180a6b1a8c07369dce484db767a5cb47", + "3f6704817c8089451fd52aaa1233e7455400d0e5", + "406cd66bccc3b7e2b1c8f050808d055b0e02afa9", + "40983440fd26c55ed81a3d92eabd187277993c58", + "40b3137cd9922afdce6a8fbe7c9c710814505e2c", + "429e331bf43ac2de1199e98af0171ecaf5da6dbb", + "433084ada946badabb3dff2dc1dabd53f36c3fca", + "4688b1dd29e2fdf36dab8de5cd18999521a1993c", + "49a8e265a93efa241ab7d53e13880c6d6100e4c0", + "4b7a713d7f54c5f02beb35bde680d30e985d68f1", + "4c03da8e5c968a2b253aac98898fe7e6dd337548", + "4c5f3e85ad1963e4454bf3c320409525e62b8449", + "4dbefbeec30fc42f06d74af823ea9d23ffff49e8", + "4e253fcb031ea54dff268eee2231db6aa7d3258f", + "5620b68c8dd1179637a5b6ae51cbf4c6bf1ae702", + "5dd14cdee6a2bd3605d9b2b53ed6ffe1d518c279", + "5e3592299646900b225d4f5457457b765ba3e338", + "64e04ee2b9d164dd3b13e1da762412860810a0c9", + "69b9cf8a60a3d55844d32816d5867149a865376d", + "6b65530659c31607ac386b2996330003e89a8df5", + "6cd25d27016e4e10c381b92900c50022612e2fc8", + "6d15d57de8bc211c532117725533c1893900217a", + "709db5842136191a810f9ce8f03ee5f16e60088a", + "71105ed809395b32f8c2f05096465f4a79d6ed4d", + "717fff92e168e53d6bff710a275df3f0346b99de", + "71843d1e325547dca14b144cf586aa692c59ce36", + "7974ebf699c0cec59352dc412ac1dee8e26f6237", + "7a170d1a1188c977cd5fb0d2f107c3648297a6b6", + "7b02f3e8f266459a48969365cfbd4a54775a4fd5", + "7ec987fee2503e2077c393d1d415cb3ffc857ac0", + "8738786d030c059aae8cacbbe960e96b7cd6ba91", + "8803503a144d165e8d6b40c8f3c93d50cd698616", + "885cdc554c1560bfcb86f7d7d23990cbe0643194", + "893fa1e9c936b7e9b6d08280f9b21267d68c7d45", + "8b60057ccf9040ad52204e897389a976b448642a", + "8bdf8f8ced5afb05403a1e8a99c0c12eafd5bf91", + "92254575c0b75f4083bea88fcf9c4e9dcb992c19", + "94ad97d689d9cf28810f1689339cbabd7c7705f2", + "96cf12b2ab5f371400a55c6be2dfe677ccf91ed0", + "9919a91e544fb7b88dcbf6e84fad5ad41899d973", + "a6e2e80c1220670a10cc43e881bc5fcbe8eb6ce8", + "a9b9872bb60c3d0d79817ba585ce16e82c747e99", + "b05a999d958a9fecd626e86a9dcea6c9cba7095c", + "b165e747abaf759753c284d33e54cdfbfdf2dd68", + "bbf09c9d0397d6a7d8dd6885954ce9a377d2c6c2", + "bcd7feac9222c2686a362827e535a7ae490ccb86", + "bdc97d3f5222db7047d77418d9544ca7873593e4", + "be4e29eebef78d5a458dd9c2180d9bc8c9640b26", + "c5705ade55d76a299a489f445ad5ba6b95df6b7b", + "c6c31b17cef5786a1515934d3780a3d904922c0e", + "ca2a8d8754cea199607a446d49c0e70183b1efda", + "ca34703b439576b0883a9ad6fa4f4ad5a0569576", + "cc44457eeff0ac61a6b420540f3d95bed8eeeeda", + "cfc06b8bb26a3bdc95726639124b65def6cda4c9", + "d0ca2a39a1ffc6462eb184bbdb9237fd2c2429dd", + "d551b04639a2d4c06c8b515ffc914b10b9a20eed", + "d60b49f5e7f5045328bd5ed2600fe1c569acdddc", + "d7cdb51be1e95b4464b80597a598dce14b5692fd", + "dbb9836d98469a29e94581ddac666187bbdb315d", + "dbdaf9b22f88bc47450c2615f5a0744a8b1a322e", + "dfad9fa3a36b796b6d2254a6304cf9d5af28e272", + "e17df059bbe9a1ff6d11ca24fd15640ec5bf23ad", + "e3ee43e51469f59d32c051508fa1b76d47bfbefc", + "ebd97287a1935b03769525e93c1a90a4dd23ffdf", + "ed64742f66ce45b2b8be5687ca0bb424b577a18d", + "f20e4bb34e5c4f789d3a576bedaf25021621ed99", + "f2d1f40e167542886b7093355fa96a39b2f5c9bf", + "f3b6d1b9892c0627bdd3a6880d541f378a759e6c", + "f3f59511ade71960e7cf07653e0be2ce2ed66818", + "f403a2b13cae03c8958494f246f1972eb59cf503", + "fc79cb11247430f5f2678384609ac28ecf32b8fb", + "fcdd868fd6bb3ae25fcc8acecb00c70279b074f1", + "fe3c1a76c4a6f60651d41a1d62718337598a9713" + ] + } + }, + "tx": { + "03ed66a7e3d0ff45bf53a6604b65bab5db704761": { + "Admin": { + "0": [ + [ + 0, + 1, + 10 + ], + [], + [ + 11, + 12 + ] + ] + }, + "DeployerSoulboundWithExtension": { + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "0769d133161133c923fb280199e7071219586e61": { + "Admin": { + "0": [ + [ + 4, + 5 + ], + [], + [ + 15 + ] + ] + } + }, + "0889852da28db1afc0626ea1245f052beddfcb55": { + "Admin": { + "0": [ + [], + [], + [] + ] + } + }, + "0af155bea7cc62e1eb90822927713844041ed32f": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 8, + 9 + ], + [], + [ + 14 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "0b062c6488b3f3435a682de7a662851952aef5d6": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "0fcc0638e1b01bf6ab1ce0a5281dde63645de589": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 4, + 5 + ], + [], + [ + 13 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "14c11a3ce6c6b7aa09053c0cd8a1d350216d087b": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "18d09c202b9041a342ba8fab057303cf9389e912": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 4, + 5 + ], + [], + [ + 13 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "18eadfe01fa4eac1b6e969eba56d6457d18ca6a4": { + "Admin": { + "0": [ + [ + 4, + 5 + ], + [], + [ + 15 + ] + ] + } + }, + "1be5534e6631b3b581a85ae4b723cbef8e8cad67": {}, + "20175facdf739c389ab449cd29a30e9e29e086a7": { + "Admin": { + "0": [ + [ + 2, + 3, + 10 + ], + [], + [ + 13, + 14 + ] + ] + }, + "DeployerSoulbound": { + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "2083a656f9b6ae51dbaa8947d531ad3c3aabe672": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 8, + 9 + ], + [], + [ + 14 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "21300753899d3ceec9700a7c975743ac6cd440ae": { + "Admin": { + "0": [ + [ + 0, + 1, + 10 + ], + [], + [ + 11, + 12 + ] + ] + }, + "DeployerSoulbound": { + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "2693907dc8b00750ee43e5cf348eef20eefde0df": { + "DeployerERC721": { + "0": [ + [ + 6, + 7, + 10, + 11 + ], + [], + [ + 12 + ] + ], + "10": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "26d1494fe7fb058df58063c40f1c4a3450ddc263": { + "DeployerERC721": { + "0": [ + [ + 6 + ], + [ + 12 + ], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "28b16530a50210952db85c382f006112cc1313df": { + "Admin": { + "0": [ + [ + 4, + 5 + ], + [], + [ + 15 + ] + ] + } + }, + "2e22c515afab9bab9df7c1a702b8cc8aa06ee42a": { + "Admin": { + "0": [ + [ + 6, + 10 + ], + [ + 16 + ], + [] + ] + } + }, + "30483b76883bb6585720da75d76c07e564220b1b": { + "DeployerSoulbound": { + "0": [ + [ + 6 + ], + [ + 12 + ], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "3760c3d4498f2d739c0300a5ce2f98e642df9922": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "37e34947e8d47498441b5d088857654fc7d7c652": {}, + "3d276769180a6b1a8c07369dce484db767a5cb47": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "3f6704817c8089451fd52aaa1233e7455400d0e5": { + "Admin": { + "0": [ + [ + 0, + 1, + 10 + ], + [ + 12 + ], + [ + 11 + ] + ] + }, + "DeployerSoulbound": { + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "406cd66bccc3b7e2b1c8f050808d055b0e02afa9": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "40983440fd26c55ed81a3d92eabd187277993c58": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 8 + ], + [ + 14 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "40b3137cd9922afdce6a8fbe7c9c710814505e2c": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "429e331bf43ac2de1199e98af0171ecaf5da6dbb": { + "Admin": { + "0": [ + [ + 8, + 9, + 10 + ], + [ + 19 + ], + [ + 18 + ] + ] + }, + "DeployerERC721": { + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "433084ada946badabb3dff2dc1dabd53f36c3fca": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 4 + ], + [ + 13 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "4688b1dd29e2fdf36dab8de5cd18999521a1993c": { + "Admin": { + "0": [ + [ + 4 + ], + [ + 15 + ], + [] + ] + } + }, + "49a8e265a93efa241ab7d53e13880c6d6100e4c0": { + "Admin": { + "0": [ + [ + 0, + 1, + 10 + ], + [ + 12 + ], + [ + 11 + ] + ] + }, + "DeployerSoulboundWithExtension": { + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "4b7a713d7f54c5f02beb35bde680d30e985d68f1": { + "Admin": { + "0": [ + [ + 6, + 7, + 10 + ], + [], + [ + 16, + 17 + ] + ] + }, + "DeployerSoulboundWithExtension": { + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "4c03da8e5c968a2b253aac98898fe7e6dd337548": { + "Admin": { + "0": [ + [ + 2, + 10 + ], + [ + 13 + ], + [] + ] + } + }, + "4c5f3e85ad1963e4454bf3c320409525e62b8449": {}, + "4dbefbeec30fc42f06d74af823ea9d23ffff49e8": {}, + "4e253fcb031ea54dff268eee2231db6aa7d3258f": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 8, + 9 + ], + [], + [ + 14 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "5620b68c8dd1179637a5b6ae51cbf4c6bf1ae702": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 8 + ], + [ + 14 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "5dd14cdee6a2bd3605d9b2b53ed6ffe1d518c279": {}, + "5e3592299646900b225d4f5457457b765ba3e338": {}, + "64e04ee2b9d164dd3b13e1da762412860810a0c9": { + "Admin": { + "0": [ + [ + 8, + 9, + 10 + ], + [], + [ + 18, + 19 + ] + ] + }, + "DeployerERC721": { + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "69b9cf8a60a3d55844d32816d5867149a865376d": {}, + "6b65530659c31607ac386b2996330003e89a8df5": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 8, + 9 + ], + [], + [ + 14 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "6cd25d27016e4e10c381b92900c50022612e2fc8": {}, + "6d15d57de8bc211c532117725533c1893900217a": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 4, + 5 + ], + [], + [ + 13 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "709db5842136191a810f9ce8f03ee5f16e60088a": { + "Admin": { + "0": [ + [ + 4, + 5 + ], + [], + [ + 15 + ] + ] + } + }, + "71105ed809395b32f8c2f05096465f4a79d6ed4d": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "717fff92e168e53d6bff710a275df3f0346b99de": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 8 + ], + [ + 14 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "71843d1e325547dca14b144cf586aa692c59ce36": { + "DeployerSoulboundWithExtension": { + "0": [ + [ + 6, + 7, + 10, + 11 + ], + [], + [ + 12 + ] + ], + "12": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "7974ebf699c0cec59352dc412ac1dee8e26f6237": { + "Admin": { + "0": [ + [ + 0, + 10 + ], + [ + 11 + ], + [] + ] + } + }, + "7a170d1a1188c977cd5fb0d2f107c3648297a6b6": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "7b02f3e8f266459a48969365cfbd4a54775a4fd5": {}, + "7ec987fee2503e2077c393d1d415cb3ffc857ac0": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "8738786d030c059aae8cacbbe960e96b7cd6ba91": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 4 + ], + [ + 13 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "8803503a144d165e8d6b40c8f3c93d50cd698616": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 8, + 9 + ], + [], + [ + 14 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "885cdc554c1560bfcb86f7d7d23990cbe0643194": { + "Admin": { + "0": [ + [ + 2, + 3, + 10 + ], + [], + [ + 13, + 14 + ] + ] + }, + "DeployerERC721": { + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "893fa1e9c936b7e9b6d08280f9b21267d68c7d45": { + "Admin": { + "0": [ + [ + 6, + 7, + 10 + ], + [ + 17 + ], + [ + 16 + ] + ] + }, + "DeployerSoulboundWithExtension": { + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "8b60057ccf9040ad52204e897389a976b448642a": { + "Admin": { + "0": [ + [ + 8, + 9, + 10 + ], + [ + 19 + ], + [ + 18 + ] + ] + }, + "DeployerERC721": { + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "8bdf8f8ced5afb05403a1e8a99c0c12eafd5bf91": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 8 + ], + [ + 14 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "92254575c0b75f4083bea88fcf9c4e9dcb992c19": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "94ad97d689d9cf28810f1689339cbabd7c7705f2": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 4 + ], + [ + 13 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "96cf12b2ab5f371400a55c6be2dfe677ccf91ed0": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 4, + 5 + ], + [], + [ + 13 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "9919a91e544fb7b88dcbf6e84fad5ad41899d973": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "a6e2e80c1220670a10cc43e881bc5fcbe8eb6ce8": { + "Admin": { + "0": [ + [ + 0, + 10 + ], + [ + 11 + ], + [] + ] + } + }, + "a9b9872bb60c3d0d79817ba585ce16e82c747e99": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [ + 4 + ], + [ + 13 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "b05a999d958a9fecd626e86a9dcea6c9cba7095c": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "b165e747abaf759753c284d33e54cdfbfdf2dd68": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "bbf09c9d0397d6a7d8dd6885954ce9a377d2c6c2": { + "Admin": { + "0": [ + [ + 4, + 5 + ], + [], + [ + 15 + ] + ] + } + }, + "bcd7feac9222c2686a362827e535a7ae490ccb86": {}, + "bdc97d3f5222db7047d77418d9544ca7873593e4": { + "DeployerSoulboundWithExtension": { + "0": [ + [ + 6 + ], + [ + 12 + ], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "be4e29eebef78d5a458dd9c2180d9bc8c9640b26": {}, + "c5705ade55d76a299a489f445ad5ba6b95df6b7b": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 8, + 9 + ], + [], + [ + 14 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "c6c31b17cef5786a1515934d3780a3d904922c0e": {}, + "ca2a8d8754cea199607a446d49c0e70183b1efda": {}, + "ca34703b439576b0883a9ad6fa4f4ad5a0569576": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 4 + ], + [ + 13 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "cc44457eeff0ac61a6b420540f3d95bed8eeeeda": { + "Admin": { + "0": [ + [ + 8, + 9, + 10 + ], + [ + 19 + ], + [ + 18 + ] + ] + }, + "DeployerERC721": { + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "cfc06b8bb26a3bdc95726639124b65def6cda4c9": { + "Admin": { + "0": [ + [ + 8, + 9, + 10 + ], + [], + [ + 18, + 19 + ] + ] + }, + "DeployerERC721": { + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "d0ca2a39a1ffc6462eb184bbdb9237fd2c2429dd": {}, + "d551b04639a2d4c06c8b515ffc914b10b9a20eed": { + "Admin": { + "0": [ + [ + 8, + 10 + ], + [ + 18 + ], + [] + ] + } + }, + "d60b49f5e7f5045328bd5ed2600fe1c569acdddc": { + "DeployerSoulbound": { + "0": [ + [], + [], + [] + ], + "11": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "d7cdb51be1e95b4464b80597a598dce14b5692fd": { + "Admin": { + "0": [ + [ + 6, + 7, + 10 + ], + [ + 17 + ], + [ + 16 + ] + ] + }, + "DeployerSoulboundWithExtension": { + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "dbb9836d98469a29e94581ddac666187bbdb315d": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 8 + ], + [ + 14 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "dbdaf9b22f88bc47450c2615f5a0744a8b1a322e": { + "DeployerSoulboundWithExtension": { + "0": [ + [], + [], + [] + ], + "12": [ + [], + [], + [] + ], + "13": [ + [ + 4, + 5 + ], + [], + [ + 13 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "dfad9fa3a36b796b6d2254a6304cf9d5af28e272": {}, + "e17df059bbe9a1ff6d11ca24fd15640ec5bf23ad": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 4, + 5 + ], + [], + [ + 13 + ] + ], + "5": [ + [], + [], + [] + ] + } + }, + "e3ee43e51469f59d32c051508fa1b76d47bfbefc": { + "Admin": { + "0": [ + [ + 2, + 3, + 10 + ], + [], + [ + 13, + 14 + ] + ] + }, + "DeployerERC721": { + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "ebd97287a1935b03769525e93c1a90a4dd23ffdf": { + "DeployerSoulbound": { + "0": [ + [ + 6, + 7, + 10, + 11 + ], + [], + [ + 12 + ] + ], + "11": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "ed64742f66ce45b2b8be5687ca0bb424b577a18d": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 8 + ], + [ + 14 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "f20e4bb34e5c4f789d3a576bedaf25021621ed99": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [ + 4 + ], + [ + 13 + ], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "f2d1f40e167542886b7093355fa96a39b2f5c9bf": { + "Admin": { + "0": [ + [ + 0, + 1, + 10 + ], + [], + [ + 11, + 12 + ] + ] + }, + "DeployerSoulboundWithExtension": { + "12": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ] + } + }, + "f3b6d1b9892c0627bdd3a6880d541f378a759e6c": { + "Admin": { + "0": [ + [ + 4, + 5 + ], + [], + [ + 15 + ] + ] + } + }, + "f3f59511ade71960e7cf07653e0be2ce2ed66818": { + "DeployerERC721": { + "0": [ + [], + [], + [] + ], + "10": [ + [], + [], + [] + ], + "13": [ + [], + [], + [] + ], + "5": [ + [], + [], + [] + ] + } + }, + "f403a2b13cae03c8958494f246f1972eb59cf503": {}, + "fc79cb11247430f5f2678384609ac28ecf32b8fb": { + "Admin": { + "0": [ + [ + 4, + 5 + ], + [], + [ + 15 + ] + ] + } + }, + "fcdd868fd6bb3ae25fcc8acecb00c70279b074f1": { + "Admin": { + "0": [ + [ + 2, + 10 + ], + [ + 13 + ], + [] + ] + } + }, + "fe3c1a76c4a6f60651d41a1d62718337598a9713": {} + } +} \ No newline at end of file diff --git a/tests/contracts/contracts/core/README.md b/tests/contracts/contracts/core/README.md new file mode 100644 index 0000000..ad9e3c0 --- /dev/null +++ b/tests/contracts/contracts/core/README.md @@ -0,0 +1,13 @@ +# Sample Hardhat Project + +This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, and a script that deploys that contract. + +Try running some of the following tasks: + +```shell +npx hardhat help +npx hardhat test +GAS_REPORT=true npx hardhat test +npx hardhat node +npx hardhat run scripts/deploy.ts +``` diff --git a/tests/contracts/contracts/core/contracts/Admin.sol b/tests/contracts/contracts/core/contracts/Admin.sol new file mode 100644 index 0000000..b35014e --- /dev/null +++ b/tests/contracts/contracts/core/contracts/Admin.sol @@ -0,0 +1,345 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity ^0.8.14; + +/** +* @title Admin contract. +* @author Daccred. +* @dev The admin contract aims at taking all the deployer contracts +* and mapping all the deployer function selectors to the respective +* addresses, then in turn, calling the selectors via delegatecall +* whenever the relevant deployment is needed. +* +* In turn, whenever a new change is made to a contract, we can +* easily, redeploy and remap. +*/ +contract Admin { + /// @dev Owner address. + address private owner; + /// @dev Mapping of all function signatures to the addresses. + mapping(bytes4 => address) private deployerSelectors; + + /// @dev Making sure only the owner can call these functions. + modifier onlyOwner() { + /// @dev Require that the sender is the owner. + require(msg.sender == owner, "Not Owner."); + _; + } + + /// @dev Constructor. + constructor() { + /// @dev Set owner. + owner = msg.sender; + } + + /** + * @dev This function adds a new selector or replaces a particular + * selector from the selector map. + * + * @param _facet Facet address containing the function we need. + * @param _selector Selector of the function desired. + */ + function addDeployerSelector(address _facet, bytes4 _selector) + public + onlyOwner + { + /// @dev Make sure facet is not a zero address. + require(_facet != address(0), "Facet Set To Zero Address."); + /// @dev Add selector to map. + deployerSelectors[_selector] = _facet; + } + + /** + * @dev Deploys the ERC721ExtensionCore with a set name + * and symbol using delegatecall to its facet. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * + * @return address + */ + function deployERC721ExtensionCore(string memory _name, string memory _symbol) + public + returns(address) + { + /// @dev Get selector. + bytes4 _selector = bytes4( + abi.encodeWithSignature( + "deployERC721ExtensionCore(string,string)" + ) + ); + /// @dev Require that the selector for the function exists. + require(exists(_selector), "Selector Inexistent."); + /// @dev Get the address of the facet mapped to the selector. + address _delegate = deployerSelectors[_selector]; + /// @dev Delegate call to the facet using the parameters passed. + (bool sent, bytes memory data) = _delegate.delegatecall( + abi.encodeWithSelector( + _selector, + _name, + _symbol + ) + ); + /// @dev Require the call was sent. + require(sent, "Delegatecall Failed!"); + /// @dev Decode returned address from delegatecall. + address _deployedAddress = abi.decode(data, (address)); + /// @dev Return address. + return _deployedAddress; + } + + /** + * @dev Deploys the ERC721ExtensionSignature with its constructor + * parameters using delegatecall to its facet. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * + * @return address + */ + function deployERC721ExtensionSignature( + string memory _name, + string memory _symbol, + address _comissioner, + uint256 _maxSupply, + uint256 _commissions, + uint256 _cappedSupply, + uint256 _redemptionTariff + ) + public + returns(address) + { + /// @dev Get selector. + bytes4 _selector = bytes4( + abi.encodeWithSignature( + "deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)" + ) + ); + /// @dev Require that the selector for the function exists. + require(exists(_selector), "Selector Inexistent."); + /// @dev Get the address of the facet mapped to the selector. + address _delegate = deployerSelectors[_selector]; + /// @dev Delegate call to the facet using the parameters passed. + (bool sent, bytes memory data) = _delegate.delegatecall( + abi.encodeWithSelector( + _selector, + _name, + _symbol, + _comissioner, + _maxSupply, + _commissions, + _cappedSupply, + _redemptionTariff + ) + ); + /// @dev Require the call was sent. + require(sent, "Delegatecall Failed!"); + /// @dev Decode returned address from delegatecall. + address _deployedAddress = abi.decode(data, (address)); + /// @dev Return address. + return _deployedAddress; + } + + /** + * @dev Deploys the Soulbound Contract with a set name + * and symbol using delegatecall to its facet. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * + * @return address + */ + function deploySoulbound(string memory _name, string memory _symbol) + public + returns(address) + { + /// @dev Get selector. + bytes4 _selector = bytes4( + abi.encodeWithSignature( + "deploySoulbound(string,string)" + ) + ); + /// @dev Require that the selector for the function exists. + require(exists(_selector), "Selector Inexistent."); + /// @dev Get the address of the facet mapped to the selector. + address _delegate = deployerSelectors[_selector]; + /// @dev Delegate call to the facet using the parameters passed. + (bool sent, bytes memory data) = _delegate.delegatecall( + abi.encodeWithSelector( + _selector, + _name, + _symbol + ) + ); + /// @dev Require the call was sent. + require(sent, "Delegatecall Failed!"); + /// @dev Decode returned address from delegatecall. + address _deployedAddress = abi.decode(data, (address)); + /// @dev Return address. + return _deployedAddress; + } + + /** + * @dev Deploys the SoulboundCore Contract with its constructor + * parameters using delegatecall to its facet. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * @param _allowlistOwner Desired owner of the contrat for sigs. + * @param _totalSupply Desired total supply. + * + * @return address + */ + function deploySoulboundCore( + string memory _name, + string memory _symbol, + address _allowlistOwner, + uint256 _totalSupply + ) + public + returns(address) + { + /// @dev Get selector. + bytes4 _selector = bytes4( + abi.encodeWithSignature( + "deploySoulboundCore(string,string,address,uint256)" + ) + ); + /// @dev Require that the selector for the function exists. + require(exists(_selector), "Selector Inexistent."); + /// @dev Get the address of the facet mapped to the selector. + address _delegate = deployerSelectors[_selector]; + /// @dev Delegate call to the facet using the parameters passed. + (bool sent, bytes memory data) = _delegate.delegatecall( + abi.encodeWithSelector( + _selector, + _name, + _symbol, + _allowlistOwner, + _totalSupply + ) + ); + /// @dev Require the call was sent. + require(sent, "Delegatecall Failed!"); + /// @dev Decode returned address from delegatecall. + address _deployedAddress = abi.decode(data, (address)); + /// @dev Return address. + return _deployedAddress; + } + + /** + * @dev Deploys the SoulboundRedeemable Contract with its constructor + * parameters using delegatecall to its facet. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * @param _allowlistOwner Desired owner of the contrat for sigs. + * @param _totalSupply Desired total supply. + * @param _priceLimit Desired price limit. + * @param _tokenPrice Desired token price. + * + * @return address + */ + function deploySoulboundRedeemable( + string memory _name, + string memory _symbol, + address _allowlistOwner, + uint256 _totalSupply, + uint256 _priceLimit, + uint256 _tokenPrice + ) + public + returns(address) + { + /// @dev Get selector. + bytes4 _selector = bytes4( + abi.encodeWithSignature( + "deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)" + ) + ); + /// @dev Require that the selector for the function exists. + require(exists(_selector), "Selector Inexistent."); + /// @dev Get the address of the facet mapped to the selector. + address _delegate = deployerSelectors[_selector]; + /// @dev Delegate call to the facet using the parameters passed. + (bool sent, bytes memory data) = _delegate.delegatecall( + abi.encodeWithSelector( + _selector, + _name, + _symbol, + _allowlistOwner, + _totalSupply, + _priceLimit, + _tokenPrice + ) + ); + /// @dev Require the call was sent. + require(sent, "Delegatecall Failed!"); + /// @dev Decode returned address from delegatecall. + address _deployedAddress = abi.decode(data, (address)); + /// @dev Return address. + return _deployedAddress; + } + + /** + * @dev Deploys the SoulboundWithSignature Contract with its constructor + * parameters using delegatecall to its facet. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * @param _allowlistOwner Desired owner of the contrat for sigs. + * @param _totalSupply Desired total supply. + * + * @return address + */ + function deploySoulboundWithSignature( + string memory _name, + string memory _symbol, + address _allowlistOwner, + uint256 _totalSupply + ) + public + returns(address) + { + /// @dev Get selector. + bytes4 _selector = bytes4( + abi.encodeWithSignature( + "deploySoulboundWithSignature(string,string,address,uint256)" + ) + ); + /// @dev Require that the selector for the function exists. + require(exists(_selector), "Selector Inexistent."); + /// @dev Get the address of the facet mapped to the selector. + address _delegate = deployerSelectors[_selector]; + /// @dev Delegate call to the facet using the parameters passed. + (bool sent, bytes memory data) = _delegate.delegatecall( + abi.encodeWithSelector( + _selector, + _name, + _symbol, + _allowlistOwner, + _totalSupply + ) + ); + /// @dev Require the call was sent. + require(sent, "Delegatecall Failed!"); + /// @dev Decode returned address from delegatecall. + address _deployedAddress = abi.decode(data, (address)); + /// @dev Return address. + return _deployedAddress; + } + + /** + * @dev Returns true if a selector `_s` is mapped to a valid + * address in the deployerSelector mapping. + * + * @param _s Function selector. + * + * @return bool + */ + function exists(bytes4 _s) private view returns(bool) { + /// @dev Return true if it is mapped to a valid address. + /// OR Return true if it is not mapped to a zero + /// address. + return deployerSelectors[_s] != address(0); + } +} diff --git a/tests/contracts/contracts/core/contracts/facets/DeployerERC721.sol b/tests/contracts/contracts/core/contracts/facets/DeployerERC721.sol new file mode 100644 index 0000000..e3ed9e9 --- /dev/null +++ b/tests/contracts/contracts/core/contracts/facets/DeployerERC721.sol @@ -0,0 +1,93 @@ +// SPDX-License-Identifier: GPL-3.0 + +/// _____ ______ ______ ______ ______ ______ _____ +/// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +/// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +/// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +/// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.8; + +import {Pausable} from "./Pausable.sol"; + +import {ERC721ExtensionCore} from "../../../packages/nft/contracts/ERC721ExtensionCore.sol"; +import {ERC721ExtensionSignature} from "../../../packages/nft/contracts/ERC721ExtensionSignature.sol"; + +/** +* @title Daccred Deployer. +* @author Daccred. +* @dev This contracts imports and provides functions +* that deploys each imported contract. +*/ +contract DeployerERC721 is Pausable { + /// @dev Locked for re-entrancy. + bool private locked; + + /** + * @dev Protect against Re-Entrancy. + */ + modifier nonReentrant() { + require(!locked); + locked = true; + _; + locked = false; + } + + /** + * @dev Deploys the ERC721ExtensionCore with a set name + * and symbol. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * + * @return contractAddress Deployed address. + */ + function deployERC721ExtensionCore(string memory _name, string memory _symbol) + external + nonReentrant + whenNotPaused + returns(address contractAddress) + { + /// @dev Deploy ERC721ExtensionCore contract. + ERC721ExtensionCore _erc721ExtensionCore = new ERC721ExtensionCore(_name, _symbol); + /// @dev Return address. + contractAddress = address(_erc721ExtensionCore); + } + + /** + * @dev Deploys the ERC721ExtensionSignature with its constructor + * parameters. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * + * @return contractAddress Deployed address. + */ + function deployERC721ExtensionSignature( + string memory _name, + string memory _symbol, + address _comissioner, + uint256 _maxSupply, + uint256 _commissions, + uint256 _cappedSupply, + uint256 _redemptionTariff + ) + external + nonReentrant + whenNotPaused + returns(address contractAddress) + { + /// @dev Deploy ERC721ExtensionSignature contract. + ERC721ExtensionSignature _erc721ExtensionSignature = new ERC721ExtensionSignature( + _name, + _symbol, + _comissioner, + _maxSupply, + _commissions, + _cappedSupply, + _redemptionTariff + ); + /// @dev Return address. + contractAddress = address(_erc721ExtensionSignature); + } +} \ No newline at end of file diff --git a/tests/contracts/contracts/core/contracts/facets/DeployerSoulbound.sol b/tests/contracts/contracts/core/contracts/facets/DeployerSoulbound.sol new file mode 100644 index 0000000..ec86297 --- /dev/null +++ b/tests/contracts/contracts/core/contracts/facets/DeployerSoulbound.sol @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: GPL-3.0 + +/// _____ ______ ______ ______ ______ ______ _____ +/// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +/// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +/// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +/// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.8; + +import {Pausable} from "./Pausable.sol"; + +import {Soulbound} from "../../../packages/soulbound/contracts/Soulbound.sol"; +import {SoulboundCore} from "../../../packages/soulbound/contracts/SoulboundCore.sol"; + +/** +* @title Daccred DeployerSoulbound. +* @author Daccred. +* @dev This contracts imports and provides functions +* that deploys each imported contract. +*/ +contract DeployerSoulbound is Pausable { + /// @dev Locked for re-entrancy. + bool private locked; + + /** + * @dev Protect against Re-Entrancy. + */ + modifier nonReentrant() { + require(!locked); + locked = true; + _; + locked = false; + } + + /** + * @dev Deploys the Soulbound Contract with a set name + * and symbol. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * + * @return contractAddress Deployed address. + */ + function deploySoulbound(string memory _name, string memory _symbol) + external + nonReentrant + whenNotPaused + returns(address contractAddress) + { + /// @dev Deploy Soulbound contract. + Soulbound _soulbound = new Soulbound(_name, _symbol); + /// @dev Return address. + contractAddress = address(_soulbound); + } + + /** + * @dev Deploys the SoulboundCore Contract with its constructor + * parameters. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * @param _allowlistOwner Desired owner of the contrat for sigs. + * @param _totalSupply Desired total supply. + * + * @return contractAddress Deployed address. + */ + function deploySoulboundCore( + string memory _name, + string memory _symbol, + address _allowlistOwner, + uint256 _totalSupply + ) + external + nonReentrant + whenNotPaused + returns(address contractAddress) + { + /// @dev Deploy SoulboundCore contract. + SoulboundCore _soulboundCore = new SoulboundCore( + _name, + _symbol, + _allowlistOwner, + _totalSupply + ); + /// @dev Return address. + contractAddress = address(_soulboundCore); + } +} \ No newline at end of file diff --git a/tests/contracts/contracts/core/contracts/facets/DeployerSoulboundWithExtension.sol b/tests/contracts/contracts/core/contracts/facets/DeployerSoulboundWithExtension.sol new file mode 100644 index 0000000..91065ab --- /dev/null +++ b/tests/contracts/contracts/core/contracts/facets/DeployerSoulboundWithExtension.sol @@ -0,0 +1,107 @@ +// SPDX-License-Identifier: GPL-3.0 + +/// _____ ______ ______ ______ ______ ______ _____ +/// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +/// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +/// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +/// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.8; + +import {Pausable} from "./Pausable.sol"; + +import {SoulboundWithSignature} from "../../../packages/soulbound/contracts/SoulboundWithSignature.sol"; +import {SoulboundRedeemable} from "../../../packages/soulbound/contracts/SoulboundRedeemable.sol"; + +/** +* @title Daccred DeployerSoulboundWithExtension. +* @author Daccred. +* @dev This contracts imports and provides functions +* that deploys each imported contract. +*/ +contract DeployerSoulboundWithExtension is Pausable { + /// @dev Locked for re-entrancy. + bool private locked; + + /** + * @dev Protect against Re-Entrancy. + */ + modifier nonReentrant() { + require(!locked); + locked = true; + _; + locked = false; + } + + /** + * @dev Deploys the SoulboundRedeemable Contract with its constructor + * parameters. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * @param _allowlistOwner Desired owner of the contrat for sigs. + * @param _totalSupply Desired total supply. + * @param _priceLimit Desired price limit. + * @param _tokenPrice Desired token price. + * + * @return contractAddress Deployed address. + */ + function deploySoulboundRedeemable( + string memory _name, + string memory _symbol, + address _allowlistOwner, + uint256 _totalSupply, + uint256 _priceLimit, + uint256 _tokenPrice + ) + external + nonReentrant + whenNotPaused + returns(address contractAddress) + { + /// @dev Deploy SoulboundRedeemable contract. + SoulboundRedeemable _soulboundRedeemable = new SoulboundRedeemable( + _name, + _symbol, + _allowlistOwner, + _totalSupply, + _priceLimit, + _tokenPrice + ); + /// @dev Return address. + contractAddress = address(_soulboundRedeemable); + } + + /** + * @dev Deploys the SoulboundWithSignature Contract with its constructor + * parameters. + * + * @param _name Name of token. + * @param _symbol Desired symbol. + * @param _allowlistOwner Desired owner of the contrat for sigs. + * @param _totalSupply Desired total supply. + * + * @return contractAddress Deployed address. + */ + function deploySoulboundWithSignature( + string memory _name, + string memory _symbol, + address _allowlistOwner, + uint256 _totalSupply + ) + external + nonReentrant + whenNotPaused + returns(address contractAddress) + { + /// @dev Deploy SoulboundWthSignature contract. + SoulboundWithSignature _soulboundWithSignature = new SoulboundWithSignature( + _name, + _symbol, + _allowlistOwner, + _totalSupply + ); + /// @dev Return address. + contractAddress = address(_soulboundWithSignature); + } +} \ No newline at end of file diff --git a/tests/contracts/contracts/core/contracts/facets/Pausable.sol b/tests/contracts/contracts/core/contracts/facets/Pausable.sol new file mode 100644 index 0000000..7a65db5 --- /dev/null +++ b/tests/contracts/contracts/core/contracts/facets/Pausable.sol @@ -0,0 +1,83 @@ +// SPDX-License-Identifier: GPL-3.0 + +/// _____ ______ ______ ______ ______ ______ _____ +/// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +/// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +/// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +/// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.8; + +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +/** +* @title Pausable Contract. +* @author Anthony (fps) https://github.com/0xfps. +* @dev This contract seeks to grant the inheriting +* contract the ability to pause actions done +* on the contract. +* The choice to pause or unpause the contract +* is made by the owner or deployer. +*/ +contract Pausable is Ownable { + /// @dev Boolean to determine when contract is or + /// is not paused. + bool private paused; + + /// @dev Emitted whenever the contract is paused. + event Paused(); + /// @dev Emitted whenever the contract is unpaused. + event UnPaused(); + + /** + * @dev Allows for interactions with contract if the + * contract is paused. + */ + modifier whenPaused() { + /// @dev Require contract is paused. + require(paused, "Contract Not Paused."); + _; + } + + /** + * @dev Allows for interactions with contract if the + * contract is not paused. + */ + modifier whenNotPaused() { + /// @dev Require contract is not paused. + require(!paused, "Contract Paused."); + _; + } + + /** + * @dev Pauses the contract. + * This function is callable by the owner or deployer. + */ + function pause() public onlyOwner { + /// @dev Require contract is not paused. + require(!paused, "Contract Paused."); + /// @dev Set paused to true. + paused = true; + } + + /** + * @dev Pauses the contract. + * This function is callable by the owner or deployer. + */ + function unPause() public onlyOwner { + /// @dev Require contract is paused. + require(paused, "Contract Not Paused."); + /// @dev Set paused to false. + paused = false; + } + + /** + * @dev Returns true or false if the contract is paused. + * This function is callable by anyone. + * + * @return bool True or false. + */ + function isPaused() public view returns(bool) { + return paused; + } +} \ No newline at end of file diff --git a/tests/contracts/contracts/core/hardhat.config.ts b/tests/contracts/contracts/core/hardhat.config.ts new file mode 100644 index 0000000..3cb10e4 --- /dev/null +++ b/tests/contracts/contracts/core/hardhat.config.ts @@ -0,0 +1,12 @@ +import { HardhatUserConfig } from "hardhat/config"; +import "@nomicfoundation/hardhat-toolbox"; + +const config: HardhatUserConfig = { + solidity: "0.8.9", + typechain: { + outDir: "types", + target: "ethers-v5", + }, +}; + +export default config; diff --git a/tests/contracts/contracts/core/package.json b/tests/contracts/contracts/core/package.json new file mode 100644 index 0000000..d22fbfe --- /dev/null +++ b/tests/contracts/contracts/core/package.json @@ -0,0 +1,23 @@ +{ + "name": "@daccred/contracts-core", + "version": "0.0.0", + "description": "Core Smart Contracts for Daccred", + "directories": { + "test": "test" + }, + "dependencies": { + "@openzeppelin/contracts": "^4.7.0" + }, + "devDependencies": { + "@nomicfoundation/hardhat-chai-matchers": "^1.0.2", + "@nomicfoundation/hardhat-toolbox": "^1.0.2" + }, + "scripts": { + "test": "hardhat test", + "compile": "hardhat compile", + "clean": "hardhat clean", + "test:gas": "hardhat test --gas", + "hint": "solhint 'contracts/**/*.sol'", + "console": "hardhat node" + } +} diff --git a/tests/contracts/contracts/core/scripts/deploy.ts b/tests/contracts/contracts/core/scripts/deploy.ts new file mode 100644 index 0000000..90e8908 --- /dev/null +++ b/tests/contracts/contracts/core/scripts/deploy.ts @@ -0,0 +1,23 @@ +import { ethers } from "hardhat"; + +async function main() { + const currentTimestampInSeconds = Math.round(Date.now() / 1000); + const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60; + const unlockTime = currentTimestampInSeconds + ONE_YEAR_IN_SECS; + + const lockedAmount = ethers.utils.parseEther("1"); + + const Lock = await ethers.getContractFactory("Lock"); + const lock = await Lock.deploy(unlockTime, { value: lockedAmount }); + + await lock.deployed(); + + console.log("Lock with 1 ETH deployed to:", lock.address); +} + +// We recommend this pattern to be able to use async/await everywhere +// and properly handle errors. +main().catch((error) => { + console.error(error); + process.exitCode = 1; +}); diff --git a/tests/contracts/contracts/core/test/Lock.ts b/tests/contracts/contracts/core/test/Lock.ts new file mode 100644 index 0000000..3127221 --- /dev/null +++ b/tests/contracts/contracts/core/test/Lock.ts @@ -0,0 +1,124 @@ +import { time, loadFixture } from "@nomicfoundation/hardhat-network-helpers"; +import { anyValue } from "@nomicfoundation/hardhat-chai-matchers/withArgs"; +import { expect } from "chai"; +import { ethers } from "hardhat"; + +describe("Lock", function () { + // We define a fixture to reuse the same setup in every test. + // We use loadFixture to run this setup once, snapshot that state, + // and reset Hardhat Network to that snapshopt in every test. + async function deployOneYearLockFixture() { + const ONE_YEAR_IN_SECS = 365 * 24 * 60 * 60; + const ONE_GWEI = 1_000_000_000; + + const lockedAmount = ONE_GWEI; + const unlockTime = (await time.latest()) + ONE_YEAR_IN_SECS; + + // Contracts are deployed using the first signer/account by default + const [owner, otherAccount] = await ethers.getSigners(); + + const Lock = await ethers.getContractFactory("Lock"); + const lock = await Lock.deploy(unlockTime, { value: lockedAmount }); + + return { lock, unlockTime, lockedAmount, owner, otherAccount }; + } + + describe("Deployment", function () { + it("Should set the right unlockTime", async function () { + const { lock, unlockTime } = await loadFixture(deployOneYearLockFixture); + + expect(await lock.unlockTime()).to.equal(unlockTime); + }); + + it("Should set the right owner", async function () { + const { lock, owner } = await loadFixture(deployOneYearLockFixture); + + expect(await lock.owner()).to.equal(owner.address); + }); + + it("Should receive and store the funds to lock", async function () { + const { lock, lockedAmount } = await loadFixture( + deployOneYearLockFixture + ); + + expect(await ethers.provider.getBalance(lock.address)).to.equal( + lockedAmount + ); + }); + + it("Should fail if the unlockTime is not in the future", async function () { + // We don't use the fixture here because we want a different deployment + const latestTime = await time.latest(); + const Lock = await ethers.getContractFactory("Lock"); + await expect(Lock.deploy(latestTime, { value: 1 })).to.be.revertedWith( + "Unlock time should be in the future" + ); + }); + }); + + describe("Withdrawals", function () { + describe("Validations", function () { + it("Should revert with the right error if called too soon", async function () { + const { lock } = await loadFixture(deployOneYearLockFixture); + + await expect(lock.withdraw()).to.be.revertedWith( + "You can't withdraw yet" + ); + }); + + it("Should revert with the right error if called from another account", async function () { + const { lock, unlockTime, otherAccount } = await loadFixture( + deployOneYearLockFixture + ); + + // We can increase the time in Hardhat Network + await time.increaseTo(unlockTime); + + // We use lock.connect() to send a transaction from another account + await expect(lock.connect(otherAccount).withdraw()).to.be.revertedWith( + "You aren't the owner" + ); + }); + + it("Shouldn't fail if the unlockTime has arrived and the owner calls it", async function () { + const { lock, unlockTime } = await loadFixture( + deployOneYearLockFixture + ); + + // Transactions are sent using the first signer by default + await time.increaseTo(unlockTime); + + await expect(lock.withdraw()).not.to.be.reverted; + }); + }); + + describe("Events", function () { + it("Should emit an event on withdrawals", async function () { + const { lock, unlockTime, lockedAmount } = await loadFixture( + deployOneYearLockFixture + ); + + await time.increaseTo(unlockTime); + + await expect(lock.withdraw()) + .to.emit(lock, "Withdrawal") + .withArgs(lockedAmount, anyValue); // We accept any value as `when` arg + }); + }); + + describe("Transfers", function () { + it("Should transfer the funds to the owner", async function () { + const { lock, unlockTime, lockedAmount, owner } = await loadFixture( + deployOneYearLockFixture + ); + + await time.increaseTo(unlockTime); + + await expect(lock.withdraw()).to.changeEtherBalances( + [owner, lock], + [lockedAmount, -lockedAmount] + ); + }); + }); + }); +}); diff --git a/tests/contracts/contracts/core/tsconfig.json b/tests/contracts/contracts/core/tsconfig.json new file mode 100644 index 0000000..a080793 --- /dev/null +++ b/tests/contracts/contracts/core/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "target": "es2020", + "module": "commonjs", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "skipLibCheck": true + } +} diff --git a/packages/nft/contracts/Allowlist.sol b/tests/contracts/contracts/packages/common/Allowlist.sol similarity index 88% rename from packages/nft/contracts/Allowlist.sol rename to tests/contracts/contracts/packages/common/Allowlist.sol index 3c303d7..ee94905 100644 --- a/packages/nft/contracts/Allowlist.sol +++ b/tests/contracts/contracts/packages/common/Allowlist.sol @@ -1,13 +1,7 @@ // SPDX-License-Identifier: GPL-3.0 +pragma solidity ^0.8.8; -// _____ ______ ______ ______ ______ ______ _____ -// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. -// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ -// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- -// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ - -pragma solidity ^0.8.4; -import "../contracts/interfaces/IAllowlist.sol"; +import "./IAllowlist.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; /** @@ -43,6 +37,8 @@ contract Allowlist is IAllowlist, Ownable { /// @dev constructor, setting the allowlistOwner. constructor(address _allowlistOwner) { + /// @dev Require address is valid. + require(_allowlistOwner != address(0), "Invalid Address."); /// @dev Set the variable name. allowlistOwner = _allowlistOwner; } @@ -70,7 +66,10 @@ contract Allowlist is IAllowlist, Ownable { * * @return bool true or false. */ - function verifySignature(bytes32 hash, bytes memory sig) public returns (bool) { + function verifySignature(bytes32 hash, bytes memory sig) + public + returns (bool) + { return _verifySignature(hash, sig); } @@ -96,10 +95,17 @@ contract Allowlist is IAllowlist, Ownable { * * @return bool true or false. */ - function _verifySignature(bytes32 hash, bytes memory sig) internal onlyOwner returns (bool) { + function _verifySignature(bytes32 hash, bytes memory sig) + internal + onlyOwner + returns (bool) + { /// @dev Require that the caller is the owner [deployer] /// of the contract, [the Daccred.sol]. - require(_msgSender() == owner(), "ERC721:: Call to contract made by non-owner"); + require( + _msgSender() == owner(), + "ERC721:: Call to contract made by non-owner" + ); /// @dev Require the length of the signature is 65. require(sig.length == 65, "Err:: Invalid signature length"); /// @dev Use assembly to get the 3 sections of a signature. diff --git a/packages/nft/contracts/interfaces/IAllowlist.sol b/tests/contracts/contracts/packages/common/IAllowlist.sol similarity index 83% rename from packages/nft/contracts/interfaces/IAllowlist.sol rename to tests/contracts/contracts/packages/common/IAllowlist.sol index cfdfc6f..267497a 100644 --- a/packages/nft/contracts/interfaces/IAllowlist.sol +++ b/tests/contracts/contracts/packages/common/IAllowlist.sol @@ -1,12 +1,5 @@ // SPDX-License-Identifier: GPL-3.0 - -// _____ ______ ______ ______ ______ ______ _____ -// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. -// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ -// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- -// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ - -pragma solidity ^0.8.4; +pragma solidity ^0.8.8; /** * @title IAllowlist Interface. @@ -44,7 +37,9 @@ interface IAllowlist { * * @return bool, true if the signer is the contract and false if otherwise. */ - function verifySignature(bytes32 _hash, bytes memory _signature) external returns (bool); + function verifySignature(bytes32 _hash, bytes memory _signature) + external + returns (bool); /** * @dev Verifies that the public key that signed `_signature` is the `_signer`. diff --git a/tests/contracts/contracts/packages/nft/contracts/Auth.sol b/tests/contracts/contracts/packages/nft/contracts/Auth.sol new file mode 100644 index 0000000..f74ebb0 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/Auth.sol @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +/// @notice Provides a flexible and updatable auth pattern which is completely separate from application logic. +/// @author Daccred (https://github.com/daccred/contracts) +/// @author derived Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol) +abstract contract Auth { + event OwnerUpdated(address indexed user, address indexed newOwner); + + event AuthorityUpdated(address indexed user, Authority indexed newAuthority); + + address public owner; + + Authority public authority; + + constructor(address _owner, Authority _authority) { + owner = _owner; + authority = _authority; + + emit OwnerUpdated(msg.sender, _owner); + emit AuthorityUpdated(msg.sender, _authority); + } + + modifier requiresAuth() virtual { + require(isAuthorized(msg.sender, msg.sig), "UNAUTHORIZED"); + + _; + } + + function isAuthorized(address user, bytes4 functionSig) internal view virtual returns (bool) { + Authority auth = authority; // Memoizing authority saves us a warm SLOAD, around 100 gas. + + // Checking if the caller is the owner only after calling the authority saves gas in most cases, but be + // aware that this makes protected functions uncallable even to the owner if the authority is out of order. + return (address(auth) != address(0) && auth.canCall(user, address(this), functionSig)) || user == owner; + } + + function setAuthority(Authority newAuthority) public virtual { + // We check if the caller is the owner first because we want to ensure they can + // always swap out the authority even if it's reverting or using up a lot of gas. + require(msg.sender == owner || authority.canCall(msg.sender, address(this), msg.sig)); + + authority = newAuthority; + + emit AuthorityUpdated(msg.sender, newAuthority); + } + + function setOwner(address newOwner) public virtual requiresAuth { + owner = newOwner; + + emit OwnerUpdated(msg.sender, newOwner); + } +} + +/// @notice A generic interface for a contract which provides authorization data to an Auth instance. +/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Auth.sol) +/// @author Modified from Dappsys (https://github.com/dapphub/ds-auth/blob/master/src/auth.sol) +interface Authority { + function canCall( + address user, + address target, + bytes4 functionSig + ) external view returns (bool); +} \ No newline at end of file diff --git a/tests/contracts/contracts/packages/nft/contracts/ERC721A.sol b/tests/contracts/contracts/packages/nft/contracts/ERC721A.sol new file mode 100644 index 0000000..a4769dc --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/ERC721A.sol @@ -0,0 +1,612 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "./interfaces/IERC721A.sol"; +import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; +import "@openzeppelin/contracts/utils/Address.sol"; +import "@openzeppelin/contracts/utils/Context.sol"; +import "@openzeppelin/contracts/utils/Strings.sol"; +import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; + +/** + * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including + * the Metadata extension. Built to optimize for lower gas during batch mints. + * + * Assumes serials are sequentially minted starting at _startTokenId() (defaults to 0, e.g. 0, 1, 2, 3..). + * + * Assumes that an owner cannot have more than 2**64 - 1 (max value of uint64) of supply. + * + * Assumes that the maximum token id cannot exceed 2**256 - 1 (max value of uint256). + */ +abstract contract ERC721A is Context, ERC165, IERC721A { + using Address for address; + using Strings for uint256; + + // The tokenId of the next token to be minted. + uint256 internal _currentIndex; + + // The number of tokens burned. + uint256 internal _burnCounter; + + // Token name + string private _name; + + // Token symbol + string private _symbol; + + // Mapping from token ID to ownership details + // An empty struct value does not necessarily mean the token is unowned. See _ownershipOf implementation for details. + mapping(uint256 => TokenOwnership) internal _ownerships; + + // Mapping owner address to address data + mapping(address => AddressData) private _addressData; + + // Mapping from token ID to approved address + mapping(uint256 => address) private _tokenApprovals; + + // Mapping from owner to operator approvals + mapping(address => mapping(address => bool)) private _operatorApprovals; + + constructor(string memory name_, string memory symbol_) { + _name = name_; + _symbol = symbol_; + _currentIndex = _startTokenId(); + } + + /** + * To change the starting tokenId, please override this function. + */ + function _startTokenId() internal view virtual returns (uint256) { + return 0; + } + + /** + * @dev Burned tokens are calculated here, use _totalMinted() if you want to count just minted tokens. + */ + function totalSupply() public view override returns (uint256) { + // Counter underflow is impossible as _burnCounter cannot be incremented + // more than _currentIndex - _startTokenId() times + unchecked { + return _currentIndex - _burnCounter - _startTokenId(); + } + } + + /** + * Returns the total amount of tokens minted in the contract. + */ + function _totalMinted() internal view returns (uint256) { + // Counter underflow is impossible as _currentIndex does not decrement, + // and it is initialized to _startTokenId() + unchecked { + return _currentIndex - _startTokenId(); + } + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { + return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId); + } + + /** + * @dev See {IERC721-balanceOf}. + */ + function balanceOf(address owner) public view override returns (uint256) { + if (owner == address(0)) revert BalanceQueryForZeroAddress(); + return uint256(_addressData[owner].balance); + } + + /** + * Returns the number of tokens minted by `owner`. + */ + function _numberMinted(address owner) internal view returns (uint256) { + return uint256(_addressData[owner].numberMinted); + } + + /** + * Returns the number of tokens burned by or on behalf of `owner`. + */ + function _numberBurned(address owner) internal view returns (uint256) { + return uint256(_addressData[owner].numberBurned); + } + + /** + * Returns the auxillary data for `owner`. (e.g. number of whitelist mint slots used). + */ + function _getAux(address owner) internal view returns (uint64) { + return _addressData[owner].aux; + } + + /** + * Sets the auxillary data for `owner`. (e.g. number of whitelist mint slots used). + * If there are multiple variables, please pack them into a uint64. + */ + function _setAux(address owner, uint64 aux) internal { + _addressData[owner].aux = aux; + } + + /** + * Gas spent here starts off proportional to the maximum mint batch size. + * It gradually moves to O(1) as tokens get transferred around in the collection over time. + */ + function _ownershipOf(uint256 tokenId) internal view returns (TokenOwnership memory) { + uint256 curr = tokenId; + + unchecked { + if (_startTokenId() <= curr) + if (curr < _currentIndex) { + TokenOwnership memory ownership = _ownerships[curr]; + if (!ownership.burned) { + if (ownership.addr != address(0)) { + return ownership; + } + // Invariant: + // There will always be an ownership that has an address and is not burned + // before an ownership that does not have an address and is not burned. + // Hence, curr will not underflow. + while (true) { + curr--; + ownership = _ownerships[curr]; + if (ownership.addr != address(0)) { + return ownership; + } + } + } + } + } + revert OwnerQueryForNonexistentToken(); + } + + /** + * @dev See {IERC721-ownerOf}. + */ + function ownerOf(uint256 tokenId) public view override returns (address) { + return _ownershipOf(tokenId).addr; + } + + /** + * @dev See {IERC721Metadata-name}. + */ + function name() public view virtual override returns (string memory) { + return _name; + } + + /** + * @dev See {IERC721Metadata-symbol}. + */ + function symbol() public view virtual override returns (string memory) { + return _symbol; + } + + /** + * @dev See {IERC721Metadata-tokenURI}. + */ + function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { + if (!_exists(tokenId)) revert URIQueryForNonexistentToken(); + + string memory baseURI = _baseURI(); + return bytes(baseURI).length != 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; + } + + /** + * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each + * token will be the concatenation of the `baseURI` and the `tokenId`. Empty + * by default, can be overriden in child contracts. + */ + function _baseURI() internal view virtual returns (string memory) { + return ""; + } + + /** + * @dev See {IERC721-approve}. + */ + function approve(address to, uint256 tokenId) public override { + address owner = ERC721A.ownerOf(tokenId); + if (to == owner) revert ApprovalToCurrentOwner(); + + if (_msgSender() != owner) + if (!isApprovedForAll(owner, _msgSender())) { + revert ApprovalCallerNotOwnerNorApproved(); + } + + _approve(to, tokenId, owner); + } + + /** + * @dev See {IERC721-getApproved}. + */ + function getApproved(uint256 tokenId) public view override returns (address) { + if (!_exists(tokenId)) revert ApprovalQueryForNonexistentToken(); + + return _tokenApprovals[tokenId]; + } + + /** + * @dev See {IERC721-setApprovalForAll}. + */ + function setApprovalForAll(address operator, bool approved) public virtual override { + if (operator == _msgSender()) revert ApproveToCaller(); + + _operatorApprovals[_msgSender()][operator] = approved; + emit ApprovalForAll(_msgSender(), operator, approved); + } + + /** + * @dev See {IERC721-isApprovedForAll}. + */ + function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { + return _operatorApprovals[owner][operator]; + } + + /** + * @dev See {IERC721-transferFrom}. + */ + function transferFrom( + address from, + address to, + uint256 tokenId + ) public virtual override { + _transfer(from, to, tokenId); + } + + /** + * @dev See {IERC721-safeTransferFrom}. + */ + function safeTransferFrom( + address from, + address to, + uint256 tokenId + ) public virtual override { + safeTransferFrom(from, to, tokenId, ""); + } + + /** + * @dev See {IERC721-safeTransferFrom}. + */ + function safeTransferFrom( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) public virtual override { + _transfer(from, to, tokenId); + if (to.isContract()) + if (!_checkContractOnERC721Received(from, to, tokenId, _data)) { + revert TransferToNonERC721ReceiverImplementer(); + } + } + + /** + * @dev Returns whether `tokenId` exists. + * + * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}. + * + * Tokens start existing when they are minted (`_mint`), + */ + function _exists(uint256 tokenId) internal view returns (bool) { + return _startTokenId() <= tokenId && tokenId < _currentIndex && !_ownerships[tokenId].burned; + } + + /** + * @dev Equivalent to `_safeMint(to, quantity, '')`. + */ + function _safeMint(address to, uint256 quantity) internal { + _safeMint(to, quantity, ""); + } + + /** + * @dev Safely mints `quantity` tokens and transfers them to `to`. + * + * Requirements: + * + * - If `to` refers to a smart contract, it must implement + * {IERC721Receiver-onERC721Received}, which is called for each safe transfer. + * - `quantity` must be greater than 0. + * + * Emits a {Transfer} event. + */ + function _safeMint( + address to, + uint256 quantity, + bytes memory _data + ) internal { + uint256 startTokenId = _currentIndex; + if (to == address(0)) revert MintToZeroAddress(); + if (quantity == 0) revert MintZeroQuantity(); + + _beforeTokenTransfers(address(0), to, startTokenId, quantity); + + // Overflows are incredibly unrealistic. + // balance or numberMinted overflow if current value of either + quantity > 1.8e19 (2**64) - 1 + // updatedIndex overflows if _currentIndex + quantity > 1.2e77 (2**256) - 1 + unchecked { + _addressData[to].balance += uint64(quantity); + _addressData[to].numberMinted += uint64(quantity); + + _ownerships[startTokenId].addr = to; + _ownerships[startTokenId].startTimestamp = uint64(block.timestamp); + + uint256 updatedIndex = startTokenId; + uint256 end = updatedIndex + quantity; + + if (to.isContract()) { + do { + emit Transfer(address(0), to, updatedIndex); + if (!_checkContractOnERC721Received(address(0), to, updatedIndex++, _data)) { + revert TransferToNonERC721ReceiverImplementer(); + } + } while (updatedIndex < end); + // Reentrancy protection + if (_currentIndex != startTokenId) revert(); + } else { + do { + emit Transfer(address(0), to, updatedIndex++); + } while (updatedIndex < end); + } + _currentIndex = updatedIndex; + } + _afterTokenTransfers(address(0), to, startTokenId, quantity); + } + + /** + * @dev Mints `quantity` tokens and transfers them to `to`. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - `quantity` must be greater than 0. + * + * Emits a {Transfer} event. + */ + function _mint(address to, uint256 quantity) internal { + uint256 startTokenId = _currentIndex; + if (to == address(0)) revert MintToZeroAddress(); + if (quantity == 0) revert MintZeroQuantity(); + + _beforeTokenTransfers(address(0), to, startTokenId, quantity); + + // Overflows are incredibly unrealistic. + // balance or numberMinted overflow if current value of either + quantity > 1.8e19 (2**64) - 1 + // updatedIndex overflows if _currentIndex + quantity > 1.2e77 (2**256) - 1 + unchecked { + _addressData[to].balance += uint64(quantity); + _addressData[to].numberMinted += uint64(quantity); + + _ownerships[startTokenId].addr = to; + _ownerships[startTokenId].startTimestamp = uint64(block.timestamp); + + uint256 updatedIndex = startTokenId; + uint256 end = updatedIndex + quantity; + + do { + emit Transfer(address(0), to, updatedIndex++); + } while (updatedIndex < end); + + _currentIndex = updatedIndex; + } + _afterTokenTransfers(address(0), to, startTokenId, quantity); + } + + /** + * @dev Transfers `tokenId` from `from` to `to`. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - `tokenId` token must be owned by `from`. + * + * Emits a {Transfer} event. + */ + function _transfer( + address from, + address to, + uint256 tokenId + ) private { + TokenOwnership memory prevOwnership = _ownershipOf(tokenId); + + if (prevOwnership.addr != from) revert TransferFromIncorrectOwner(); + + bool isApprovedOrOwner = (_msgSender() == from || isApprovedForAll(from, _msgSender()) || getApproved(tokenId) == _msgSender()); + + if (!isApprovedOrOwner) revert TransferCallerNotOwnerNorApproved(); + if (to == address(0)) revert TransferToZeroAddress(); + + _beforeTokenTransfers(from, to, tokenId, 1); + + // Clear approvals from the previous owner + _approve(address(0), tokenId, from); + + // Underflow of the sender's balance is impossible because we check for + // ownership above and the recipient's balance can't realistically overflow. + // Counter overflow is incredibly unrealistic as tokenId would have to be 2**256. + unchecked { + _addressData[from].balance -= 1; + _addressData[to].balance += 1; + + TokenOwnership storage currSlot = _ownerships[tokenId]; + currSlot.addr = to; + currSlot.startTimestamp = uint64(block.timestamp); + + // If the ownership slot of tokenId+1 is not explicitly set, that means the transfer initiator owns it. + // Set the slot of tokenId+1 explicitly in storage to maintain correctness for ownerOf(tokenId+1) calls. + uint256 nextTokenId = tokenId + 1; + TokenOwnership storage nextSlot = _ownerships[nextTokenId]; + if (nextSlot.addr == address(0)) { + // This will suffice for checking _exists(nextTokenId), + // as a burned slot cannot contain the zero address. + if (nextTokenId != _currentIndex) { + nextSlot.addr = from; + nextSlot.startTimestamp = prevOwnership.startTimestamp; + } + } + } + + emit Transfer(from, to, tokenId); + _afterTokenTransfers(from, to, tokenId, 1); + } + + /** + * @dev Equivalent to `_burn(tokenId, false)`. + */ + function _burn(uint256 tokenId) internal virtual { + _burn(tokenId, false); + } + + /** + * @dev Destroys `tokenId`. + * The approval is cleared when the token is burned. + * + * Requirements: + * + * - `tokenId` must exist. + * + * Emits a {Transfer} event. + */ + function _burn(uint256 tokenId, bool approvalCheck) internal virtual { + TokenOwnership memory prevOwnership = _ownershipOf(tokenId); + + address from = prevOwnership.addr; + + if (approvalCheck) { + bool isApprovedOrOwner = (_msgSender() == from || isApprovedForAll(from, _msgSender()) || getApproved(tokenId) == _msgSender()); + + if (!isApprovedOrOwner) revert TransferCallerNotOwnerNorApproved(); + } + + _beforeTokenTransfers(from, address(0), tokenId, 1); + + // Clear approvals from the previous owner + _approve(address(0), tokenId, from); + + // Underflow of the sender's balance is impossible because we check for + // ownership above and the recipient's balance can't realistically overflow. + // Counter overflow is incredibly unrealistic as tokenId would have to be 2**256. + unchecked { + AddressData storage addressData = _addressData[from]; + addressData.balance -= 1; + addressData.numberBurned += 1; + + // Keep track of who burned the token, and the timestamp of burning. + TokenOwnership storage currSlot = _ownerships[tokenId]; + currSlot.addr = from; + currSlot.startTimestamp = uint64(block.timestamp); + currSlot.burned = true; + + // If the ownership slot of tokenId+1 is not explicitly set, that means the burn initiator owns it. + // Set the slot of tokenId+1 explicitly in storage to maintain correctness for ownerOf(tokenId+1) calls. + uint256 nextTokenId = tokenId + 1; + TokenOwnership storage nextSlot = _ownerships[nextTokenId]; + if (nextSlot.addr == address(0)) { + // This will suffice for checking _exists(nextTokenId), + // as a burned slot cannot contain the zero address. + if (nextTokenId != _currentIndex) { + nextSlot.addr = from; + nextSlot.startTimestamp = prevOwnership.startTimestamp; + } + } + } + + emit Transfer(from, address(0), tokenId); + _afterTokenTransfers(from, address(0), tokenId, 1); + + // Overflow not possible, as _burnCounter cannot be exceed _currentIndex times. + unchecked { + _burnCounter++; + } + } + + /** + * @dev Approve `to` to operate on `tokenId` + * + * Emits a {Approval} event. + */ + function _approve( + address to, + uint256 tokenId, + address owner + ) private { + _tokenApprovals[tokenId] = to; + emit Approval(owner, to, tokenId); + } + + /** + * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target contract. + * + * @param from address representing the previous owner of the given token ID + * @param to target address that will receive the tokens + * @param tokenId uint256 ID of the token to be transferred + * @param _data bytes optional data to send along with the call + * @return bool whether the call correctly returned the expected magic value + */ + function _checkContractOnERC721Received( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) private returns (bool) { + 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 TransferToNonERC721ReceiverImplementer(); + } else { + assembly { + revert(add(32, reason), mload(reason)) + } + } + } + } + + /** + * @dev Hook that is called before a set of serially-ordered token ids are about to be transferred. This includes minting. + * And also called before burning one token. + * + * startTokenId - the first token id to be transferred + * quantity - the amount to be transferred + * + * Calling conditions: + * + * - When `from` and `to` are both non-zero, `from`'s `tokenId` will be + * transferred to `to`. + * - When `from` is zero, `tokenId` will be minted for `to`. + * - When `to` is zero, `tokenId` will be burned by `from`. + * - `from` and `to` are never both zero. + */ + function _beforeTokenTransfers( + address from, + address to, + uint256 startTokenId, + uint256 quantity + ) internal virtual {} + + /** + * @dev Hook that is called after a set of serially-ordered token ids have been transferred. This includes + * minting. + * And also called after one token has been burned. + * + * startTokenId - the first token id to be transferred + * quantity - the amount to be transferred + * + * Calling conditions: + * + * - When `from` and `to` are both non-zero, `from`'s `tokenId` has been + * transferred to `to`. + * - When `from` is zero, `tokenId` has been minted for `to`. + * - When `to` is zero, `tokenId` has been burned by `from`. + * - `from` and `to` are never both zero. + */ + function _afterTokenTransfers( + address from, + address to, + uint256 startTokenId, + uint256 quantity + ) internal virtual {} +} diff --git a/tests/contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol b/tests/contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol new file mode 100644 index 0000000..e869970 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/ERC721ExtensionCore.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "./Guard.sol"; +import "./ERC721A.sol"; +import "./interfaces/IERC721ExtensionCore.sol"; + +contract ERC721ExtensionCore is ERC721A, Guarded, IERC721ExtensionCore { + // using Strings for uint256; + + // This mapping enables us to use custom token URI from the daccred client + mapping(uint256 => string) private _tokenURIs; + + constructor(string memory name, string memory symbol) ERC721A(name, symbol) {} + + /** + * @dev See {IERC721Metadata-tokenURI}. + */ + function tokenURI(uint256 tokenId) public view virtual override(ERC721A, IERC721Metadata) returns (string memory) { + if (!_exists(tokenId)) revert URIQueryForNonexistentToken(); + + string memory _tokenURI = _tokenURIs[tokenId]; + string memory base = _baseURI(); + + // If there is no base URI, return the token URI. + // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked). + return bytes(base).length != 0 ? string(abi.encodePacked(base, _tokenURI)) : _tokenURI; + } + + /** + * @dev Sets `_tokenURI` as the tokenURI of `tokenId`. + * + * Requirements: + * + * - `tokenId` must exist. + */ + function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual { + if (bytes(_tokenURI).length != 0) revert SetURICannotBeEmpty("empty tokenURI"); + if (bytes(_tokenURIs[tokenId]).length != 0) revert URIRequestForExistentToken(); + _tokenURIs[tokenId] = _tokenURI; + } + + /** + * @dev Mints token to use based on tokenURI. + * + * Requirements: + * + * - `tokenURI` must be supplied. + */ + function mint(string memory _tokenURI) external payable virtual guarded returns (uint256) { + require(msg.value == 0, "[Core.mint] value to be 0"); + + /// @dev we do not regard the principle of quantity, + /// @dev everyone mints only one token + _mint(msg.sender, 1); + + uint256 newTokenId = _currentIndex; + + /// @dev we can now set the tokenURI of the token we just minted + _setTokenURI(newTokenId, _tokenURI); + + // /// @dev emit transfer event + // emit Transfer(address(0), msg.sender, newTokenId); + return newTokenId; + } + + /** + * @dev Burns `tokenId`. See {ERC721A-_burn}. + * + * Requirements: + * + * - The caller must own `tokenId` or be an approved operator. + */ + function burn(uint256 tokenId) public virtual override { + _burn(tokenId, true); + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol b/tests/contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol new file mode 100644 index 0000000..448f1bc --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/ERC721ExtensionSignature.sol @@ -0,0 +1,171 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "./Guard.sol"; +import "./ERC721ExtensionCore.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; + +contract ERC721ExtensionSignature is Guarded, ERC721ExtensionCore, Ownable { + /// @dev max supply is the max number of token IDs + /// @dev that can be minted in this contract + uint256 public maxSupply; + + /// @dev Capped supply is a limitation on the + /// @dev number of tokens a user can mint + uint256 public cappedSupply; + + ///@dev if the deployers require users to pay to mint, + /// @dev they charge a tarriff + uint256 public redemptionTariff = 0; + + /* ----------------------- */ + /* DACCRED CONFIGURATIONS */ + /* --------------------- */ + uint256 immutable __COMMISSIONS__; // 1.5% // !important set correct dev wallet before launch + address immutable __COMMISSIONER__; // daccred multi-sig // !important set correct dev wallet before launch + + constructor( + string memory _name, + string memory _symbol, + address _comissioner, + uint256 _maxSupply, + uint256 _commissions, + uint256 _cappedSupply, + uint256 _redemptionTariff + ) ERC721ExtensionCore(_name, _symbol) { + require(_maxSupply > 0, "[Ext721Sig]: NaN"); + require(_cappedSupply > 0, "[Ext721Sig]: NaN"); + require(_redemptionTariff > 0, "[Ext721Sig]: NaN"); + + /// @dev initialize immutable variables + __COMMISSIONER__ = _comissioner; + __COMMISSIONS__ = _commissions; + + /// @dev setup internal config variables + redemptionTariff = _redemptionTariff; + cappedSupply = _cappedSupply; + maxSupply = _maxSupply; + } + + function updateMaxSupply(uint256 _maxSupply) external onlyOwner { + require(_maxSupply > 0 && _maxSupply >= totalSupply(), "Invalid max supply"); + maxSupply = _maxSupply; + } + + function modifyTariff(uint256 _newTariff) external onlyOwner { + redemptionTariff = _newTariff; + } + + /// @dev Override the ERC721ExtensionCore.mint function to handle payable mints. + /// @dev requires the caller to pay the redemptionTariff. + + function mint(string memory _tokenURI) external payable override guarded returns (uint256) { + /// @dev ensure this transaction is funded + require(msg.value >= redemptionTariff, "[ExtSig:mint]:No funds"); + + /// @dev hook to run before minting + _beforeTokenMint(_msgSender()); + + /// @dev we do not regard the principle of quantity, + /// @dev everyone mints only one token + _mint(_msgSender(), 1); + + uint256 newTokenId = _currentIndex; + + /// @dev we can now set the tokenURI of the token we just minted + _setTokenURI(newTokenId, _tokenURI); + + /// @dev we calculate the commissions for admin + uint256 commission = (msg.value * __COMMISSIONS__) / 10000; + + /// @dev we send the commission to the commissioner + payable(__COMMISSIONER__).transfer(commission); + + return newTokenId; + } + + function _beforeTokenMint(address recipient) internal view { + require(balanceOf(recipient) < cappedSupply, "You can't mint anymore."); + require(totalSupply() < maxSupply, "Max supply reached"); + } + + function mintWithSignature( + address addr, + bytes32 hash, + bytes memory sig, + string memory _tokenURI + ) external guarded onlyOwner { + /// @dev Require that the address is not a zero address. + require(addr != address(0), "Mint to zero address."); + /// @dev Require that the hash is actually 32 [64 characters] + /// in length. + require(hash.length == 32, "Invalid hash."); + /// @dev Require the length of the signature is 65. + require(sig.length == 65, "Invalid signature length"); + /// @dev Verifies that the address was actually signed by the + /// allowlistOwner. + bytes memory prefix = "\x19Ethereum Signed Message:\n32"; + bytes32 prefixedHashMessage = keccak256(abi.encodePacked(prefix, hash)); + require(verifySigner(owner(), prefixedHashMessage, sig), "Hash not signed by owner."); + + /// @dev hook to run before minting + _beforeTokenMint(_msgSender()); + + /// @dev we do not regard the principle of quantity, + /// @dev everyone mints only one token + _mint(_msgSender(), 1); + + uint256 newTokenId = _currentIndex; + + /// @dev we can now set the tokenURI of the token we just minted + _setTokenURI(newTokenId, _tokenURI); + } + + function verifySigner( + address _signer, + bytes32 _hash, + bytes memory _signature + ) internal pure returns (bool) { + (bytes32 r, bytes32 s, uint8 v) = splitSignature(_signature); + return (_signer == ecrecover(_hash, v, r, s)); + } + + function splitSignature(bytes memory sig) + private + pure + returns ( + bytes32 r, + bytes32 s, + uint8 v + ) + { + assembly { + /** + * @dev Copied from https://solidity-by-example.org/signature. + * First 32 bytes stores the length of the signature + * add(sig, 32) = pointer of sig + 32 + * effectively, skips first 32 bytes of signature + * mload(p) loads next 32 bytes starting at the memory + * address p into memory. + */ + + /// @dev First 32 bytes, after the length prefix. + r := mload(add(sig, 32)) + /// @dev Second 32 bytes. + s := mload(add(sig, 64)) + /// @dev Final byte (first byte of the next 32 bytes). + v := byte(0, mload(add(sig, 96))) + } + } + + function withdraw() external onlyOwner { + payable(owner()).transfer(address(this).balance); + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/Guard.sol b/tests/contracts/contracts/packages/nft/contracts/Guard.sol new file mode 100644 index 0000000..529baf6 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/Guard.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +/// @notice Gas optimized reentrancy protection for smart contracts. +/// @author Daccred (https://github.com/daccred/contracts) +/// @author derived (https://github.com/transmissions11/solmate/blob/main/src/utils/ReentrancyGuard.sol) +abstract contract Guarded { + uint256 private locked = 1; + + modifier guarded() virtual { + require(locked == 1, "REENTRANCY"); + + locked = 2; + + _; + + locked = 1; + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/Owned.sol b/tests/contracts/contracts/packages/nft/contracts/Owned.sol new file mode 100644 index 0000000..9eed447 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/Owned.sol @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: AGPL-3.0-only +pragma solidity >=0.8.0; + +/// @notice Simple single owner authorization mixin. +/// @author Daccred (https://github.com/daccred/contracts) +/// @author derived from Solmate (https://github.com/transmissions11/solmate/blob/main/src/auth/Owned.sol) +abstract contract Owned { + /*////////////////////////////////////////////////////////////// + EVENTS + //////////////////////////////////////////////////////////////*/ + + event OwnerUpdated(address indexed user, address indexed newOwner); + + /*////////////////////////////////////////////////////////////// + OWNERSHIP STORAGE + //////////////////////////////////////////////////////////////*/ + + address public owner; + + modifier onlyOwner() virtual { + require(msg.sender == owner, "UNAUTHORIZED"); + + _; + } + + /*////////////////////////////////////////////////////////////// + CONSTRUCTOR + //////////////////////////////////////////////////////////////*/ + + constructor(address _owner) { + owner = _owner; + + emit OwnerUpdated(address(0), _owner); + } + + /*////////////////////////////////////////////////////////////// + OWNERSHIP LOGIC + //////////////////////////////////////////////////////////////*/ + + function setOwner(address newOwner) public virtual onlyOwner { + owner = newOwner; + + emit OwnerUpdated(msg.sender, newOwner); + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol b/tests/contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol new file mode 100644 index 0000000..dd99744 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/interfaces/IERC721A.sol @@ -0,0 +1,119 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +/** + * @title IERC721 Extension. + * @author Daccred. + * @dev IERC721 Extensions giving us access to ERC721 core capabilities. + */ + +import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; +import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol"; + +/** + * @dev Interface of an ERC721A compliant contract. + */ +interface IERC721A is IERC721, IERC721Metadata { + /** + * The caller must own the token or be an approved operator. + */ + error ApprovalCallerNotOwnerNorApproved(); + + /** + * The token does not exist. + */ + error ApprovalQueryForNonexistentToken(); + + /** + * The caller cannot approve to their own address. + */ + error ApproveToCaller(); + + /** + * The caller cannot approve to the current owner. + */ + error ApprovalToCurrentOwner(); + + /** + * Cannot query the balance for the zero address. + */ + error BalanceQueryForZeroAddress(); + + /** + * Cannot mint to the zero address. + */ + error MintToZeroAddress(); + + /** + * The quantity of tokens minted must be more than zero. + */ + error MintZeroQuantity(); + + /** + * The token does not exist. + */ + error OwnerQueryForNonexistentToken(); + + /** + * The caller must own the token or be an approved operator. + */ + error TransferCallerNotOwnerNorApproved(); + + /** + * The token must be owned by `from`. + */ + error TransferFromIncorrectOwner(); + + /** + * Cannot safely transfer to a contract that does not implement the ERC721Receiver interface. + */ + error TransferToNonERC721ReceiverImplementer(); + + /** + * Cannot transfer to the zero address. + */ + error TransferToZeroAddress(); + + /** + * The token does not exist. + */ + error URIQueryForNonexistentToken(); + + // Compiler will pack this into a single 256bit word. + struct TokenOwnership { + // The address of the owner. + address addr; + // Keeps track of the start time of ownership with minimal overhead for tokenomics. + uint64 startTimestamp; + // Whether the token has been burned. + bool burned; + } + + // Compiler will pack this into a single 256bit word. + struct AddressData { + // Realistically, 2**64-1 is more than enough. + uint64 balance; + // Keeps track of mint count with minimal overhead for tokenomics. + uint64 numberMinted; + // Keeps track of burn count with minimal overhead for tokenomics. + uint64 numberBurned; + // For miscellaneous variable(s) pertaining to the address + // (e.g. number of whitelist mint slots used). + // If there are multiple variables, please pack them into a uint64. + uint64 aux; + } + + /** + * @dev Returns the total amount of tokens stored by the contract. + * + * Burned tokens are calculated here, use `_totalMinted()` if you want to count just minted tokens. + */ + function totalSupply() external view returns (uint256); +} diff --git a/tests/contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol b/tests/contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol new file mode 100644 index 0000000..71c59d6 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/interfaces/IERC721ExtensionCore.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; +import "./IERC721A.sol"; + +/** + * @title ERC721 Core Extension + * @author Daccred. + * @dev Interface of an ERC721ExtensionCore contract. + * This Extension enables the ability to set custom URI storage and also includes core features like burn into the ERC-721 Contract + */ + +interface IERC721ExtensionCore is IERC721A { + /** + * The token already has an existing + */ + error SetURICannotBeEmpty(string reason); + + /** + * The token already has an existing + */ + error URIRequestForExistentToken(); + + /** + * @dev Burns `tokenId`. See {ERC721A-_burn}. + * + * Requirements: + * + * - The caller must own `tokenId` or be an approved operator. + */ + function burn(uint256 tokenId) external; +} diff --git a/tests/contracts/contracts/packages/nft/contracts/interfaces/IPOAP.sol b/tests/contracts/contracts/packages/nft/contracts/interfaces/IPOAP.sol new file mode 100644 index 0000000..62f1763 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/interfaces/IPOAP.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "./IERC721A.sol"; + +/** + * @title POAP [Proof Of Attendance Protocol] Interface. + * @author Daccred. + * @dev + * POAPs are a type of NFTs minted to addresses, showing that they attended a particular event or activity. + * These NFTs are minted on a POAP minting smart contract, then transferred free to the attenders of the events. + * [Ref: https://www.fool.com/investing/stock-market/market-sectors/financials/non-fungible-tokens/poap-nfts/]. + * This unique type of NFT is a free digital gift from the organizers of an event to the attendees. + * Sample Metadata: https://poap.xyz/events/jsons/28.json. + */ + +/** + * @title ERC-721 Non-Fungible Token Standard, optional metadata extension + * @dev See https://eips.ethereum.org/EIPS/eip-721 + */ + +interface IPOAP is IERC721A { + // ========== E V E N T S ========== + + /// @dev Emitted when a token is minted for an event. + event EventToken(uint256 eventId, uint256 tokenId); + + // ========== E V E N T S ========== + + /** + * @dev Mints token `_tokenId` for a particular event `_eventId`. + * Emits the {EventToken} event. + * On calling this function, all tokens are minted to the caller. + * Then it can be transferred to attendees via transferToken. + * + * @param + * _eventId => The event for which the token was minted. + * _tokenId => Token to be minted. + */ + function mintToken(uint256 _eventId, uint256 _tokenId) external; + + /** + * @dev Mints the POAP token `_tokenId` to `_receiver`. + * + * @param + * _eventId => The event for which the token was minted. + * _receiver => Address receiving the token. + * _tokenId => Token to be minted. + */ + function transferToken( + uint256 _eventId, + address _receiver, + uint256 _tokenId + ) external; +} diff --git a/tests/contracts/contracts/packages/nft/contracts/interfaces/IPayableMint.sol b/tests/contracts/contracts/packages/nft/contracts/interfaces/IPayableMint.sol new file mode 100644 index 0000000..02817b6 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/interfaces/IPayableMint.sol @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +/** + * @title Payable mint interface. + * @author Daccred. + * @dev + * This Extension enable users to charge for mints in the Native token of the Network where the token is being issued. + * The minters pay to mint. + */ + +interface IWithPaidExtension { + // ===== E V E N T S ===== + + /// @dev Emitted when the token is minted. + event Minted(address indexed _address, uint256 indexed amountPaid, uint256 indexed tokenId); + + // ===== E V E N T S ===== + + /** + * @dev Allows the setting of the Fees. + * + * @param _fee, the price of fee to be set. + */ + function setFee(uint256 _fee) external; + + /** + * @dev Allows the setting of the Fees. + * + * @return _fee which is the price of fee already set. + */ + function getFee() external returns (uint256 _fee); + + /** + * @dev Allows the splitting of payouts. + */ + function splitPayout() external; + + /** + * @dev Allows the user to pay some ETH to mint the token. + * + * @param tokenId, tokenId to be minted. + * + * @return bool, true if minted and false if otherwise. + */ + function withRedemptionFee(uint256 tokenId) external payable returns (bool); + + /** + * @dev Whenever users want to withdraw funds from a payable credentials, + * We also get paid as well. The markup can be 10% for free accounts. + */ + function withdraw() external payable; +} diff --git a/tests/contracts/contracts/packages/nft/contracts/interfaces/IWhitelist.sol b/tests/contracts/contracts/packages/nft/contracts/interfaces/IWhitelist.sol new file mode 100644 index 0000000..5892196 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/interfaces/IWhitelist.sol @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.7; + +/** + * @title Whitelist Limitation Interface. + * @author Daccred. + * @dev For contracts that will implement this interface, storage fixed arrays cannot be created from a function + * (only memory can, and will be wiped out when the function is done). + * But this interface seeks to control a dynamic array's max length using a storage uint256 variable. + * This ensures that the length of the array cannot be GT the value of the max length. + * Contracts to implement this interface must specify a control uint on the contract storage. + * + * [USABILITY] + * In future in the WhitelistFactory, the entire Whitelist actions will be controlled depending on the users payment plan (free or paid). + * When the WhitelistFactory is deployed, a whitelist max length is automatically created via + * setting a default max length value for the address + * the whitelist can now be created to memory by uint256[max_length] whitelist = new uint256[](max_length) + * and functions that adds, extends and sets new length for whitelist will be handled from the Factory, the actions + * will be dependent on the users payment plan. + * + * [WARNING] + * This max length value can only be incremented. + */ + +interface IWhitelist { + // ========== E V E N T S ========== + + /// @dev Emitted when a new whitelist length is set. + event SetWhitelistLength(uint256); + + /// @dev Emitted when the max length of the array is extended. + event ExtendWhitelistLength(uint256); + + // ========== E V E N T S ========== + + /** + * @dev Returns the current length of the array, (number of elements housed by the array). + */ + function getWhitelistLength() external returns (uint256); + + /** + * @dev Returns the current value of the max length of the array. + */ + function getWhitelistMaxLength() external returns (uint256); + + /** + * @dev Set the new `_length` to the max length of the array. + * This cannot be reduced, only increased. + * (An array with a current max length of 5, can only accept values GT 5 for a new max length value). + * + * [CONDITIONS] + * new `_length` must be > than the `max length`. + * + * Emits the {SetWhitelistLength} event. + * + * @param _length, The new value for the max length of the array. + * + * @return bool. + */ + function setWhitelistLength(uint256 _length) external returns (bool); + + /** + * @dev Adds a value of `_length` to the current max length. + * (Calling this function on the max length with a value of 5, sets the new max length value to: 5 + `_length`). + * Returns the new max length value. + * + * [CONDITIONS] + * `_length` must be GT 0. + * + * Emits the {ExtendWhitelistLength} event. + * + * @param _length, The desired length by which the max value will be extended. + * + * @return bool. + */ + function extendWhitelistLength(uint256 _length) external returns (bool); + + // ========== I N T E R F A C E S ========== +} diff --git a/tests/contracts/contracts/packages/nft/contracts/interfaces/IWithMerkleProof.sol b/tests/contracts/contracts/packages/nft/contracts/interfaces/IWithMerkleProof.sol new file mode 100644 index 0000000..cc7a801 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/interfaces/IWithMerkleProof.sol @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +/// @dev This library will be used for the proofs. +// import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol"; + +/** + * @title IWithMerkleProof Interface. + * @author Daccred. + * @dev Verifies a leaf as part of a Merkle tree. + */ + +interface IWithMerkleProof { + /** + * @dev Allows caller to set merkle root. + */ + function setMerkleRoot(bytes32 _root) external; + + /** + * @dev Returns the merkle root, if it is set. + * + * @return _root which is the merkle root. + */ + function getMerkleRoot() external returns (bytes32 _root); + + /** + * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree defined by `root`. + * For this, a `proof` must be provided, containing sibling hashes on the branch from the leaf to the root of the tree. + * Each pair of leaves and each pair of pre-images are assumed to be sorted. + * + * @param leaf, root and proof. + */ + function verifyMerkleProof( + bytes32[] memory proof, + bytes32 root, + bytes32 leaf + ) external returns (bool); +} diff --git a/tests/contracts/contracts/packages/nft/contracts/interfaces/IWithSignature.sol b/tests/contracts/contracts/packages/nft/contracts/interfaces/IWithSignature.sol new file mode 100644 index 0000000..dc0dbaa --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/interfaces/IWithSignature.sol @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +/** + * @title IWithSignature Interface. + * @author Daccred. + * @dev + */ + +interface IWithSignature { + // ===== E V E N T S ===== + + /// @dev Emitted when the token is minted. + event IssueWithSignature(address indexed _address, uint256 indexed tokenId); + /// @dev Thrown when the minting fails, because of insufficient eth or otherwise. + error IssueWithSignatureError(address _address, uint256 tokenId, bytes32); + /// @dev Emitted when the token is revoked. + event RevokeWithSignature(address indexed _address, uint256 indexed tokenId); + + // ===== E V E N T S ===== + + /** + * @dev Verifies that an address is part of the Allowlist. + * By verifying that the public key that signed `_signature` is the caller of the function. + * Emits the {Verified} event. + * In error cases, throw the {Unsigned} error. + * + * @param + * _hash, hash of the address signed off-chain. + * _signature, signature to verify. + * + * @return bool, true if the signer is the contract and false if otherwise. + */ + function verifySignature(bytes32 _hash, bytes memory _signature) external returns (bool); + + /** + * @dev Mints `quantity` number of tokens to `to`. + * On the condition that the hash of `to`, has + * been verified with Signature. + * Emits the {IssueWithSignature} event. + * + * @param to Address of receiver. + * @param quantity Amount to mint to `to`. + */ + function issueWithSignature(address to, uint256 quantity) external; + + /** + * @dev Revokes the user's token ownership by burning. + * + * @param tokenId, token to be minted. + */ + function revokeWithSignature(uint256 tokenId) external; +} diff --git a/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol new file mode 100644 index 0000000..7c19bff --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableMock.sol @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "../ERC721ExtensionCore.sol"; + +contract ERC721ABurnableMock is ERC721ExtensionCore { + constructor(string memory name_, string memory symbol_) ERC721ExtensionCore(name_, symbol_) {} + + function exists(uint256 tokenId) public view returns (bool) { + return _exists(tokenId); + } + + function safeMint(address to, uint256 quantity) public { + _safeMint(to, quantity); + } + + function getOwnershipAt(uint256 index) public view returns (TokenOwnership memory) { + return _ownerships[index]; + } + + function totalMinted() public view returns (uint256) { + return _totalMinted(); + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableStartTokenIdMock.sol b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableStartTokenIdMock.sol new file mode 100644 index 0000000..cb48f5b --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ABurnableStartTokenIdMock.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "./ERC721ABurnableMock.sol"; +import "./StartTokenIdHelper.sol"; + +contract ERC721ABurnableStartTokenIdMock is StartTokenIdHelper, ERC721ABurnableMock { + constructor( + string memory name_, + string memory symbol_, + uint256 startTokenId_ + ) StartTokenIdHelper(startTokenId_) ERC721ABurnableMock(name_, symbol_) {} + + function _startTokenId() internal view override returns (uint256) { + return startTokenId; + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AGasReporterMock.sol b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AGasReporterMock.sol new file mode 100644 index 0000000..5f155fd --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AGasReporterMock.sol @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "../ERC721A.sol"; + +contract ERC721AGasReporterMock is ERC721A { + constructor(string memory name_, string memory symbol_) ERC721A(name_, symbol_) {} + + function safeMintOne(address to) public { + _safeMint(to, 1); + } + + function mintOne(address to) public { + _mint(to, 1); + } + + function safeMintTen(address to) public { + _safeMint(to, 10); + } + + function mintTen(address to) public { + _mint(to, 10); + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol new file mode 100644 index 0000000..45b273f --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AMock.sol @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "../ERC721A.sol"; + +contract ERC721AMock is ERC721A { + constructor(string memory name_, string memory symbol_) ERC721A(name_, symbol_) {} + + function numberMinted(address owner) public view returns (uint256) { + return _numberMinted(owner); + } + + function totalMinted() public view returns (uint256) { + return _totalMinted(); + } + + function getAux(address owner) public view returns (uint64) { + return _getAux(owner); + } + + function setAux(address owner, uint64 aux) public { + _setAux(owner, aux); + } + + function baseURI() public view returns (string memory) { + return _baseURI(); + } + + function exists(uint256 tokenId) public view returns (bool) { + return _exists(tokenId); + } + + function safeMint(address to, uint256 quantity) public { + _safeMint(to, quantity); + } + + function safeMint( + address to, + uint256 quantity, + bytes memory _data + ) public { + _safeMint(to, quantity, _data); + } + + function mint(address to, uint256 quantity) public { + _mint(to, quantity); + } + + function burn(uint256 tokenId, bool approvalCheck) public { + super._burn(tokenId, approvalCheck); + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AStartTokenIdMock.sol b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AStartTokenIdMock.sol new file mode 100644 index 0000000..ecdda8d --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721AStartTokenIdMock.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "./ERC721AMock.sol"; +import "./StartTokenIdHelper.sol"; + +contract ERC721AStartTokenIdMock is StartTokenIdHelper, ERC721AMock { + constructor( + string memory name_, + string memory symbol_, + uint256 startTokenId_ + ) StartTokenIdHelper(startTokenId_) ERC721AMock(name_, symbol_) {} + + function _startTokenId() internal view override returns (uint256) { + return startTokenId; + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ReceiverMock.sol b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ReceiverMock.sol new file mode 100644 index 0000000..98fb0ca --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/mocks/ERC721ReceiverMock.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; + +contract ERC721ReceiverMock is IERC721Receiver { + enum Error { + None, + RevertWithMessage, + RevertWithoutMessage, + Panic + } + + bytes4 private immutable _retval; + + event Received(address operator, address from, uint256 tokenId, bytes data, uint256 gas); + + constructor(bytes4 retval) { + _retval = retval; + } + + function onERC721Received( + address operator, + address from, + uint256 tokenId, + bytes memory data + ) public override returns (bytes4) { + emit Received(operator, from, tokenId, data, 20000); + return _retval; + } +} diff --git a/tests/contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol b/tests/contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol new file mode 100644 index 0000000..d7f2c37 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/contracts/mocks/StartTokenIdHelper.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-3.0 + +// _____ ______ ______ ______ ______ ______ _____ +// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.4; + +/** + * This Helper is used to return a dynmamic value in the overriden _startTokenId() function. + * Extending this Helper before the ERC721A contract give us access to the herein set `startTokenId` + * to be returned by the overriden `_startTokenId()` function of ERC721A in the ERC721AStartTokenId mocks. + */ +contract StartTokenIdHelper { + uint256 public startTokenId; + + constructor(uint256 startTokenId_) { + startTokenId = startTokenId_; + } +} diff --git a/tests/contracts/contracts/packages/nft/test/ERC721A.test.ts b/tests/contracts/contracts/packages/nft/test/ERC721A.test.ts new file mode 100644 index 0000000..38d90f0 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/test/ERC721A.test.ts @@ -0,0 +1,412 @@ +/* always import the initializer [helper.ts] at the top */ +import { deployContract, constants } from './helpers' +import { ethers } from 'hardhat' +import { expect } from 'chai' +import { ERC721A } from '../types/contracts/ERC721A'; +const { ZERO_ADDRESS } = constants; + + +const RECEIVER_MAGIC_VALUE = '0x150b7a02'; +const GAS_MAGIC_VALUE = 20000; + +const createTestSuite = ({ contract, constructorArgs }: any) => + function () { + context(`${contract}`, function () { + beforeEach(async function () { + this.erc721a = await deployContract(contract, constructorArgs) as ERC721A; + this.receiver = await deployContract('ERC721ReceiverMock', [RECEIVER_MAGIC_VALUE]); + this.startTokenId = this.erc721a.startTokenId ? (await this.erc721a.startTokenId()).toNumber() : 0; + }); + + describe('EIP-165 support', async function () { + it('supports IERC721', async function () { + expect(await this.erc721a.supportsInterface('0x80ac58cd')).to.eq(true); + }) + + it('supports ERC721Metadata', async function () { + expect(await this.erc721a.supportsInterface('0x5b5e139f')).to.eq(true); + }) + + it('does not support ERC721Enumerable', async function () { + expect(await this.erc721a.supportsInterface('0x780e9d63')).to.eq(false); + }) + + it('does not support random interface', async function () { + expect(await this.erc721a.supportsInterface('0x00000042')).to.eq(false); + }) + }) + + context('with no minted tokens', async function () { + it('has 0 totalSupply', async function () { + const supply = await this.erc721a.totalSupply(); + expect(supply).to.equal(0); + }); + + it('has 0 totalMinted', async function () { + const totalMinted = await this.erc721a.totalMinted(); + expect(totalMinted).to.equal(0); + }); + }); + + context('with minted tokens', async function () { + beforeEach(async function () { + const [owner, addr1, addr2, addr3] = await ethers.getSigners(); + this.owner = owner; + this.addr1 = addr1; + this.addr2 = addr2; + this.addr3 = addr3; + await this.erc721a['safeMint(address,uint256)'](addr1.address, 1); + await this.erc721a['safeMint(address,uint256)'](addr2.address, 2); + await this.erc721a['safeMint(address,uint256)'](addr3.address, 3); + }); + + describe('ERC721Metadata support', async function () { + it('responds with the right name', async function () { + expect(await this.erc721a.name()).to.eq('Daccred'); + }) + + it('responds with the right symbol', async function () { + expect(await this.erc721a.symbol()).to.eq('DCD'); + }) + + describe('tokenURI', async function () { + it('sends an emtpy uri by default', async function () { + const uri = await this.erc721a['tokenURI(uint256)'](1); + expect(uri).to.eq(''); + }) + + it('reverts when tokenid is invalid', async function () { + await expect(this.erc721a['tokenURI(uint256)'](42)).to.be.reverted; + }) + }) + }) + + describe('exists', async function () { + it('verifies valid tokens', async function () { + for (let tokenId = this.startTokenId; tokenId < 6 + this.startTokenId; tokenId++) { + const exists = await this.erc721a.exists(tokenId); + expect(exists).to.be.true; + } + }); + + it('verifies invalid tokens', async function () { + expect(await this.erc721a.exists(6 + this.startTokenId)).to.be.false; + }); + }); + + describe('balanceOf', async function () { + it('returns the amount for a given address', async function () { + expect(await this.erc721a.balanceOf(this.owner.address)).to.equal('0'); + expect(await this.erc721a.balanceOf(this.addr1.address)).to.equal('1'); + expect(await this.erc721a.balanceOf(this.addr2.address)).to.equal('2'); + expect(await this.erc721a.balanceOf(this.addr3.address)).to.equal('3'); + }); + + it('throws an exception for the 0 address', async function () { + await expect(this.erc721a.balanceOf(ZERO_ADDRESS)).to.be.revertedWith('BalanceQueryForZeroAddress'); + }); + }); + + describe('_numberMinted', async function () { + it('returns the amount for a given address', async function () { + expect(await this.erc721a.numberMinted(this.owner.address)).to.equal('0'); + expect(await this.erc721a.numberMinted(this.addr1.address)).to.equal('1'); + expect(await this.erc721a.numberMinted(this.addr2.address)).to.equal('2'); + expect(await this.erc721a.numberMinted(this.addr3.address)).to.equal('3'); + }); + }); + + context('_totalMinted', async function () { + it('has 6 totalMinted', async function () { + const totalMinted = await this.erc721a.totalMinted(); + expect(totalMinted).to.equal('6'); + }); + }); + + describe('aux', async function () { + it('get and set works correctly', async function () { + const uint64Max = '18446744073709551615'; + expect(await this.erc721a.getAux(this.owner.address)).to.equal('0'); + await this.erc721a.setAux(this.owner.address, uint64Max); + expect(await this.erc721a.getAux(this.owner.address)).to.equal(uint64Max); + + expect(await this.erc721a.getAux(this.addr1.address)).to.equal('0'); + await this.erc721a.setAux(this.addr1.address, '1'); + expect(await this.erc721a.getAux(this.addr1.address)).to.equal('1'); + + await this.erc721a.setAux(this.addr3.address, '5'); + expect(await this.erc721a.getAux(this.addr3.address)).to.equal('5'); + + expect(await this.erc721a.getAux(this.addr1.address)).to.equal('1'); + }); + }); + + describe('ownerOf', async function () { + it('returns the right owner', async function () { + expect(await this.erc721a.ownerOf(0 + this.startTokenId)).to.equal(this.addr1.address); + expect(await this.erc721a.ownerOf(1 + this.startTokenId)).to.equal(this.addr2.address); + expect(await this.erc721a.ownerOf(5 + this.startTokenId)).to.equal(this.addr3.address); + }); + + it('reverts for an invalid token', async function () { + await expect(this.erc721a.ownerOf(10)).to.be.revertedWith('OwnerQueryForNonexistentToken'); + }); + }); + + describe('approve', async function () { + beforeEach(function () { + this.tokenId = this.startTokenId; + this.tokenId2 = this.startTokenId + 1; + }); + + it('sets approval for the target address', async function () { + await this.erc721a.connect(this.addr1).approve(this.addr2.address, this.tokenId); + const approval = await this.erc721a.getApproved(this.tokenId); + expect(approval).to.equal(this.addr2.address); + }); + + it('rejects an invalid token owner', async function () { + await expect( + this.erc721a.connect(this.addr1).approve(this.addr2.address, this.tokenId2) + ).to.be.revertedWith('ApprovalToCurrentOwner'); + }); + + it('rejects an unapproved caller', async function () { + await expect(this.erc721a.approve(this.addr2.address, this.tokenId)).to.be.revertedWith( + 'ApprovalCallerNotOwnerNorApproved' + ); + }); + + it('does not get approved for invalid tokens', async function () { + await expect(this.erc721a.getApproved(10)).to.be.revertedWith('ApprovalQueryForNonexistentToken'); + }); + }); + + describe('setApprovalForAll', async function () { + it('sets approval for all properly', async function () { + const approvalTx = await this.erc721a.setApprovalForAll(this.addr1.address, true); + await expect(approvalTx) + .to.emit(this.erc721a, 'ApprovalForAll') + .withArgs(this.owner.address, this.addr1.address, true); + expect(await this.erc721a.isApprovedForAll(this.owner.address, this.addr1.address)).to.be.true; + }); + + it('sets rejects approvals for non msg senders', async function () { + await expect( + this.erc721a.connect(this.addr1).setApprovalForAll(this.addr1.address, true) + ).to.be.revertedWith('ApproveToCaller'); + }); + }); + + context('test transfer functionality', function () { + const testSuccessfulTransfer = function (transferFn: string) { + beforeEach(async function () { + this.tokenId = this.startTokenId + 1; + + const sender = this.addr2; + this.from = sender.address; + this.to = this.receiver.address; + await this.erc721a.connect(sender).setApprovalForAll(this.to, true); + this.transferTx = await this.erc721a.connect(sender)[transferFn](this.from, this.to, this.tokenId); + }); + + it('transfers the ownership of the given token ID to the given address', async function () { + expect(await this.erc721a.ownerOf(this.tokenId)).to.be.equal(this.to); + }); + + it('emits a Transfer event', async function () { + await expect(this.transferTx) + .to.emit(this.erc721a, 'Transfer') + .withArgs(this.from, this.to, this.tokenId); + }); + + it('clears the approval for the token ID', async function () { + expect(await this.erc721a.getApproved(this.tokenId)).to.be.equal(ZERO_ADDRESS); + }); + + it('emits an Approval event', async function () { + await expect(this.transferTx) + .to.emit(this.erc721a, 'Approval') + .withArgs(this.from, ZERO_ADDRESS, this.tokenId); + }); + + it('adjusts owners balances', async function () { + expect(await this.erc721a.balanceOf(this.from)).to.be.equal(1); + }); + }; + + const testUnsuccessfulTransfer = function (transferFn: string) { + beforeEach(function () { + this.tokenId = this.startTokenId + 1; + }); + + it('rejects unapproved transfer', async function () { + await expect( + this.erc721a.connect(this.addr1)[transferFn](this.addr2.address, this.addr1.address, this.tokenId) + ).to.be.revertedWith('TransferCallerNotOwnerNorApproved'); + }); + + it('rejects transfer from incorrect owner', async function () { + await this.erc721a.connect(this.addr2).setApprovalForAll(this.addr1.address, true); + await expect( + this.erc721a.connect(this.addr1)[transferFn](this.addr3.address, this.addr1.address, this.tokenId) + ).to.be.revertedWith('TransferFromIncorrectOwner'); + }); + + it('rejects transfer to zero address', async function () { + await this.erc721a.connect(this.addr2).setApprovalForAll(this.addr1.address, true); + await expect( + this.erc721a.connect(this.addr1)[transferFn](this.addr2.address, ZERO_ADDRESS, this.tokenId) + ).to.be.revertedWith('TransferToZeroAddress'); + }); + }; + + context('successful transfers', function () { + describe('transferFrom', function () { + testSuccessfulTransfer('transferFrom'); + }); + + describe('safeTransferFrom', function () { + testSuccessfulTransfer('safeTransferFrom(address,address,uint256)'); + + it('validates ERC721Received', async function () { + await expect(this.transferTx) + .to.emit(this.receiver, 'Received') + .withArgs(this.addr2.address, this.addr2.address, 1 + this.startTokenId, '0x', GAS_MAGIC_VALUE); + }); + }); + }); + + context('unsuccessful transfers', function () { + describe('transferFrom', function () { + testUnsuccessfulTransfer('transferFrom'); + }); + + describe('safeTransferFrom', function () { + testUnsuccessfulTransfer('safeTransferFrom(address,address,uint256)'); + }); + }); + }); + + /* handle other burn scenarios in burn test */ + + describe('_burn', async function() { + let tokenIdToBurn: any; + beforeEach(function () { + tokenIdToBurn = this.startTokenId; + }); + + it('can burn if approvalCheck is false', async function () { + await this.erc721a.connect(this.addr2).burn(tokenIdToBurn, false); + expect(await this.erc721a.exists(tokenIdToBurn)).to.be.false; + }); + + it('revert if approvalCheck is true', async function () { + await expect( + this.erc721a.connect(this.addr2).burn(tokenIdToBurn, true) + ).to.be.revertedWith('TransferCallerNotOwnerNorApproved'); + }); + + }); + + + }); + + context('mint', async function () { + beforeEach(async function () { + const [owner, addr1, addr2] = await ethers.getSigners(); + this.owner = owner; + this.addr1 = addr1; + this.addr2 = addr2; + }); + + describe('safeMint', function () { + it('successfully mints a single token', async function () { + const mintTx = await this.erc721a['safeMint(address,uint256)'](this.receiver.address, 1); + await expect(mintTx) + .to.emit(this.erc721a, 'Transfer') + .withArgs(ZERO_ADDRESS, this.receiver.address, this.startTokenId); + await expect(mintTx) + .to.emit(this.receiver, 'Received') + .withArgs(this.owner.address, ZERO_ADDRESS, this.startTokenId, '0x', GAS_MAGIC_VALUE); + expect(await this.erc721a.ownerOf(this.startTokenId)).to.equal(this.receiver.address); + }); + + it('successfully mints multiple tokens', async function () { + const mintTx = await this.erc721a['safeMint(address,uint256)'](this.receiver.address, 5); + for (let tokenId = this.startTokenId; tokenId < 5 + this.startTokenId; tokenId++) { + await expect(mintTx) + .to.emit(this.erc721a, 'Transfer') + .withArgs(ZERO_ADDRESS, this.receiver.address, tokenId); + await expect(mintTx) + .to.emit(this.receiver, 'Received') + .withArgs(this.owner.address, ZERO_ADDRESS, tokenId, '0x', GAS_MAGIC_VALUE); + expect(await this.erc721a.ownerOf(tokenId)).to.equal(this.receiver.address); + } + }); + + it('rejects mints to the zero address', async function () { + await expect(this.erc721a['safeMint(address,uint256)'](ZERO_ADDRESS, 1)).to.be.revertedWith( + 'MintToZeroAddress' + ); + }); + + it('requires quantity to be greater than 0', async function () { + await expect(this.erc721a['safeMint(address,uint256)'](this.owner.address, 0)).to.be.revertedWith( + 'MintZeroQuantity' + ); + }); + + it('reverts for non-receivers', async function () { + const nonReceiver = this.erc721a; + await expect(this.erc721a['safeMint(address,uint256)'](nonReceiver.address, 1)).to.be.revertedWith( + 'TransferToNonERC721ReceiverImplementer' + ); + }); + }); + + describe('mint', function () { + it('successfully mints a single token', async function () { + const mintTx = await this.erc721a.mint(this.receiver.address, 1); + await expect(mintTx) + .to.emit(this.erc721a, 'Transfer') + .withArgs(ZERO_ADDRESS, this.receiver.address, this.startTokenId); + await expect(mintTx).to.not.emit(this.receiver, 'Received'); + expect(await this.erc721a.ownerOf(this.startTokenId)).to.equal(this.receiver.address); + }); + + it('successfully mints multiple tokens', async function () { + const mintTx = await this.erc721a.mint(this.receiver.address, 5); + for (let tokenId = this.startTokenId; tokenId < 5 + this.startTokenId; tokenId++) { + await expect(mintTx) + .to.emit(this.erc721a, 'Transfer') + .withArgs(ZERO_ADDRESS, this.receiver.address, tokenId); + await expect(mintTx).to.not.emit(this.receiver, 'Received'); + expect(await this.erc721a.ownerOf(tokenId)).to.equal(this.receiver.address); + } + }); + + it('does not revert for non-receivers', async function () { + const nonReceiver = this.erc721a; + await this.erc721a.mint(nonReceiver.address, 1); + expect(await this.erc721a.ownerOf(this.startTokenId)).to.equal(nonReceiver.address); + }); + + it('rejects mints to the zero address', async function () { + await expect(this.erc721a.mint(ZERO_ADDRESS, 1)).to.be.revertedWith('MintToZeroAddress'); + }); + + it('requires quantity to be greater than 0', async function () { + await expect(this.erc721a.mint(this.owner.address, 0)).to.be.revertedWith('MintZeroQuantity'); + }); + }); + }); + }); + }; + +describe('ERC721A', createTestSuite({ contract: 'ERC721AMock', constructorArgs: ['Daccred', 'DCD'] })); + +describe( + 'ERC721A override _startTokenId()', + createTestSuite({ contract: 'ERC721AStartTokenIdMock', constructorArgs: ['Daccred', 'DCD', 1] }) +); diff --git a/tests/contracts/contracts/packages/nft/test/GasUsage.test.ts b/tests/contracts/contracts/packages/nft/test/GasUsage.test.ts new file mode 100644 index 0000000..bf625ac --- /dev/null +++ b/tests/contracts/contracts/packages/nft/test/GasUsage.test.ts @@ -0,0 +1,46 @@ +/* always import the initializer [helper.ts] at the top */ +import { deployContract } from './helpers' +import { ethers } from 'hardhat' + + + +describe('ERC721A Gas Usage', function () { + beforeEach(async function () { + this.erc721a = await deployContract('ERC721AGasReporterMock', ['Daccred', 'DCD']); + const [owner, addr1] = await ethers.getSigners(); + this.owner = owner; + this.addr1 = addr1; + }); + + context('mintOne', function () { + it('runs mintOne 50 times', async function () { + for (let i = 0; i < 50; i++) { + await this.erc721a.mintOne(this.addr1.address); + } + }); + }); + + context('safeMintOne', function () { + it('runs safeMintOne 50 times', async function () { + for (let i = 0; i < 50; i++) { + await this.erc721a.safeMintOne(this.addr1.address); + } + }); + }); + + context('mintTen', function () { + it('runs mintTen 50 times', async function () { + for (let i = 0; i < 50; i++) { + await this.erc721a.mintTen(this.addr1.address); + } + }); + }); + + context('safeMintTen', function () { + it('runs safeMintTen 50 times', async function () { + for (let i = 0; i < 50; i++) { + await this.erc721a.safeMintTen(this.addr1.address); + } + }); + }); +}); diff --git a/tests/contracts/contracts/packages/nft/test/extensions/ERC721ABurnable.test.ts b/tests/contracts/contracts/packages/nft/test/extensions/ERC721ABurnable.test.ts new file mode 100644 index 0000000..17420bf --- /dev/null +++ b/tests/contracts/contracts/packages/nft/test/extensions/ERC721ABurnable.test.ts @@ -0,0 +1,172 @@ +/* always import the initializer [helper.ts] at the top */ +import { deployContract, constants } from '../helpers' +import { ethers } from 'hardhat' +import { expect } from 'chai' +const { ZERO_ADDRESS } = constants; + +const createTestSuite = ({ contract, constructorArgs }: any) => + function () { + context(`${contract}`, function () { + beforeEach(async function () { + this.erc721aBurnable = await deployContract(contract, constructorArgs); + + this.startTokenId = this.erc721aBurnable.startTokenId + ? (await this.erc721aBurnable.startTokenId()).toNumber() + : 0; + }); + + beforeEach(async function () { + const [owner, addr1, addr2, spender] = await ethers.getSigners(); + this.owner = owner; + this.addr1 = addr1; + this.addr2 = addr2; + this.spender = spender; + this.numTestTokens = 10; + this.burnedTokenId = 5; + this.notBurnedTokenId = 6; + await this.erc721aBurnable['safeMint(address,uint256)'](this.addr1.address, this.numTestTokens); + await this.erc721aBurnable.connect(this.addr1).burn(this.burnedTokenId); + }); + + context('totalSupply()', function () { + it('has the expected value', async function () { + expect(await this.erc721aBurnable.totalSupply()).to.equal(9); + }); + + it('is reduced by burns', async function () { + const supplyBefore = await this.erc721aBurnable.totalSupply(); + + for (let i = 0; i < 2 + this.startTokenId; ++i) { + await this.erc721aBurnable.connect(this.addr1).burn(i + this.startTokenId); + + const supplyNow = await this.erc721aBurnable.totalSupply(); + expect(supplyNow).to.equal(supplyBefore - (i + 1)); + } + }); + }); + + it('changes exists', async function () { + expect(await this.erc721aBurnable.exists(this.burnedTokenId)).to.be.false; + expect(await this.erc721aBurnable.exists(this.notBurnedTokenId)).to.be.true; + }); + + it('cannot burn a non-existing token', async function () { + const query = this.erc721aBurnable.connect(this.addr1).burn(this.numTestTokens + this.startTokenId); + await expect(query).to.be.revertedWith('OwnerQueryForNonexistentToken'); + }); + + it('cannot burn a burned token', async function () { + const query = this.erc721aBurnable.connect(this.addr1).burn(this.burnedTokenId); + await expect(query).to.be.revertedWith('OwnerQueryForNonexistentToken'); + }); + + it('cannot burn with wrong caller or spender', async function () { + const tokenIdToBurn = this.notBurnedTokenId; + + // sanity check + await this.erc721aBurnable.connect(this.addr1).approve(ZERO_ADDRESS, tokenIdToBurn); + await this.erc721aBurnable.connect(this.addr1).setApprovalForAll(this.spender.address, false); + + const query = this.erc721aBurnable.connect(this.spender).burn(tokenIdToBurn); + await expect(query).to.be.revertedWith('TransferCallerNotOwnerNorApproved'); + }); + + it('spender can burn with specific approved tokenId', async function () { + const tokenIdToBurn = this.notBurnedTokenId; + + await this.erc721aBurnable.connect(this.addr1).approve(this.spender.address, tokenIdToBurn); + await this.erc721aBurnable.connect(this.spender).burn(tokenIdToBurn); + expect(await this.erc721aBurnable.exists(tokenIdToBurn)).to.be.false; + }); + + it('spender can burn with one-time approval', async function () { + const tokenIdToBurn = this.notBurnedTokenId; + + await this.erc721aBurnable.connect(this.addr1).setApprovalForAll(this.spender.address, true); + await this.erc721aBurnable.connect(this.spender).burn(tokenIdToBurn); + expect(await this.erc721aBurnable.exists(tokenIdToBurn)).to.be.false; + }); + + it('cannot transfer a burned token', async function () { + const query = this.erc721aBurnable + .connect(this.addr1) + .transferFrom(this.addr1.address, this.addr2.address, this.burnedTokenId); + await expect(query).to.be.revertedWith('OwnerQueryForNonexistentToken'); + }); + + it('does not affect _totalMinted', async function () { + const totalMintedBefore = await this.erc721aBurnable.totalMinted(); + expect(totalMintedBefore).to.equal(this.numTestTokens); + for (let i = 0; i < 2; ++i) { + await this.erc721aBurnable.connect(this.addr1).burn(i + this.startTokenId); + } + expect(await this.erc721aBurnable.totalMinted()).to.equal(totalMintedBefore); + }); + + it('adjusts owners balances', async function () { + expect(await this.erc721aBurnable.balanceOf(this.addr1.address)).to.be.equal(this.numTestTokens - 1); + }); + + describe('ownerships correctly set', async function () { + it('with token before previously burnt token transferred and burned', async function () { + const tokenIdToBurn = this.burnedTokenId - 1; + await this.erc721aBurnable + .connect(this.addr1) + .transferFrom(this.addr1.address, this.addr2.address, tokenIdToBurn); + expect(await this.erc721aBurnable.ownerOf(tokenIdToBurn)).to.be.equal(this.addr2.address); + await this.erc721aBurnable.connect(this.addr2).burn(tokenIdToBurn); + for (let i = this.startTokenId; i < this.numTestTokens + this.startTokenId; ++i) { + if (i == tokenIdToBurn || i == this.burnedTokenId) { + await expect(this.erc721aBurnable.ownerOf(i)).to.be.revertedWith('OwnerQueryForNonexistentToken'); + } else { + expect(await this.erc721aBurnable.ownerOf(i)).to.be.equal(this.addr1.address); + } + } + }); + + it('with token after previously burnt token transferred and burned', async function () { + const tokenIdToBurn = this.burnedTokenId + 1; + await this.erc721aBurnable + .connect(this.addr1) + .transferFrom(this.addr1.address, this.addr2.address, tokenIdToBurn); + expect(await this.erc721aBurnable.ownerOf(tokenIdToBurn)).to.be.equal(this.addr2.address); + await this.erc721aBurnable.connect(this.addr2).burn(tokenIdToBurn); + for (let i = this.startTokenId; i < this.numTestTokens + this.startTokenId; ++i) { + if (i == tokenIdToBurn || i == this.burnedTokenId) { + await expect(this.erc721aBurnable.ownerOf(i)).to.be.revertedWith('OwnerQueryForNonexistentToken'); + } else { + expect(await this.erc721aBurnable.ownerOf(i)).to.be.equal(this.addr1.address); + } + } + }); + + it('with first token burned', async function () { + await this.erc721aBurnable.connect(this.addr1).burn(this.startTokenId); + for (let i = this.startTokenId; i < this.numTestTokens + this.startTokenId; ++i) { + if (i == this.startTokenId || i == this.burnedTokenId) { + await expect(this.erc721aBurnable.ownerOf(i)).to.be.revertedWith('OwnerQueryForNonexistentToken'); + } else { + expect(await this.erc721aBurnable.ownerOf(i)).to.be.equal(this.addr1.address); + } + } + }); + + it('with last token burned', async function () { + await expect(this.erc721aBurnable.ownerOf(this.numTestTokens + this.startTokenId)).to.be.revertedWith( + 'OwnerQueryForNonexistentToken' + ); + await this.erc721aBurnable.connect(this.addr1).burn(this.numTestTokens - 1 + this.startTokenId); + await expect(this.erc721aBurnable.ownerOf(this.numTestTokens - 1 + this.startTokenId)).to.be.revertedWith( + 'OwnerQueryForNonexistentToken' + ); + }); + }); + }); + }; + +describe('ERC721ABurnable', createTestSuite({ contract: 'ERC721ABurnableMock', constructorArgs: ['Daccred', 'DCD'] })); + +describe( + 'ERC721ABurnable override _startTokenId()', + createTestSuite({ contract: 'ERC721ABurnableStartTokenIdMock', constructorArgs: ['Daccred', 'DCD', 1] }) +); diff --git a/tests/contracts/contracts/packages/nft/test/extensions/ERC721ExtensionSignature.test.ts b/tests/contracts/contracts/packages/nft/test/extensions/ERC721ExtensionSignature.test.ts new file mode 100644 index 0000000..c761b6d --- /dev/null +++ b/tests/contracts/contracts/packages/nft/test/extensions/ERC721ExtensionSignature.test.ts @@ -0,0 +1,98 @@ +/* always import the initializer [helper.ts] at the top */ +import { deployContract, constants } from '../helpers' +import { ethers } from 'hardhat' +import { expect } from 'chai' +const { ZERO_ADDRESS, BASE_URL } = constants; + +const createTestSuite = ({ contract, constructorArgs }: any) => + function () { + context(`${contract}`, function () { + beforeEach(async function () { + this.erc721ExtensionWithSignature = await deployContract(contract, constructorArgs); + + this.startTokenId = 1; + }); + + beforeEach(async function () { + const [owner, addr1, addr2, spender] = await ethers.getSigners(); + this.owner = owner; + this.addr1 = addr1; + this.addr2 = addr2; + this.spender = spender; + this.burnedTokenId = 1; + + this.hash = await ethers.utils.id("Minting"); + this.bytesDataHash = ethers.utils.arrayify(this.hash) + this.signature = await this.owner.signMessage(this.bytesDataHash); + await this.erc721ExtensionWithSignature.connect(this.addr1).mint("test1"); + }); + + it('mint with signature', async function () { + await this.erc721ExtensionWithSignature.connect(this.owner).mintWithSignature(this.addr1.address, this.hash, this.signature, `${BASE_URL}/${this.addr1.address}`); + expect(await this.erc721ExtensionWithSignature.balanceOf(this.addr1.address)).to.equal(2); + }); + + it('cannot burn with invalid owner', async function () { + const query = this.erc721ExtensionWithSignature.connect(this.addr2).burn(1); + await expect(query).to.be.revertedWith('Caller is not owner of the token.'); + }); + + it('burn with valid owner', async function () { + await this.erc721ExtensionWithSignature.connect(this.addr1).burn(1); + expect(await this.erc721ExtensionWithSignature.balanceOf(this.addr1.address)).to.equal(0); + }); + + it('cannot mint over capped supply', async function () { + await this.erc721ExtensionWithSignature.connect(this.addr1).mint("test1"); + const query = this.erc721ExtensionWithSignature.connect(this.addr1).mint("test2"); + await expect(query).to.be.revertedWith("You can't mint anymore."); + }); + + it('[TODO]: Token URI is valid URL string', function() { + console.log("Token URI is valid URL string when baseURL is not empty by default"); + }) + + + it('[TODO]: Cannot SetURI for existent Token', function() { + console.log("cannot overwrite URI for already minted Token"); + }) + + + + it('cannot mint to zero address', async function () { + const query = this.erc721ExtensionWithSignature + .connect(this.owner) + .mintWithSignature(ZERO_ADDRESS, this.hash, this.signature, "test3"); + await expect(query).to.be.revertedWith('Mint to zero address.'); + }); + + it('cannot mint with Hash not signed by owner.', async function () { + const sig = await this.addr1.signMessage(this.hash); + const query = this.erc721ExtensionWithSignature + .connect(this.owner) + .mintWithSignature(this.addr2.address, this.hash, sig, "test3"); + await expect(query).to.be.revertedWith('Hash not signed by owner.'); + }); + + context('owner()', function () { + it('has the expected value', async function () { + expect(await this.erc721ExtensionWithSignature.owner()).to.equal(this.owner.address); + }); + }); + + context('currentSupply()', function () { + it('has the expected value', async function () { + expect(await this.erc721ExtensionWithSignature.currentSupply()).to.equal(1); + }); + }); + + context('balanceOf()', function () { + it('has the expected value', async function () { + expect(await this.erc721ExtensionWithSignature.balanceOf(this.addr1.address)).to.equal(1); + }); + }); + }); + }; + +describe('ERC721ExtensionSignature', createTestSuite({ contract: 'ERC721ExtensionSignature', constructorArgs: ['Daccred', 'DCD', 1000, 2, 0 ] })); + diff --git a/tests/contracts/contracts/packages/nft/test/helpers.ts b/tests/contracts/contracts/packages/nft/test/helpers.ts new file mode 100644 index 0000000..ea915f7 --- /dev/null +++ b/tests/contracts/contracts/packages/nft/test/helpers.ts @@ -0,0 +1,24 @@ +const { ethers } = require("hardhat"); +import { BN } from 'bn.js' + +export const deployContract = async function (contractName: string, constructorArgs: any) { + let factory; + try { + factory = await ethers.getContractFactory(contractName); + } catch (e) { + factory = await ethers.getContractFactory(contractName + 'UpgradeableWithInit'); + } + let contract = await factory.deploy(...(constructorArgs || [])); + await contract.deployed(); + return contract; +}; + + +export const constants = { + ZERO_ADDRESS: '0x0000000000000000000000000000000000000000', + BASE_URL: 'https://ipfs.daccred.co', + ZERO_BYTES32: '0x0000000000000000000000000000000000000000000000000000000000000000', + MAX_UINT256: new BN('2').pow(new BN('256')).sub(new BN('1')), + MAX_INT256: new BN('2').pow(new BN('255')).sub(new BN('1')), + MIN_INT256: new BN('2').pow(new BN('255')).mul(new BN('-1')), +}; diff --git a/tests/contracts/contracts/packages/soulbound/brownie-config.yaml b/tests/contracts/contracts/packages/soulbound/brownie-config.yaml new file mode 100644 index 0000000..a5eaeb6 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/brownie-config.yaml @@ -0,0 +1,7 @@ +dotenv: .env +wallet: + from_key: ${PRIVATE_KEY} +compiler: + solc: + remappings: + - "@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.6.0" \ No newline at end of file diff --git a/tests/contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol b/tests/contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol new file mode 100644 index 0000000..2319a53 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/contracts/IsValidWithDate.sol @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity ^0.8.8; + +/** + * @title IsValidWithDate contract. + * @author Daccred. + * @dev Controls time for minted tokens till expiry. + */ +contract IsValidWithDate { + /// @dev Mapping individual tokens to their expiry dates. + mapping(uint256 => uint256) internal tokenExpiryDate; + + /// @dev Emitted when a token is extended by redemption. + event Extended(uint256 tokenId, uint256 time); + + /** + * @dev On every successful redemption or mint of token the + * expiry of the token is extended by the duration passed + * in the contract. + * This should be called on expired tokens. + * + * @notice This function is expected to be called by the + * SoulboundRedeemable on every mint. + * + * @param tokenId Token to extend its expiry. + * @param time Length of time to extend it with. + */ + function extendExpiry(uint256 tokenId, uint256 time) public { + /// @dev Set expiry to new time. + tokenExpiryDate[tokenId] = block.timestamp + time; + /// @dev Emit the {Extended} event. + emit Extended(tokenId, time); + } + + /** + * @dev Returns the expiry date of `tokenId`. + * + * @notice Callable by anyone. + * + * @param tokenId Token to get its expiry. + * + * @return time of expiry. + */ + function getExpiryDate(uint256 tokenId) public view returns (uint256) { + return tokenExpiryDate[tokenId]; + } + + /** + * @dev Return true if the token is expired or false if otherwise. + * + * @notice Callable by anyone. + * + * @param tokenId Token to check if expired. + * + * @return bool true or false. + */ + function isValid(uint256 tokenId) public view returns (bool) { + return block.timestamp <= getExpiryDate(tokenId); + } + + /** + * @dev Returns the time left for a token to expire. + * + * @notice Callable by anyone. + * + * @param tokenId Token to get its expiry. + * + * @return time left till expiry. + */ + function getTimeLeft(uint256 tokenId) public view returns (uint256) { + /// @dev If the current time has passed the mapped expiry + /// time of token. + if (block.timestamp > getExpiryDate(tokenId)) { + /// @dev Return 0. + return 0; + } else { + /// @dev Else, + /// Return time left. + return getExpiryDate(tokenId) - block.timestamp; + } + } +} diff --git a/tests/contracts/contracts/packages/soulbound/contracts/Soulbound.sol b/tests/contracts/contracts/packages/soulbound/contracts/Soulbound.sol new file mode 100644 index 0000000..1ac5b2f --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/contracts/Soulbound.sol @@ -0,0 +1,214 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity ^0.8.8; + +import "../interfaces/ISoulbound.sol"; +import "./eips/ERC-4973.sol"; + +/** + * @title Soulbound Token Contract. + * @author Daccred. + * @dev Soulbound Token Base Template. + * This contract was inspired by + * https://github.com/ethereum/EIPs/blob/master/assets/eip-4973/ERC-4973.sol + * This contract is inherited by any contract to implement the Soulbound + * template. + * Soulbound tokens cannot be transferred when minted to a particular address. + * This is the base instance of the contract, + * it includes minting functions and revoke functions. + * Inheriting functions can wrap around the specified functions. + * Also, this base contract instance does not include a capped supply. + */ +contract Soulbound is ERC4973 { + /** + * @dev Stores the base URI on cases when the user wants to mint a token, + * it automatically generates a string casted tokenURI using the + * generateTokenURI function. This variable can only be modified by + * the allowlist owner. + */ + string private baseURI; + + /// @dev Mapping of speific addresses to tokenIds and boolean for mint records. + mapping(address => mapping(uint256 => bool)) private mints; + + /// @dev Allows the deployer to set a name and a symbol for the token. + constructor(string memory name, string memory symbol) + ERC4973(name, symbol) + {} + + /** + * @dev Mints a new token `_tokenId` to `_to`, giving to ownership of token `_tokenId`. + * This function will be used hand in hand with ERC721's _mint() function. + * Emits the {Attest} event. + * `_to` cannot transfer the token. + * `_to` must not be a 0 address. + * `_tokenId` must be an existent token. + * This does not evaluate total supply of tokens before minting. + * + * @notice Callable by anyone. + * + * @param _to Address to which token `_tokenId` is minted. + * @param _tokenId Token to mint. + * @param tokenURI Auto generated or user passed URI for minted token. + * + * @return bool true or false. + */ + function issue( + address _to, + uint256 _tokenId, + string memory tokenURI + ) internal returns (bool) { + /// @dev Mint Soulbound token to `_to` using ERC4973 _mint(). + mintSoulboundToken(_to, _tokenId, tokenURI); + /// @dev Return true. + return true; + } + + /** + * @dev Withdraws ownership of token `_tokenId` from `_From`. + * This will be done when the ERC721's _burn() function is called. + * Emits the {Revoke} event. + * `_from` must own the token. + * `_from` must not be a 0 address. + * `_tokenId` must be an existent token. + * The function can only be called by the issuer of the token. + * This modifier onlyIssuer will be implemented in the contract. + * [Modifiers cannot be made in interfaces]. + * This does not evaluate total supply of tokens before minting. + * + * @notice Callable by this or inheriting contract. + * + * @param _from Address which owns token `_tokenId`. + * @param _tokenId Token to revoke. + * + * @return bool true or false. + */ + function revoke(address _from, uint256 _tokenId) internal returns (bool) { + /// @dev Require token exists. + require(_exists(_tokenId), "Non-existent token."); + /// @dev Require _tokenId is owned by _from. + require(ownerOf(_tokenId) == _from, "Token not owned by address"); + /// @dev Burn the token. + burnSoulboundToken(_tokenId); + /// @dev Return true. + return true; + } + + /** + * @dev Since a token cannnot be minted twice. + * This function returns the address that minted token `_tokenId` to `_to`, + * otherwise this contract. + * `_to` must not be a 0 address. + * `_tokenId` must be an existent token. + * Owner of _tokenId must be _to. + * + * @notice Callable by anyone. + * + * @param _to Address to which token `_tokenId` is minted. + * @param _tokenId Token minted. + * + * @return address of issuer. + */ + function issuerOf(address _to, uint256 _tokenId) + public + view + returns (address) + { + /// @dev Require _to is not a zero address. + require(_to != address(0), "Query for zero address."); + /// @dev Require token exists. + require(_exists(_tokenId), "Non-existent token."); + /// @dev Require _tokenId is owned by _to. + require(ownerOf(_tokenId) == _to, "Token not owned by address"); + /// @dev Returns this address. + return address(this); + } + + /** + * @dev Returns true if token `_tokenId` was minted from this contract to `_to`. + * `_to` must not be a 0 address. + * `_tokenId` must be an existent token. + * + * @notice Callable by anyone. + * + * @param _to Address to which token `_tokenId` is minted. + * @param _tokenId Token minted. + * + * @return bool true or false. + */ + function isMinted(address _to, uint256 _tokenId) + public + view + returns (bool) + { + return mints[_to][_tokenId]; + } + + /** + * @dev Mints `tokenId` of the soulbound token to `to`. + * + * @param to Receiver of the tokens. + * @param tokenId Amount to be minted, GT 0. + * @param tokenURI URI of token minted. + */ + function mintSoulboundToken( + address to, + uint256 tokenId, + string memory tokenURI + ) private { + /// @dev Require the address receiving is not a zero address. + require(to != address(0), "Mint to zero address."); + /// @dev ERC-4973 doesn't include checks for empty tokenURIs + /// but they should be necessary. + require(bytes(tokenURI).length != 0, "Empty tokenURI."); + /// @dev Mint to the `to` address. + /// ERC4973 runs check for existent token. + _mint(to, tokenId, tokenURI); + /// @dev Set record of owner to true; + mints[to][tokenId] = true; + } + + /** + * @dev Burns a soulbound token, on the condition that + * the token exists. + * + * @param tokenId Token to be burnt. + */ + function burnSoulboundToken(uint256 tokenId) private { + /// @dev Checks that the token actually exists. + require(_exists(tokenId), "Burn of inexistent token"); + /// @dev Get owner of token tokenId. + address _tokenOwner = ownerOf(tokenId); + /// @dev Burn the token. + _burn(tokenId); + /// @dev Set record of owner to false. + mints[_tokenOwner][tokenId] = false; + } + + /** + * @dev Sets the baseURI to `_baseURI`. + * + * @notice Callable by this or inheriting contract. + * + * @param _baseURI String URI. + */ + function _setBaseURI(string memory _baseURI) internal { + /// @dev Ensure that the word length is 0. + require(bytes(_baseURI).length != 0, "Invalid length"); + /// @dev Set baseURI. + baseURI = _baseURI; + } + + /** + * @dev Returns already set baseURI if it exists. + * + * @notice Callable by anyone. + * + * @return _baseURI baseURI set. + */ + function _getBaseURI() public view returns (string memory _baseURI) { + /// @dev Require baseURI length is not 0. + require(bytes(baseURI).length != 0, "Empty baseURI"); + /// @dev Return baseURI. + _baseURI = baseURI; + } +} diff --git a/tests/contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol b/tests/contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol new file mode 100644 index 0000000..dd8dd1e --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/contracts/SoulboundCore.sol @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: GPL-3.0 + +/// _____ ______ ______ ______ ______ ______ _____ +/// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +/// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +/// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +/// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.8; + +import "./Soulbound.sol"; +import "../../common/Allowlist.sol"; +import "@openzeppelin/contracts/access/Ownable.sol"; + +/** + * @title Soulbound Core Contract. + * @author Daccred. + * @dev Soulbound Core template. This contract aims at a soulbound token with + * capped supply, set by the deployer or defaulted to 1000000. + * Mints and burns affect the current supply of tokens respectively. + */ +contract SoulboundCore is Ownable, Soulbound, Allowlist { + /// @dev Total supply limit set by deployer or defaulted to 1000000. + uint256 internal totalSupply; + /// @dev With every issue and revoke, this value + /// increases and reduces. + /// It cannot be GT the TOTAL_SUPPLY. + uint256 internal supply; + + /// @dev Emitted when a token is minted from Signature. + event IssueWithSignature(address indexed to, uint256 indexed tokenId); + /// @dev Emitted when a token is revoked with Signature. + event RevokeWithSignature(uint256 indexed tokenId); + + /** + * @dev Security check to require that the address calling a particular + * function is the allowlistOwner. + * + * @param _caller Address. + */ + modifier onlyAllowlistOwner(address _caller) { + require(_caller == getAllowlistOwner(), "Not Allowlist Owner!"); + _; + } + + /// @dev Deploys the 3 contracts inherited by the SoulboundCore. + constructor( + string memory name, + string memory symbol, + address _allowlistOwner, + uint256 _totalSupply + ) Soulbound(name, symbol) Allowlist(_allowlistOwner) { + if (_totalSupply == 0) { + totalSupply = 1e6; + } else { + totalSupply = _totalSupply; + } + } + + /** + * @dev Mints a particular quantity of tokens to `to`, + * on the condition that the address has been + * signed by the allowlistOwner off-chain. + * This will emit the {MintSoulboundToken} event + * from the Soulbound.sol. + * + * @notice Callable by anyone. + * + * @param addr Address to mint tokens to. + * @param hash Hashed message by the allowlistOwner. + * @param sig Signature, signed by the allowlistOwner. + * @param tokenId Id of the tokens to mint to the `addr`. + * @param tokenURI URI of the token to be minted. + */ + function issueWithSignature( + address addr, + bytes32 hash, + bytes memory sig, + uint256 tokenId, + string memory tokenURI + ) public { + /// @dev Require that the address is not a zero address. + require(addr != address(0), "Mint to zero address."); + /// @dev Require that the hash is actually 32 [64 characters] + /// in length. + require(hash.length == 32, "Invalid hash."); + /// @dev Require the length of the signature is 65. + require(sig.length == 65, "Invalid signature length"); + /// @dev Verifies that the address was actually signed by the + /// allowlistOwner. + require(verifySignature(hash, sig), "Hash not signed by owner."); + /// @dev Mint the tokens to address. + /// [Ref Soulbound.sol]. + issue(addr, tokenId, tokenURI); + /// @dev Emit the IssueWithSignature event. + emit IssueWithSignature(addr, tokenId); + } + + /** + * @dev Revokes the ownership of `tokenId` from the owner. + * The token must exist and the signature must be signed the + * allowlistOwner. + * This emits the {RevokeWithSignature} event. + * + * @notice Callable by anyone. + * + * @param hash Hashed message by the allowlistOwner. + * @param sig Signature, signed by the allowlistOwner. + * @param tokenId Id of the token to revoke. + */ + function revokeWithSignature( + bytes32 hash, + bytes memory sig, + uint256 tokenId + ) public { + /// @dev Require that the token exists. + require(_exists(tokenId), "Revoke of inexistent token."); + /// @dev Require that the hash is actually 32 [64 characters] + /// in length. + require(hash.length == 32, "Invalid hash."); + /// @dev Require the length of the signature is 65. + require(sig.length == 65, "Invalid signature length"); + /// @dev Verifies that the address was actually signed by the + /// allowlistOwner. + require(verifySignature(hash, sig), "Hash not signed by owner."); + /// @dev Mint the tokens to address. + /// [Ref Soulbound.sol]. + revoke(ownerOf(tokenId), tokenId); + /// @dev Emit the RevokeWithSignature event. + emit RevokeWithSignature(tokenId); + } + + /** + * @dev Allows the `caller` (allowlistOwner) to set the baseURI. + * This is really important when the caller wants to mint + * Multiple tokens with the same base URI. + * + * @notice Callable by the deployer of this contract [DaccredDeployer] + * and the allowlistOwner. + */ + function setBaseURI(address caller, string memory _baseURI) + public + onlyOwner + onlyAllowlistOwner(caller) + { + /// @dev Set baseURI. + _setBaseURI(_baseURI); + } + + /** + * @dev Using the `tokenId` passed, it generates a `stringified` tokenURI, + * packing the baseURI and the current tokenId. + * Makes use of OpenZeppelin's uint to string function. + * + * @notice Callable by anyone. + * + * @param tokenId ID of token whose tokenURI is desired. + * + * @return _tokenURI TokenURI of the passed tokenId. + */ + function generateTokenURI(uint256 tokenId) + public + view + returns (string memory _tokenURI) + { + /// @dev Require baseURI length is not currently 0. + require(bytes(_getBaseURI()).length != 0, "Empty baseURI"); + /// @dev Return a packed tokenURI string. + _tokenURI = string(abi.encodePacked(_getBaseURI(), toString(tokenId))); + } + + /** + * @dev Converts a `uint256` to its ASCII `string` decimal representation. + * Copied from OpenZeppelin. + */ + function toString(uint256 value) internal pure returns (string memory) { + // Inspired by OraclizeAPI's implementation - MIT licence + // 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); + } +} diff --git a/tests/contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol b/tests/contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol new file mode 100644 index 0000000..5729f07 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/contracts/SoulboundRedeemable.sol @@ -0,0 +1,419 @@ +// SPDX-License-Identifier: GPL-3.0 + +/// _____ ______ ______ ______ ______ ______ _____ +/// /\ __-. /\ __ \ /\ ___\ /\ ___\ /\ == \ /\ ___\ /\ __-. +/// \ \ \/\ \ \ \ __ \ \ \ \____ \ \ \____ \ \ __< \ \ __\ \ \ \/\ \ +/// \ \____- \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_____\ \ \____- +/// \/____/ \/_/\/_/ \/_____/ \/_____/ \/_/ /_/ \/_____/ \/____/ + +pragma solidity ^0.8.8; + +import "./SoulboundWithSignature.sol"; +import "./IsValidWithDate.sol"; + +/** + * @title Soulbound Redeemable. + * @author Daccred. + * @dev An instance of the Soulbound token with capped supply + * and tokens having their own individual expiry date. + * Tokens are minted to and are pendng until receivers + * pay to receive their complete token. + */ +contract SoulboundRedeemable is IsValidWithDate, SoulboundWithSignature { + /// @dev Total sales of tokens [Total tokens paid for]. + uint256 private totalSales; + /// @dev Total revenue from sales. + uint256 private totalRevenue; + /// @dev Price Limit [in eth] set by deploying contract. + uint256 private priceLimit; + /// @dev Price of individual tokens, set by deployer. + uint256 private tokenPrice; + /// @dev Pending token receivals. + mapping(uint256 => bool) private pending; + /// @dev Pending address to receive tokens. + mapping(uint256 => address) private pendingReceivers; + /// @dev Tax for token redemptions. + /// 15 represents 1.5% of total sales. + uint256 private tax = 15; + /// @dev ReEntrancy Lock. + bool private locked; + + /// @dev Emitted when a token is redeemed. + event Redeemed(uint256 indexed tokenId, uint256 indexed extension); + + /// @dev Deploy the SoulboundWithSignature with set + /// total supply, priceLimit and price of an individual token. + constructor( + string memory name, + string memory symbol, + address _allowlistOwner, + uint256 _totalSupply, + uint256 _priceLimit, + uint256 _tokenPrice + ) SoulboundWithSignature(name, symbol, _allowlistOwner, _totalSupply) { + /// @dev Ensure that limit is higher or equal to individual token price. + require(_tokenPrice <= _priceLimit, "Price higher than limit."); + /// @dev Set priceLimit. + priceLimit = _priceLimit; + /// @dev Set individual token price. + tokenPrice = _tokenPrice; + } + + /// @dev Receive function. + receive() external payable {} + + /// @dev Fallback function. + fallback() external payable {} + + /** + * @dev Protect against Re-Entrancy. + */ + modifier nonReentrant() { + require(!locked); + locked = true; + _; + locked = false; + } + + /** + * @dev Return the price of one token, set by the deployer. + * + * @notice Callable by anyone. + * + * @return _tokenPrice Price of a single token. + */ + function getIndividualTokenPrice() + public + view + returns (uint256 _tokenPrice) + { + _tokenPrice = tokenPrice; + } + + /** + * @dev Return the highest possible price for a token. + * + * @notice Callable by anyone. + * + * @return _priceLimit Highest possible price. + */ + function getPriceLimit() public view returns (uint256 _priceLimit) { + _priceLimit = priceLimit; + } + + /** + * @dev Allows `caller` to set `_price` as price of one token. + * + * @notice Callable by the deployer of this contract [DaccredDeployer] + * and the allowlistOwner. + * + * @param caller AllowlistOwner. + * @param _price New price. + */ + function setPrice(address caller, uint256 _price) + public + onlyOwner + onlyAllowlistOwner(caller) + { + /// @dev Ensure that the price passed isn't more than the price limit. + require(_price <= getPriceLimit(), "Price higher than limit."); + /// @dev Set price. + tokenPrice = _price; + } + + /** + * @dev Mints a pending soulbound token to `to`. + * Pending tokens are minted and the receiver pays + * to receive and completely mint them. + * + * @notice Callable by the deployer of this contract [DaccredDeployer] + * and the allowlistOwner. + * + * @param from Allowlist owner. + * @param to Receiver. + * @param tokenId Id of token to be minted. + * @param _tokenExpiryDate Set expiry date from the deployer. + */ + function mintPendingRedeemableToken( + address from, + address to, + uint256 tokenId, + uint256 _tokenExpiryDate + ) public onlyOwner onlyAllowlistOwner(from) { + /// @dev Ensure that the supply is not crossed. + /// @dev Should all soulbound tokens need to be limited, + /// copy this code and paste in Soulboundcore.sol + /// issueWithSignature function. + require(supply < totalSupply, "Issue Cap Reached."); + /// @dev Require `to` is not a zero address. + require(to != address(0), "Mint to zero address."); + /// @dev Require the token does not exist already. + require(!_exists(tokenId), "Mint of already existing token."); + /// @dev Require that the token is not on the pending list. + require(!pending[tokenId], "Mint of already pending token."); + /// @dev Set the token's pending state to true. + pending[tokenId] = true; + /// @dev Set the pending receiver of the token to `to`. + pendingReceivers[tokenId] = to; + /// @dev Set a new expiry date for the token. + extendExpiry(tokenId, _tokenExpiryDate); + /// @dev Increment supply. + supply++; + } + + /** + * @dev Allows the `_receiver` to pay the price of one token to + * fully mint the pending token. + * + * @notice Callable by the deployer of this contract [DaccredDeployer]. + * + * @param _receiver Receiver of the token. + * @param tokenId Pending tokenId for the receiver. + */ + function payToReceiveToken(address _receiver, uint256 tokenId) + public + payable + onlyOwner + nonReentrant + { + /// @dev Require that the receiver is not a zero address. + require(_receiver != address(0), "Mint to zero address."); + /// @dev Require that the token does not exist yet. + require(!_exists(tokenId), "Mint of already existing token."); + /// @dev Require that the token is indeed pending. + require(pending[tokenId], "Already received token."); + /// @dev Require that the expected receiver of pending + /// token is the `_receiver`. + require( + pendingReceivers[tokenId] == _receiver, + "Not pending receiver." + ); + /// @dev Require that the token has not expired already. + require(isValid(tokenId), "Receival of expired token, redeem token."); + /// @dev Require that the amount sent is GTE the price of one token. + require(msg.value >= tokenPrice, "Price lower than token cost."); + /// @dev Initialize balance. + uint256 balance; + + /// @dev If the amount sent is bigger than the price of one token. + if (msg.value > tokenPrice) { + /// @dev Calculate the balance of the `_receiver`. + balance = msg.value - tokenPrice; + /// @dev Pay the `_receiver` his balance. + payable(_receiver).transfer(balance); + } + + /// @dev Generate tokenURI. + string memory _tokenURI = generateTokenURI(tokenId); + /// @dev Finally issue the token to the `_receiver`. + issue(_receiver, tokenId, _tokenURI); + /// @dev Increment totalSales. + totalSales++; + /// @dev Add to the total Revenue. + totalRevenue += tokenPrice; + /// @dev Set the pending token to false. + pending[tokenId] = false; + /// @dev Delete the pending receiver. + delete pendingReceivers[tokenId]; + } + + /** + * @dev For expired pending tokens, this function redeems them and makes + * valid for another period of time. + * Tokens must be expired for it to be redeemed. + * Emits the {Redeemed} event. + * + * @notice Callable by the deployer of this contract [DaccredDeployer]. + * + * @param _receiver Receiver of the token. + * @param tokenId Pending tokenId for the receiver. + * @param _tokenExpiryDate New expiry date for tokens. + */ + function redeemPendingToken( + address _receiver, + uint256 tokenId, + uint256 _tokenExpiryDate + ) public payable onlyOwner nonReentrant { + /// @dev Require _receiver is not a zero address. + require(_receiver != address(0), "Redemption to zero address."); + /// @dev Require tokenId is existent. + require(!_exists(tokenId), "Redemption of existing token."); + /// @dev Require that the token is still pending. + require(pending[tokenId], "Already received token."); + /// @dev Require that the pending receiver is the `_receiver`. + require( + pendingReceivers[tokenId] == _receiver, + "Not pending receiver." + ); + /// @dev Require the token has expired. + require(!isValid(tokenId), "Token unexpired."); + /// @dev Calculate tax. + uint256 _tax = calculateTax(tax); + /// @dev Require that the amount sent is GTE the tax. + require(msg.value >= _tax, "Price lower than redemption tax."); + /// @dev Initiate balance. + uint256 balance; + + /// @dev If the tax is not 0. + if (_tax != 0) { + /// @dev Calculate receiver's balance. + balance = msg.value - _tax; + /// @dev Pay to receiver. + payable(_receiver).transfer(balance); + } + + /// @dev Extend expiry of tokenId. + extendExpiry(tokenId, _tokenExpiryDate); + /// @dev Emit the Redeemed event. + emit Redeemed(tokenId, _tokenExpiryDate); + } + + /** + * @dev For expired minted tokens, this function redeems them and makes + * valid for another period of time. + * Tokens must be expired for it to be redeemed. + * Emits the {Redeemed} event. + * + * @notice Callable by the deployer of this contract [DaccredDeployer]. + * + * @param _receiver Receiver of the token. + * @param tokenId Pending tokenId for the receiver. + * @param _tokenExpiryDate New expiry date for tokens. + */ + function redeemMintedToken( + address _receiver, + uint256 tokenId, + uint256 _tokenExpiryDate + ) public payable onlyOwner nonReentrant { + /// @dev Require _receiver is not a zero address. + require(_receiver != address(0), "Redemption to zero address."); + /// @dev Require tokenId is existent. + require(_exists(tokenId), "Redemption of non-existing token."); + /// @dev Require that the token is still pending. + require(!pending[tokenId], "Token still pending."); + /// @dev Require that the pending receiver is the `_receiver`. + require(ownerOf(tokenId) == _receiver, "Not token owner."); + /// @dev Require the token has expired. + require(!isValid(tokenId), "Token unexpired."); + /// @dev Calculate tax. + uint256 _tax = calculateTax(tax); + /// @dev Require that the amount sent is GTE the tax. + require(msg.value >= _tax, "Price lower than redemption tax."); + /// @dev Initiate balance. + uint256 balance; + + /// @dev If the tax is not 0. + if (_tax != 0) { + /// @dev Calculate receiver's balance. + balance = msg.value - _tax; + /// @dev Pay to receiver. + payable(_receiver).transfer(balance); + } + + /// @dev Extend expiry of tokenId. + extendExpiry(tokenId, _tokenExpiryDate); + /// @dev Emit the Redeemed event. + emit Redeemed(tokenId, _tokenExpiryDate); + } + + /** + * @dev Allows the allowlistOwner to redeem an expired pending + * token on behalf of the tokenOwner. + * + * @notice Callable by the deployer of this contract [DaccredDeployer] + * and the allowlistOwner. + * + * @param _caller Allowlist owner. + * @param _receiver Address of receiver. + * @param tokenId TokenId. + * @param _tokenExpiryDate Days to extend the token. + * @param hash Hash of message. + * @param sig Signature. + */ + function redeemPendingTokenWithSignature( + address _caller, + address _receiver, + uint256 tokenId, + uint256 _tokenExpiryDate, + bytes32 hash, + bytes memory sig + ) public payable onlyOwner onlyAllowlistOwner(_caller) nonReentrant { + /// @dev Require that the signer is the allowlistowner. + require(verifySignature(hash, sig), "Hash not signed by you."); + /// @dev RedeemToken. + redeemPendingToken(_receiver, tokenId, _tokenExpiryDate); + } + + /** + * @dev Allows the allowlistOwner to redeem an expired minted + * token on behalf of the tokenOwner. + * + * @notice Callable by the deployer of this contract [DaccredDeployer] + * and the allowlistOwner. + * + * @param _caller Allowlist owner. + * @param _receiver Address of receiver. + * @param tokenId TokenId. + * @param _tokenExpiryDate Days to extend the token. + * @param hash Hash of message. + * @param sig Signature. + */ + function redeemMintedTokenWithSignature( + address _caller, + address _receiver, + uint256 tokenId, + uint256 _tokenExpiryDate, + bytes32 hash, + bytes memory sig + ) public payable onlyOwner onlyAllowlistOwner(_caller) nonReentrant { + /// @dev Require that the signer is the allowlistowner. + require(verifySignature(hash, sig), "Hash not signed by you."); + /// @dev RedeemToken. + redeemMintedToken(_receiver, tokenId, _tokenExpiryDate); + } + + /** + * @dev Allows the allowlistowner to withdraw his funds to his wallet. + * + * @notice Callable by the deployer of this contract [DaccredDeployer] + * and the allowlistOwner. + * + * @param _caller Address of allowlistowner. + */ + function withdraw(address _caller) + public + onlyOwner + onlyAllowlistOwner(_caller) + { + /// @dev Require that the allowlistowner is not a zero address. + require(_caller != address(0), "Sending to zero address."); + /// @dev Require that the balance of this contract is GTE the totalRevenue. + require( + address(this).balance >= totalRevenue, + "Revenue != Contract balance." + ); + /// @dev Pay the totalRevenue to the allowlistowner. + payable(_caller).transfer(totalRevenue); + /// @dev Set the totalRevenue to 0. + totalRevenue = 0; + } + + /** + * @dev Calculates the tax off the totalSales. + * + * @param _tax Percentage tax. + * + * @return __tax Tax calculated. + */ + function calculateTax(uint256 _tax) private view returns (uint256 __tax) { + /// Grant free tax if the total revenue of the contract is + /// in range of 0 - 500 gwei. + if (totalRevenue >= 0 && totalRevenue < 500 gwei) { + /// @dev Set tax to 0. + _tax = 0; + } + + /// Else simply calculate tax on total revenue. + __tax = (_tax * totalRevenue * 10) / 1000; + } +} diff --git a/tests/contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol b/tests/contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol new file mode 100644 index 0000000..e910cc6 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/contracts/SoulboundWithSignature.sol @@ -0,0 +1,95 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity ^0.8.8; + +import "./SoulboundCore.sol"; + +/** + * @title SoulboundWithSignature. + * @author Daccred. + * @dev SoulboundWithSignature contract template allows freedom of + * issuing and revoking tokens with Signature while controlling + * the totalSupply of the token. + */ +contract SoulboundWithSignature is SoulboundCore { + /// @dev Deploys inherited contract and sub contracts. + constructor( + string memory name, + string memory symbol, + address _allowlistOwner, + uint256 _totalSupply + ) SoulboundCore(name, symbol, _allowlistOwner, _totalSupply) {} + + /** + * @dev Ref SoulboundCore.sol issueWithSignature + * This function grants the access to only the + * deployer of the contract, unlike the core + * that allows the function for anyone who has a + * signature signed by the allowlistOwner. + * This contract can be called by the deployer of the + * contract [DaccredDeployer] but is also protected + * as to the allowlistOwner must be the signer of the `sig.` + * + * @notice Callable by the deployer of this contract [DaccredDeployer]. + * + * @param addr Address to be minted to. + * @param hash Hash of message signed. + * @param sig Signature. + * @param tokenId TokenId to be issued. + * @param tokenURI URI of token to be issued. + */ + function ownerIssueWithSignature( + address addr, + bytes32 hash, + bytes memory sig, + uint256 tokenId, + string memory tokenURI + ) public onlyOwner { + /// @dev Ensure that the supply is not crossed. + /// @dev Should all soulbound tokens need to be limited, + /// copy this code and paste in Soulboundcore.sol + /// issueWithSignature function. + require(supply < totalSupply, "Issue Cap Reached."); + /// @dev Issue With Signature. + issueWithSignature(addr, hash, sig, tokenId, tokenURI); + /// @dev Incrememt supply on successful issue. + supply++; + } + + /** + * @dev Ref SoulboundCore.sol revokeWithSignature + * This function grants the access to only the + * deployer of the contract, unlike the core + * that allows the function for anyone who has a + * signature signed by the allowlistOwner. + * This contract can be called by the deployer of the + * contract [DaccredDeployer] but is also protected + * as to the allowlistOwner must be the signer of the `sig.` + * + * @notice Callable by the deployer of this contract [DaccredDeployer]. + * + * @param hash Hash of message signed. + * @param sig Signature. + * @param tokenId TokenId to be issued. + */ + function ownerRevokeWithSignature( + bytes32 hash, + bytes memory sig, + uint256 tokenId + ) public onlyOwner { + /// @dev If the supply control is not 0, + /// decrement the supply. + /// Should all soulbound tokens need to be limited, + /// copy this code and paste in Soulboundcore.sol + /// revokeWithSignature function. + if (supply != 0) { + /// @dev Decrement supply. + supply--; + } else { + /// @dev Throw error if 0 is reached. + revert("Lowest limit reached."); + } + + /// @dev Revoke With Signature. + revokeWithSignature(hash, sig, tokenId); + } +} diff --git a/tests/contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol b/tests/contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol new file mode 100644 index 0000000..739bc30 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/contracts/eips/ERC-4973.sol @@ -0,0 +1,202 @@ +// SPDX-License-Identifier: CC0-1.0 +pragma solidity ^0.8.8; + +// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol) + +// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) + +/** + * @dev Interface of the ERC165 standard, as defined in the + * https://eips.ethereum.org/EIPS/eip-165[EIP]. + * + * Implementers can declare support of contract interfaces, which can then be + * queried by others ({ERC165Checker}). + * + * For an implementation, see {ERC165}. + */ +interface IERC165 { + /** + * @dev Returns true if this contract implements the interface defined by + * `interfaceId`. See the corresponding + * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] + * to learn more about how these ids are created. + * + * This function call must use less than 30 000 gas. + */ + function supportsInterface(bytes4 interfaceId) external view returns (bool); +} + +/** + * @dev Implementation of the {IERC165} interface. + * + * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check + * for the additional interface id that will be supported. For example: + * + * ```solidity + * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { + * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); + * } + * ``` + * + * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation. + */ +abstract contract ERC165 is IERC165 { + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) + public + view + virtual + override + returns (bool) + { + return interfaceId == type(IERC165).interfaceId; + } +} + +interface IERC721Metadata { + function name() external view returns (string memory); + + function symbol() external view returns (string memory); + + function tokenURI(uint256 tokenId) external view returns (string memory); +} + +/// @title Account-bound tokens +/// @dev See https://eips.ethereum.org/EIPS/eip-4973 +/// Note: the ERC-165 identifier for this interface is 0x5164cf47 +interface IERC4973 { + /// @dev This emits when a new token is created and bound to an account by + /// any mechanism. + /// Note: For a reliable `from` parameter, retrieve the transaction's + /// authenticated `from` field. + event Attest(address indexed to, uint256 indexed tokenId); + /// @dev This emits when an existing ABT is revoked from an account and + /// destroyed by any mechanism. + /// Note: For a reliable `from` parameter, retrieve the transaction's + /// authenticated `from` field. + event Revoke(address indexed to, uint256 indexed tokenId); + + /// @notice Count all ABTs assigned to an owner + /// @dev ABTs assigned to the zero address are considered invalid, and this + /// function throws for queries about the zero address. + /// @param owner An address for whom to query the balance + /// @return The number of ABTs owned by `owner`, possibly zero + function balanceOf(address owner) external view returns (uint256); + + /// @notice Find the address bound to an ERC4973 account-bound token + /// @dev ABTs assigned to zero address are considered invalid, and queries + /// about them do throw. + /// @param tokenId The identifier for an ABT + /// @return The address of the owner bound to the ABT + function ownerOf(uint256 tokenId) external view returns (address); + + /// @notice Destroys `tokenId`. At any time, an ABT receiver must be able to + /// disassociate themselves from an ABT publicly through calling this + /// function. + /// @dev Must emit a `event Revoke` with the `address to` field pointing to + /// the zero address. + /// @param tokenId The identifier for an ABT + function burn(uint256 tokenId) external; +} + +/// @notice Reference implementation of EIP-4973 tokens. +/// @author TimDaub (https://github.com/rugpullindex/ERC4973/blob/master/src/ERC4973.sol) +abstract contract ERC4973 is ERC165, IERC721Metadata, IERC4973 { + string private _name; + string private _symbol; + + mapping(uint256 => address) private _owners; + mapping(uint256 => string) private _tokenURIs; + mapping(address => uint256) private _balances; + + constructor(string memory name_, string memory symbol_) { + _name = name_; + _symbol = symbol_; + } + + function supportsInterface(bytes4 interfaceId) + public + view + virtual + override + returns (bool) + { + return + interfaceId == type(IERC721Metadata).interfaceId || + interfaceId == type(IERC4973).interfaceId || + super.supportsInterface(interfaceId); + } + + 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), "tokenURI: token doesn't exist"); + return _tokenURIs[tokenId]; + } + + function burn(uint256 tokenId) public virtual override { + require(msg.sender == ownerOf(tokenId), "burn: sender must be owner"); + _burn(tokenId); + } + + function balanceOf(address owner) + public + view + virtual + override + returns (uint256) + { + require( + owner != address(0), + "balanceOf: address zero is not a valid owner" + ); + return _balances[owner]; + } + + function ownerOf(uint256 tokenId) public view virtual returns (address) { + address owner = _owners[tokenId]; + require(owner != address(0), "ownerOf: token doesn't exist"); + return owner; + } + + function _exists(uint256 tokenId) internal view virtual returns (bool) { + return _owners[tokenId] != address(0); + } + + function _mint( + address to, + uint256 tokenId, + string memory uri + ) internal virtual returns (uint256) { + require(!_exists(tokenId), "mint: tokenID exists"); + _balances[to] += 1; + _owners[tokenId] = to; + _tokenURIs[tokenId] = uri; + emit Attest(to, tokenId); + return tokenId; + } + + function _burn(uint256 tokenId) internal virtual { + address owner = ownerOf(tokenId); + + _balances[owner] -= 1; + delete _owners[tokenId]; + delete _tokenURIs[tokenId]; + + emit Revoke(owner, tokenId); + } +} diff --git a/tests/contracts/contracts/packages/soulbound/interfaces/ISoulbound.sol b/tests/contracts/contracts/packages/soulbound/interfaces/ISoulbound.sol new file mode 100644 index 0000000..3f735fb --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/interfaces/ISoulbound.sol @@ -0,0 +1,141 @@ +// SPDX-License-Identifier: GPL-3.0 +pragma solidity ^0.8.8; + +/** + * @title Soulbound Interface. + * @author Daccred. + * @dev + * Drafted from :: EIP-4973 [Ref: https://github.com/TimDaub/EIPs/blob/194f91067b8ef843467c15821ca5a5e3aa129fe6/EIPS/eip-4973.md]. + * + * This interface will work with all tokens aimed at being Soulbound [Ref: https://www.cryptotimes.io/what-are-soulbound-tokens-sbts/]. + * There are some quick information to note when implementing this interface. + * In addition to the link above, this interface ensures that a token can only be minted to an address once, minting the same token or + * transferring the same token to another address is not feasible. This is to make sure that, that particular token stays with the address, + * and CANNOT be moved around. + * The address the token is minted to is called the 'Soul Address'. + * However, this token can be revoked by the minter (whoever minted it to the Soul Address), and then, and only then + * can that token be reminted to the Soul Address. + * Also, in cases where the token is lost, the above will also apply. + */ + +interface ISoulbond { + // ========== E V E N T S ========== + + /// @dev Emitted when the token is minted to `_to`. + event Attest(address indexed _to, uint256 indexed _tokenId); + /// @dev Emitted when the ownership of the token is withdrawn from `_from`. + event Revoke(address indexed _from, uint256 indexed _tokenId); + + // ========== E V E N T S ========== + + // ========== E R R O R s ========== + + /// @dev Thrown if address is 0 address. + error ZeroAddress(address _address); + /// @dev Thrown if token is not existent. + error NonExistent(uint256 _tokenId, string _error); + /// @dev Thrown if token has already been minted. + error Attested(uint256 tokenId, string _error); + + // ========== E R R O R s ========== + + /** + * @dev Mints a new token `_tokenId` to `_to`, giving to ownership of token `_tokenId`. + * This function will be used hand in hand with ERC721's _mint() function. + * Emits the {Attest} event. + * + * @notice `_to` cannot transfer the token. + * + * [CONDITIONS] + * `_to` must not be a 0 address. + * `_tokenId` must be an existent token. + * + * @param + * _to, Address to which token `_tokenId` is minted. + * _tokenId, Token to mint. + * + * @return bool. + */ + function issue( + address _to, + uint256 _tokenId, + string memory tokenURI + ) external returns (bool); + + /** + * @dev Withdraws ownership of token `_tokenId` from `_From`. + * This will be done when the ERC721's _burn() function is called. + * Emits the {Revoke} event. + * + * @notice `_from` must own the token. + * + * [CONDITIONS] + * `_from` must not be a 0 address. + * `_tokenId` must be an existent token. + * The function can only be called by the issuer of the token. + * This modifier onlyIssuer will be implemented in the contract. [Modifiers cannot be made in interfaces]. + * + * @param + * _from => Address which owns token `_tokenId`. + * _tokenId => Token to revoke. + * + * @return bool. + */ + function revoke(address _from, uint256 _tokenId) external returns (bool); + + /* + * @dev Returns the address that owns token `_tokenId`. + * + * [CONDITIONS] + * `_tokenId` must be an existent token. + * + * @param _tokenId => Token minted. + * + * @return address of owner of `_tokenId`. + */ + function ownerOf(uint256 _tokenId) external returns (address); + + /** + * @dev Since a token cannnot be minted twice. + * This function returns the address that minted token `_tokenId` to `_to`. + * + * [CONDITIONS] + * `_to` must not be a 0 address. + * `_tokenId` must be an existent token. + * + * @param + * _to => Address to which token `_tokenId` is minted. + * _tokenId => Token minted. + * + * @return address of issuer. + */ + function issuerOf(address _to, uint256 _tokenId) external returns (address); + + /** + * @dev Returns true if token `_tokenId` was minted from `_from` to `_to`. + * + * [CONDITIONS] + * `_to` must not be a 0 address. + * `_tokenId` must be an existent token. + * + * @param + * _to => Address to which token `_tokenId` is minted. + * _tokenId => Token minted. + * + * @return bool. + */ + function isMinted(address _to, uint256 _tokenId) external returns (bool); + + /** + * @dev Returns 1 if isMinted returns true and 0 if otherwise. + * + * [CONDITIONS] + * `_owner` must not be a 0 address. + * + * @param + * _owner => Address to evaluate. + * + * @return uint256. + */ + function balanceOf(address _owner) external returns (uint256); +} diff --git a/tests/contracts/contracts/packages/soulbound/reports/coverage.json b/tests/contracts/contracts/packages/soulbound/reports/coverage.json new file mode 100644 index 0000000..47dae9d --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/reports/coverage.json @@ -0,0 +1,2152 @@ +{ + "coverage": { + "Allowlist": { + "branches": { + "Allowlist._verifySignature": [ + 0, + 0, + 2 + ], + "Ownable._checkOwner": [ + 0, + 0, + 1 + ], + "Ownable.transferOwnership": [ + 0, + 0, + 1 + ] + }, + "statements": { + "Allowlist._verifySignature": [ + 0, + 4 + ] + }, + "totals": { + "branches": [ + 0, + 0, + 4 + ], + "statements": [ + 0, + 4 + ] + } + }, + "Soulbound": { + "branches": { + "ERC4973.balanceOf": [ + 0, + 0, + 1 + ], + "ERC4973.burn": [ + 0, + 0, + 1 + ], + "Soulbound._getBaseURI": [ + 0, + 1, + 1 + ], + "Soulbound.issuerOf": [ + 0, + 0, + 2 + ] + }, + "statements": { + "ERC4973.balanceOf": [ + 0, + 2 + ], + "ERC4973.burn": [ + 0, + 2 + ], + "Soulbound._getBaseURI": [ + 1, + 2 + ], + "Soulbound.issuerOf": [ + 0, + 4 + ] + }, + "totals": { + "branches": [ + 0, + 1, + 5 + ], + "statements": [ + 1, + 10 + ] + } + }, + "SoulboundCore": { + "branches": { + "Allowlist._verifySignature": [ + 2, + 0, + 2 + ], + "Allowlist.getAllowlistOwner": [ + 0, + 0, + 1 + ], + "ERC4973._mint": [ + 1, + 0, + 1 + ], + "ERC4973.balanceOf": [ + 0, + 0, + 1 + ], + "ERC4973.burn": [ + 0, + 0, + 1 + ], + "ERC4973.tokenURI": [ + 0, + 0, + 1 + ], + "Ownable._checkOwner": [ + 1, + 1, + 1 + ], + "Ownable.transferOwnership": [ + 0, + 0, + 1 + ], + "Soulbound._getBaseURI": [ + 1, + 1, + 1 + ], + "Soulbound._setBaseURI": [ + 1, + 1, + 1 + ], + "Soulbound.burnSoulboundToken": [ + 1, + 0, + 1 + ], + "Soulbound.issuerOf": [ + 0, + 0, + 3 + ], + "Soulbound.mintSoulboundToken": [ + 2, + 1, + 2 + ], + "Soulbound.revoke": [ + 2, + 0, + 2 + ], + "SoulboundCore.generateTokenURI": [ + 1, + 0, + 1 + ], + "SoulboundCore.issueWithSignature": [ + 3, + 3, + 3 + ], + "SoulboundCore.revokeWithSignature": [ + 3, + 3, + 3 + ], + "SoulboundCore.toString": [ + 1, + 0, + 1 + ] + }, + "statements": { + "Allowlist._verifySignature": [ + 4, + 4 + ], + "ERC4973._mint": [ + 6, + 6 + ], + "ERC4973.balanceOf": [ + 0, + 2 + ], + "ERC4973.burn": [ + 0, + 2 + ], + "ERC4973.tokenURI": [ + 0, + 2 + ], + "Ownable._checkOwner": [ + 1, + 1 + ], + "Ownable.transferOwnership": [ + 0, + 2 + ], + "Soulbound._getBaseURI": [ + 2, + 2 + ], + "Soulbound._setBaseURI": [ + 2, + 2 + ], + "Soulbound.burnSoulboundToken": [ + 3, + 3 + ], + "Soulbound.issuerOf": [ + 0, + 4 + ], + "Soulbound.mintSoulboundToken": [ + 4, + 4 + ], + "Soulbound.revoke": [ + 4, + 4 + ], + "SoulboundCore.generateTokenURI": [ + 2, + 2 + ], + "SoulboundCore.issueWithSignature": [ + 5, + 5 + ], + "SoulboundCore.revokeWithSignature": [ + 5, + 5 + ], + "SoulboundCore.toString": [ + 6, + 7 + ] + }, + "totals": { + "branches": [ + 19, + 10, + 27 + ], + "statements": [ + 44, + 57 + ] + } + }, + "SoulboundWithSignature": { + "branches": { + "Allowlist._verifySignature": [ + 2, + 0, + 2 + ], + "Allowlist.getAllowlistOwner": [ + 0, + 0, + 1 + ], + "ERC4973._mint": [ + 1, + 0, + 1 + ], + "ERC4973.balanceOf": [ + 1, + 0, + 1 + ], + "ERC4973.burn": [ + 0, + 0, + 1 + ], + "ERC4973.tokenURI": [ + 0, + 0, + 1 + ], + "Ownable._checkOwner": [ + 1, + 1, + 1 + ], + "Ownable.transferOwnership": [ + 0, + 0, + 1 + ], + "Soulbound._getBaseURI": [ + 0, + 0, + 1 + ], + "Soulbound._setBaseURI": [ + 0, + 0, + 1 + ], + "Soulbound.burnSoulboundToken": [ + 1, + 0, + 1 + ], + "Soulbound.issuerOf": [ + 0, + 0, + 3 + ], + "Soulbound.mintSoulboundToken": [ + 2, + 1, + 2 + ], + "Soulbound.revoke": [ + 2, + 0, + 2 + ], + "SoulboundCore.generateTokenURI": [ + 0, + 0, + 1 + ], + "SoulboundCore.issueWithSignature": [ + 3, + 3, + 3 + ], + "SoulboundCore.revokeWithSignature": [ + 3, + 3, + 3 + ], + "SoulboundCore.toString": [ + 0, + 0, + 1 + ], + "SoulboundWithSignature.ownerIssueWithSignature": [ + 1, + 1, + 1 + ], + "SoulboundWithSignature.ownerRevokeWithSignature": [ + 0, + 1, + 1 + ] + }, + "statements": { + "Allowlist._verifySignature": [ + 4, + 4 + ], + "ERC4973._mint": [ + 6, + 6 + ], + "ERC4973.balanceOf": [ + 2, + 2 + ], + "ERC4973.burn": [ + 0, + 2 + ], + "ERC4973.tokenURI": [ + 0, + 2 + ], + "Ownable._checkOwner": [ + 1, + 1 + ], + "Ownable.transferOwnership": [ + 0, + 2 + ], + "Soulbound._getBaseURI": [ + 0, + 2 + ], + "Soulbound._setBaseURI": [ + 0, + 2 + ], + "Soulbound.burnSoulboundToken": [ + 3, + 3 + ], + "Soulbound.issuerOf": [ + 0, + 4 + ], + "Soulbound.mintSoulboundToken": [ + 4, + 4 + ], + "Soulbound.revoke": [ + 4, + 4 + ], + "SoulboundCore.generateTokenURI": [ + 0, + 2 + ], + "SoulboundCore.issueWithSignature": [ + 5, + 5 + ], + "SoulboundCore.revokeWithSignature": [ + 5, + 5 + ], + "SoulboundCore.toString": [ + 0, + 7 + ], + "SoulboundWithSignature.ownerIssueWithSignature": [ + 3, + 3 + ], + "SoulboundWithSignature.ownerRevokeWithSignature": [ + 2, + 3 + ] + }, + "totals": { + "branches": [ + 17, + 10, + 29 + ], + "statements": [ + 39, + 63 + ] + } + } + }, + "highlights": { + "branches": { + "Allowlist": { + "0": [ + [ + 3769, + 3792, + "red", + "" + ], + [ + 3939, + 3955, + "red", + "" + ] + ], + "2": [ + [ + 1758, + 1781, + "red", + "" + ], + [ + 2544, + 2566, + "red", + "" + ] + ], + "8": [] + }, + "Soulbound": { + "3": [ + [ + 7561, + 7587, + "orange", + "" + ], + [ + 4479, + 4496, + "red", + "" + ], + [ + 4691, + 4715, + "red", + "" + ] + ], + "7": [ + [ + 5570, + 5589, + "red", + "" + ], + [ + 5316, + 5346, + "red", + "" + ] + ] + }, + "SoulboundCore": { + "0": [ + [ + 3769, + 3792, + "yellow", + "" + ], + [ + 3939, + 3955, + "yellow", + "" + ] + ], + "2": [ + [ + 1758, + 1781, + "green", + "" + ], + [ + 2544, + 2566, + "red", + "" + ] + ], + "3": [ + [ + 7561, + 7587, + "green", + "" + ], + [ + 7152, + 7179, + "green", + "" + ], + [ + 6564, + 6580, + "yellow", + "" + ], + [ + 4479, + 4496, + "red", + "" + ], + [ + 4581, + 4598, + "red", + "" + ], + [ + 4691, + 4715, + "red", + "" + ], + [ + 5816, + 5832, + "yellow", + "" + ], + [ + 5998, + 6025, + "green", + "" + ], + [ + 3468, + 3485, + "yellow", + "" + ], + [ + 3580, + 3606, + "yellow", + "" + ] + ], + "4": [ + [ + 1653, + 1683, + "red", + "" + ], + [ + 6294, + 6326, + "yellow", + "" + ], + [ + 3018, + 3036, + "green", + "" + ], + [ + 3297, + 3313, + "green", + "" + ], + [ + 3469, + 3495, + "green", + "" + ], + [ + 4415, + 4431, + "green", + "" + ], + [ + 4698, + 4714, + "green", + "" + ], + [ + 4870, + 4896, + "green", + "" + ], + [ + 6893, + 6903, + "orange", + "" + ] + ], + "7": [ + [ + 6201, + 6218, + "yellow", + "" + ], + [ + 5570, + 5589, + "red", + "" + ], + [ + 5316, + 5346, + "red", + "" + ], + [ + 5144, + 5160, + "red", + "" + ] + ], + "8": [] + }, + "SoulboundWithSignature": { + "0": [ + [ + 3769, + 3792, + "yellow", + "" + ], + [ + 3939, + 3955, + "yellow", + "" + ] + ], + "2": [ + [ + 1758, + 1781, + "green", + "" + ], + [ + 2544, + 2566, + "red", + "" + ] + ], + "3": [ + [ + 7561, + 7587, + "red", + "" + ], + [ + 7152, + 7179, + "red", + "" + ], + [ + 6564, + 6580, + "yellow", + "" + ], + [ + 4479, + 4496, + "red", + "" + ], + [ + 4581, + 4598, + "red", + "" + ], + [ + 4691, + 4715, + "red", + "" + ], + [ + 5816, + 5832, + "yellow", + "" + ], + [ + 5998, + 6025, + "green", + "" + ], + [ + 3468, + 3485, + "yellow", + "" + ], + [ + 3580, + 3606, + "yellow", + "" + ] + ], + "4": [ + [ + 1653, + 1683, + "red", + "" + ], + [ + 6294, + 6326, + "red", + "" + ], + [ + 3018, + 3036, + "green", + "" + ], + [ + 3297, + 3313, + "green", + "" + ], + [ + 3469, + 3495, + "green", + "" + ], + [ + 4415, + 4431, + "green", + "" + ], + [ + 4698, + 4714, + "green", + "" + ], + [ + 4870, + 4896, + "green", + "" + ], + [ + 6893, + 6903, + "red", + "" + ] + ], + "6": [ + [ + 1905, + 1925, + "green", + "" + ], + [ + 3272, + 3283, + "yellow", + "" + ] + ], + "7": [ + [ + 6201, + 6218, + "yellow", + "" + ], + [ + 5570, + 5589, + "yellow", + "" + ], + [ + 5316, + 5346, + "red", + "" + ], + [ + 5144, + 5160, + "red", + "" + ] + ], + "8": [] + } + }, + "statements": { + "Allowlist": { + "0": [ + [ + 3748, + 3861, + "red", + "" + ], + [ + 3931, + 3990, + "red", + "" + ], + [ + 4417, + 4467, + "red", + "" + ], + [ + 4513, + 4542, + "red", + "" + ], + [ + 2112, + 2133, + "green", + "" + ], + [ + 2476, + 2510, + "red", + "" + ], + [ + 4940, + 4985, + "green", + "" + ] + ], + "2": [ + [ + 1750, + 1818, + "red", + "" + ], + [ + 3130, + 3147, + "red", + "" + ], + [ + 2944, + 2961, + "red", + "" + ], + [ + 2971, + 3016, + "red", + "" + ], + [ + 1602, + 1615, + "red", + "" + ], + [ + 2250, + 2280, + "red", + "" + ], + [ + 2523, + 2630, + "red", + "" + ], + [ + 2640, + 2668, + "red", + "" + ] + ], + "8": [] + }, + "Soulbound": { + "3": [ + [ + 7553, + 7605, + "green", + "" + ], + [ + 7648, + 7666, + "red", + "" + ], + [ + 5339, + 5366, + "red", + "" + ], + [ + 4471, + 4524, + "red", + "" + ], + [ + 4573, + 4622, + "red", + "" + ], + [ + 4683, + 4746, + "red", + "" + ], + [ + 4795, + 4815, + "red", + "" + ] + ], + "7": [ + [ + 1750, + 1797, + "red", + "" + ], + [ + 6510, + 6531, + "red", + "" + ], + [ + 6541, + 6564, + "red", + "" + ], + [ + 6574, + 6600, + "red", + "" + ], + [ + 6611, + 6638, + "red", + "" + ], + [ + 6005, + 6042, + "red", + "" + ], + [ + 5549, + 5659, + "red", + "" + ], + [ + 5669, + 5692, + "red", + "" + ], + [ + 5308, + 5377, + "red", + "" + ], + [ + 5387, + 5401, + "red", + "" + ], + [ + 4861, + 4873, + "green", + "" + ], + [ + 5829, + 5889, + "red", + "" + ], + [ + 4593, + 4769, + "red", + "" + ], + [ + 4967, + 4981, + "red", + "" + ], + [ + 5136, + 5194, + "red", + "" + ], + [ + 5204, + 5230, + "red", + "" + ] + ] + }, + "SoulboundCore": { + "0": [ + [ + 3748, + 3861, + "green", + "" + ], + [ + 3931, + 3990, + "green", + "" + ], + [ + 4417, + 4467, + "green", + "" + ], + [ + 4513, + 4542, + "green", + "" + ], + [ + 2112, + 2133, + "red", + "" + ], + [ + 2476, + 2510, + "green", + "" + ], + [ + 4940, + 4985, + "red", + "" + ] + ], + "2": [ + [ + 1750, + 1818, + "green", + "" + ], + [ + 3130, + 3147, + "green", + "" + ], + [ + 2944, + 2961, + "red", + "" + ], + [ + 2971, + 3016, + "red", + "" + ], + [ + 1602, + 1615, + "red", + "" + ], + [ + 2250, + 2280, + "red", + "" + ], + [ + 2523, + 2630, + "red", + "" + ], + [ + 2640, + 2668, + "red", + "" + ] + ], + "3": [ + [ + 7553, + 7605, + "green", + "" + ], + [ + 7648, + 7666, + "green", + "" + ], + [ + 7144, + 7198, + "green", + "" + ], + [ + 7238, + 7256, + "green", + "" + ], + [ + 6556, + 6609, + "green", + "" + ], + [ + 6745, + 6759, + "green", + "" + ], + [ + 6816, + 6851, + "green", + "" + ], + [ + 5339, + 5366, + "red", + "" + ], + [ + 2400, + 2443, + "green", + "" + ], + [ + 2483, + 2494, + "green", + "" + ], + [ + 4471, + 4524, + "red", + "" + ], + [ + 4573, + 4622, + "red", + "" + ], + [ + 4683, + 4746, + "red", + "" + ], + [ + 4795, + 4815, + "red", + "" + ], + [ + 5808, + 5858, + "green", + "" + ], + [ + 5990, + 6045, + "green", + "" + ], + [ + 6160, + 6188, + "green", + "" + ], + [ + 6244, + 6269, + "green", + "" + ], + [ + 3460, + 3509, + "green", + "" + ], + [ + 3572, + 3637, + "green", + "" + ], + [ + 3680, + 3708, + "green", + "" + ], + [ + 3748, + 3759, + "green", + "" + ] + ], + "4": [ + [ + 6286, + 6344, + "green", + "" + ], + [ + 6404, + 6474, + "green", + "" + ], + [ + 3010, + 3062, + "green", + "" + ], + [ + 3289, + 3342, + "green", + "" + ], + [ + 3461, + 3525, + "green", + "" + ], + [ + 3624, + 3654, + "green", + "" + ], + [ + 3716, + 3754, + "green", + "" + ], + [ + 4407, + 4463, + "green", + "" + ], + [ + 4690, + 4743, + "green", + "" + ], + [ + 4862, + 4926, + "green", + "" + ], + [ + 5025, + 5058, + "green", + "" + ], + [ + 5121, + 5154, + "green", + "" + ], + [ + 5671, + 5692, + "green", + "" + ], + [ + 6919, + 6929, + "red", + "" + ], + [ + 7035, + 7043, + "green", + "" + ], + [ + 7057, + 7067, + "green", + "" + ], + [ + 7169, + 7180, + "green", + "" + ], + [ + 7194, + 7250, + "green", + "" + ], + [ + 7264, + 7275, + "green", + "" + ], + [ + 7295, + 7316, + "green", + "" + ] + ], + "7": [ + [ + 1750, + 1797, + "red", + "" + ], + [ + 6510, + 6531, + "green", + "" + ], + [ + 6541, + 6564, + "green", + "" + ], + [ + 6574, + 6600, + "green", + "" + ], + [ + 6611, + 6638, + "green", + "" + ], + [ + 6005, + 6042, + "green", + "" + ], + [ + 6193, + 6243, + "green", + "" + ], + [ + 6253, + 6271, + "green", + "" + ], + [ + 6281, + 6302, + "green", + "" + ], + [ + 6312, + 6337, + "green", + "" + ], + [ + 6347, + 6371, + "green", + "" + ], + [ + 6381, + 6395, + "green", + "" + ], + [ + 5549, + 5659, + "red", + "" + ], + [ + 5669, + 5692, + "red", + "" + ], + [ + 5308, + 5377, + "red", + "" + ], + [ + 5387, + 5401, + "red", + "" + ], + [ + 4861, + 4873, + "red", + "" + ], + [ + 5829, + 5889, + "green", + "" + ], + [ + 4593, + 4769, + "red", + "" + ], + [ + 4967, + 4981, + "red", + "" + ], + [ + 5136, + 5194, + "red", + "" + ], + [ + 5204, + 5230, + "red", + "" + ] + ], + "8": [] + }, + "SoulboundWithSignature": { + "0": [ + [ + 3748, + 3861, + "green", + "" + ], + [ + 3931, + 3990, + "green", + "" + ], + [ + 4417, + 4467, + "green", + "" + ], + [ + 4513, + 4542, + "green", + "" + ], + [ + 2112, + 2133, + "red", + "" + ], + [ + 2476, + 2510, + "green", + "" + ], + [ + 4940, + 4985, + "red", + "" + ] + ], + "2": [ + [ + 1750, + 1818, + "green", + "" + ], + [ + 3130, + 3147, + "green", + "" + ], + [ + 2944, + 2961, + "red", + "" + ], + [ + 2971, + 3016, + "red", + "" + ], + [ + 1602, + 1615, + "red", + "" + ], + [ + 2250, + 2280, + "red", + "" + ], + [ + 2523, + 2630, + "red", + "" + ], + [ + 2640, + 2668, + "red", + "" + ] + ], + "3": [ + [ + 7553, + 7605, + "red", + "" + ], + [ + 7648, + 7666, + "red", + "" + ], + [ + 7144, + 7198, + "red", + "" + ], + [ + 7238, + 7256, + "red", + "" + ], + [ + 6556, + 6609, + "green", + "" + ], + [ + 6745, + 6759, + "green", + "" + ], + [ + 6816, + 6851, + "green", + "" + ], + [ + 5339, + 5366, + "red", + "" + ], + [ + 2400, + 2443, + "green", + "" + ], + [ + 2483, + 2494, + "green", + "" + ], + [ + 4471, + 4524, + "red", + "" + ], + [ + 4573, + 4622, + "red", + "" + ], + [ + 4683, + 4746, + "red", + "" + ], + [ + 4795, + 4815, + "red", + "" + ], + [ + 5808, + 5858, + "green", + "" + ], + [ + 5990, + 6045, + "green", + "" + ], + [ + 6160, + 6188, + "green", + "" + ], + [ + 6244, + 6269, + "green", + "" + ], + [ + 3460, + 3509, + "green", + "" + ], + [ + 3572, + 3637, + "green", + "" + ], + [ + 3680, + 3708, + "green", + "" + ], + [ + 3748, + 3759, + "green", + "" + ] + ], + "4": [ + [ + 6286, + 6344, + "red", + "" + ], + [ + 6404, + 6474, + "red", + "" + ], + [ + 3010, + 3062, + "green", + "" + ], + [ + 3289, + 3342, + "green", + "" + ], + [ + 3461, + 3525, + "green", + "" + ], + [ + 3624, + 3654, + "green", + "" + ], + [ + 3716, + 3754, + "green", + "" + ], + [ + 4407, + 4463, + "green", + "" + ], + [ + 4690, + 4743, + "green", + "" + ], + [ + 4862, + 4926, + "green", + "" + ], + [ + 5025, + 5058, + "green", + "" + ], + [ + 5121, + 5154, + "green", + "" + ], + [ + 5671, + 5692, + "red", + "" + ], + [ + 6919, + 6929, + "red", + "" + ], + [ + 7035, + 7043, + "red", + "" + ], + [ + 7057, + 7067, + "red", + "" + ], + [ + 7169, + 7180, + "red", + "" + ], + [ + 7194, + 7250, + "red", + "" + ], + [ + 7264, + 7275, + "red", + "" + ], + [ + 7295, + 7316, + "red", + "" + ] + ], + "6": [ + [ + 1897, + 1948, + "green", + "" + ], + [ + 1997, + 2051, + "green", + "" + ], + [ + 2116, + 2124, + "green", + "" + ], + [ + 3338, + 3346, + "green", + "" + ], + [ + 3427, + 3458, + "red", + "" + ], + [ + 3519, + 3558, + "green", + "" + ] + ], + "7": [ + [ + 1750, + 1797, + "red", + "" + ], + [ + 6510, + 6531, + "green", + "" + ], + [ + 6541, + 6564, + "green", + "" + ], + [ + 6574, + 6600, + "green", + "" + ], + [ + 6611, + 6638, + "green", + "" + ], + [ + 6005, + 6042, + "green", + "" + ], + [ + 6193, + 6243, + "green", + "" + ], + [ + 6253, + 6271, + "green", + "" + ], + [ + 6281, + 6302, + "green", + "" + ], + [ + 6312, + 6337, + "green", + "" + ], + [ + 6347, + 6371, + "green", + "" + ], + [ + 6381, + 6395, + "green", + "" + ], + [ + 5549, + 5659, + "green", + "" + ], + [ + 5669, + 5692, + "green", + "" + ], + [ + 5308, + 5377, + "red", + "" + ], + [ + 5387, + 5401, + "red", + "" + ], + [ + 4861, + 4873, + "red", + "" + ], + [ + 5829, + 5889, + "green", + "" + ], + [ + 4593, + 4769, + "red", + "" + ], + [ + 4967, + 4981, + "red", + "" + ], + [ + 5136, + 5194, + "red", + "" + ], + [ + 5204, + 5230, + "red", + "" + ] + ], + "8": [] + } + } + }, + "sha1": {} +} \ No newline at end of file diff --git a/tests/contracts/contracts/packages/soulbound/scripts/console.sh b/tests/contracts/contracts/packages/soulbound/scripts/console.sh new file mode 100644 index 0000000..f70cbf4 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/scripts/console.sh @@ -0,0 +1,4 @@ +#! /bin/sh + +echo "running console script with hardhat" +brownie console --network hardhat \ No newline at end of file diff --git a/tests/contracts/contracts/packages/soulbound/tests/Allowlist_test.py b/tests/contracts/contracts/packages/soulbound/tests/Allowlist_test.py new file mode 100644 index 0000000..f16579f --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/tests/Allowlist_test.py @@ -0,0 +1,45 @@ +from brownie import Allowlist, network, accounts, config, reverts + +''' +Allowlist.sol test. +''' + +def owner(): + owner_ = "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4" + return owner_ + +# Deploy function. +def deploy(): + deploy_ = Allowlist.deploy(owner(), {"from":owner()}) + return deploy_ + +''' +Test 1: getAllowlistOwner() :: Expected to return allowlist owner. +''' +def test_getAllowlistOwner(): + C = deploy() + assert C.getAllowlistOwner() == owner() + # Assert allowlistowner == owner [defined by function]. + # Ref Line 8. + +''' +Test 2: verifySignature() :: expected to return true if signer is +the address returned by the getAllowlistOwner() function. +''' +def test_verifySigner(): + # Deploy with owner as accounts[0]. + C = deploy() + + # Hash and signature. + trueHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + trueSign = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df1b" + + # Fake hash and sign + fakeHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + fakeSign = "0x90f9301222fd8fdbd26a123d797d1ed9357256bbe9ca1f50cbe3e136667d986d4f02099db7c8f7a554d5e05b3759e90c25b5785324f510269a0e9211467ad5791c" + + # Check that the owner signed the fake hashes, this should fail. + f = C.verifySigner(owner(), trueHash, trueSign) + j = C.verifySigner(owner(), fakeHash, fakeSign) + assert f == True + assert j == False \ No newline at end of file diff --git a/tests/contracts/contracts/packages/soulbound/tests/SoulboundCore_test.py b/tests/contracts/contracts/packages/soulbound/tests/SoulboundCore_test.py new file mode 100644 index 0000000..eb98353 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/tests/SoulboundCore_test.py @@ -0,0 +1,165 @@ +from brownie import SoulboundCore, network, accounts, config, reverts + +''' +Allowlist.sol test. +''' + +def owner(): + owner_ = "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4" + return owner_ + +# Deploy function. +def deploy(): + deploy_ = SoulboundCore.deploy("MyToken", "MTK", owner(), 0, {"from":accounts[0]}) + return deploy_ + +''' +Test deployment. +''' +def test_deploy(): + deploy() + +''' +issueWithSignature test. +''' +def test_issueWithSignature(): + C = deploy() + + # Set hashes and signatures. + trueHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + trueSign = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df1b" + + # This hash is short of 1 byte. + invalidHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1ad" + # This signature is short of 1 byte. + invalidSignature = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df" + + # Fake hash and sign + fakeHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + fakeSign = "0x90f9301222fd8fdbd26a123d797d1ed9357256bbe9ca1f50cbe3e136667d986d4f02099db7c8f7a554d5e05b3759e90c25b5785324f510269a0e9211467ad5791c" + + zeroAddress = "0x0000000000000000000000000000000000000000" + URI = "https://ipfs/bla/blah/1" + + # Zero address test. + # Expeted fail. + with reverts(): + C.issueWithSignature(zeroAddress, trueHash, trueSign, 1, URI, {"from":accounts[0]}) + + # Invalid hash length test. + with reverts(): + C.issueWithSignature(accounts[1], invalidHash, trueSign, 1, URI, {"from":accounts[0]}) + + # Invalid signature length test. + with reverts(): + C.issueWithSignature(accounts[1], trueHash, invalidSignature, 1, URI, {"from":accounts[0]}) + + # Empty tokenURI test. + with reverts(): + C.issueWithSignature(accounts[1], trueHash, trueSign, 1, "", {"from":accounts[0]}) + + # Invalid signature verification. + with reverts(): + C.issueWithSignature(accounts[1], fakeHash, fakeSign, 1, URI, {"from":accounts[0]}) + + # This test shall pass. + eventHolder = C.issueWithSignature(accounts[1], trueHash, trueSign, 1, URI, {"from":accounts[0]}) + hasEvent = 'IssueWithSignature' in eventHolder.events + assert hasEvent == True + +''' +revokeWithSignature test. +''' +def test_revokeWithSignature(): + C = deploy() + + # Set hashes and signatures. + trueHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + trueSign = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df1b" + + # This hash is short of 1 byte. + invalidHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1ad" + # This signature is short of 1 byte. + invalidSignature = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df" + + # Fake hash and sign + fakeHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + fakeSign = "0x90f9301222fd8fdbd26a123d797d1ed9357256bbe9ca1f50cbe3e136667d986d4f02099db7c8f7a554d5e05b3759e90c25b5785324f510269a0e9211467ad5791c" + + URI = "https://ipfs/bla/blah/1" + + # Invalid token test. + with reverts(): + C.revokeWithSignature(trueHash, trueSign, 9, {"from":accounts[0]}) + + # First issue with signature. + C.issueWithSignature(accounts[1], trueHash, trueSign, 1, URI, {"from":accounts[0]}) + + # Invalid hash test. + with reverts(): + C.revokeWithSignature(invalidHash, trueSign, 1, {"from":accounts[0]}) + + # Invalid signature test. + with reverts(): + C.revokeWithSignature(trueHash, invalidSignature, 1, {"from":accounts[0]}) + + # Invalid signer test. + with reverts(): + C.revokeWithSignature(fakeHash, fakeSign, 1, {"from":accounts[0]}) + + eventHolder = C.revokeWithSignature(trueHash, trueSign, 1, {"from":accounts[0]}) + notHasEvent = 'IssueWithSignature' in eventHolder.events + assert notHasEvent == False + + hasEvent = 'RevokeWithSignature' in eventHolder.events + assert hasEvent == True + +''' +setBaseURI test. +''' +def test_setBaseURI(): + C = deploy() + baseURI = "" + newBaseURI = "https://daccred.co/" + + # Caller test. + with reverts(): + C.setBaseURI(accounts[2], newBaseURI, {"from":accounts[0]}) + + # OnlyOwner test. + with reverts(): + C.setBaseURI(owner(), newBaseURI, {"from":accounts[1]}) + + # Empty URI test. + with reverts(): + C.setBaseURI(owner(), "", {"from":accounts[0]}) + + # Invalid type test. + with reverts(): + C.setBaseURI(owner(), 56, {"from":accounts[1]}) + C.setBaseURI(owner(), "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4", {"from":accounts[1]}) + C.setBaseURI(owner(), "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df", {"from":accounts[1]}) + + C.setBaseURI(owner(), newBaseURI, {"from": accounts[0]}) + assert C._getBaseURI() == newBaseURI + assert C._getBaseURI() != baseURI + +''' +generateTokenURI test. +''' +def test_generateTokenURI(): + C = deploy() + baseURI = "" + newBaseURI = "https://daccred.co/" + newTokenURI = newBaseURI + "567" + + # generateTokenURI on empty baseURI + with reverts(): + C.generateTokenURI(5) + + C.setBaseURI(owner(), newBaseURI, {"from": accounts[0]}) + + assert C.generateTokenURI(567) == newTokenURI + assert C.generateTokenURI(56) != newTokenURI + assert C.generateTokenURI(67) != newTokenURI + assert C.generateTokenURI(57) != newTokenURI \ No newline at end of file diff --git a/tests/contracts/contracts/packages/soulbound/tests/SoulboundRedeemable_test.py b/tests/contracts/contracts/packages/soulbound/tests/SoulboundRedeemable_test.py new file mode 100644 index 0000000..35c664b --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/tests/SoulboundRedeemable_test.py @@ -0,0 +1,13 @@ +from brownie import * + +### Testing deployment. +def test_deploy(): + account = getAccount() + SoulboundRedeemable.deploy("Token", "TKN", account, 100, "8 gwei", "4 gwei", {"from":account}) + + +def getAccount(): + if (network.show_active() == "development"): + return accounts[0] + else: + return accounts.add(config["wallets"]["from_key"]) diff --git a/tests/contracts/contracts/packages/soulbound/tests/SoulboundWithSignature_test.py b/tests/contracts/contracts/packages/soulbound/tests/SoulboundWithSignature_test.py new file mode 100644 index 0000000..ec2c060 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/tests/SoulboundWithSignature_test.py @@ -0,0 +1,120 @@ +from brownie import SoulboundWithSignature, accounts, config, network, reverts + +def owner(): + return "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4" + +def deploy(limit): + deploy_ = SoulboundWithSignature.deploy("My Token", "MTK", owner(), limit, {"from": accounts[0]}) + return deploy_ + +''' +Deploy test. +''' +def test_deploy(): + C = deploy(9) + assert C != "0x0000000000000000000000000000000000000000" + +''' +ownerIssueWithSignature test. +''' +def test_ownerIssueWithSignature(): + C = deploy(2) + + # Set hashes and signatures. + trueHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + trueSign = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df1b" + + # This hash is short of 1 byte. + invalidHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1ad" + # This signature is short of 1 byte. + invalidSignature = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df" + + # Fake hash and sign + fakeHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + fakeSign = "0x90f9301222fd8fdbd26a123d797d1ed9357256bbe9ca1f50cbe3e136667d986d4f02099db7c8f7a554d5e05b3759e90c25b5785324f510269a0e9211467ad5791c" + + zeroAddress = "0x0000000000000000000000000000000000000000" + URI = "https://ipfs/bla/blah/1" + + # Zero address test. + with reverts(): + C.ownerIssueWithSignature(zeroAddress, trueHash, trueSign, 50, URI, {"from": accounts[0]}) + + # Invalid hash test. + with reverts(): + C.ownerIssueWithSignature(accounts[1], invalidHash, trueSign, 50, URI, {"from": accounts[0]}) + + # Invalid signature test. + with reverts(): + C.ownerIssueWithSignature(accounts[1], trueHash, invalidSignature, 50, URI, {"from": accounts[0]}) + + # Empty token URI test. + with reverts(): + C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 50, "", {"from": accounts[0]}) + + # Invalid verifySignature test. + # Should be signed by owner(). + with reverts(): + C.ownerIssueWithSignature(accounts[1], fakeHash, trueSign, 50, URI, {"from": accounts[0]}) + C.ownerIssueWithSignature(accounts[1], trueHash, fakeSign, 50, URI, {"from": accounts[0]}) + # Called by non-owner. + C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 50, URI, {"from": accounts[7]}) + + + eventHolder = C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 5, URI, {"from": accounts[0]}) + + with reverts(): + C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 50, URI, {"from": accounts[0]}) + C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 51, URI, {"from": accounts[0]}) + C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 50, URI, {"from": accounts[0]}) + + hasEvent = 'IssueWithSignature' in eventHolder.events + assert hasEvent == True + +''' +ownerRevokeWithSignature test. +''' +def test_ownerRevokeWithSignature(): + C = deploy(2) + + # Set hashes and signatures. + trueHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + trueSign = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df1b" + + # This hash is short of 1 byte. + invalidHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1ad" + # This signature is short of 1 byte. + invalidSignature = "0x1b812f130223bb62611f195347989a1ac73b2ea97b581572eb0c9d3009677cc07979eed04b92d0d8bdc4dc4f2810b3688d0876d6626429ff20a1e03d042909df" + + # Fake hash and sign + fakeHash = "0xfc559c2fb3691b61c7664629e67f3eac134cb83955be099081efde4830e1adb2" + fakeSign = "0x90f9301222fd8fdbd26a123d797d1ed9357256bbe9ca1f50cbe3e136667d986d4f02099db7c8f7a554d5e05b3759e90c25b5785324f510269a0e9211467ad5791c" + + zeroAddress = "0x0000000000000000000000000000000000000000" + + C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 5, "jdkljalke", {"from": accounts[0]}) + + # Revoking invalid token. + with reverts(): + C.ownerRevokeWithSignature(trueHash, trueSign, 4, {"from": accounts[0]}) + + # Test for invalid hash + with reverts(): + C.ownerRevokeWithSignature(invalidHash, trueSign, 5, {"from": accounts[0]}) + + # Test for invalid signature. + with reverts(): + C.ownerRevokeWithSignature(trueHash, invalidSignature, 5, {"from": accounts[0]}) + + # Test for no owner call. + with reverts(): + C.ownerRevokeWithSignature(invalidHash, trueSign, 5, {"from": accounts[4]}) + + # Revoke + C.ownerRevokeWithSignature(trueHash, trueSign, 5, {"from": accounts[0]}) + C.ownerIssueWithSignature(accounts[1], trueHash, trueSign, 6, "jdkljalke", {"from": accounts[0]}) + eventHolder = C.ownerRevokeWithSignature(trueHash, trueSign, 6, {"from": accounts[0]}) + + hasEvent = 'RevokeWithSignature' in eventHolder.events + assert hasEvent == True + assert C.balanceOf(accounts[1]) == 0 diff --git a/tests/contracts/contracts/packages/soulbound/tests/Soulbound_test.py b/tests/contracts/contracts/packages/soulbound/tests/Soulbound_test.py new file mode 100644 index 0000000..d45c215 --- /dev/null +++ b/tests/contracts/contracts/packages/soulbound/tests/Soulbound_test.py @@ -0,0 +1,27 @@ +from brownie import Soulbound, network, accounts, config, reverts + +''' +Soulbound.sol test. +''' + +def owner(): + owner_ = "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4" + return owner_ + +# Deploy function. +def deploy(): + deploy_ = Soulbound.deploy("MyToken", "MTK", {"from":owner()}) + return deploy_ + +def test_name(): + C = deploy() + assert C.name() == "MyToken" + +def test__getBaseURI(): + C = deploy() + baseURI = "" + with reverts(): + baseURI = C._getBaseURI() + assert baseURI == "" + +## The other functions are internal. \ No newline at end of file diff --git a/tests/reports/coverage.json b/tests/reports/coverage.json new file mode 100644 index 0000000..39bc2b8 --- /dev/null +++ b/tests/reports/coverage.json @@ -0,0 +1,666 @@ +{ + "coverage": { + "Admin": { + "branches": { + "Admin.addDeployerSelector": [ + 1, + 1, + 1 + ], + "Admin.deployERC721ExtensionSignature": [ + 2, + 2, + 2 + ], + "Admin.deploySoulbound": [ + 2, + 1, + 2 + ], + "Admin.deploySoulboundRedeemable": [ + 2, + 2, + 2 + ], + "Admin.deploySoulboundWithSignature": [ + 2, + 2, + 2 + ] + }, + "statements": { + "Admin.addDeployerSelector": [ + 2, + 2 + ], + "Admin.deployERC721ExtensionSignature": [ + 2, + 2 + ], + "Admin.deploySoulbound": [ + 2, + 2 + ], + "Admin.deploySoulboundRedeemable": [ + 2, + 2 + ], + "Admin.deploySoulboundWithSignature": [ + 2, + 2 + ] + }, + "totals": { + "branches": [ + 9, + 8, + 9 + ], + "statements": [ + 10, + 10 + ] + } + }, + "DeployerERC721": { + "branches": { + "Ownable.transferOwnership": [ + 1, + 1, + 1 + ], + "Pausable.pause": [ + 1, + 1, + 1 + ], + "Pausable.unPause": [ + 1, + 1, + 1 + ] + }, + "statements": { + "Ownable.transferOwnership": [ + 2, + 2 + ], + "Pausable.pause": [ + 2, + 2 + ], + "Pausable.unPause": [ + 2, + 2 + ] + }, + "totals": { + "branches": [ + 3, + 3, + 3 + ], + "statements": [ + 6, + 6 + ] + } + }, + "DeployerSoulbound": { + "branches": { + "Ownable.transferOwnership": [ + 1, + 1, + 1 + ], + "Pausable.pause": [ + 1, + 1, + 1 + ], + "Pausable.unPause": [ + 1, + 1, + 1 + ] + }, + "statements": { + "Ownable.transferOwnership": [ + 2, + 2 + ], + "Pausable.pause": [ + 2, + 2 + ], + "Pausable.unPause": [ + 2, + 2 + ] + }, + "totals": { + "branches": [ + 3, + 3, + 3 + ], + "statements": [ + 6, + 6 + ] + } + }, + "DeployerSoulboundWithExtension": { + "branches": { + "Ownable.transferOwnership": [ + 1, + 1, + 1 + ], + "Pausable.pause": [ + 1, + 1, + 1 + ], + "Pausable.unPause": [ + 1, + 1, + 1 + ] + }, + "statements": { + "Ownable.transferOwnership": [ + 2, + 2 + ], + "Pausable.pause": [ + 2, + 2 + ], + "Pausable.unPause": [ + 2, + 2 + ] + }, + "totals": { + "branches": [ + 3, + 3, + 3 + ], + "statements": [ + 6, + 6 + ] + } + } + }, + "highlights": { + "branches": { + "Admin": { + "0": [ + [ + 1450, + 1470, + "green", + "" + ], + [ + 3837, + 3854, + "green", + "" + ], + [ + 4497, + 4501, + "green", + "" + ], + [ + 5340, + 5357, + "green", + "" + ], + [ + 5845, + 5849, + "yellow", + "" + ], + [ + 8817, + 8834, + "green", + "" + ], + [ + 9443, + 9447, + "green", + "" + ], + [ + 10573, + 10590, + "green", + "" + ], + [ + 11141, + 11145, + "green", + "" + ] + ] + }, + "DeployerERC721": { + "0": [ + [ + 2006, + 2028, + "green", + "" + ] + ], + "10": [], + "13": [ + [ + 1855, + 1862, + "green", + "" + ], + [ + 2168, + 2174, + "green", + "" + ] + ], + "18": [], + "19": [], + "5": [] + }, + "DeployerSoulbound": { + "0": [ + [ + 2006, + 2028, + "green", + "" + ] + ], + "11": [], + "13": [ + [ + 1855, + 1862, + "green", + "" + ], + [ + 2168, + 2174, + "green", + "" + ] + ], + "37": [], + "38": [], + "5": [] + }, + "DeployerSoulboundWithExtension": { + "0": [ + [ + 2006, + 2028, + "green", + "" + ] + ], + "12": [], + "13": [ + [ + 1855, + 1862, + "green", + "" + ], + [ + 2168, + 2174, + "green", + "" + ] + ], + "39": [], + "40": [], + "5": [] + } + }, + "statements": { + "Admin": { + "0": [ + [ + 1442, + 1501, + "green", + "" + ], + [ + 1549, + 1586, + "green", + "" + ], + [ + 3829, + 3879, + "green", + "" + ], + [ + 4489, + 4526, + "green", + "" + ], + [ + 5332, + 5382, + "green", + "" + ], + [ + 5837, + 5874, + "green", + "" + ], + [ + 8809, + 8859, + "green", + "" + ], + [ + 9435, + 9472, + "green", + "" + ], + [ + 10565, + 10615, + "green", + "" + ], + [ + 11133, + 11170, + "green", + "" + ], + [ + 11799, + 11841, + "green", + "" + ] + ] + }, + "DeployerERC721": { + "0": [ + [ + 2378, + 2395, + "green", + "" + ], + [ + 2405, + 2450, + "green", + "" + ], + [ + 1101, + 1114, + "red", + "" + ], + [ + 1732, + 1762, + "red", + "" + ], + [ + 1998, + 2071, + "green", + "" + ], + [ + 2081, + 2109, + "green", + "" + ] + ], + "10": [], + "13": [ + [ + 2496, + 2509, + "red", + "" + ], + [ + 1847, + 1883, + "green", + "" + ], + [ + 1930, + 1943, + "green", + "" + ], + [ + 2160, + 2199, + "green", + "" + ], + [ + 2247, + 2261, + "green", + "" + ] + ], + "18": [], + "19": [], + "5": [ + [ + 712, + 729, + "red", + "" + ] + ] + }, + "DeployerSoulbound": { + "0": [ + [ + 2378, + 2395, + "green", + "" + ], + [ + 2405, + 2450, + "green", + "" + ], + [ + 1101, + 1114, + "red", + "" + ], + [ + 1732, + 1762, + "red", + "" + ], + [ + 1998, + 2071, + "green", + "" + ], + [ + 2081, + 2109, + "green", + "" + ] + ], + "11": [], + "13": [ + [ + 2496, + 2509, + "red", + "" + ], + [ + 1847, + 1883, + "green", + "" + ], + [ + 1930, + 1943, + "green", + "" + ], + [ + 2160, + 2199, + "green", + "" + ], + [ + 2247, + 2261, + "green", + "" + ] + ], + "37": [], + "38": [], + "5": [ + [ + 712, + 729, + "red", + "" + ] + ] + }, + "DeployerSoulboundWithExtension": { + "0": [ + [ + 2378, + 2395, + "green", + "" + ], + [ + 2405, + 2450, + "green", + "" + ], + [ + 1101, + 1114, + "red", + "" + ], + [ + 1732, + 1762, + "red", + "" + ], + [ + 1998, + 2071, + "green", + "" + ], + [ + 2081, + 2109, + "green", + "" + ] + ], + "12": [], + "13": [ + [ + 2496, + 2509, + "red", + "" + ], + [ + 1847, + 1883, + "green", + "" + ], + [ + 1930, + 1943, + "green", + "" + ], + [ + 2160, + 2199, + "green", + "" + ], + [ + 2247, + 2261, + "green", + "" + ] + ], + "39": [], + "40": [], + "5": [ + [ + 712, + 729, + "red", + "" + ] + ] + } + } + }, + "sha1": {} +} \ No newline at end of file diff --git a/tests/tests/Admin_test.py b/tests/tests/Admin_test.py new file mode 100644 index 0000000..9f3983c --- /dev/null +++ b/tests/tests/Admin_test.py @@ -0,0 +1,522 @@ +from brownie import Admin, DeployerERC721, DeployerSoulbound, DeployerSoulboundWithExtension, network, accounts, config, reverts + +''' +FUNCTON SELECTORS:: + +------- +"deployERC721ExtensionCore(string,string)" :: 0x2ab7fabf + +"deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)" :: 0xe9181d92 +------ + +------ + +"deploySoulbound(string,string)" :: 0x27a31ded + +"deploySoulboundCore(string,string,address,uint256)" :: 0xd4152170 +------ + +------ + +"deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)" :: 0xab184932 + +"deploySoulboundWithSignature(string,string,address,uint256)" :: 0x0b33c33a +------ +''' + + +# Deployment. +def deploy(): + _deploy = Admin.deploy({"from": accounts[0]}) + return _deploy + + +# Deploy test. +def test_deploy(): + previousAddress = "" + C = deploy() + assert C.address != previousAddress + + +def test_addDeployerSelector(): + C = deploy() + _zero = "0x0000000000000000000000000000000000000000" + + # Add facet from a zero address. + # Fail. + with reverts(): + C.addDeployerSelector(_zero, "0xed987317", {"from": accounts[0]}) + + # Make transaction with non-owner address. + # Fail. + with reverts(): + C.addDeployerSelector(accounts[3], "0xed987317", {"from": accounts[4]}) + + # Pass + C.addDeployerSelector(accounts[2],"0xabcdef12", {"from": accounts[0]}) + + +def test_pauseAndOwnership(): + _zero = "0x0000000000000000000000000000000000000000" + + ## Deploy DeployerERC721. + F = DeployerERC721.deploy({"from": accounts[0]}) + + # ---------- Constant ------------ + + # Pause by Non-admn. + with reverts(): + F.pause({"from": accounts[2]}) + + F.pause({"from": accounts[0]}) + + with reverts(): + F.pause({"from": accounts[0]}) + + # Unpause by Non-admn. + with reverts(): + F.unPause({"from": accounts[2]}) + + F.unPause({"from": accounts[0]}) + + with reverts(): + F.unPause({"from": accounts[0]}) + + with reverts(): + F.transferOwnership(accounts[1], {"from": accounts[2]}) + + with reverts(): + F.transferOwnership(_zero, {"from": accounts[0]}) + + event = F.transferOwnership(accounts[1], {"from": accounts[0]}) + + # Pause by Non-admn. + with reverts(): + F.pause({"from": accounts[0]}) + + F.pause({"from": accounts[1]}) + + with reverts(): + F.pause({"from": accounts[1]}) + + # Unpause by Non-admin. + with reverts(): + F.unPause({"from": accounts[0]}) + + F.unPause({"from": accounts[1]}) + + with reverts(): + F.unPause({"from": accounts[1]}) + + assert 'OwnershipTransferred' in event.events + + # -------- Constant --------- + + +def test_pauseAndOwnership2(): + _zero = "0x0000000000000000000000000000000000000000" + + ## Deploy DeployerERC721. + F = DeployerSoulbound.deploy({"from": accounts[0]}) + + # ---------- Constant ------------ + + # Pause by Non-admn. + with reverts(): + F.pause({"from": accounts[2]}) + + F.pause({"from": accounts[0]}) + + with reverts(): + F.pause({"from": accounts[0]}) + + # Unpause by Non-admn. + with reverts(): + F.unPause({"from": accounts[2]}) + + F.unPause({"from": accounts[0]}) + + with reverts(): + F.unPause({"from": accounts[0]}) + + with reverts(): + F.transferOwnership(accounts[1], {"from": accounts[2]}) + + with reverts(): + F.transferOwnership(_zero, {"from": accounts[0]}) + + event = F.transferOwnership(accounts[1], {"from": accounts[0]}) + + # Pause by Non-admn. + with reverts(): + F.pause({"from": accounts[0]}) + + F.pause({"from": accounts[1]}) + + with reverts(): + F.pause({"from": accounts[1]}) + + # Unpause by Non-admin. + with reverts(): + F.unPause({"from": accounts[0]}) + + F.unPause({"from": accounts[1]}) + + with reverts(): + F.unPause({"from": accounts[1]}) + + assert 'OwnershipTransferred' in event.events + + # -------- Constant --------- + +def test_pauseAndOwnership3(): + _zero = "0x0000000000000000000000000000000000000000" + + ## Deploy DeployerERC721. + F = DeployerSoulboundWithExtension.deploy({"from": accounts[0]}) + + # ---------- Constant ------------ + + # Pause by Non-admn. + with reverts(): + F.pause({"from": accounts[2]}) + + F.pause({"from": accounts[0]}) + + with reverts(): + F.pause({"from": accounts[0]}) + + # Unpause by Non-admn. + with reverts(): + F.unPause({"from": accounts[2]}) + + F.unPause({"from": accounts[0]}) + + with reverts(): + F.unPause({"from": accounts[0]}) + + with reverts(): + F.transferOwnership(accounts[1], {"from": accounts[2]}) + + with reverts(): + F.transferOwnership(_zero, {"from": accounts[0]}) + + event = F.transferOwnership(accounts[1], {"from": accounts[0]}) + + # Pause by Non-admn. + with reverts(): + F.pause({"from": accounts[0]}) + + F.pause({"from": accounts[1]}) + + with reverts(): + F.pause({"from": accounts[1]}) + + # Unpause by Non-admin. + with reverts(): + F.unPause({"from": accounts[0]}) + + F.unPause({"from": accounts[1]}) + + with reverts(): + F.unPause({"from": accounts[1]}) + + assert 'OwnershipTransferred' in event.events + + # -------- Constant --------- + + + +def test_deployERC721ExtensionCore(): + # -------- Variable ----------- + + # "deployERC721ExtensionCore(string,string)" :: 0x2ab7fabf + + + # ------ Constant ---------- + + C = deploy() + _zero = "0x0000000000000000000000000000000000000000" + + # ------ Constant ---------- + + + + # -------- Variable ----------- + + # "deployERC721ExtensionCore(string,string)" :: 0x2ab7fabf + + ## Deploy DeployerERC721. + F = DeployerERC721.deploy({"from": accounts[0]}) + + assert F.address != _zero + + # -------- Variable-------------- + + + + # -------- Variable ---------- + + # Deploy for inexistent facet and selector. + with reverts(): + C.deployERC721ExtensionCore("Name", "NM", {"from": accounts[0]}) + + ## Add Facet address and selector. + C.addDeployerSelector(F.address, "0x2ab7fabf", {"from": accounts[0]}) + + + # Deploy again. + C.deployERC721ExtensionCore("Name", "NM", {"from": accounts[0]}) + C.deployERC721ExtensionCore("Name", "NM", {"from": accounts[2]}) + + # ------------ Variable ------------ + + +def test_deployERC721ExtensionSignature(): + # -------- Variable ----------- + + # "deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)" :: 0xe9181d92 + + + # ------ Constant ---------- + + C = deploy() + _zero = "0x0000000000000000000000000000000000000000" + + # ------ Constant ---------- + + + + # -------- Variable ----------- + + # "deployERC721ExtensionSignature(string,string,address,uint256,uint256,uint256,uint256)" :: 0xe9181d92 + + ## Deploy DeployerERC721. + F = DeployerERC721.deploy({"from": accounts[0]}) + + assert F.address != _zero + + # -------- Variable-------------- + + + + # -------- Variable ---------- + + # Deploy for inexistent facet and selector. + with reverts(): + C.deployERC721ExtensionSignature("Name", "NM", accounts[1], 0, 0, 0, 0, {"from": accounts[0]}) + + ## Add Facet address and selector. + C.addDeployerSelector(F.address,"0xe9181d92", {"from": accounts[0]}) + + + # Deploy again with invalid constructor. + with reverts(): + C.deployERC721ExtensionSignature("Name", "NM", accounts[1], 0, 10, 10, 10, {"from": accounts[0]}) + + # Deploy again with invalid constructor. + with reverts(): + C.deployERC721ExtensionSignature("Name", "NM", accounts[1], 10, 10, 0, 10, {"from": accounts[0]}) + + # Deploy again with invalid constructor. + with reverts(): + C.deployERC721ExtensionSignature("Name", "NM", accounts[1], 10, 10, 10, 0, {"from": accounts[0]}) + + # Deploy again with invalid constructor. + C.deployERC721ExtensionSignature("Name", "NM", accounts[1], 10, 0, 10, 10, {"from": accounts[0]}) + + # Deploy again. + C.deployERC721ExtensionSignature("Name", "NM", accounts[1], 10, 10, 10, 10, {"from": accounts[0]}) + + # ------------ Variable ------------ + + + +def test_deploySoulbound(): + # -------- Variable ----------- + + # "deploySoulbound(string,string)" :: 0x27a31ded + + + # ------ Constant ---------- + + C = deploy() + _zero = "0x0000000000000000000000000000000000000000" + + # ------ Constant ---------- + + + + # -------- Variable ----------- + + # "deploySoulbound(string,string)" :: 0x27a31ded + + ## Deploy DeployerERC721. + F = DeployerSoulbound.deploy({"from": accounts[0]}) + + assert F.address != _zero + + # -------- Variable-------------- + + + + # -------- Variable ---------- + + # Deploy for inexistent facet and selector. + with reverts(): + C.deploySoulbound("Name", "NM", {"from": accounts[0]}) + + ## Add Facet address and selector. + C.addDeployerSelector(F.address,"0x27a31ded", {"from": accounts[0]}) + + + # Deploy again. + C.deploySoulbound("Name", "NM", {"from": accounts[0]}) + + # ------------ Variable ------------ + + +def test_deploySoulboundCore(): + # -------- Variable ----------- + + # "deploySoulboundCore(string,string,address,uint256)" :: 0xd4152170 + + + # ------ Constant ---------- + + C = deploy() + _zero = "0x0000000000000000000000000000000000000000" + + # ------ Constant ---------- + + + + # -------- Variable ----------- + + # "deploySoulboundCore(string,string,address,uint256)" :: 0xd4152170 + + ## Deploy DeployerERC721. + F = DeployerSoulbound.deploy({"from": accounts[0]}) + + assert F.address != _zero + + # -------- Variable-------------- + + + + # -------- Variable ---------- + + # Deploy for inexistent facet and selector. + with reverts(): + C.deploySoulboundCore("Name", "NM", accounts[2], 0, {"from": accounts[0]}) + + ## Add Facet address and selector. + C.addDeployerSelector(F.address,"0xd4152170", {"from": accounts[0]}) + + + # Deploy again. + C.deploySoulboundCore("Name", "NM", accounts[2], 0, {"from": accounts[0]}) + + with reverts(): + C.deploySoulboundCore("Name", "NM", _zero, 0, {"from": accounts[0]}) + + # ------------ Variable ------------ + + +def test_deploySoulboundRedeemable(): + # -------- Variable ----------- + + # "deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)" :: 0xab184932 + + + # ------ Constant ---------- + + C = deploy() + _zero = "0x0000000000000000000000000000000000000000" + + # ------ Constant ---------- + + + + # -------- Variable ----------- + + # "deploySoulboundRedeemable(string,string,address,uint256,uint256,uint256)" :: 0xab184932 + + ## Deploy DeployerERC721. + F = DeployerSoulboundWithExtension.deploy({"from": accounts[0]}) + + assert F.address != _zero + + # -------- Variable-------------- + + + + # -------- Variable ---------- + + # Deploy for inexistent facet and selector. + with reverts(): + C.deploySoulboundRedeemable("Name", "NM", accounts[2], 0, 0, 0, {"from": accounts[0]}) + + ## Add Facet address and selector. + C.addDeployerSelector(F.address,"0xab184932", {"from": accounts[0]}) + + + # Deploy again. + C.deploySoulboundRedeemable("Name", "NM", accounts[2], 0, 10, 10, {"from": accounts[0]}) + + with reverts(): + C.deploySoulboundRedeemable("Name", "NM", accounts[2], 0, 5, 10, {"from": accounts[0]}) + + with reverts(): + C.deploySoulboundRedeemable("Name", "NM", _zero, 0, 5, 10, {"from": accounts[0]}) + + # ------------ Variable ------------ + + + +def test_deploySoulboundWithSignature(): + # -------- Variable ----------- + + # "deploySoulboundWithSignature(string,string,address,uint256)" :: 0x0b33c33a + + + # ------ Constant ---------- + + C = deploy() + _zero = "0x0000000000000000000000000000000000000000" + + # ------ Constant ---------- + + + + # -------- Variable ----------- + + # "deploySoulboundWithSignature(string,string,address,uint256)" :: 0x0b33c33a + + ## Deploy DeployerERC721. + F = DeployerSoulboundWithExtension.deploy({"from": accounts[0]}) + + assert F.address != _zero + + # -------- Variable-------------- + + + + # -------- Variable ---------- + + # Deploy for inexistent facet and selector. + with reverts(): + C.deploySoulboundWithSignature("Name", "NM", accounts[2], 0, {"from": accounts[0]}) + + ## Add Facet address and selector. + C.addDeployerSelector(F.address,"0x0b33c33a", {"from": accounts[0]}) + + + # Deploy again. + C.deploySoulboundWithSignature("Name", "NM", accounts[2], 0, {"from": accounts[0]}) + C.deploySoulboundWithSignature("Name", "NM", accounts[2], 10, {"from": accounts[0]}) + + with reverts(): + C.deploySoulboundWithSignature("Name", "NM", _zero, 10, {"from": accounts[0]}) + + # ------------ Variable ------------ \ No newline at end of file diff --git a/tests/tests/__pycache__/Admin_test.cpython-310-pytest-6.2.5.pyc b/tests/tests/__pycache__/Admin_test.cpython-310-pytest-6.2.5.pyc new file mode 100644 index 0000000..b59b75e Binary files /dev/null and b/tests/tests/__pycache__/Admin_test.cpython-310-pytest-6.2.5.pyc differ